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 /etcem seu próprio sistema de arquivos zfs.
O motivo é /etcnecessá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 opensolarispelo nome do ambiente de inicialização atual (execute beadm listpara 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\setcom 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-backupdiretório.