Filestore インスタンスを Cloud TPU VM にマウントする
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 のデフォルト サービス アカウントの代わりに、カスタム サービス アカウントを検索して使用できます。
[プリンシパル別に表示] を選択し、[フィルタ] フィールドに「
Name:Compute Engine default service account
」と入力します。サービス アカウントの横にある [
] をクリックします。IAM コンソールに、Compute Engine のデフォルト サービス アカウントに割り当てられたロールの一覧を示すダイアログが表示されます。[
] をクリックして、別のロールを追加します。[ロールを選択] プルダウン メニューを開き、フィルタに「
Filestore
」と入力して、[Cloud Filestore 編集者] を選択します。[保存] をクリックしてダイアログを閉じます。Compute Engine のデフォルトのサービス アカウントに Filestore 編集者ロールを追加しました。
サービス アカウントの詳細については、サービス アカウントの概要をご覧ください。IAM ロールの詳細については、ロールと権限をご覧ください。
Filestore インスタンスを作成する
Filestore インスタンスの作成の手順に沿って、Filestore インスタンスを作成します。
Cloud TPU VM に Filestore インスタンスをマウントする
Cloud TPU に Filestore インスタンスをマウントするために使用するコマンドは、単一の Cloud TPU と Cloud TPU スライスのどちらを使用しているかによって異なります。
単一の Cloud TPU VM に Filestore インスタンスをマウントする
- SSH を使用して Cloud TPU VM に接続します。
gcloud compute tpus tpu-vm ssh your-tpu-name \ --zone=your-zone
nfs-common
パッケージをインストールします。(vm)$ sudo apt-get update --allow-releaseinfo-change \ && sudo apt-get -y update \ && sudo apt-get -y install nfs-common
- NFS をマウントするディレクトリを作成します。
(vm)$ sudo mkdir -p mount-dir \ && sudo chmod ugo+rw mount-dir
- Filestore の IP アドレスを見つけます。
(vm)$ gcloud filestore instances describe filestore-instance-name \ --location filestore-region
- Cloud TPU VM の Filestore インスタンスをマウント ディレクトリにマウントします。
filestore-ip
、file-share-name
、mount-dir
は、FileStore の IP アドレス、ファイル共有名、マウント ディレクトリに置き換えます。(vm)$ sudo mount filestore-ip:file-share-name mount-dir
Cloud TPU スライスに Filestore インスタンスをマウントする
Cloud TPU スライスは、2 つ以上の Cloud TPU VM で構成されます。次のコマンドは、--worker=all
フラグと --command
フラグを指定して gcloud compute tpus tpu-vm ssh
コマンドを使用し、すべての Cloud TPU VM でコマンドを同時に実行します。
- スライスのすべての 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"
- Filestore インスタンスをマウントするディレクトリを作成します。
mount-dir
は、任意のディレクトリ名に置き換えます。gcloud compute tpus tpu-vm ssh your-tpu-name \ --project=your-gcp-project \ --zone=your-zone \ --worker=all \ --command="sudo mkdir -p mount-dir && sudo chmod ugo+rw mount-dir"
- Filestore インスタンスの IP アドレスを見つけます。
gcloud filestore instances describe filestore-instance-name \ --location filestore-region
- Cloud TPU スライスに Filestore インスタンスをマウントします。
filestore-ip
、file-share-name
、mount-dir
は、FileStore の IP アドレス、ファイル共有名、マウント ディレクトリに置き換えます。gcloud compute tpus tpu-vm ssh your-tpu-name \ --project=your-gcp-project \ --zone=your-zone \ --worker=all \ --command="sudo mount filestore-ip:file-share-name mount-dir"
Filestore インスタンスへのデータの書き込み
Filestore インスタンスをマウントするディレクトリに対する読み取り権限と書き込み権限を Linux に付与していることを確認します。このディレクトリは、ローカル ファイル システムの場合と同様に使用できます。