slurm job의 user priority 설정이 필요하게 됨.
아래는 claude의 작업 요약:
진행 내용 (accounting + user priority)
배경
Slurm accounting storage가 꺼져있어서 sacct도 안 되고, 여러 유저가 동시에 잡을 넣을 때 우선순위 조정 수단이 없었음. 이번 작업으로 두 가지를 같이 해결.
1. Slurm Accounting (slurmdbd + MariaDB) 구축
- MariaDB를 k8s에 배포 (namespace:
slurm, hostPath PV, hep 노드 고정, hostPort 3306을 127.0.0.1에만 바인딩해서 hep 외부에서는 접근 불가)
slurmdbd 패키지 설치, /etc/slurm/slurmdbd.conf 작성 (StorageHost=127.0.0.1, StorageType=accounting_storage/mysql)
slurm.conf에 다음 추가 후 전체 노드(hep, raikou, entei, suicune, ho-oh, lapras, naong) 배포 + scontrol reconfigure:
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageHost=hep
AccountingStoragePort=6819
JobAcctGatherType=jobacct_gather/linux
JobAcctGatherFrequency=30
- 검증:
sacct 실행 시 실제 잡 이력(State/ExitCode 등) 정상 출력 확인. sacctmgr show cluster로 클러스터 자동 등록 확인.
2. User Priority 설정
- 정식 fairshare(계정별 사용량 기반 우선순위)는
sacctmgr로 매 유저를 수동/자동 등록·유지해야 하는 운영 부담이 있어 이번엔 보류.
- 대신 등록 없이 바로 적용 가능한 age-based priority만 적용:
PriorityType=priority/multifactor
PriorityWeightAge=1000
PriorityWeightFairshare=0
PriorityWeightJobSize=0
PriorityWeightPartition=0
PriorityWeightQOS=0
PriorityMaxAge=3-0
- 오래 대기한 잡일수록 우선순위가 점점 올라가서(최대 3일), 특정 유저가 자동화 스크립트로 잡을 계속 새로 밀어넣어도 먼저 기다리던 다른 유저 잡이 우선권을 갖게 됨.
sprio -l로 pending 잡에 priority factor(AGE 컬럼 등)가 정상적으로 계산되는 구조 확인.
참고 (부수적으로 발견/해결)
- k8s 네임스페이스 삭제가
metrics.k8s.io/v1beta1 APIService discovery 실패로 인해 영구적으로 안 되는 클러스터 전역 이슈 발견. 이번에 새로 만든 slurm 네임스페이스도 걸렸었고, 강제 finalize로 해결. indico 네임스페이스(2년 넘게 Terminating)도 같은 방식으로 클린업함.
- 근본 원인(
v1beta1.metrics.k8s.io APIService)은 아직 안 고쳐서, 나중에 다른 네임스페이스 삭제 시 재발 가능 — 별도 확인 필요.
남은 작업
- fairshare 필요해지면
sacctmgr 계정/유저 등록 (자동화 스크립트 초안 있음: users 그룹 멤버 기준 sync)
- MariaDB InnoDB 튜닝값(
innodb_buffer_pool_size) 권장치 미달 경고 남아있음 — 성능에 치명적이진 않으나 개선 여지 있음
metrics.k8s.io APIService discovery 실패 근본 원인 조사/수정
slurm job의 user priority 설정이 필요하게 됨.
아래는 claude의 작업 요약:
진행 내용 (accounting + user priority)
배경
Slurm accounting storage가 꺼져있어서
sacct도 안 되고, 여러 유저가 동시에 잡을 넣을 때 우선순위 조정 수단이 없었음. 이번 작업으로 두 가지를 같이 해결.1. Slurm Accounting (slurmdbd + MariaDB) 구축
slurm, hostPath PV,hep노드 고정,hostPort 3306을127.0.0.1에만 바인딩해서 hep 외부에서는 접근 불가)slurmdbd패키지 설치,/etc/slurm/slurmdbd.conf작성 (StorageHost=127.0.0.1,StorageType=accounting_storage/mysql)slurm.conf에 다음 추가 후 전체 노드(hep, raikou, entei, suicune, ho-oh, lapras, naong) 배포 +scontrol reconfigure:sacct실행 시 실제 잡 이력(State/ExitCode 등) 정상 출력 확인.sacctmgr show cluster로 클러스터 자동 등록 확인.2. User Priority 설정
sacctmgr로 매 유저를 수동/자동 등록·유지해야 하는 운영 부담이 있어 이번엔 보류.sprio -l로 pending 잡에 priority factor(AGE 컬럼 등)가 정상적으로 계산되는 구조 확인.참고 (부수적으로 발견/해결)
metrics.k8s.io/v1beta1APIService discovery 실패로 인해 영구적으로 안 되는 클러스터 전역 이슈 발견. 이번에 새로 만든slurm네임스페이스도 걸렸었고, 강제 finalize로 해결.indico네임스페이스(2년 넘게 Terminating)도 같은 방식으로 클린업함.v1beta1.metrics.k8s.ioAPIService)은 아직 안 고쳐서, 나중에 다른 네임스페이스 삭제 시 재발 가능 — 별도 확인 필요.남은 작업
sacctmgr계정/유저 등록 (자동화 스크립트 초안 있음:users그룹 멤버 기준 sync)innodb_buffer_pool_size) 권장치 미달 경고 남아있음 — 성능에 치명적이진 않으나 개선 여지 있음metrics.k8s.ioAPIService discovery 실패 근본 원인 조사/수정