Я пытаюсь настроить «пустой» локальный SSD на Google Cloud Platform / Google Compute Engine в стартовом скрипте для вытесняемого экземпляра, который будет запускаться при создании виртуальной машины. При запуске этого сценария на виртуальной машине нет ценных данных.
После создания ВМ с локальным SSD из gcloud
или веб-консоль, на виртуальной машине нужно выполнить некоторые настройки.
Документация по локальному SSD говорит, что я должен:
lsblk
mkfs.ext4 -F /dev/[block-dev-from-part1]
Но на шаге 2 я получаю сообщение об ошибке /dev/sdb1
не найден.
fdisk
показывает, что /dev/sdb
существует, но не имеет таблицы разделов.
Я мог бы использовать fdisk вручную, и это работает, но как я могу разделить SSD и настроить его в стартовом скрипте?
Если вы готовы рискнуть, что SSD всегда находится в / dev / sdb и что fdisk не изменяет их пользовательский интерфейс, вы можете просто запустить fdisk и предоставить ввод fdisk в EOF
блокировать следующим образом:
#!/bin/bash
sleep 30
fdisk /dev/sdb <<EOF
n
p
1
w
EOF
mkfs.ext4 -F /dev/sdb1
mkdir /tmp/ssd
mount /dev/sdb1 /tmp/ssd
chmod 777 /tmp/ssd
Вход fdisk n
для новых, p
для системного раздела, тогда 1
для раздела 1 две пустые строки, чтобы принять значения по умолчанию от fdisk, затем w
написать таблицу разделов.