병렬 파일 시스템 설정 가이드
ECI에서 병렬 파일 시스템을 VAST 로 제공 받을 때 가상 머신에서 병렬 파일 시스템을 마운트하는 방법을 안내합니다.
사전 작업 및 정보 확인
- ECI 포탈에서 병렬 파일 시스템을 생성합니다.
- 생성한 병렬 파일 시스템에 가상 머신을 추가합니다.
- 가상 머신을 실행합니다.

위와 같이 병렬파일 시스템 설정 시 상세 정보 중 다음 항목을 확인합니다.
VIP 주소 (Virtual IP)
- 병렬 파일 시스템 서버에 접근하기 위한 IP 대역
- 일반적으로 1~8개의 연속된 IP 제공
- 예시:
10.121.255.247-10.121.255.254
가상 함수 IP (VF IP)
- VM이 병렬 파일 시스템에 접근할 때 사용하는 전용 IP
- 보통 1~2개의 연속된 IP 제공
- 예시:
vm-000의 가상함수 IP는10.121.0.1/16,10.121.0.2/16
1 단계 : 병렬 파일 시스템 전용 네트워크 설정
병렬 파일 시스템에 추가된 가상 머신에는 병렬 파일 시스템과 통신하기 위한 전용 네트워크 인터페이스가 별도로 제공됩니다.
해당 전용 네트워크 인터페이스는
최상의 I/O 성능을 보장하기 위해 서버의 물리 네트워크 인터페이스가 Passthrough 형태로 제공되며,
일반적으로 링크 장애에 대비하여 두 개의 인터페이스가 함께 제공됩니다.
1-1. 전용 네트워크 인터페이스 확인
ip a으로 전용 네트워크 인터페이스 조회가 가능하고,
다음 기준으로 확인합니다.
- 기본 IP 주소가 설정되어 있지 않은 인터페이스
- 일반적으로 인터페이스 이 름은
enp*형태 - ⚠️
ib*로 시작하는 인터페이스는 InfiniBand(IPoIB) 이므로 대상이 아님 - 아래 예시 전용 네트워크 인터페이스 :
enp0s12,enp0s13
user@vm-000:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8950 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:98:4f:16:f3 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.21/24 brd 192.168.0.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::98ff:fe4f:16f3/64 scope link
valid_lft forever preferred_lft forever
3: enp0s12: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 04:32:01:3e:c0:60 brd ff:ff:ff:ff:ff:ff
4: enp0s13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 04:32:01:3e:c0:61 brd ff:ff:ff:ff:ff:ff
5: ibp5s0: <BROADCAST,MULTICAST> mtu 4092 qdisc noop state DOWN group default qlen 1000
link/infiniband 00:00:10:48:fe:80:00:00:00:00:00:00:7c:8c:09:03:00:b6:b2:ea \
brd 00:ff:ff:ff:ff:12:40:1b:ff:ff:00:00:00:00:00:00:ff:ff:ff:ff
1-2. Bonding 인터페이스 생성
아래와 같이 본딩(Bonding) 인터페이스를 생성하여 링크 장애가 발생하더라도 병렬 파일 시스템 사용에 문제가 없도록 설정합니다.
- 본딩 인터페이스에 포함할 네트워크 인터페이스 이름은
앞 단계에서 확인한
enp0s12,enp0s13을 지정합니다. - 본딩 인터페이스에는 가상 머신에 할당된 가상 함수 IP(VF IP) 를 설정합니다.
가상 함수 IP가 여러 개 할당된 경우, 첫 번째 IP를 사용합니다. - 아래 예시에서
vm-000가상 머신 기준으로 가상 함수 IP는10.121.0.1/16,10.121.0.2/16가 할당되어 있으며,
이 중 첫 번째 IP인10.121.0.1/16를 본딩 인터페이스에 사용합니다.
sudo tee /etc/netplan/60-pfs-net.yaml >/dev/null <<'EOF'
network:
version: 2
ethernets:
enp0s12:
mtu: 8950
enp0s13:
mtu: 8950
bonds:
bond.pfs:
addresses:
- "10.121.0.1/16"
interfaces:
- enp0s12
- enp0s13
parameters:
mode: balance-rr
mii-monitor-interval: 100
mtu: 8950
EOF
sudo chmod 600 /etc/netplan/60-pfs-net.yaml
sudo netplan apply
⚠️ 전용 네트워크 설정 시 주의사항 (bond 인터페이스 관련)
현재 ECI 가상 머신 초기화 과정의 제약으로 인해, 가상 머신을 최초 실행하기 이전에 병렬 파일 시스템에 VM이 추가된 경우
네트워크 설정이 잘못 생성되는 사례가 간헐적으로 발생할 수 있습니다.
예시 1. ens3, ens4 인터페이스가 생성되지 않은 경우
- 실제로
ens3와ens4가 MAC 주소의 불일치로 생성되지 않음 - 이로 인해
bond.xxxx인터페이스가 생성되지 않음
user@test-vm:/home/user# sudo cat /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
ens1:
match:
macaddress: "02:00:2a:33:ce:53"
addresses:
- "192.168.0.21/24"
nameservers:
addresses:
- 103.156.22.253
- 1.1.1.1
mtu: 8950
routes:
- to: "default"
via: "192.168.0.1"
ens3:
match:
macaddress: "12:22:1e:11:d2:2c"
mtu: 8950
ens4:
match:
macaddress: "a6:d1:c1:d7:d0:cb"
mtu: 8950
bonds:
bond.2560:
addresses:
- "10.121.0.51/16"
interfaces:
- ens3
- ens4
parameters:
mode: "balance-rr"
mii-monitor-interval: "100"
조치 방법
/etc/netplan/50-cloud-init.yaml파일을 엽니다.- 첫 번째 인터페이스(예:
ens1)를 제외한 항목을 제거 후 netplan을 적용합니다.
user@test-vm:/home/user# sudo cat /etc/netplan/50-cloud-init.yaml
network:
version: 2
ethernets:
ens1:
match:
macaddress: "02:00:2a:33:ce:53"
addresses:
- "192.168.0.21/24"
nameservers:
addresses:
- 103.156.22.253
- 1.1.1.1
mtu: 8950
routes:
- to: "default"
via: "192.168.0.1"
user@test-vm:/home/user# netplan apply
예시 2. 불필요한 bond.xxxx 인터페이스가 남아 있는 경우
ip a출력 결과에bond.pfs외의bond.xxxx인터페이스가 존재함- 해당 인터페이스로 인해 PFS 네트워크 통신이 정상 동작하지 않을 수 있음
조치 방법
bond.pfs를 제외한bond.xxxx형태의 인터페이스를 제거합니다. (※xxxx는 숫자)
user@test-vm:/home/user# netplan apply
root@tl-vm-018:/home/trillion-techstaff# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8950 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:2a:33:ce:53 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.21/24 brd 192.168.0.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::2aff:fe33:ce53/64 scope link
valid_lft forever preferred_lft forever
13: bond.2560: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 42:fd:e6:76:ee:b3 brd ff:ff:ff:ff:ff:ff
inet 10.121.0.51/16 brd 10.121.255.255 scope global bond.2560
valid_lft forever preferred_lft forever
user@test-vm:/home/user# ip link del bond.2560
2 단계 : vastnfs 드라이버 설치
병렬 파일 시스템(VAST)은 vastnfs 드라이버를 사용합니다.
2-1. vastnfs 드라이버 상태 확인
- 명령어가 정상적으로 실행되고 상태가 정상인 경우, 3 단계