조직에서 맞춤 커널을 사용하거나 특정 환경 구성이 필요한 경우 표준 Lustre 패키지가 호환되지 않을 수 있습니다.
이러한 상황에서 관리형 Lustre는 동적 커널 모듈 지원 (DKMS)을 지원합니다. DKMS는 소스 코드가 기본 커널 트리 외부에 있는 Linux 커널 모듈을 관리하는 데 사용되는 프레임워크입니다. 이 도구의 핵심 기능은 새 커널이 설치될 때 이러한 모듈을 자동으로 다시 빌드하고 설치하여 수동 개입 없이 호환성을 보장하는 것입니다.
사전 빌드된 커널 모듈은 대부분의 사용자에게 권장되는 설치 경로로 유지되지만 DKMS는 맞춤 Linux 커널을 사용하는 사용자에게 대안을 제공합니다.
고려사항
관리형 Lustre 클라이언트에 동적 커널 모듈 지원 (DKMS)을 사용하는 것은 맞춤 커널과의 호환성이 필요하고 클라이언트 측 문제를 직접 관리할 준비가 된 고급 사용자를 위한 것입니다. 미리 빌드된 모듈과 달리 DKMS에는 전체 컴파일러 도구 모음과 특정 커널 헤더를 설치해야 하므로 시스템의 보안 공격 표면과 디스크 공간이 증가합니다. 또한 모듈은 필요에 따라 컴파일되므로 사용자는 클라이언트 VM 시작 시간이 훨씬 길어지고 커널 업데이트 중에 컴파일 실패가 발생할 수 있다는 점을 고려해야 합니다.
지원되는 플랫폼
Managed Lustre는 다음을 위한 DKMS 클라이언트 패키지를 지원합니다.
- Ubuntu 22.04 LTS
- Ubuntu 24.04 LTS(Arm VM만 해당)
요구사항
DKMS를 사용하려면 시스템에 다음이 포함되어야 합니다.
커널 모듈을 컴파일하는 데 필요한 모든 컴파일러 패키지 이는 배포판에 따라 다릅니다.
특정 커널의 헤더입니다. 맞춤 커널의 경우 DKMS 서비스를 헤더 위치로 수동으로 지정해야 합니다.
DKMS는 보안 VM에서 지원되지 않습니다.
DKMS 및 헤더 설치
관리형 Lustre DKMS 패키지를 설치하기 전에 dkms 패키지와 시스템에 맞는 Linux 커널 헤더를 설치해야 합니다.
커널 헤더 버전은 실행 중인 커널 버전과 정확하게 일치해야 합니다.
표준 Ubuntu 커널의 경우
Ubuntu에서 제공하는 표준 커널을 사용하는 경우 일반적으로 다음을 실행하여 필요한 패키지를 설치할 수 있습니다.
sudo apt update
sudo apt install dkms linux-headers-$(uname -r)
비표준 또는 맞춤 커널의 경우
맞춤 커널을 사용하는 경우 올바른 커널 헤더를 획득하고 설치해야 합니다.
맞춤 커널의 헤더 설치 프로세스는 소스에 따라 다릅니다. 그래야 할 수도 있습니다.
- OS 공급업체의 문서 참고: 공급업체에서 커널 헤더용 특정 패키지나 저장소를 제공할 수 있습니다.
- 소스에서 빌드: 커널을 직접 컴파일한 경우 커널 소스 트리에서 헤더를 빌드하고 설치해야 할 수 있습니다.
맞춤 헤더 위치
DKMS는 /usr/src/linux-headers-$(uname -r) 디렉터리에서 커널 헤더를 찾을 것으로 예상합니다.
uname -r 명령어를 실행하여 커널 버전 문자열을 가져오고 경로를 구성합니다. 예를 들면 /usr/src/linux-headers-5.15.0-101-generic입니다.
커널 헤더가 예상 위치에 설치되지 않은 경우 맞춤 헤더 디렉터리에서 DKMS가 헤더를 찾을 것으로 예상되는 위치로 심볼릭 링크를 만들어 DKMS 서비스가 해당 위치를 가리키도록 수동으로 지정해야 합니다.
예를 들어 헤더가 /opt/custom-kernel/headers/에 있는 경우 다음 명령어를 실행합니다.
sudo ln -s /opt/custom-kernel/headers/ /usr/src/linux-headers-$(uname -r)
올바른 커널 헤더가 제대로 설치되어 DKMS에서 액세스할 수 있는지 확인하는 것은 사용자의 책임입니다. 헤더를 찾을 수 없으면 DKMS 패키지가 Lustre 커널 모듈을 빌드하지 못합니다.
관리형 Lustre DKMS 패키지 설치
관리형 Lustre DKMS 패키지를 설치하려면 다음 단계를 따르세요.
저장소에 대한 액세스 구성
DKMS 클라이언트 패키지는 Artifact Registry의 lustre-client-modules-dkms 프로젝트에서 호스팅됩니다.
Artifact Registry에서 설치하도록 VM을 구성하려면 다음 안내를 따르세요.
Ubuntu 22.04 LTS
Apt 저장소 서명 키를 설치합니다.
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpgArtifact Registry 패키지에 액세스하도록 VM을 구성합니다.
echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \ | sudo tee /etc/apt/sources.list.d/artifact-registry.listApt를 업데이트하고
apt-transport-artifact-registry패키지를 설치합니다.sudo apt update && sudo apt install apt-transport-artifact-registry저장소에서 패키지를 가져오도록 Apt를 구성합니다.
echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-modules-dkms lustre-client-ubuntu-jammy main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list저장소 소스를 업데이트합니다.
sudo apt update명령어가 오류를 반환하면 모든 Cloud API에 대한 전체 액세스를 허용하는 액세스 범위로 Compute Engine VM이 생성되었는지 확인합니다. 자세한 내용은 Compute Engine 인스턴스에 대한 액세스 권한 부여를 참고하세요.
이러한 명령어에 대한 자세한 내용은 Artifact Registry 문서(Debian 패키지를 설치하도록 VM 구성)를 참고하세요.
Ubuntu 24.04 LTS
Apt 저장소 서명 키를 설치합니다.
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/google-cloud.gpg curl -fsSL https://us-apt.pkg.dev/doc/repo-signing-key.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/lustre-client.gpgArtifact Registry 패키지에 액세스하도록 VM을 구성합니다.
echo 'deb [signed-by=/usr/share/keyrings/google-cloud.gpg] http://packages.cloud.google.com/apt apt-transport-artifact-registry-stable main' \ | sudo tee /etc/apt/sources.list.d/artifact-registry.listApt를 업데이트하고
apt-transport-artifact-registry패키지를 설치합니다.sudo apt update && sudo apt install apt-transport-artifact-registry저장소에서 패키지를 가져오도록 Apt를 구성합니다.
echo "deb [signed-by=/usr/share/keyrings/lustre-client.gpg] ar+https://us-apt.pkg.dev/projects/lustre-client-modules-dkms lustre-client-ubuntu-noble main" \ | sudo tee -a /etc/apt/sources.list.d/artifact-registry.list저장소 소스를 업데이트합니다.
sudo apt update명령어가 오류를 반환하면 모든 Cloud API에 대한 전체 액세스를 허용하는 액세스 범위로 Compute Engine VM이 생성되었는지 확인합니다. 자세한 내용은 Compute Engine 인스턴스에 대한 액세스 권한 부여를 참고하세요.
이러한 명령어에 대한 자세한 내용은 Artifact Registry 문서(Debian 패키지를 설치하도록 VM 구성)를 참고하세요.
Lustre 클라이언트 패키지 설치
안내에 따라 Lustre 클라이언트 패키지를 설치합니다.
Ubuntu 22.04 LTS
다음 명령어를 실행합니다.
sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-jammy
sudo apt install lustre-client-utils/lustre-client-ubuntu-jammy
Ubuntu 24.04 LTS
다음 명령어를 실행합니다.
sudo apt install lustre-client-modules-dkms/lustre-client-ubuntu-noble
sudo apt install lustre-client-utils/lustre-client-ubuntu-noble
이 단계에서는 클라이언트 패키지를 컴파일하며 시간이 다소 걸릴 수 있습니다.
Managed Lustre 인스턴스 마운트 및 액세스
Managed Lustre 인스턴스 마운트의 안내를 따릅니다.