etc /を含むrpoolが通常のディレクトリとしてあり、今度は別のzfs rpool / etcを作成し、明らかに元の/ etcにあったすべてのデータを継承したいとします。
そうするための最も適切で安全な方法は何でしょうか?
etc /を含むrpoolが通常のディレクトリとしてあり、今度は別のzfs rpool / etcを作成し、明らかに元の/ etcにあったすべてのデータを継承したいとします。
そうするための最も適切で安全な方法は何でしょうか?
回答:
/etc
独自のzfsファイルシステムに変換することはサポートされていません。
その理由は、/etc
(Open)Solarisがzfsファイルシステムのマウントを開始する前のブートの初期段階で必要になるため、変更すると空になります。
私の推測では、のスナップショットを取得したいのですが、/etc
代わりにルートファイルシステムのスナップショットを取得することもできます。
zfs snapshot rpool/ROOT/opensolaris
opensolaris
現在のブート環境の名前に置き換える必要がある場合があります(実行beadm list
するために実行します)。
新しいDataSetを作成して既存のデータをそれに移行する組み込みの方法や自動化された方法はありません。これを実行するには、データセットを作成し、それにデータを手動(rsyncなど)で作成する必要があります。
という名前のデータセットがありtank\set
、その中にディレクトリが含まれているとしfolder
ます。フォルダを「昇格」して、次の名前の子データセットにしたいとします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
次に、データが適切であることを確認します。念のため親データセットのスナップショットを取り、folder-backup
ディレクトリを削除します。