Cloud TPU VM에 Filestore 인스턴스 마운트

Filestore는 Compute Engine용 완전 관리형 네트워크 연결 스토리지(NAS)입니다. Filestore는 기본적으로 기존 기업 애플리케이션과 호환되며 NFSv3 호환 클라이언트를 지원합니다.

시작하기 전에

Cloud TPU VM에 Filestore 인스턴스를 마운트하려면 Cloud TPU VM과 연결된 서비스 계정에 Filestore 역할(Cloud Filestore 편집자 또는 Cloud Filestore 뷰어)을 추가해야 합니다. Cloud TPU VM을 만들 때 커스텀 서비스 계정을 지정하지 않으면 Cloud TPU VM은 기본 Compute Engine 서비스 계정을 사용합니다. Cloud TPU VM을 만들 때 서비스 계정을 지정하는 방법에 대한 자세한 내용은 Cloud TPU 환경 설정을 참조하세요. 서비스 계정을 만드는 방법에 대한 자세한 내용은 서비스 계정 만들기를 참조하세요.

서비스 계정에 Filestore 편집자 역할 추가

다음 안내에서는 Compute Engine 기본 서비스 계정에 Cloud Filestore 편집자 역할을 추가하는 방법을 보여줍니다. 다음 안내에 따라 모든 서비스 계정에 Cloud Filestore 편집자 역할을 추가할 수 있습니다. 2단계에서 Compute Engine 기본 서비스 계정 대신 커스텀 서비스 계정을 검색하여 사용할 수 있습니다.

  1. IAM 콘솔을 엽니다.

  2. 주 구성원별로 보기 탭을 선택하고 필터 필드에 Name:Compute Engine default service account를 입력합니다.

  3. 서비스 계정 옆에 있는 를 클릭합니다. Compute Engine 기본 서비스 계정에 할당된 역할이 나열된 대화상자가 IAM 콘솔에 표시됩니다.

  4. 를 클릭하여 다른 역할을 추가합니다.

  5. 역할 선택 드롭다운 메뉴를 펼치고 필터에 Filestore를 입력한 후 Cloud Filestore 편집기를 선택합니다.

  6. 저장을 클릭하여 대화상자를 닫습니다. Compute Engine 기본 서비스 계정에 Filestore 편집자 역할을 추가했습니다.

서비스 계정에 대한 자세한 내용은 서비스 계정 개요를 참조하세요. IAM 역할에 대한 자세한 내용은 역할 및 권한을 참조하세요.

Filestore 인스턴스 만들기

Filestore 인스턴스 만들기의 안내에 따라 Filestore 인스턴스를 만듭니다.

Cloud TPU VM에 Filestore 인스턴스 마운트

Cloud TPU에 Filestore 인스턴스를 마운트하는 데 사용하는 명령어는 단일 Cloud TPU 또는 Cloud TPU Pod 슬라이스를 사용하는지에 따라 다릅니다.

단일 Cloud TPU VM에 Filestore 인스턴스 마운트

  1. SSH를 사용하여 Cloud TPU VM에 연결합니다.
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --zone=your-zone
        
  2. nfs-common 패키지를 설치합니다.
          sudo apt-get update --allow-releaseinfo-change \
            && sudo apt-get -y update \
            && sudo apt-get -y install nfs-common
        
  3. NFS를 마운트할 디렉터리를 만듭니다.
          sudo mkdir -p mount-dir \
            && sudo chmod ugo+rw mount-dir
        
  4. Filestore의 IP 주소를 찾습니다.
          gcloud filestore instances describe filestore-instance-name \ 
            --region filestore-region
        
  5. Cloud TPU VM의 Filestore 인스턴스를 마운트 디렉터리에 마운트합니다.
          sudo mount filestore-ip:file-share-name mount-dir-name
        

Cloud TPU Pod 슬라이스에 Filestore 인스턴스 마운트

Cloud TPU Pod 슬라이스는 2개 이상의 Cloud TPU VM으로 구성됩니다. 다음 명령어는 gcloud compute tpus tpu-vm ssh 명령어를 --worker=all--command 플래그와 함께 사용하여 모든 Cloud TPU VM에서 한 번에 명령어를 실행합니다.

  1. Pod 슬라이스의 모든 Cloud TPU VM에 nfs-common 패키지를 설치합니다.
            gcloud compute tpus tpu-vm ssh your-tpu-name \
              --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo apt-get update --allow-releaseinfo-change && sudo apt-get -y update && sudo apt-get -y install nfs-common"
          
  2. Filestore 인스턴스를 마운트할 디렉터리를 만듭니다. mount-dir-name을 원하는 디렉터리 이름으로 바꿉니다.
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo mkdir -p mount-dir-name && sudo chmod ugo+rw mount-dir-name"
          
  3. Filestore 인스턴스의 IP 주소를 찾습니다.
          gcloud filestore instances describe filestore-instance-name \ 
            --region filestore-region
        
  4. Cloud TPU VM에 Filestore 인스턴스를 마운트합니다. 다음을 바꿉니다.
          sudo mount filestore-ip:file-share-name mount-dir
        

Filestore 인스턴스에 데이터 쓰기

Filestore 인스턴스를 마운트하는 디렉터리에 Linux 읽기 및 쓰기 권한을 부여해야 합니다. 디렉터리를 로컬 파일 시스템과 마찬가지로 사용할 수 있습니다.