Partitionieren und formatieren Sie die lokale SSD im Startskript

Partitionieren und formatieren Sie die lokale SSD im Startskript

Ich versuche, in einem Startskript eine lokale „Scratch“-SSD auf Google Cloud Platform/Google Compute Engine für eine präemptive Instanz einzurichten, die bei der VM-Erstellung ausgeführt werden soll. Beim Ausführen dieses Skripts befinden sich keine wertvollen Daten auf der VM.

gcloudNachdem Sie über die Webkonsole eine VM mit einer lokalen SSD erstellt haben , müssen auf der VM einige Einstellungen vorgenommen werden.

Lokale SSD-Dokumentationsagt, ich sollte:

  1. Identifizieren Sie das SSD-Blockgerät mitlsblk
  2. formatieren Sie es mitmkfs.ext4 -F /dev/[block-dev-from-part1]
  3. montieren Sie es irgendwo und genießen Sie es

Aber in Schritt 2 erhalte ich die Fehlermeldung „ /dev/sdb1Nicht gefunden“.

fdiskzeigt, dass es /dev/sdbvorhanden ist, aber keine Partitionstabelle hat.

Ich könnte fdisk manuell verwenden und das funktioniert, aber wie kann ich die SSD partitionieren und in einem Startskript einrichten?

Antwort1

Wenn Sie das Risiko eingehen möchten, dass sich die SSD immer unter /dev/sdb befindet und fdisk die Benutzeroberfläche nicht ändert, können Sie einfach fdisk ausführen und die Eingabe von fdisk in einem EOFBlock wie folgt bereitstellen:

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

Die fdisk-Eingabe ist nfür „Neu“, pfür die Systempartition, dann 1für Partition 1, zwei Leerzeilen, um die Vorgabewerte von fdisk zu akzeptieren, dann wzum Schreiben der Partitionstabelle.

Antwort2

Die lokale SSD kann ohne Partitionierung direkt als Blockgerät verwendet werden.

Du kannst:mkfs.ext4 -F /dev/sdb

verwandte Informationen