Também é possível criar um ambiente de inicialização ZFS dentro do mesmo conjunto raiz ou em outro conjunto raiz. Esta seção contém as visões gerais a seguir:
Criando um novo ambiente de inicialização dentro o mesmo conjunto raiz
Criando um novo ambiente de inicialização em outro conjunto raiz
Ao criar um novo ambiente de inicialização dentro do mesmo conjunto raiz ZFS, o comando lucreate cria um instantâneo do ambiente de inicialização fonte e, em seguida, um clone é feito a partir do instantâneo. A criação do instantâneo e do clone é quase instantânea, e o espaço em disco utilizado é mínimo. A quantidade de espaço finalmente utilizada depende de quantos arquivos são substituídos como parte do processo de atualização. O instantâneo é de somente leitura, mas o clone é um cópia para leitura e escrita do instantâneo. Qualquer alteração feita ao ambiente de inicialização clone não é refletida tanto no instantâneo quanto no ambiente de inicialização fonte, do qual o instantâneo foi feito.
À medida que os dados se alteram dentro do conjunto de dados ativo, o instantâneo passa a consumir mais espaço devido às contínuas referências aos dados antigos. Como conseqüência, o instantâneo evita que os dados sejam liberados de novo no pool. Para mais informações sobre instantâneos, consulte Capítulo 7, Trabalhando com instantâneos e clones do ZFS do Oracle Solaris, no Guia de administração do ZFS Oracle Solaris.
Quando o ambiente de inicialização atual reside no mesmo conjunto ZFS, a opção - p é omitida.
Figura 11–2 mostra a criação de um ambiente de inicialização ZFS a partir de um conjunto raiz ZFS. O segmento c0t0d0s0 contém o conjunto raiz ZFS, rpool. No comando lucreate, a opção -n atribui o nome para o ambiente de inicialização a ser criado, new-zfsBE. Um instantâneo do conjunto raiz original é criado rpool@new-zfsBE. O instantâneo utilizado para fazer o clone que é o novo ambiente de inicialização, new-zfsBE. O ambiente de inicialização, new-zfsBE, está pronto para ser atualizado e ativado.
Este exemplo mostra o mesmo comando como em Figura 11–2 que cria um novo ambiente de inicialização no mesmo conjunto raiz. O comando lucreate nomeia o ambiente de inicialização atualmente em execução com a opção -c zfsBE e a -n new-zfsBE cria o novo ambiente de inicialização. O comando zfs list mostra os conjunto de dados ZFS com o novo ambiente de inicialização e instantâneo.
# lucreate -c zfsBE -n new-zfsBE # zfs list AME USED AVAIL REFER MOUNTPOINT rpool 9.29G 57.6G 20K /rpool rpool/ROOT 5.38G 57.6G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.38G 57.6G 551M rpool/ROOT/zfsBE@new-zfsBE 66.5K - 551M - rpool/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.alt.luupdall.110034 rpool/dump 1.95G - 1.95G - rpool/swap 1.95G - 1.95G - |
É possível utilizar o comando lucreate para copiar um conjunto raiz ZFS existente em outro conjunto raiz ZFS. O processo de cópia pode demorar um pouco, dependendo do sistema.
Figura 11–3 mostra o comando zpool que cria um conjunto raiz ZFS, rpool2, no c0t1d0s5 porque um conjunto raiz ZFS inicializável ainda não existe. O comando lucreate com a opção -n atribui o nome para o ambiente de inicialização a ser criado, new-zfsBE. A opção -p especifica onde colocar o novo ambiente de inicialização.
Este exemplo mostra os mesmo comandos como em Figura 11–3 que cria o novo conjunto raiz e, em seguida, um novo ambiente de inicialização no conjunto raiz recém criado. Neste exemplo, o comando zpool create cria rpool2. O comando zfs list mostra que nenhum conjunto de dados ZFS é criado em rpool2. Os conjuntos de dados criados com o comando lucreate.
# zpool create rpool2 c0t2d0s5 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
O novo conjunto raiz ZFS, rpool2, é criado no segmento de disco c0t2d0s5.
# lucreate -n new-zfsBE -p rpool2 # zfs list NAME USED AVAIL REFER MOUNTPOINT rpool2 9.29G 57.6G 20K /rpool2 rpool2/ROOT/ 5.38G 57.6G 18K /rpool2/ROOT rpool2/ROOT/new-zfsBE 5.38G 57.6G 551M /tmp/.new.luupdall.109859 rpool2/dump 3.99G - 3.99G - rpool2/swap 3.99G - 3.99G - rpool 9.29G 57.6G 20K /.new.lulib.rs.109262 rpool/ROOT 5.46G 57.6G 18K legacy rpool/ROOT/zfsBE 5.46G 57.6G 551M rpool/dump 3.99G - 3.99G - rpool/swap 3.99G - 3.99G - |
O novo ambiente de inicialização, new-zfsBE, é criado em rpool2 junto com os outros conjuntos de dados, ROOT, despejo e permuta. O ambiente de inicialização, new-zfsBE, está pronto para ser atualizado e ativado.