Azure 데이터 과학 Virtual Machine 관련 문제 해결
이 문서에서는 Azure 데이터 과학 Virtual Machine을 사용할 때 발생할 수 있는 오류 또는 오류를 찾아서 수정하는 방법을 설명합니다.
Ubuntu
NVIDIA A100 GPU 칩에서 GPU 수정 - Azure NDasrv4 시리즈
ND A100 v4 시리즈 가상 머신은 Azure GPU 제품군에 주력적으로 추가되었습니다. 고급 딥 러닝 학습을 처리하고 HPC 워크로드를 긴밀하게 결합, 강화 및 확장합니다.
고유한 아키텍처로 인해 TensorFlow 또는 PyTorch 프레임워크를 사용하는 GPU 가속의 이점을 활용하려면 수요가 많은 워크로드에 대해 다른 설정이 필요합니다.
ND A100 머신 GPU에 대한 기본 지원을 구축하고 있습니다. 한편, NVIDIA Fabric Manager를 추가하고 드라이버를 업데이트하는 경우 GPU에서 Ubuntu를 처리할 수 있습니다. 터미널에서 다음 단계를 수행합니다.
NVIDIA 리포지토리를 추가하여 드라이버 설치 또는 업데이트 - 이 리소스에서 단계별 지침 찾기
[선택 사항] 해당 리포지토리에서 CUDA 드라이버를 업데이트할 수도 있습니다.
NVIDIA Fabric Manager 드라이버를 설치합니다.
sudo apt-get install cuda-drivers-460 sudo apt-get install cuda-drivers-fabricmanager-460
VM 다시 부팅(드라이버 준비)
새로 설치된 NVIDIA Fabric Manager 서비스를 사용하도록 설정하고 시작합니다.
sudo systemctl enable nvidia-fabricmanager sudo systemctl start nvidia-fabricmanager
이 코드 샘플을 실행하여 GPU 및 드라이버가 작동하는지 확인합니다.
systemctl status nvidia-fabricmanager.service
이 스크린샷은 다음을 실행하는 Fabric Manager 서비스를 보여줍니다.
데스크톱 환경에 대한 연결이 실패함
SSH 터미널을 통해 DSVM에 연결할 수 있지만 x2go를 통해 연결할 수 없는 경우 x2go에 잘못된 세션 유형 설정이 있을 수 있습니다. DSVM 데스크톱 환경에 연결하려면 x2go/세션 기본 설정/세션의 세션 유형을 XFCE로 설정합니다. 다른 데스크톱 환경은 현재 지원되지 않습니다.
x2go를 사용하여 DSVM에 연결할 때 글꼴이 잘못 표시됨
특정 x2go 세션 설정으로 인해 x2go에 연결할 때 일부 글꼴이 잘못 표시될 수 있습니다. DSVM에 연결하기 전에 세션 기본 설정 대화 상자의 "입력/출력" 탭에서 "디스플레이 DPI 설정" 확인란의 선택을 취소합니다.
알 수 없는 암호를 묻는 메시지가 표시됨
DSVM 인증 유형 설정을 SSH 공개 키로 설정할 수 있습니다. 암호 인증 대신 권장됩니다. SSH 공개 키를 사용하는 경우 암호를 받지 못합니다. 그러나 일부 시나리오에서는 일부 애플리케이션이 여전히 암호를 요청합니다. 특정 사용자에 대한 새 암호를 만들려면 실행 sudo passwd <user_name>
합니다. 를 사용하면 sudo passwd
루트 사용자에 대한 새 암호를 만들 수 있습니다.
이 명령을 실행해도 SSH 구성은 변경되지 않으며 허용되는 로그인 메커니즘은 동일하게 유지됩니다.
sudo 명령을 실행할 때 암호를 묻는 메시지 표시
Ubuntu 컴퓨터에서 명령을 실행 sudo
하면 암호를 반복적으로 입력하여 로그인한 사용자인지 확인하는 요청을 받을 수 있습니다. 기본 Ubuntu 동작이 필요합니다. 그러나 경우에 따라 반복된 인증이 필요하지 않고 오히려 성가신 경우도 있습니다.
대부분의 경우 재인증 기능을 사용하지 않도록 설정하려면 터미널에서 다음 명령을 실행할 수 있습니다.
echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers
터미널을 다시 시작한 후 sudo는 다른 로그인을 요청하지 않으며 세션 로그인의 인증을 충분히 고려합니다.
docker를 비루트 사용자로 사용할 수 없습니다.
docker를 비루트 사용자로 사용하려면 Docker 그룹의 멤버 자격이 필요합니다. 이 getent group docker
명령은 해당 그룹에 속한 사용자 목록을 반환합니다. Docker 그룹에 사용자를 추가하려면 .를 실행 sudo usermod -aG docker $USER
합니다.
Docker 컨테이너는 네트워크를 통해 외부와 상호 작용할 수 없습니다.
기본적으로 Docker는 이른바 "브리지 네트워크" 172.17.0.0/16
에 새 컨테이너를 추가합니다. 해당 브리지 네트워크의 서브넷은 DSVM의 서브넷 또는 구독에 있는 다른 프라이빗 서브넷과 겹칠 수 있습니다. 이 경우 호스트와 컨테이너 간의 네트워크 통신이 불가능합니다. 또한 컨테이너에서 실행되는 웹 애플리케이션에 연결할 수 없으며 컨테이너는 apt에서 패키지를 업데이트할 수 없습니다.
이 문제를 해결하려면 구독의 다른 네트워크와 겹치지 않는 브리지 네트워크에 IP 주소 공간을 사용하도록 Docker를 다시 구성해야 합니다. 예를 들어 추가하는 경우
"default-address-pools": [
{
"base": "10.255.248.0/21",
"size": 21
}
]
/etc/docker/daemon.json
JSON 파일에 Docker는 브리지 네트워크에 다른 서브넷을 할당합니다. 예를 들어 실행 sudo nano /etc/docker/daemon.json
하여 sudo를 사용하여 파일을 편집해야 합니다.
변경 후 실행하여 Docker 서비스를 다시 시작 service docker restart
합니다. 변경 내용이 적용되었는지 여부를 확인하려면 다음을 실행 docker network inspect bridge
합니다. IPAM 아래 의 값입니다. Config.Subnet 은 이전에 지정한 주소 풀에 해당해야 합니다.
docker 컨테이너에서 GPU를 사용할 수 없음
DSVM에 설치된 Docker 리소스는 기본적으로 GPU를 지원합니다. 그러나 이러한 지원에는 특정 필수 구성 요소가 필요합니다.
- DSVM의 VM 크기에는 하나 이상의 GPU가 포함되어야 합니다.
- Docker 컨테이너를
docker run
시작할 때 --gpus 매개 변수를 추가해야 합니다. 예를 들면 다음과 같습니다--gpus all
. - NVIDIA A100 GPU를 포함하는 VM 크기에는 다른 소프트웨어 패키지, 특히 NVIDIA Fabric Manager가 설치되어 있어야 합니다. 이러한 패키지는 이미지에 미리 설치되지 않을 수 있습니다.
Windows
Virtual Machine 2세대(2세대)가 작동하지 않음
2세대(Virtual Machine Generation 2)를 기반으로 데이터 과학 VM을 만들려고 하면 실패합니다.
현재 Windows 2019 Server를 기반으로 하는 데이터 과학 DSVM(Virtual Machines)에 대한 이미지를 유지 관리하고 제공하며 1세대 DSVM에 대해서만 제공합니다. Gen 2 는 아직 지원되지 않지만 가까운 장래에 지원할 계획입니다.
SQL Server 액세스
미리 설치된 SQL Server 인스턴스에 연결하려고 하면 "로그인 실패" 오류가 발생할 수 있습니다. SQL Server 인스턴스에 성공적으로 연결하려면 연결하려는 프로그램(예: SSMS(SQL Server Management Studio))을 관리자 모드로 실행해야 합니다. DSVM 기본 동작에서는 관리자만 연결할 수 있으므로 관리자 모드가 필요합니다.
Hyper-V가 작동하지 않음
예상된 동작으로 Hyper-V는 처음에는 Windows에서 작동하지 않습니다. 최상의 성능을 위해 일부 서비스를 사용하지 않도록 설정했습니다. Hyper-V를 사용하도록 설정하려면 다음을 수행합니다.
- Windows DSVM에서 검색 창 열기
- "서비스"를 입력
- 모든 Hyper-V 서비스를 "수동"으로 설정
- "Hyper-V 가상 머신 관리"를 "자동"으로 설정
최종 화면은 다음과 같습니다.