Esta página foi traduzida pela API Cloud Translation.
Switch to English

Visão geral dos discos e do sistema de arquivos

Nesta página, apresentamos uma visão geral do Container-Optimized OS do sistema de arquivos do Google e descrevemos como ativar e formatar discos.

Sistema de arquivos

O layout do sistema de arquivos de imagem de nó do Container-Optimized OS é otimizado para melhorar a segurança do nó. O espaço do disco de inicialização foi dividido em três tipos de partições:

  • partição raiz, que é montada como somente leitura
  • partições com estado, que podem ser gravadas e têm estado
  • partições sem estado, que podem ser gravadas, mas o conteúdo não permanece durante as reinicializações

Ao usar o Container-Optimized OS, fique atento ao particionamento se você executar serviços próprios que dependam do layout do sistema de arquivos fora dos contêineres.

O sistema de arquivos raiz é ativado como somente leitura para proteger a integridade do sistema. No entanto, os diretórios iniciais e /mnt/stateful_partition são permanentes e graváveis.

Como trabalhar com o sistema de arquivos do Container-Optimized OS

Na lista a seguir, mostramos os caminhos no sistema de arquivos de imagem do node do Container-Optimized OS, juntamente com as propriedades e o uso recomendado:

Caminho Propriedades Finalidade
/
  • somente leitura
  • executável
O sistema de arquivos raiz é ativado como somente leitura para manter a integridade. O kernel verifica a integridade do sistema de arquivos raiz durante a inicialização e se recusa a inicializar em caso de erros.
/home
/var
  • gravável
  • não executável
  • com estado
Esses caminhos visam armazenar dados que permanecem durante todo o período do disco de inicialização. Eles são montados a partir de /mnt/stateful_partition.
/var/lib/google
/var/lib/docker
/var/lib/toolbox
  • gravável
  • executável
  • com estado
Esses caminhos são diretórios de trabalho para pacotes do Compute Engine (como o serviço de gerente de contas), Docker e Toolbox, respectivamente.
/var/lib/cloud
  • gravável
  • executável
  • sem estado
  • tmpfs
Esse caminho é o diretório de trabalho do pacote cloud-init.
/etc
  • gravável
  • não executável
  • sem estado
  • tmpfs
Geralmente mantém sua configuração. Por exemplo, os serviços do systemd definidos por meio do cloud-init. É recomendável registrar o estado pretendido das instâncias no cloud-init, já que o cloud-init é aplicado quando uma instância é criada ou reinicializada.
/tmp
  • gravável
  • não executável
  • sem estado
  • tmpfs
Normalmente é usado como um espaço de rascunho. Não o use para armazenar dados persistentes.
/mnt/disks
  • gravável
  • executável
  • sem estado
  • tmpfs
É possível montar discos permanentes nos diretórios em /mnt/disks.

Como ativar e formatar discos

Você pode anexar um disco permanente ou criar uma instância com SSDs locais ao usar o Container-Optimized OS do Google. Siga as instruções em Como formatar e ativar um disco permanente ou Formatar e ativar um dispositivo SSD local para ver os casos de uso apropriados.

É possível ativar os discos criando um subdiretório no diretório /mnt/disks. Como /etc/ é sem estado no Container-Optimized OS do Google, não é possível usar /etc/fstab para realizar fsck (verificação de consistência do sistema de arquivos) automaticamente e ativar os discos na inicialização. Mas você pode conseguir o mesmo fazendo essas operações na seção bootcmd no seu cloud-config. O exemplo a seguir monta o disco DEVICE_ID no /mnt/disks.

Primeiro, crie um arquivo de script chamado FILENAME usando o seguinte conteúdo:

#cloud-config

bootcmd:
- fsck.ext4 -tvy /dev/DEVICE_ID
- mkdir -p /mnt/disks/MNT_DIR
- mount -t ext4 -O ... /dev/DEVICE_ID /mnt/disks/MNT_DIR

Substitua:

  • DEVICE_ID: o ID do dispositivo do disco que você quer formatar e ativar.
  • MNT_DIR: o diretório em que é ativado o disco.

Consulte a documentação do Linux para ver um conjunto completo de opções compatíveis com os comandos fsck.ext4 e mount.

A etapa final é atualizar os metadados da VM para incluir o script FILENAME.

É possível usar a sinalização --metadata-from-file para atualizar os metadados da VM:

Para criar uma VM, faça o seguinte:

gcloud compute instances create INSTANCE_NAME \
    --metadata-from-file user-data=FILENAME

Para uma instância existente,

gcloud compute instances add-metadata INSTANCE_NAME 
--metadata-from-file user-data=FILENAME

Substitua:

  • INSTANCE_NAME: o nome da instância de VM.
  • FILENAMEcode>: o nome do arquivo de metadados.