Назад | Перейти на главную страницу

разделить и отформатировать локальный ssd в стартовом скрипте

Я пытаюсь настроить «пустой» локальный SSD на Google Cloud Platform / Google Compute Engine в стартовом скрипте для вытесняемого экземпляра, который будет запускаться при создании виртуальной машины. При запуске этого сценария на виртуальной машине нет ценных данных.

После создания ВМ с локальным SSD из gcloud или веб-консоль, на виртуальной машине нужно выполнить некоторые настройки.

Документация по локальному SSD говорит, что я должен:

  1. идентифицировать блочное устройство ssd с помощью lsblk
  2. отформатируйте его с помощью mkfs.ext4 -F /dev/[block-dev-from-part1]
  3. смонтируйте его где-нибудь и наслаждайтесь

Но на шаге 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 написать таблицу разделов.