Estou tentando configurar um SSD local "zero" no Google Cloud Platform/Google Compute Engine em um script inicial para que uma instância preemptiva seja executada na criação da VM. Nenhum dado valioso está na VM quando este script é executado.
Depois de criar uma VM com um SSD local gcloud
ou no console da web, há algumas configurações a serem feitas na VM.
Documentação SSD localdiz que eu deveria:
- identifique o dispositivo de bloco SSD com
lsblk
- formate-o com
mkfs.ext4 -F /dev/[block-dev-from-part1]
- monte-o em algum lugar e aproveite
Mas na etapa 2 recebo um erro que /dev/sdb1
não foi encontrado.
fdisk
revela que /dev/sdb
existe, mas não possui tabela de partição.
Eu poderia usar o fdisk manualmente e isso funciona, mas como posso particionar o SSD e configurá-lo em um script inicial?
Responder1
Se você estiver disposto a arriscar que o SSD esteja sempre em /dev/sdb e que o fdisk não altere sua interface de usuário, você pode simplesmente executar o fdisk e fornecer a entrada do fdisk em um EOF
bloco como segue:
#!/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
A entrada fdisk é n
para novo, p
para partição do sistema, depois 1
para partição 1, duas linhas em branco para aceitar os padrões do fdisk e, em seguida, w
para gravar a tabela de partições.
Responder2
O SSD local pode ser usado diretamente como um dispositivo de bloco sem particionamento.
Você pode:mkfs.ext4 -F /dev/sdb