Questão de Sistemas Operacionais — Virtualização — FGV 2023
- Código
- fg072582
- Banca
- FGV
- Órgão
- TJ-SE
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista Judiciário - Especialidade - Análise de Sistemas
- Azfs;
- Bvfs;
- Caufs;
- Dbtrfs;
- Eoverlay2.
GabaritoD — btrfs;
Gabarito: letra D. O driver btrfs é o único entre as opções que oferece armazenamento em nível de bloco, provisionamento fino e snapshots copy-on-write, além de ser nativo do kernel do Linux (sistema de arquivos btrfs). ZFS possui funcionalidades similares, mas não está disponível nativamente no kernel (requer módulo externo).
A questão descreve exatamente as características do btrfs: opera em nível de bloco, permite alocação sob demanda (thin provisioning) e tira snapshots com copy-on-write. O btrfs é um sistema de arquivos incluso no kernel Linux desde a versão 2.6.29, portanto atende ao requisito de "disponível nativamente no kernel do Linux".
O ZFS também suporta armazenamento em bloco, thin provisioning e snapshots COW, mas não é nativo do kernel Linux. Ele precisa ser instalado como módulo (via DKMS ou pacote separado), o que contraria o enunciado que exige um sistema de arquivos disponível nativamente.
vfs (Virtual File System) não é um driver de storage do Docker propriamente dito; é uma camada de abstração que delega operações ao sistema de arquivos do host. Não oferece provisionamento fino nem snapshots COW.
aufs (Another Union File System) é um driver de storage baseado em union mount, usado em versões antigas do Docker. Ele trabalha em nível de arquivo (não de bloco) e não possui thin provisioning. Além disso, não é mais recomendado; foi substituído pelo overlay2.
btrfs é um sistema de arquivos nativo do kernel Linux que, quando usado como driver de storage Docker, permite criar subvolumes com thin provisioning, snapshots instantâneos via copy-on-write e operações em nível de bloco. Tudo isso casa perfeitamente com os requisitos do enunciado.
overlay2 é o driver padrão atualmente (usa overlayfs), mas trabalha em nível de arquivo, não de bloco. Ele também oferece copy-on-write (para camadas de imagem), mas não faz thin provisioning nem opera diretamente em blocos. O sistema de arquivos subjacente pode ser ext4 ou xfs, e não há um sistema de arquivos específico requerido.
A alternativa ZFS (A) atrai candidatos por também possuir as mesmas funcionalidades (bloco, thin provisioning, COW), mas o enunciado exige um sistema de arquivos "disponível nativamente no kernel do Linux", e o ZFS não é nativo; requer instalação adicional. Já o btrfs é nativo e atende a todos os critérios.
Para provas de Docker, memorize as características principais de cada driver de storage: btrfs (bloco, nativo, COW), zfs (bloco, não nativo, COW), overlay2 (arquivo, nativo, COW), aufs (arquivo, legado), devicemapper (bloco, não nativo, COW). O detalhe "nativo do kernel" é o ponto decisivo aqui.
Gabarito: letra D.
Link permanente: /questoes/fg072582