[Users] 【急ぎ!】ufsdumpについて。

KOMEDA Shinji komeda @ situs.co.jp
2014年 12月 23日 (火) 21:30:21 JST


米田です。

On 2014/12/23 5:02, "Inoue Takuma" san <takumaro @ outlook.com> wrote:

> root @ takumaro-pc:~# zfs list
> NAME                              USED  AVAIL  REFER  MOUNTPOINT
  :
> tank/home                          31K  38.4G    31K  /mnt/home
> root @ takumaro-pc:~# zfs snapshot tank/home @ backup0
> root @ takumaro-pc:~# zfs send tank/home @ backup0 > /backup/backup0.zfs
> root @ takumaro-pc:~# zfs receive tank/home2 @ backup0 < /backup/backup0.zfs
> root @ takumaro-pc:~#
>  
> となり、エラーも何も出ていないのですが、バックアップを取った時にあった、ダミーファイルを削
> 除して、リストアすると、削除したファイルは復元されませんでした。
>  
> バックアップファイル(backup0.zfs)のサイズが、46.6Kbしかなく、全体の使用量の7.6Gbに対し
> て少なすぎるのです。
>  
> ZFSのバックアップとはこういうものなのでしょうか。
>  
> リストアの仕方がおかしかったらご指摘ください。

プール rpool の USED は 7.73G ありますが、提示されている一連のコマンドでバッ
プアップの対象にしているプールは tank ですので、rpool はバップアップ対象には
なっていません。

zfs send tank/home @ backup0 では、このデータセットtank/home のスナップショット
backup0 をバックアップします。
データセットtank/home は REFER が 31K です。バックアップファイル
(backup0.zfs) のサイズが、46.6KB であればつじつまは合っていると思います。

rpool をバックアップするのであれば、rpool のデータセットに対してスナップショッ
トを作成し、これを zfs send でバックアップする必要があります。

具体的な手順は Oracle Solaris ZFS 管理ガイド の、

  ZFS ルートプールまたはルートプールのスナップショットを回復する
    http://docs.oracle.com/cd/E19253-01/819-6260/6n89n6cha/index.html

の、「ルートプールのスナップショットを作成する方法」の節を参照してください。
Oracle Solaris ZFS 管理ガイド の例では、手順 1. でデータを保存するための領域
を作成して、手順 2. でこれを NFS で export し、手順 4. で autofs を使ってこの
領域を NFS マウントして出力先としています。

今回の試行では、バックアップの出力先 /backup はローカル接続のディスクボリュー
ムであるため、手順 1., 2. は不要となり、手順 4. の zfs send で /backup/xxx に
出力すればよいでしょう。

リストアについても、「ZFS ルートプールを再作成しルートプールのスナップショッ
トを復元する方法」節に手順が説明されています。
なお、zfs receive の際にはまず、-nv オプションを一緒に指定して、なにが起こる
のかを確認してから実行されることをおすすめします。




Users メーリングリストの案内