본문으로 건너뛰기

병렬 파일 시스템 (PFS)

개요

병렬 파일 시스템(PFS)은 여러 가상머신이 동시에 같은 파일을 읽고 쓸 수 있는 고성능 공유 스토리지입니다. VAST NFS 기반으로 제공되며, 멀티노드 분산 학습의 체크포인트·로그 공유에 사용합니다.

PFS vs 오브젝트 스토리지

PFS는 POSIX 파일시스템이므로 기존 코드 수정 없이 사용할 수 있습니다. 오브젝트 스토리지는 API 호출이 필요합니다.


사전 준비

  1. 좌측 메뉴 병렬 파일 시스템 페이지에서 병렬 파일 시스템 생성 버튼으로 PFS를 만듭니다.
  2. 생성한 PFS 상세 페이지에서 가상머신 추가를 눌러 가상머신을 멤버로 등록합니다: 클러스터에서 추가 또는 개별 가상머신 추가 두 가지 방식을 지원합니다.
  3. PFS 상세 페이지의 일반 정보에서 다음 항목을 확인합니다.
항목설명예시
VIP 주소PFS 서버 접근 IP 대역 (vip_pools)10.121.255.247–10.121.255.254
가상함수 IP (VF IP)멤버 가상머신의 전용 접근 IP10.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 가 출력되면 정상

다음 단계