Digamos que eu tenho um rpool com o etc / como um diretório regular e agora quero criar um zfs rpool / etc separado, obviamente herdando todos os dados que eu tinha no original / etc.
Qual seria a maneira mais adequada e segura de fazer isso?
Digamos que eu tenho um rpool com o etc / como um diretório regular e agora quero criar um zfs rpool / etc separado, obviamente herdando todos os dados que eu tinha no original / etc.
Qual seria a maneira mais adequada e segura de fazer isso?
Respostas:
Não há suporte para se transformar /etc
em seu próprio sistema de arquivos zfs.
O motivo é /etc
necessário durante os estágios iniciais da inicialização, antes que o (Open) Solaris comece a montar os sistemas de arquivos zfs, portanto, ele estará vazio se você o alterar.
Meu palpite é que você deseja tirar instantâneos de /etc
, mas você pode simplesmente tirar instantâneos do sistema de arquivos raiz:
zfs snapshot rpool/ROOT/opensolaris
Pode ser necessário substituir opensolaris
pelo nome do ambiente de inicialização atual (execute beadm list
para descobrir qual)
Não existe uma maneira integrada ou automatizada de criar um novo DataSet e migrar dados existentes para ele. Para fazer isso, você precisará criar o conjunto de dados e manualmente (por exemplo, rsync) os dados para ele.
Vamos dizer que você tem um conjunto de dados chamado tank\set
com um diretório nele chamado folder
. Você deseja 'promover' a pasta para ser um conjunto de dados filho chamado tank\set\folder
:
mv /mnt/tank/set/folder /mnt/tank/set/folder-backup # move this out of the way so the new dataset doesn't mount on top of it
zfs create tank/set/folder
rsync -aAX /mnt/tank/set/folder-backup/ /mnt/tank/set/folder # bring over all the old data including acls and attributes
Em seguida, verifique se os dados parecem bons; tire uma captura instantânea do conjunto de dados pai, apenas por precaução, e exclua o folder-backup
diretório.