728x90

https://jaehhhk.tistory.com/30

 

Lustre 이용해보기(3)_Lnet 올리기

Lustre에 필요한 모듈을 모두 다운로드 했으면, 다음으로 Lustre 전용 네트워크 프로토콜인 Lnet 모듈을 올려준 후 서버들을 Lnet으로 연결해주어야 한다. 이전에 설치에 필요한 모듈을 다운로드 하고

jaehhhk.tistory.com

 

이번 포스팅에서는 서버내 실제 디스크를 Target으로 잡아 마운트해준 후, Client에서 실제로 클러스터링이 잘 되었는지 확인해볼 것이다.

 

저저번 포스팅에서도 언급했듯이, 나는 소규모 환경에서 클러스터링을 진행하기 때문에 MGS와 MDS를 하나의 서버에 설치해주었다.

 

따라서 MGS_MDS, OSS 서버에 있는 디스크(SSD, HDD)를 각각 Lustre에 마운트해주어  하나의 타겟으로 잡은 후 MGS_MDS와 Client를 연결해준 후 Lnet을 통해 각 서버에 Ping이 제대로 도는지 확인함으로써 클러스터링을 완료하도록 하겠다.

 


MGS_MDS   

우선 각 서버가 보유한 스토리지의 종류와 개수를 파악해야 한다.

lsblk -d -o name, rota

 

 

이때 1은 HDD, 0은 SSD를 의미한다.

 

다음으로 이중에서 마운트 가능한 스토리지(아무것도 마운트되어있지 않은)를 확인하려면

df -hT

 

통해 온전히 하나의 타겟으로 잡을 수 있는 스토리지는 어떤것이 있는지 확인해볼 수 있다.

 

확인해 본 결과 MGS_MDS를 설치할 dn2 서버에서 사용가능한 스토리지는 sdd와 sde였다.

이중 나는 sdd를 MDT로 잡기로 했다.

 

스토리지 포맷

sdd를 MDT로 사용하기로 했으므로 이제 이를 Lustre을 파일시스템으로 하여 포맷해주어야 한다.

mkfs.lustre --fsname=lustre --mgs --mdt --index=0 /dev/sdd

mkfs.lustre --fsname=lustre --mgs --mdt --reformat --index=0 /dev/sdd  # 포맷 다시 할 경우

 

 

마운트

Lustre 파일시스템으로 포맷해주었으면, 서버에 마운트를 하면 된다.

 

mkdir /mnt/mdt  # 마운트 할 디렉터리 생성

mount -t lustre /dev/sdd /mnt/mdt  # Lustre로 마운트

df -hT /mnt/mdt  # 마운트 결과 확인

 

 

마운트 결과 Lustre로 제대로 마운트된 것을 확인할 수 있다.

 

 


OSS

다음으로 OSS에 OST를 마운트해주어야 한다.

 

OSS의 스토리지는 아래와 같다.

 

MGS_MDS때와 마찬가지로 마운트할 디스트를 확인해본 결과, sdd와 sdc를 마운트 할 수 있었다.

+ 추가로 나는 여기에서 Nvme SSD를 설치해주었으므로 이것도 같이 마운트해주겠다.

 

스토리지 포맷

OST를 잡아줄 때는 인덱스 번호(0~)를 지정해주어야 한다.

mkfs.lustre --fsname=lustre --ost --mgsnode=mgs의 IP주소@tcp --index=0 /dev/sdd
mkfs.lustre --fsname=lustre --ost --mgsnode=mgs의 IP주소@tcp --index=1 /dev/sdc
mkfs.lustre --fsname=lustre --ost --mgsnode=mgs의 IP주소@tcp --index=2 /dev/nvme0n1

 

 

마운트

# 마운트할 디렉터리 만들어주기
mkdir /mnt/ost0
mkdir /mnt/ost1
mkdir /mnt/ost2

# 마운트
mount -t lustre /dev/sdd /mnt/ost0
mount -t lustre /dev/sdc /mnt/ost1
mount -t lustre /dev/nvme0n1 /mnt/ost2

 

 


Client

Client 경우 스토리지 타겟을 따로 잡아줄 필요는 없다.

 

mkdir /mnt/lustre

mount -t lustre mgs_mds IP주소@tcp:/lustre /mnt/lustre

 

 


클러스터링 확인

위의 과정을 마쳤다면, 이제 Lustre로 제대로 클러스터링이 되었는지 확인해보아야 한다.

 

Lnet으로 Ping을 쏴보며 제대로 통신되는지 확인해보겠다.

lctl ping IP주소

 

 

위와 같이 IP주소로 잘 뜨면 제대로 ping이 돌고 있는 것이다.

 

 

다음으로 Client에서 각 타겟들이 잘 잡혀있는지 확인해보겠다.

이 명령어는 Client 터미널에 입력해준다.

lfs df

 

이는 Nvme를 설치해주기 전에 캡처한 화면이다.

각 서버에서 타겟으로 잡아준 것들이 그대로 뜨게 된다면 제대로 클러스터링된 것이다.

 


마무리

여기까지 타겟을 잡아주고, 결과를 Client 서버에서 확인해주는 과정까지 마무리해봤다.

 

다음 포스팅에서는 Lustre 실습을 통해 파일이 제대로 분산처리되는지 확인해보도록 하겠다.

728x90

+ Recent posts