2021/04/06

GCPのdeployment managerでlocal ssdを繋げる

GCPの deployment manager で local ssd ( SCRATCH Disk ) を繋げて立ち上げる際の、jinjaの書き方です。ググってもなかなか出てこなかったので、備忘録。

deployment manager にくっついてくるサンプルのjinjaファイルには、deployするインスタンスにPRESISTENT diskをくっつけてありますので、そこからスタートします。

disks:
  - deviceName: boot
    type: PERSISTENT
    boot: true
    autoDelete: true
    initializeParams:
      sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8

サンプルの、disksの中はだいたいこんな感じになっています。sourceImageはdebian-8になっていますが、今は適当にアップデートされているはず。で、ここに、

disks:
  - deviceName: boot
    type: PERSISTENT
    boot: true
    autoDelete: true
    initializeParams:
      sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-8
  - deviceName: local-ssd
    type: SCRATCH
    interface: NVME
    autoDelete: true
    initializeParams:
      diskType: local-ssd

local ssdを、こんな感じでくっつけます。device nameはおそらく何でもOK。interfaceはSCSIでもいいかも。autoDeleteは必須。このjinjaファイルでdeployすると、インスタンスにlocal-ssdがくっついて立ち上がります。但し、これだけでは使えるようにはなっていないので、同じくdeployment managerで使うstartup-scriptに、ディスクをフォーマットしてマウントするコマンドを書いておきます。公式に「ローカル SSD を使用するインスタンスを作成する」があるので、それを真似て、

sudo mkfs.ext4 -F /dev/nvme0n1
sudo mkdir -p /mnt/disks/local-ssd
sudo mount /dev/nvme0n1 /mnt/disks/local-ssd
sudo chmod a+w /mnt/disks/local-ssd

こんな感じでstartup-scriptに追記しておくと、立ち上がったときに使えるようになっています。マウント場所やアクセス権は適宜設定してください。あと、SCSIディスクをくっつける場合や、local ssdを複数くっつける場合はdev/nvme0n1 が変わると思います。

0 件のコメント: