Base de conhecimento

Anexe um volume NVMe extra e monte-o

Encontrar o novo dispositivo de bloco, escolher um sistema de arquivos, montá-lo para que um disco ausente não impeça o boot e aumentá-lo depois sem tempo de inatividade.

O dispositivo aparece sem reinicialização

NVMe extra é um complemento vendido por quinhentos gigabytes, e é anexado a quente. O volume aparece como um novo dispositivo de bloco dentro de alguns segundos após o pedido ser processado. Nada é reiniciado.

lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

O disco raiz é vda; o novo assume a próxima letra. Se não apareceu, aguarde um momento para o udev e verifique novamente:

udevadm settle
ls /sys/class/block

Pule a tabela de partições

Uma partição em um disco virtual não agrega nada e adiciona uma etapa toda vez que o volume cresce. Coloque o sistema de arquivos diretamente no dispositivo:

mkfs.ext4 -L data /dev/vdb

Ou, para arquivos grandes escritos por muitas threads simultaneamente:

mkfs.xfs -L data /dev/vdb

ext4 encolhe offline, XFS nunca encolhe. XFS é mais rápido em metadados paralelos, ext4 é mais tolerante para todo o resto. Para a maioria das pessoas, essa é toda a decisão.

Monte de forma que um volume ausente não impeça a inicialização

Use o rótulo. A ordem dos dispositivos não é garantida após uma reconstrução, e vdb hoje pode ser vdc amanhã.

mkdir -p /srv/data
echo "LABEL=data /srv/data ext4 defaults,noatime,nofail,x-systemd.device-timeout=10s 0 2" >> /etc/fstab
systemctl daemon-reload
mount -a
findmnt /srv/data

nofail e o tempo limite do dispositivo são a parte importante dessa linha. Sem eles, uma instância que inicializa antes de o volume ser anexado fica presa no shell de emergência esperando um disco, e você acaba lendo o artigo de console antes do planejado.

Trim em um cronômetro, não a cada exclusão

Não adicione a opção de montagem discard. Discard contínuo emite um trim a cada unlink, e em um sistema de arquivos ocupado isso custa mais do que retorna. Execute periodicamente:

systemctl enable --now fstrim.timer
fstrim -v /srv/data

Aumentando o volume

Peça mais capacidade e depois estenda o sistema de arquivos no lugar. Sem desmontar, sem reiniciar.

lsblk -o NAME,SIZE
resize2fs /dev/vdb          # ext4, by device
xfs_growfs /srv/data        # XFS, by mount point

Fazer essas duas coisas na ordem errada produz uma mensagem de erro confusa e nenhum dano, que é a maneira correta de uma ferramenta se comportar.

Se você quiser criptografado

cryptsetup luksFormat --type luks2 /dev/vdb
cryptsetup open /dev/vdb data
mkfs.ext4 -L data /dev/mapper/data

Entenda a consequência primeiro. Um volume protegido por senha não pode ser montado sem supervisão, então toda reinicialização precisa de uma pessoa no console digitando a senha. Colocar o arquivo de chave no disco raiz remove esse problema e a maior parte do benefício ao mesmo tempo. Escolha deliberadamente, não por padrão.

Verificação de sanidade do hardware

fio --name=rw --rw=randwrite --bs=4k --size=2G --numjobs=4 --iodepth=32 --direct=1 --runtime=60 --time_based --group_reporting

Execute isso no novo volume, nunca em /, e nunca em um sistema de arquivos com algo que você queira manter. Se o resultado for uma ordem de magnitude abaixo do que a página de hardware descreve, abra um ticket com a saída e verificaremos o host, não você.

Pronto quando você estiver

Escolha uma cidade. Escolha um tamanho. Pague em cripto.

Sem formulários sobre quem você é, sem esperar aprovação de um humano, sem ligação para verificar nada. O pagamento é confirmado e as credenciais chegam na sua caixa de entrada.