Pular para o conteúdo principal

Questão de Sistemas Operacionais — Virtualização — FGV 2023

Sistemas OperacionaisVirtualização
Código
fg072582
Banca
FGV
Órgão
TJ-SE
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Especialidade - Análise de Sistemas
A analista Débora instalou um novo servidor de containers Docker no TJSE. Com o objetivo de maximizar a disponibilidade do servidor, Débora optou por utilizar o driver de storage Docker capaz de realizar armazenamento em nível de bloco, provisionamento fino e snapshots copy-on-write. O driver de storage escolhido por Débora necessita de um sistema de arquivos específico, disponível nativamente no kernel do Linux. Débora escolheu o driver de storage Docker:
  1. Azfs;
  2. Bvfs;
  3. Caufs;
  4. Dbtrfs;
  5. Eoverlay2.
Revelar gabarito e comentário

GabaritoD — btrfs;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Drivers de Armazenamento no Docker

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".

Drivers de storage Docker
  • 1Nível de bloco
    • btrfs (nativo do kernel)
      • Thin provisioning
      • Snapshots COW
    • ZFS (módulo externo)
      • Não nativo do kernel
  • 2Nível de arquivo
    • overlay2 (padrão atual)
      • COW em camadas
      • Sem thin provisioning
    • aufs (legado)
      • Union mount
      • Sem thin provisioning
    • vfs (abstração)
      • Sem COW
      • Sem thin provisioning
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

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.

Alternativa B — ❌ Incorreta

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.

Alternativa C — ❌ Incorreta

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.

Alternativa D — ✅ Correta ⟵ GABARITO

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.

Alternativa E — ❌ Incorreta

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.

NÃO CAIA NESSA!

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.

PEGA ESSA DICA!

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