Maneira correta de criar um zfs em um diretório existente?

7

Digamos que eu tenha um rpool com o etc / como um diretório regular dentro dele e agora eu 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?

    
por Yurii Rashkovskii 13.07.2009 / 09:46

2 respostas

3

Não há suporte para transformar /etc em seu próprio sistema de arquivos zfs.

O motivo é que /etc é necessário durante os estágios iniciais da inicialização, antes que o Solaris (Open) inicie a montagem dos sistemas de arquivos zfs, portanto, ele estaria vazio se você alterá-lo.

Meu palpite é que você deseja obter instantâneos de /etc , mas é possível tirar instantâneos do sistema de arquivos raiz:

zfs snapshot rpool/ROOT/opensolaris

Você pode ter que substituir opensolaris pelo nome do ambiente de inicialização atual (execute beadm list para descobrir qual)

    
por 18.07.2009 / 15:05
7

Não há uma maneira integrada ou automatizada para criar um novo DataSet e migrar os dados existentes para ele. Para fazê-lo, você precisará criar o conjunto de dados e manualmente (por exemplo, rsync) os dados para ele.

Digamos que você tenha um conjunto de dados chamado tank\set com um diretório chamado folder . Você deseja "promover" que a pasta seja 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, analise se os dados parecem bons; tire um instantâneo do conjunto de dados pai apenas no caso e exclua o diretório folder-backup .

    
por 19.09.2014 / 17:59