particione e formate o ssd local no script de início

1

Estou tentando configurar um SSD local "simples" no Google Cloud Platform / Google Compute Engine em um script de início para uma instância preemptiva a ser executada na criação da VM. Nenhum dado valioso está na VM quando esse script é executado.

Depois de criar uma VM com um SSD local a partir de gcloud ou do console da web, há alguma configuração a ser feita na VM.

A documentação do SSD local diz que devo:

  1. identifica o dispositivo de bloco ssd com lsblk
  2. formate-o com mkfs.ext4 -F /dev/[block-dev-from-part1]
  3. monte em algum lugar & & 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ções.

Eu poderia usar o fdisk manualmente e isso funciona, mas como posso particionar o SSD e configurar em um script de início?

    
por Paul 28.02.2018 / 07:25

1 resposta

1

Se você estiver disposto a arriscar que o SSD esteja sempre em / dev / sdb e que o fdisk não muda sua interface de usuário, você pode simplesmente executar o fdisk e fornecer a entrada do fdisk em um bloco EOF da seguinte forma:

#!/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, então 1 para a partição 1, duas linhas em branco para aceitar os padrões do fdisk e w para gravar a tabela de partições.

    
por 28.02.2018 / 07:25