Автоматизировать постоянную инициализацию диска GCP - PullRequest
0 голосов
/ 06 ноября 2018

Существуют ли сценарии, которые автоматизируют постоянное форматирование дисков и подключение к экземпляру виртуальной машины Google Cloud вместо операций форматирования и монтирования ?

Постоянный диск создается с помощью Terraform, которая также создает виртуальную машину и присоединяет диск к ней с помощью команды attached_disk.

Я надеюсь запустить простой скрипт при запуске экземпляра виртуальной машины, который бы:

  • проверьте, отформатирован ли прикрепленный диск, и отформатируйте, если необходимо, ext4
  • проверить, смонтирован ли диск, и смонтировать, если нет
  • иначе ничего не делать

1 Ответ

0 голосов
/ 06 ноября 2018

Рассматривали ли вы использование сценария запуска на экземпляре (я полагаю, вы также можете добавить сценарий запуска с помощью Terraform)? Вы можете использовать цикл if, чтобы определить, отформатирован ли диск, а если нет, то вы можете попробовать выполнить команды форматирования / монтирования в документации, которую вы связали (я понимаю, вы предлагали не выполнять инструкции в документации, но они могут быть интегрированы в сценарий запуска для достижения желаемого результата).

Запуск следующих выходных данных и пустой строки, если диск не отформатирован:

 sudo blkid /dev/sdb

Поэтому вы можете использовать это в сценарии запуска, чтобы определить, отформатирован ли диск, а затем выполнить форматирование / монтирование, если это не так. Например, вы можете использовать что-то вроде этого (Примечание *** Если диск отформатирован, но не смонтирован, это может быть опасно и не должно использоваться, если в вашем случае использования могут использоваться существующие диски, которые, возможно, уже отформатированы):

#!/bin/bash


if sudo blkid /dev/sdb;then 
        exit
else 
        sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb; \
        sudo mkdir -p /mnt/disks/newdisk
        sudo mount -o discard,defaults /dev/sdb /mnt/disks/newdisk
fi
...