병렬 파일 시스템 (PFS)
개요
병렬 파일 시스템(PFS)은 여러 가상머신이 동시에 같은 파일을 읽고 쓸 수 있는 고성능 공유 스토리지입니다. VAST NFS 기반으로 제공되며, 멀티노드 분산 학습의 체크포인트·로그 공유에 사용합니다.
PFS vs 오브젝트 스토리지
PFS는 POSIX 파일시스템이므로 기존 코드 수정 없이 사용할 수 있습니다. 오브젝트 스토리지는 API 호출이 필요합니다.
사전 준비
- 좌측 메뉴 병렬 파일 시스템 페이지에서 병렬 파일 시스템 생성 버튼으로 PFS를 만듭니다.
- 생성한 PFS 상세 페이지에서 가상머신 추가를 눌러 가상머신을 멤버로 등록합니다: 클러스터에서 추가 또는 개별 가상머신 추가 두 가지 방식을 지원합니다.
- PFS 상세 페이지의 일반 정보에서 다음 항목을 확인합니다.
| 항목 | 설명 | 예시 |
|---|---|---|
| VIP 주소 | PFS 서버 접근 IP 대역 (vip_pools) | 10.121.255.247–10.121.255.254 |
| 가상함수 IP (VF IP) | 멤버 가상머신의 전용 접근 IP | 10.121.0.1/16, 10.121.0.2/16 |
PFS 멤버인 가상머신은 삭제·수정이 제한됩니다
PFS에 연결된 가상머신은 직접 삭제하거나 일부 항목을 수정할 수 없습니다 (parallelFileSystemMemberExist 에러). 먼저 PFS 상세 페이지에서 멤버에서 제거한 뒤 가상머신을 삭제하세요.
1단계: vastnfs 드라이버 상태 확인
아래 명령으로 vastnfs 드라이버가 정상 동작하는지 확인합니다.
vastnfs-ctl status
아래 예시와 같이 정상 출력되면 2단계로 바로 이동합니다.
version: 4.5.5-vastdata-OFED-internal-26.01-1.0.0
kernel modules: sunrpc
services: rpcbind.socket rpcbind
rpc_pipefs: /run/rpc_pipefs
아래 예시와 같이 정상적으로 출력되지 않으면
patched version not running
아래 드라이버 재설치 후 2단계: 마운트 진행바랍니다.
2단계: 마운트
아래 명령어를 실행하기 전 What, nconnect, remoteports 값을 병렬 파일 시스템 상세에 가서 확인합니다.
What=에는 VIP 주소 중 첫 번째 주소를 사용합니다.nconnect=에는 VIP 주소 개수를 지정합니다.remoteports=에는 VIP 주소 전체 범위를 지정합니다.
sudo tee /etc/systemd/system/mnt-pfs.mount >/dev/null <<'EOF'
[Unit]
Description=Mount VAST NFS PFS
After=network-online.target
Wants=network-online.target
[Mount]
What=10.121.255.247:/
Where=/mnt/pfs
Type=nfs
Options=vers=3,nconnect=8,noatime,remoteports=10.121.255.247-10.121.255.254,_netdev
[Install]
WantedBy=multi-user.target
EOF
이어서 마운트 디렉터리를 만들고 unit을 활성화합니다.
sudo mkdir -p /mnt/pfs
sudo systemctl daemon-reload
sudo systemctl enable --now mnt-pfs.mount
마운트 확인
df -h | grep pfs
# /mnt/pfs 가 출력되면 정상