Guia de administração do ZFS Oracle Solaris

Armazenamento de ZFS em pool

O ZFS usa o conceito de pools de armazenamento para gerenciar armazenamentos físicos. Os sistemas de arquivos sempre foram construídos em cima de um dispositivo físico. Para abordar vários dispositivos e prevenir a redundância de dados, introduziu-se o conceito de um gerenciador de volumes, com o intuito de fornecer uma representação de um dispositivo único para que os sistemas de arquivos não precisassem ser modificados, a fim de aproveitar os vários dispositivos. Esse design adicionou outra camada de complexidade e, finalmente, impediu certos avanços do sistema de arquivos porque o sistema de arquivos não possuia controle sobre a localização física dos dados nos volumes virtualizados.

O ZFS elimina totalmente o gerenciamento de volumes. Em vez de forçá-lo a criar volumes virtualizados, o ZFS agrega os dispositivos em um conjunto de armazenamento. O conjunto de armazenamento descreve as características físicas do armazenamento (layout do dispositivo, redundância de dados e assim por diante) e atua como um armazenamento de dados arbitrário a partir do qual podem ser criados sistemas de arquivos. Os sistemas de arquivos já não estão mais limitados a dispositivos individuais, permitindo-lhes compartilhar espaço em disco com todos os sistemas de arquivos do conjunto. Já não é mais necessário pré-determinar o tamanho de um sistema de arquivos, visto que os sistemas de arquivos crescem automaticamente dentro do espaço em disco alocado para o conjunto de armazenamento. Quando novos armazenamentos são adicionados, todos os sistemas de arquivos que estão dentro do conjunto podem utilizar imediatamente o espaço adicional sem trabalho adicional. Em muitos aspectos, o conjunto de armazenamento trabalha de maneira similar a um sistema de memória virtual: quando uma memória DIMM é adicionada a um sistema, o sistema operacional não o força a executar comandos para configurar a memória e atribuí-la a processos individuais. Todos os processos do sistema usam automaticamente a memória adicional.