728x90

이제부터 Lustre(러스터) 설치를 위한 환경 구축을 시작하도록 하겠다!

 

Lustre를 클러스터링하기 위해서는 전용 커널(Server만)과 모듈을 다운받아주어야 한다.

따라서 이번 글에서는 Lustre를 이용하기 위해 다운받아주어야 할 커널과 모듈에 대해 소개하고,

실제로 다운로드 한 후 모듈을 올려보도록 하겠다.

 

이전에 Lustre 개념에 대해 아주 살짝 짚고 넘어간 글이 있는데 참고하면 좋을것 같다.

 

https://jaehhhk.tistory.com/28

 

Lustre 이용해보기(1)_ Lustre(러스터)란?

학부 연구생을 하며 3대의 서버를 Lustre 파일 시스템으로 클러스터링 해보라는 미션을 부여받았다. Lustre가 무엇이고, 설치는 어떻게 하는 것이며 어떻게 사용하는지 아무것도 모르는 상태에서

jaehhhk.tistory.com

 

 


환경 정의

연구실에서 내가 사용한 서버는 총 3대이다.

이용한 서버는 각각 Datanode2(dn2), Datanode3(dn3), Datanode4(dn4)로 칭하겠다.

 

또한 Client가 아닌 MGS, MDS, OSS 서버의 경우 래드햇 계열의 OS에서만 설치가 가능하다.

따라서 나는 Rocky Linux를 사용하였다.

 

그리고 나와 같이 소규모로 Lustre 클러스터링을하는 경우에는 MGS와 MDS를 하나의 서버에 설치하는 것이 일반적이라 한다.

따라서 나의 경우는 아래와 같이 서버를 배정하였다.

 

Datanode3

  • Client

Datanode2

  • MGS (Management Server)
  • MDS (Metadata Server)

Datanode4

  • OSS (Object Storage Server)

 

 


 

커널 및 모듈 설치 (MGS, MDS, OSS)

우선 MGS, MDS, OSS를 설치할 서버에서 필요한 패키지들을 우선 다운로드하겠다.

 

Lustre는 버전에 민감하다.

따라서 사용할 서버들의 환경에 맞는 Lustre 릴리즈 버전을 다운받는 것이 중요하다.

 

Lustre 공식 커뮤니티에 들어가면 Lustre Support Matrix라는 표를 제공한다.

 

https://wiki.whamcloud.com/display/PUB/Lustre+Support+Matrix

 

Lustre Support Matrix - Whamcloud Community Space - Whamcloud Community Wiki

LTS Release Support Matrix Lustre Version2.15.02.15.12.15.22.15.32.15.4Release Date2022-06-162022-08-102023-01-112023-06-202023-12-22ServerRHEL 8.5RHEL 8.6RHEL 8.7RHEL 8.8RHEL 8.9ClientRHEL 8.5, SLES15 SP3, Ubuntu 20.04RHEL 8.6, SLES15 SP3, Ubuntu 22.04RHE

wiki.whamcloud.com

 

 

 

빨간색 박스 부분을 확인한 후 자신의 OS 버전과, 커널 버전을 확인한 후 맞는 Lustre 릴리즈를 다운받는 것이 중요하다.

이때 커널 버전이 맞지 않는다면, 맞는 커널로 업그레이드/다운그레이드해주면 된다.

 

나 같은 경우는 Rocky Linux 8.7 환경의 서버를 보유했기 때문에 2.15.2 버전을 다운받아주도록 하겠다.

 

버전을 체크했으면 다운로드 사이트에 들어가 상황에 맞는 RPM 파일을 선택해 다운로드 해주면 된다.

 

 

Lustre RPM

https://downloads.whamcloud.com/public/lustre/lustre-2.15.2/el8.7/server/RPMS/x86_64/ 

 

Index of /public/lustre/lustre-2.15.2/el8.7/server/RPMS/x86_64

 

downloads.whamcloud.com

 

 

e2fsprogs RPM

https://downloads.whamcloud.com/public/e2fsprogs/1.46.6.wc1/el7/RPMS/x86_64/

 

Index of /public/e2fsprogs/1.46.6.wc1/el7/RPMS/x86_64

 

downloads.whamcloud.com

 

위의 링크들은 내 환경에 맞는 릴리즈 url이다.

여기 들어가서 Parent Directroy를 계속 눌러주면 상위 디렉터리에 설치하기로 한 버전 디렉터리에 들어가서 다운로드 해주면 된다.

 

위 두 링크 통합하여 내가 다운로드한 파일은 아래와 같다.

e2fsprogs e2fsprogs-libs
e2fsprogs-static kernel-4.18.0-425.3.1.el8_lustre
kmod-lustre kmod-lustre-osd-ldiskfs
libcom_err libnvpair1
libss libutil1
libutil2 lustre
lustre-iokit lustre-osd-ldiskfs-mount
perf-4.18.0-425.3.1.el8_lustre kernel-core
kernel-modules libzfs

 

 

Client에 필요한 파일 설치

https://downloads.whamcloud.com/public/lustre/lustre-2.15.2/el8.7/client/RPMS/x86_64/

 

Index of /public/lustre/lustre-2.15.2/el8.7/client/RPMS/x86_64

 

downloads.whamcloud.com

 

Client의 경우는 전용 커널을 다운받을 필요가 없으므로 아래의 파일만 다운로드해주었다.

  • kmod-lustre-client
  • lustre-client
  • lustre-iokit

 

 

위 파일들을 각 서버에 wget 명령어를 사용하여 다운받아준다.

이때 빈 디렉터리를 하나 만들어서 진행해주면 편하다.

 

 


RPM 파일 실행 및 모듈 올려주기

다음으로 다운로드한 RPM 파일들을 실행해주어야 한다.

해당 파일들이 있는 디렉터리에 진입하여 localinstall 명령어를 통해 RPM 파일을 실행시킨다.

 

yum localinstall *.rpm

 

다운로드한 파일 전부 rpm파일 이므로 하나하나 명령어를 입력하지 말고,

*을 이용해 한번에 실행시켜주도록 한다.

 

 

커널 모듈 올려주기

Lustre는 전용 커널이 존재한다. 위의 RPM 파일들을 다운로드하고 실행시켜줌으로써 전용 커널을 올려줄 준비가 되었다.

올려주도록 하자.

modprobe -a lusre

 

modprobe 명령어를 통해 lustre 모듈을 올려준다.

 

 

이후 커널 버전을 확인해보도록 하자.(MGS, MDS, OSS만!)

uname -r

 

 

성공적으로 Lustre 전용 커널이 적용된 것을 볼 수 있다.

 

 

아래 명령어를 통해 모듈이 제대로 잘 올라갔는지 확인 가능하다.(여기는 Server, Client 모두 해당)

lsmod | egrep "lustre|lnet"

 

 


 

이렇게 Lustre 릴리즈 버전 확인 및 설치를 진행한 후, 모듈을 올려보는 것까지 진행해보았다.

 

다음 포스팅에서는 Lustre 전용 네트워크 프로토콜인 Lnet 모듈도 올려준 후 Lnet을 통해 Ping을 날려봄으로써

Lnet으로 서버들이 잘 붙어있는 지 확인해보도록 하겠다!

 

728x90

+ Recent posts