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

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

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

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

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

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

Но на шаге 2 я получаю ошибку, что /dev/sdb1объект не найден.

fdiskпоказывает, что /dev/sdbсуществует, но не имеет таблицы разделов.

Я мог бы использовать fdisk вручную, и это сработает, но как мне разбить SSD на разделы и настроить его в стартовом скрипте?

решение1

Если вы готовы рискнуть и сделать так, чтобы 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для записи таблицы разделов.

решение2

Локальный SSD-накопитель можно использовать напрямую как блочное устройство без разбиения на разделы.

Ты можешь:mkfs.ext4 -F /dev/sdb

Связанный контент