particionar y formatear el ssd local en el script de inicio

particionar y formatear el ssd local en el script de inicio

Estoy intentando configurar un SSD local "cero" en Google Cloud Platform/Google Compute Engine en un script de inicio para que se ejecute una instancia interrumpible en la creación de VM. No hay datos valiosos en la VM cuando se ejecuta este script.

Después de crear una máquina virtual con un SSD local desde gcloudla consola web, hay que realizar algunas configuraciones en la máquina virtual.

Documentación SSD localdice que debería:

  1. identificar el dispositivo de bloque ssd conlsblk
  2. formatearlo conmkfs.ext4 -F /dev/[block-dev-from-part1]
  3. montarlo en algún lugar y disfrutar

Pero en el paso 2 me sale un error que /dev/sdb1no se encuentra.

fdiskrevela que /dev/sdbexiste pero no tiene tabla de particiones.

Podría usar fdisk manualmente y funciona, pero ¿cómo puedo particionar el SSD y configurarlo en un script de inicio?

Respuesta1

Si está dispuesto a arriesgarse a que el SSD esté siempre en /dev/sdb y que fdisk no cambie su interfaz de usuario, simplemente puede ejecutar fdisk y proporcionar la entrada de fdisk en un EOFbloque de la siguiente manera:

#!/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

La entrada de fdisk es npara nueva, ppara la partición del sistema, luego 1para la partición 1, dos líneas en blanco para aceptar los valores predeterminados de fdisk y luego wpara escribir la tabla de particiones.

Respuesta2

El SSD local se puede utilizar directamente como dispositivo de bloque sin particionar.

Puede:mkfs.ext4 -F /dev/sdb

información relacionada