가상 GPU 가속 Linux 워크스테이션 만들기


이 튜토리얼에서는 연결된 디스플레이를 지원하는 GPU를 사용하여 CentOS 7을 실행하는 가상 Linux 워크스테이션을 만드는 방법을 설명합니다. Google Cloud는 NVIDIA L4, NVIDIA T4, NVIDIA P4, NVIDIA P100 등 4개의 디스플레이 지원 GPU를 제공합니다.

Windows 워크스테이션을 만들려면 가상 GPU 가속 Windows 워크스테이션 만들기 튜토리얼을 참조하세요.

가상 워크스테이션을 만든 후에는 미디어 및 엔터테인먼트, 게임 개발, 건축, 엔지니어링 업계에서 널리 사용되는 원격 데스크톱 프로토콜인 PC-over-IP(PCoIP®) 기술을 사용하는 HP Anyware(이전 명칭: Teradici CAS)를 사용해 원격으로 워크스테이션에 액세스하는 방법을 알아봅니다. PCoIP는 색상 정확도, 다중 모니터 지원, 무손실 디스플레이, 태블릿 필압 민감도 등 이러한 유형의 워크로드에 필수적인 기능을 제공합니다.

이 튜토리얼에서는 사용자가 Linux 명령줄에 익숙하다고 가정합니다.

목표

  • GPU를 사용하여 Compute Engine 인스턴스를 만듭니다. 이 인스턴스는 가상 워크스테이션의 기반 역할을 합니다.
  • 가상 워크스테이션에 NVIDIA 드라이버를 설치합니다.
  • 가상 워크스테이션에 HP Anyware 소프트웨어를 설치합니다.
  • PCoIP 소프트웨어 클라이언트를 사용하여 가상 워크스테이션에 연결합니다.

비용

이 튜토리얼에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

가격 계산기를 사용하여 예상 사용량을 기준으로 예상 비용을 산출할 수 있습니다. 2023년 10월 기준 이 튜토리얼에 표시된 워크스테이션 구성의 대략적인 비용은 시간당 US$1.08입니다.

가상 워크스테이션을 구성하는 리소스와 튜토리얼에 나온 비용에 영향을 주는 요소는 다음과 같습니다.

인터넷 데이터 전송은 가상 워크스테이션에서 로컬 디스플레이 클라이언트로 스트리밍되는 데이터를 나타내며 인터넷 아웃바운드 데이터 전송 비용에 따라 비용이 청구됩니다. PCoIP 세션 중 데이터 전송에 영향을 주는 변수는 대역폭, 화면 해상도, 디스플레이 모니터 수, 사용된 애플리케이션, 각 모니터의 활동 유형입니다. HP Anyware 세션 계획 가이드는 다양한 워크로드 요구사항을 이해하는 데 도움이 될 수 있습니다.

시작하기 전에

이 튜토리얼은 Google Cloud CLI를 사용하며, Google Cloud 콘솔에서 시작된 Cloud Shell 인스턴스에서 실행할 수 있습니다. 로컬 워크스테이션에서 gcloud CLI를 사용하려면 Google Cloud CLI를 설치합니다. 이 튜토리얼에서는 Cloud Shell에서 명령어를 실행하는 방법을 보여줍니다. 워크스테이션에서 gcloud CLI를 사용하는 경우 상황에 맞게 안내를 적용합니다.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Compute Engine API 사용 설정

    API 사용 설정

  5. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  6. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  7. Compute Engine API 사용 설정

    API 사용 설정

다음 사항이 준비되었는지도 확인합니다.

  • 선택한 영역에서 NVIDIA L4 가상 워크스테이션 GPU 할당량이 있는 Google Cloud 프로젝트. gcloud compute accelerator-types list 명령어를 사용하여 GPU 사용 가능 여부 목록을 가져올 수 있습니다.
  • Google Cloud Console에 액세스할 수 있는 Google Chrome 브라우저
  • 가상 워크스테이션에 액세스하기 위한 Windows, Mac 또는 Linux용 최신 PCoIP Client 소프트웨어
  • HP Anyware 소프트웨어를 다운로드하기 위한 help.teradici.com 계정. 계정 등록은 무료입니다.
  • HP Anyware 소프트웨어 라이선스. 무료 체험판 라이선스를 요청하거나 HP Teradici 담당자에게 문의하여 이 가상 워크스테이션에 사용할 무료 체험판 등록 코드를 요청할 수 있습니다.

아키텍처

다음 다이어그램은 이 튜토리얼에서 단일 가상 워크스테이션을 배포하는 데 사용되는 구성요소를 보여줍니다. 다이어그램에 표시된 선택적 구성요소에는 가상 워크스테이션에 연결하는 다양한 방법, 공유 스토리지, 서드 파티 라이선스를 제공하기 위한 추가 인스턴스, 렌더링 또는 컴퓨팅 팜을 나타내는 추가 인프라가 포함됩니다.

가상 워크스테이션 아키텍처

지역 선택

가상 워크스테이션을 배포할 때 중요한 요소는 사용자 위치와 생성하는 인스턴스 사이의 지연 시간입니다. 지연 시간이 짧을수록 사용 환경이 향상되므로 지리적으로 사용자와 가장 가까운 리전에서 작업하는 것이 좋습니다. 다른 GPU를 사용할 수 있는 경우에 대한 자세한 내용은 GPU 리전 및 영역 가용성을 참조하세요.

  1. Cloud Shell을 엽니다. (gcloud CLI를 사용하는 경우 컴퓨터에서 터미널 창을 엽니다.)

    Cloud Shell로 이동

  2. GPU를 사용할 수 있는 영역 목록을 가져옵니다.

    gcloud compute accelerator-types list

    물리적으로 가까운 리전 및 영역을 확인합니다.

  3. 작업할 영역을 설정합니다.

    gcloud config set compute/zone ZONE

    ZONEus-west1-b와 같이 사용 중인 영역의 이름으로 바꿉니다.

머신 유형 선택

NVIDIA L4 GPU는 G2 머신 유형에 연결됩니다. GPU가 1개 이상 있는 가상 머신에는 인스턴스에 추가하는 각 GPU에 대해 최대 개수의 vCPU가 포함됩니다. 예를 들어 각 NVIDIA Tesla T4 GPU마다 인스턴스 머신 유형에 최대 32개의 vCPU와 최대 128GB의 메모리를 지정할 수 있습니다. 여러 GPU 구성에 따라 사용 가능한 vCPU 및 메모리 범위를 보려면 GPU 목록을 참조하세요.

이 튜토리얼의 예시는 단일 NVIDIA L4 GPU에 대한 32개 vCPU 한도보다 훨씬 낮은 8개의 vCPU G2 가상 워크스테이션으로 구성됩니다.

가상 워크스테이션 만들기

  1. Cloud Shell에서 Compute Engine 가상 워크스테이션 인스턴스를 만듭니다.

    gcloud compute instances create NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    다음을 바꿉니다.

    • NAME은 워크스테이션의 이름입니다.
    • ZONE은 VM을 만들 영역입니다.
    • MACHINE_TYPE은 사전 정의된 머신 구성 또는 커스텀 머신 구성입니다.
    • ACCELERATOR는 연결하려는 GPU의 유형(예: nvidia-tesla-t4-vws)입니다.
    • NUM-GPUS는 VM에 연결할 GPU 수입니다.
    • SIZE는 부팅 디스크의 크기(GB 단위)입니다.
    • TYPE은 부팅 디스크의 유형입니다. 사용 가능한 디스크 유형 목록을 가져오려면 gcloud compute disk-types list를 실행합니다.
    • NETWORK는 VM을 만들 영역입니다.

    예를 들면 다음과 같습니다.

    gcloud compute instances create test-workstation \
        --zone=us-west1-b \
        --machine-type=g2-standard-8 \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

    가상 워크스테이션이 생성되면 머신 상태가 표시됩니다. 결과는 다음과 유사합니다.

    NAME: test-workstation
    ZONE: us-west1-b
    MACHINE_TYPE: g2-standard-8
    PREEMPTIBLE:
    INTERNAL_IP: 10.138.XX.XXX
    EXTERNAL_IP: XX.XXX.XXX.XXX
    STATUS: RUNNING
    

    가상 워크스테이션의 외부 IP 주소를 기록해 둡니다. 튜토리얼 뒷부분에서 이 주소를 사용합니다.

    Google Cloud 콘솔을 사용하여 언제든지 가상 워크스테이션의 외부 IP 주소를 가져올 수 있습니다.

가상 워크스테이션에 로그인

가상 워크스테이션을 만든 후에는 머신에 로그인하여 머신을 구성할 수 있습니다.

  1. Cloud Shell에서 새 가상 워크스테이션에 연결합니다.

    gcloud compute ssh NAME
  2. 계정 비밀번호를 설정합니다. Teradici PCoIP에는 사용자 비밀번호가 필요합니다.

    sudo passwd `whoami`

    메시지가 표시되면 비밀번호를 입력합니다. 이 튜토리얼의 뒷부분에서 이 비밀번호를 사용하여 Teradici PCoIP Client로 가상 워크스테이션에 로그인합니다.

그래픽 라이브러리 및 창 관리자 설치

Google Cloud CentOS 7의 기본 이미지가 CentOS 7.x의 최소 설치입니다. 다음 단계에서는 가상 워크스테이션을 그래픽 워크스테이션으로 실행하는 데 필요한 라이브러리를 설치합니다. 이 튜토리얼에서는 KDE 창 관리자도 설치합니다.

  1. 소프트웨어 저장소를 업데이트합니다.

    sudo yum -y update
  2. 필수 구성요소를 설치합니다.

    sudo yum -y install \
      kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    sudo yum -y groupinstall \
      "KDE desktop" "X Window System" "Fonts" \
      "Development Tools" "Server with GUI"
    
  3. 워크스테이션을 재부팅합니다.

    sudo reboot

    Cloud Shell 연결이 종료됩니다.

NVIDIA 드라이버 설치

NVIDIA L4, NVIDIA T4, NVIDIA P4, NVIDIA P100 GPU는 시각화 워크로드를 위한 검증된 NVIDIA RTX 가상 워크스테이션 드라이버가 있어야 Google Cloud에서 작동합니다. 공개 Google Cloud Storage 버킷에서 이 드라이버를 다운로드할 수 있습니다.

  1. 가상 워크스테이션이 다시 시작되면 Cloud Shell에서 가상 워크스테이션에 다시 연결합니다.

    gcloud compute ssh NAME
  2. 시스템에 올바른 커널 헤더가 설치되었는지 확인합니다.

    sudo yum -y install kernel-devel-$(uname -r) \
      kernel-headers-$(uname -r)
    
  3. 최신 NVIDIA RTX 가상 워크스테이션 드라이버를 설치하려면 안내(3단계만 해당)를 따르세요.

  4. 워크스테이션을 재부팅합니다.

    sudo reboot

HP Anyware 소프트웨어 설치

HP Anyware 소프트웨어는 가상 워크스테이션에서 실행되는 그래픽 에이전트를 제공하여 하드웨어 또는 소프트웨어 클라이언트에 데스크톱을 전달합니다.

  1. 가상 워크스테이션이 다시 시작되면 Cloud Shell에서 가상 워크스테이션에 다시 연결합니다.

    gcloud compute ssh NAME
  2. Teradici 소프트웨어 저장소를 추가합니다.

    curl -1sLf \
        https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.rpm.sh \
        | sudo -E distro=el codename=7 bash
    

    다음을 바꿉니다.

  3. 소프트웨어 저장소를 업데이트합니다.

    sudo yum -y update
  4. 선택사항: 키보드, 마우스, 포인터 기기 이외의 USB 기기를 지원해야 하는 경우 USB 종속 항목을 설치합니다.

    sudo yum -y install usb-vhci
  5. HP Anyware 소프트웨어를 설치합니다.

    sudo yum -y install pcoip-agent-graphics
  6. 디스플레이 상태를 graphical로 설정합니다.

    sudo systemctl set-default graphical.target
  7. 가상 워크스테이션을 재부팅합니다.

    sudo reboot

Anyware Graphics Agent 등록

Anyware Graphics Agent를 사용하려면 HP Anwyare 라이선스가 있어야 합니다.

  1. Cloud Shell에서 HP Anyware 소프트웨어 라이선스를 활성화합니다.

    pcoip-register-host --registration-code=REGISTRATION-CODE

    REGISTRATION-CODE를 HP Teradici에서 ABCDEFGHIJKL@0123-4567-89AB-CDEF 형식으로 제공한 코드로 바꿉니다.

  2. 가상 워크스테이션을 재부팅합니다.

    sudo reboot

방화벽 규칙 만들기

PCoIP 클라이언트는 여러 포트를 사용하여 가상 워크스테이션과 통신합니다. 가상 워크스테이션에 대한 트래픽을 허용하는 방화벽 규칙을 설정해야 합니다.

  • 로컬 컴퓨터(가상 워크스테이션 아님)의 Cloud Shell에서 필요한 포트를 여는 방화벽 규칙을 만듭니다.

    gcloud compute firewall-rules create allow-pcoip \
        --action=ALLOW \
        --rules=tcp:443,tcp:4172,udp:4172 \
        --source-ranges=0.0.0.0/0
    

PCoIP 클라이언트를 사용하여 가상 워크스테이션에 로그인

  1. 로컬 컴퓨터에서 HP Anyware 지원 페이지PCoIP Clients(PCoIP 클라이언트) 섹션으로 이동하고 운영체제에 맞는 PCoIP Software Client 애플리케이션을 다운로드하여 설치한 후 시작합니다.

  2. Host Address(호스트 주소) 또는 Registration Code(등록 코드) 필드에 가상 워크스테이션의 외부 IP 주소를 입력합니다. 필요한 경우 연결 이름을 입력합니다.

  3. 연결되면 앞에서 만든 가상 워크스테이션의 사용자 이름과 비밀번호를 입력하여 인증합니다.

    몇 초 후 Linux 데스크톱이 표시됩니다.

가상 워크스테이션 테스트

가상 워크스테이션을 배포한 후에는 다양한 도구를 사용하여 성능 및 상호작용을 테스트할 수 있습니다.

  • Linux 워크스테이션에서 그래픽 성능을 테스트할 수 있는 프로그램인 glxgears, glmark2, UNIGINE과 같은 GPU 벤치마킹 도구를 실행합니다.
  • Unreal Engine, Unity Editor, Blender 또는 콘텐츠 제작 애플리케이션을 설치합니다.
  • V-Ray, Octane 또는 Maxon과 같이 많이 사용되는 렌더기의 렌더링 벤치마킹 도구를 실행합니다.
  • Google Chrome을 사용하여 즐겨찾는 사이트를 탐색하거나 YouTube 동영상을 재생합니다.

워크로드를 기반으로 한 PCoIP 성능 최적화에 대해 자세히 알아볼 수도 있습니다.

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

이 튜토리얼을 마쳤으면 나중에 요금이 청구되지 않도록 Google Cloud에서 만든 리소스를 삭제합니다.

가상 워크스테이션 중지

중지된 가상 워크스테이션은 영구 디스크 비용이 발생하지만 언제든 다시 시작할 수 있습니다. 가상 워크스테이션을 중지하려면 Cloud Shell에서 다음 명령어를 실행하세요.

gcloud compute instances stop test-vws

프로젝트 삭제

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

모든 구성요소 삭제

  1. 가상 워크스테이션을 삭제합니다.
  2. 방화벽 규칙을 삭제합니다.

다음 단계