Prompt
Estou criando uma VM na Azure, com Linux. Estou com extrema dúvida com relação à configuração das partições do disco. Estou usando um disco de 200GB e pretendo rodar uma aplicação Python com Docker. Defina a melhor configuração das partições (/, /home, /boot, /tmp, /usr, /var, etc).
ChatGPT (Adapta)
Aqui vai um guia completo e prático para particionar um Linux na Azure (disco de 200 GB) visando rodar uma aplicação Python em Docker, com foco em segurança, facilidade de manutenção e espaço adequado para imagens/volumes.
Resumo rápido (recomendação direta)
- Sistema de arquivos: ext4 (simples e sem pegadinhas). Se optar por XFS, garanta ftype=1 no /var/lib/docker.
- Layout recomendado (com LVM):
- EFI (Gen2): /boot/efi — 550 MB (FAT32)
- /boot — 1 GB (ext4)
- swap — 8–16 GB (em geral 1x a RAM até 16 GB; sem hibernação)
- / — 40 GB (ext4)
- /var/lib/docker — 120 GB (ext4)
- /var/log — 8 GB (ext4)
- /home — 10 GB (ext4)
- /tmp — tmpfs 2–4 GB (não em disco; memória)
- Reserva livre no VG — ~5–10 GB para crescimento futuro
- Opções de montagem (segurança e performance):
- /: defaults,noatime
- /boot: nodev
- /tmp: tmpfs,size=4G,noexec,nodev,nosuid
- /var/log: nodev,nosuid,noexec
- /var/lib/docker: defaults,noatime (não usar noexec aqui)
- Docker: usar overlay2; configurar rotação de logs (max-size=100m, max-file=5).
- Azure: use o disco temporário (normalmente /dev/sdb, montado em /mnt ou /mnt/resource) só para swap temporária e caches. Não coloque dados persistentes nem /var/lib/docker ali.
Por que esse layout?
- Docker consome pesado em /var/lib/docker (imagens, camadas, volumes). Dedicar um LV/partição ajuda a evitar que o host “morra” por falta de espaço no /.
- /var/log separado evita que logs tomem a máquina. Com noexec/nodev/nosuid, reduz risco.
- /tmp em tmpfs é rápido e não ocupa disco. Para cargas muito grandes em /tmp, ajuste o size ou redirecione a aplicação.
- LVM permite crescer/shrink com mais segurança (especialmente crescer). Deixe um “colchão” livre no VG.
- Manter /usr junto do / (sem separar) simplifica boot e evita problemas (muitos sistemas já assumem /usr disponível cedo).
Tamanhos sugeridos (200 GB)
- EFI (se Gen2): 550 MB
- /boot: 1 GB
- swap: 8–16 GB (depende da RAM; sem hibernação)
- / (root): 40 GB
- /var/lib/docker: 120 GB
- /var/log: 8 GB
- /home: 10 GB
- Sobra no VG: ~5–10 GB (ajuste conforme necessidade) Observação: os números são aproximados. Se você prevê muitas imagens/volumes, aumente /var/lib/docker e reduza a sobra ou /home.
Alternativas de layout (escolha conforme seu cenário)
- Simples e robusto (recomendado para a maioria)
- LVM: sim
- Partições/LVs: /boot, swap, /, /var/lib/docker, /var/log, /home, /tmp em tmpfs
- Vantagens: segurança contra “disco cheio”, fácil de ajustar, bom para Docker
- Desvantagens: um pouco mais de passos na configuração inicial
- Minimalista (tudo em / + swap) — só se você quer simplicidade extrema
- /boot (1 GB), swap, / (todo o resto)
- /tmp em tmpfs
- Vantagens: simples
- Desvantagens: se /var/lib/docker crescer demais, derruba o host; precisa de quotas ou monitoramento rigoroso
- Melhor prática Azure (ideal): OS + disco(s) de dados separados
- OS disk menor (por exemplo 64–128 GB) e 1 data disk para /var/lib/docker (200 GB, Premium SSD, cache None)
- Vantagens: isolamento, performance e backup melhores
- Desvantagens: exige anexar outro disco (mas na Azure é fácil e recomendado)
Sistema de arquivos
- ext4: padrão, estável e simples. Bom para tudo, inclusive Docker.
- xfs: excelente performance com arquivos grandes; se usar em /var/lib/docker, formate com ftype=1 (obrigatório para overlay2).
- Btrfs/ZFS: possíveis, mas aumentam a complexidade. Para produção simples em Azure, prefira ext4/xfs.
Notas específicas da Azure (importante)
- Disco temporário (local/efêmero): aparece como /dev/sdb e monta em /mnt ou /mnt/resource (em Ubuntu). Use para swap temporária, cache de build, pip cache. Dados podem sumir a qualquer momento (reinício, realocação).
- TRIM/Discard: mantenha o fstrim.timer ativado (padrão nas distros modernas) para recuperar espaço em Managed Disks.
- Tipo de disco: para Docker em produção, prefira Premium SSD ou Premium SSD v2. Defina o Host Cache do data disk de Docker como None para cargas de escrita intensas.
- Monitoramento: use métricas de disco no Azure Monitor, crie alertas para uso > 80% em /var/lib/docker.
Exemplo de /etc/fstab Ajuste UUIDs conforme seus sistemas. Exemplo de opções sólidas:
UUID=xxxx-efi /boot/efi vfat umask=0077 0 1 UUID=xxxx-boot /boot ext4 nodev,nofail 0 2 UUID=xxxx-root / ext4 defaults,noatime,errors=remount-ro 0 1 UUID=xxxx-log /var/log ext4 nodev,nosuid,noexec,noatime 0 2 UUID=xxxx-dkr /var/lib/docker ext4 defaults,noatime 0 2 UUID=xxxx-home /home ext4 nodev,nosuid,noatime 0 2 tmpfs /tmp tmpfs defaults,size=4G,noexec,nodev,nosuid 0 0
Swap: prefira swapfile no disco temporário da Azure (se disponível) ou um LV de swap no OS disk. Exemplo de tmp-based swap:
- Crie em /mnt (disco efêmero): sudo fallocate -l 8G /mnt/swapfile && sudo chmod 600 /mnt/swapfile && sudo mkswap /mnt/swapfile && echo “/mnt/swapfile none swap sw 0 0” | sudo tee -a /etc/fstab
- Lembre-se: swap no disco efêmero some em eventos de realocação. Mas é aceitável para swap.
Configuração do Docker
- Driver de storage: overlay2 (padrão nas distros recentes)
- Mover a raiz do Docker para a partição dedicada:
- Parar Docker: sudo systemctl stop docker
- Garantir /var/lib/docker vazio ou mover conteúdo temporariamente
- Montar a partição/LV em /var/lib/docker
- Iniciar Docker: sudo systemctl start docker
- Rotação de logs (importantíssimo, evita “/var cheio”):
- /etc/docker/daemon.json: { “log-driver”: “json-file”, “log-opts”: { “max-size”: “100m”, “max-file”: “5” }, “storage-driver”: “overlay2” }
- sudo systemctl daemon-reload && sudo systemctl restart docker
- journald: limite o espaço em /var/log/journal:
- Em /etc/systemd/journald.conf, por exemplo: SystemMaxUse=1G SystemMaxFileSize=200M
- sudo systemctl restart systemd-journald
Passo a passo (exemplo com LVM no mesmo disco de 200 GB) Atenção: adapte a nomenclatura do disco (em muitos casos o OS disk é /dev/sda). Se a VM já veio com partições padrão, considere adicionar um data disk novo e aplicar esses passos nele em vez de reprovisionar o OS disk.
- Criar partições (GPT, Gen2 com UEFI)
- ESP (FAT32, 550 MB) — se já existir, não duplique
- /boot (ext4, 1 GB)
- PV LVM (restante do disco)
Exemplo com parted (ajuste o dispositivo!): sudo parted /dev/sda –script
mklabel gpt
mkpart ESP fat32 1MiB 551MiB
set 1 esp on
mkpart boot ext4 551MiB 1551MiB
mkpart lvm 1551MiB 100%
- Preparar sistemas de arquivos e LVM sudo mkfs.vfat -F32 /dev/sda1 sudo mkfs.ext4 /dev/sda2 sudo pvcreate /dev/sda3 sudo vgcreate vg0 /dev/sda3
- Criar LVs (ajuste tamanhos ao seu caso) sudo lvcreate -L 40G -n lv_root vg0 sudo lvcreate -L 8G -n lv_swap vg0 # ou 16G sudo lvcreate -L 120G -n lv_docker vg0 sudo lvcreate -L 8G -n lv_log vg0 sudo lvcreate -L 10G -n lv_home vg0
deixe ~10G livres no VG (não crie tudo de uma vez)
- Formatar e ativar sudo mkfs.ext4 /dev/vg0/lv_root sudo mkfs.ext4 /dev/vg0/lv_docker sudo mkfs.ext4 /dev/vg0/lv_log sudo mkfs.ext4 /dev/vg0/lv_home sudo mkswap /dev/vg0/lv_swap sudo swapon /dev/vg0/lv_swap
- Montagem e migração (se aplicável)
- Monte em diretórios temporários, rsync de dados atuais (se já havia sistema), atualize /etc/fstab com as opções sugeridas e reinicie.
- Para Docker, pare o serviço, mova conteúdo (se existir) e monte o LV em /var/lib/docker.
Boas práticas adicionais
- fstrim: verifique se está ativo: systemctl status fstrim.timer (ative se necessário)
- logrotate: garanta políticas para logs de app e do sistema
- Monitoramento: crie alertas no Azure Monitor para:
- Uso de disco do LV /var/lib/docker > 80%
- Uso de inodes (df -i)
- Segurança de montagem:
- Noexec/nodev/nosuid em /tmp, /var/tmp, /var/log, /home (conforme sua necessidade)
- Não aplique noexec em /var/lib/docker
- Backups/snapshots: snapshots do disco gerenciado são úteis. Separar /var/lib/docker em um disco de dados ajuda a gerenciar snapshots independentemente do OS.
Quando separar ainda mais?
- /opt: se você instala muitas ferramentas fora do gerenciador de pacotes (ex.: 5–10 GB)
- /srv ou /data: se sua aplicação escreve dados persistentes fora de volumes Docker
- /var/lib/postgresql, /var/lib/mysql: bancos de dados em partição/disk dedicado, com IOPS/latência melhores
Se quiser a solução mais simples possível
- Use apenas /boot (1 GB), / (resto do disco), swap, e /tmp em tmpfs.
- Ainda assim, configure a rotação de logs do Docker e journald para evitar que / encha.
- Essa configuração é aceitável para ambientes de teste/dev ou produção com pouco footprint de Docker.
Quer que eu gere os comandos exatos adaptados à sua distro (Ubuntu, Debian, RHEL, etc.) e ao tipo de VM Azure (Gen1/Gen2)? Me diga:
- Distro e versão
- Tipo da VM (Gen1 BIOS ou Gen2 UEFI)
- Tamanho de RAM
- Se você pode anexar um disco de dados separado para o Docker (recomendado) ou se precisa ficar só no disco de 200 GB do SO
Prompt
Estou criando uma VM na Azure, com Linux. Estou com extrema dúvida com relação à configuração das partições do disco. Estou usando um disco de 250GB e pretendo rodar uma aplicação Python com Docker. Defina a melhor configuração das partições (/, /home, /boot, /tmp, /usr, /var, etc). Exemplifique comandos e ações na Azure Cloud.
ONE (Adapta)
Olá! Entendo perfeitamente sua dúvida. A configuração de partições é um ponto crucial para a estabilidade e performance de qualquer sistema Linux, especialmente quando se trata de cargas de trabalho como Docker, que podem consumir bastante espaço e I/O.
Vamos abordar as melhores práticas para sua VM Linux na Azure com um disco de 250GB, focando em uma aplicação Python com Docker.
🚀 Recomendações Iniciais e Contexto Azure
Antes de mergulharmos nas partições, é fundamental entender o contexto da Azure:
- Disco do SO (OS Disk): Na Azure, o disco do sistema operacional geralmente é gerenciado e otimizado para o boot e arquivos do sistema. Ele pode ter um custo por GB mais elevado que discos de dados. Para produção, é recomendado mantê-lo relativamente pequeno (ex: 64GB, 128GB) e usar discos de dados adicionais para cargas de trabalho de I/O intensas ou que exigem muito espaço.
- Discos de Dados (Data Disks): São discos adicionais que você anexa à VM. Eles oferecem maior flexibilidade, melhor performance de I/O (especialmente com Premium SSDs) e são ideais para
/var/lib/docker, bancos de dados, logs pesados, etc. Para sua carga de trabalho com Docker, a melhor prática na Azure é usar um disco de dados separado para/var/lib/docker. - Disco Temporário (Temporary Disk): Toda VM Azure tem um disco local efêmero (ex:
/dev/sdb, montado em/mntou/mnt/resource). Ele é muito rápido, mas não persistente. Se a VM for realocada, reiniciada ou desligada (não apenasreboot), os dados neste disco podem ser perdidos. Use-o apenas para swap temporária, caches de build, logs efêmeros, etc. Nunca coloque dados persistentes ou/var/lib/dockernele.
🎯 Cenário Ideal (Recomendado): OS Disk Menor + Data Disk Dedicado para Docker
Este é o cenário mais robusto e performático para Docker na Azure.
1. VM na Azure: Criação e Anexação de Discos
Ao criar sua VM, você pode manter o disco de SO padrão (ex: 64GB, 128GB) e, após a criação, adicionar um novo disco de dados de 200GB (ou o tamanho que precisar para Docker).
Ações na Azure Cloud:
- Criação da VM: Selecione sua imagem Linux preferida (Ubuntu Server, RHEL, CentOS, Debian) e o tamanho do disco do SO (padrão de 64GB ou 128GB é suficiente).
- Anexar Data Disk (Portal Azure):
- Vá para sua VM no Portal Azure.
- No menu esquerdo, em “Configurações”, clique em “Discos”.
- Clique em “+ Criar e anexar um novo disco” ou “+ Anexar disco existente”.
- Configure o tamanho (ex: 200 GB), tipo de armazenamento (recomendo Premium SSD para Docker), e cache do host (defina para “Nenhum” ou “Read-only” para o disco do Docker, “Nenhum” é melhor para escritas pesadas).
- Clique em “Salvar”.
2. Configuração de Partições no Disco do SO (Ex: 64GB)
Assumindo que o disco do SO seja /dev/sda e você esteja usando uma VM Gen2 (UEFI):
- Particionamento: Use LVM para maior flexibilidade.
- Sistema de Arquivos:
ext4é o padrão e muito confiável. - Tamanhos Sugeridos:
/boot/efi: 550MB (FAT32) – Necessário para VMs Gen2 (UEFI)./boot: 1GB (ext4) – Armazena o kernel e arquivos de boot.swap: 8GB (Linux swap) – Geralmente 1x RAM até 16GB. Se usar disco temporário, pode ser menor aqui./: 40GB (ext4) – Raiz do sistema, contém/usr,/etc, etc./var/log: 8GB (ext4) – Logs do sistema./home: 10GB (ext4) – Diretórios de usuários.- VG Livre: ~5GB – Deixe espaço no Volume Group para futuros LVs.
Exemplo de Comandos (dentro da VM, como root ou com sudo):
- Identificar o disco: Use
lsblkoufdisk -lpara ver seus discos. O disco do SO é geralmente/dev/sda. - Particionar o disco do SO (ex: /dev/sda) com
parted(para GPT/UEFI):# Cuidado! Substitua /dev/sda pelo seu disco do SO se for diferente. # Este comando apagará TUDO no disco. Faça em uma VM nova! sudo parted /dev/sda --script \ mklabel gpt \ mkpart ESP fat32 1MiB 551MiB \ set 1 esp on \ mkpart boot ext4 551MiB 1551MiB \ mkpart lvm ext4 1551MiB 100% - Criar sistemas de arquivos para EFI e
/boot:sudo mkfs.vfat -F32 /dev/sda1 # Para /boot/efi sudo mkfs.ext4 /dev/sda2 # Para /boot - Configurar LVM no restante do disco:
sudo pvcreate /dev/sda3 # Criar Physical Volume sudo vgcreate vg0 /dev/sda3 # Criar Volume Group (vg0 é um nome comum) - Criar Logical Volumes (LVs) para o OS:
sudo lvcreate -L 40G -n lv_root vg0 # LV para / sudo lvcreate -L 8G -n lv_swap vg0 # LV para swap sudo lvcreate -L 8G -n lv_log vg0 # LV para /var/log sudo lvcreate -L 10G -n lv_home vg0 # LV para /home # Deixe espaço livre no vg0 para expansão futura - Criar sistemas de arquivos nos LVs:
sudo mkfs.ext4 /dev/vg0/lv_root sudo mkfs.ext4 /dev/vg0/lv_log sudo mkfs.ext4 /dev/vg0/lv_home sudo mkswap /dev/vg0/lv_swap
3. Configuração de Partições no Data Disk Dedicado (Ex: 200GB)
Assumindo que o Data Disk é /dev/sdc (o próximo disponível após /dev/sda e /dev/sdb – o temporário):
- Particionamento: Use o disco inteiro ou LVM se planeja ter mais LVs nele futuramente. Para um único uso (
/var/lib/docker), uma única partição primária é suficiente. - Sistema de Arquivos:
ext4: Simples e eficaz.xfs: Excelente para cargas de trabalho com muitos arquivos pequenos ou arquivos grandes, como imagens Docker. Se usar XFS para Docker, é crucial formatar comftype=1.
Exemplo de Comandos (dentro da VM):
- Identificar o Data Disk: Use
lsblkoufdisk -l. Ex:/dev/sdc. - Particionar o Data Disk (ex: /dev/sdc):
# Para uma única partição cobrindo todo o disco sudo parted /dev/sdc --script \ mklabel gpt \ mkpart primary ext4 0% 100% # Ou xfs - Criar o sistema de arquivos:
# Opção 1: ext4 (simples) sudo mkfs.ext4 /dev/sdc1 # Opção 2: xfs (recomendado para Docker) - IMPRESCINDÍVEL ftype=1 para overlay2 sudo mkfs.xfs -f -i ftype=1 /dev/sdc1 - Criar o ponto de montagem e montar:
sudo mkdir -p /var/lib/docker # Se você já tem Docker instalado e em uso, precisará parar o serviço, # mover o conteúdo existente de /var/lib/docker para um local temporário # (ex: /tmp/docker_backup), montar o novo disco, e depois mover de volta. sudo mount /dev/sdc1 /var/lib/docker
4. Configuração do /etc/fstab (Para ambos os discos)
É crucial adicionar as novas partições ao /etc/fstab para que sejam montadas automaticamente no boot. Use os UUIDs para garantir que a montagem seja robusta e não dependa da ordem dos discos.
- Obter UUIDs:
sudo blkid - Exemplo de
/etc/fstab:# <file system> <mount point> <type> <options> <dump> <pass> UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /boot/efi vfat umask=0077 0 1 UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy /boot ext4 nodev,nofail 0 2 UUID=zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzzz / ext4 defaults,noatime,errors=remount-ro 0 1 UUID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa /var/log ext4 nodev,nosuid,noexec,noatime 0 2 UUID=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbbb /var/lib/docker ext4 defaults,noatime 0 2 # Ou xfs UUID=cccccccc-cccc-cccc-cccc-cccccccccccc /home ext4 nodev,nosuid,noatime 0 2 /dev/vg0/lv_swap none swap sw 0 0 tmpfs /tmp tmpfs defaults,size=4G,noexec,nodev,nosuid 0 0noatime: Melhora a performance ao evitar atualizações de acesso a arquivos.nodev,nosuid,noexec: Aumenta a segurança, impedindo execução de binários, uso de dispositivos ou setuid em partições específicas (especialmentetmp,var/log,home). NÃO usenoexecem/var/lib/docker!
- Testar montagens: Após salvar
fstab, executesudo mount -apara testar. Se não houver erros, tudo está bem.
💻 Cenário Alternativo: Apenas um Disco de SO de 250GB
Se por algum motivo você não puder anexar um disco de dados separado e precisar usar o disco de 250GB para tudo, esta é a configuração recomendada, ainda com LVM.
1. Layout de Partições (com LVM) para 250GB
/boot/efi: 550MB (FAT32) – Para VMs Gen2 (UEFI)./boot: 1GB (ext4) – Kernel e arquivos de boot.swap: 8GB (Linux swap) – Ajuste à RAM da sua VM (1x RAM até 16GB é uma boa regra geral sem hibernação)./: 50GB (ext4) – Raiz do sistema./var/lib/docker: 150GB (ext4 ou xfs) – Dedicado para imagens e volumes Docker./var/log: 8GB (ext4) – Logs do sistema./home: 10GB (ext4) – Diretórios de usuários.- VG Livre: ~20GB – Deixe espaço livre no Volume Group para futuras expansões.
2. Comandos de Particionamento e LVM
O processo é idêntico ao do cenário ideal, mas com os tamanhos ajustados e tudo no mesmo disco (/dev/sda).
- Particionar o disco (ex: /dev/sda) com
parted:# Cuidado! Substitua /dev/sda pelo seu disco do SO se for diferente. sudo parted /dev/sda --script \ mklabel gpt \ mkpart ESP fat32 1MiB 551MiB \ set 1 esp on \ mkpart boot ext4 551MiB 1551MiB \ mkpart lvm ext4 1551MiB 100% - Criar sistemas de arquivos para EFI e
/boot:sudo mkfs.vfat -F32 /dev/sda1 # Para /boot/efi sudo mkfs.ext4 /dev/sda2 # Para /boot - Configurar LVM:
sudo pvcreate /dev/sda3 sudo vgcreate vg0 /dev/sda3 - Criar LVs:
sudo lvcreate -L 50G -n lv_root vg0 sudo lvcreate -L 8G -n lv_swap vg0 sudo lvcreate -L 150G -n lv_docker vg0 sudo lvcreate -L 8G -n lv_log vg0 sudo lvcreate -L 10G -n lv_home vg0 - Criar sistemas de arquivos nos LVs:
sudo mkfs.ext4 /dev/vg0/lv_root sudo mkfs.ext4 /dev/vg0/lv_docker # Ou mkfs.xfs -f -i ftype=1 /dev/vg0/lv_docker sudo mkfs.ext4 /dev/vg0/lv_log sudo mkfs.ext4 /dev/vg0/lv_home sudo mkswap /dev/vg0/lv_swap - Configurar
/etc/fstab: O formato é o mesmo do cenário ideal, apenas os UUIDs e tamanhos de LV serão diferentes.# Exemplo (substitua UUIDs) UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /boot/efi vfat umask=0077 0 1 UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy /boot ext4 nodev,nofail 0 2 UUID=zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzzz / ext4 defaults,noatime,errors=remount-ro 0 1 UUID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa /var/log ext4 nodev,nosuid,noexec,noatime 0 2 UUID=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbbb /var/lib/docker ext4 defaults,noatime 0 2 UUID=cccccccc-cccc-cccc-cccc-cccccccccccc /home ext4 nodev,nosuid,noatime 0 2 /dev/vg0/lv_swap none swap sw 0 0 tmpfs /tmp tmpfs defaults,size=4G,noexec,nodev,nosuid 0 0
🐳 Configuração Específica para Docker
Independentemente do cenário de disco, estas configurações são cruciais para o Docker:
- Verificar Driver de Armazenamento: O Docker moderno usa
overlay2por padrão, que é eficiente. Verifique comdocker info | grep "Storage Driver". - Rotação de Logs dos Containers: Impedir que logs de containers encham o disco é vital. Crie ou edite o arquivo
/etc/docker/daemon.json:{ "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "5" }, "storage-driver": "overlay2" }Isso limita cada log de container a 100MB e mantém um máximo de 5 arquivos de log (total de 500MB por container).
- Reiniciar Docker para aplicar as mudanças:
sudo systemctl daemon-reload sudo systemctl restart docker
🧹 Limpeza e Boas Práticas Adicionais
fstrim: Ative o serviçofstrim.timerpara garantir que o Linux notifique o Azure sobre blocos não utilizados, permitindo a recuperação de espaço em discos gerenciados.sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer/tmpemtmpfs: Montar/tmpcomotmpfs(sistema de arquivos baseado em RAM) é rápido, seguro e não consome espaço em disco persistente. Já está incluído nos exemplos defstab. Ajustesize=4Gconforme a RAM da sua VM.- Journald: Limite o tamanho dos logs do
journaldem/etc/systemd/journald.confpara evitar que/var/log(ou/) encha:[Journal] SystemMaxUse=1G # Máximo de 1GB para logs do sistema SystemMaxFileSize=200M # Máximo de 200MB por arquivo de logApós editar, reinicie:
sudo systemctl restart systemd-journald. - Monitoramento: Use o Azure Monitor para criar alertas de uso de disco (especialmente
/var/lib/dockere/) para que você seja notificado antes que o espaço se esgote.
Espero que este guia detalhado ajude você a configurar suas partições de forma otimizada na Azure! A escolha entre usar um único disco ou um disco de dados separado para Docker é importante, e o cenário com o disco de dados dedicado é geralmente a melhor opção para produção e escalabilidade.
Se tiver mais perguntas ou quiser adaptar algo para uma distribuição Linux específica, me diga! 😊