テクニカルコラム かんたん♪ZFS
第七回:ZFS データの送受信 (2010年5月12日発行)


五月です。今年は四月に入っても寒い日が続きました。でも、ようやく暖 かくなってきたようです。外を歩いていても、木々の新しい緑が目に鮮や かですね。 このコラムでは、 よく使われているファイルシステムと ZFS の違いをケー ススタディをもとにご紹介していきます。 今までのファイルシステムとは一味違う ZFS を活用して面倒なファイル 管理の苦労を減らしましょう! -------------------------------------------------------------------  情報システム部へやってきた根久善太の勧めに従い、 Nexenta OS をイ ンストールしたAさん。いろいろと ZFS の機能を試しています。 「次はデータの送信と受信をやってみましょう」  根久は別のマシンにログインし、コンソールからコマンドを打ちました。  # zfs list -t snapshot  NAME USED AVAIL REFER MOUNTPOINT  syspool/rootfs-nmu-002@initial 14.7M - 887M -  syspool/rootfs-nmu-002@nmu-001 344K - 890M -  syspool/rootfs-nmu-002@nmu-002 3.89M - 954M -  tank/data@snap000 16K - 19K -  tank/data@snap001 0 - 20K - 「ZFS はスナップショットを送受信することができます。例えば、  tank/data@snap000 を送信してみましょう」  # zfs send tank/data@snap000 | dd of=/dev/null bs=1024k  0+1 records in  0+1 records out  255296 bytes (255 kB) copied, 0.0199754 seconds, 12.8 MB/s 「zfs send は、 スナップショットに含まれるメタデータとデータを標準  出力へ出力します。このようにバイナリストリームとして送信できるの  で、テープなどのメディアへ簡単にバックアップすることができます」 「どうやってバックアップしたデータをリストアするんだい」 「zfs send と対になる zfs recv というコマンドがあります」  # zfs send tank/data@snap000 >/tmp/tank-data-snap000  # zfs recv syspool/tank-data-snap000 < /tmp/tank-data-snap000  # syspool/tank-data-snap000  NAME USED AVAIL REFER MOUNTPOINT  syspool/tank-data-snap000 19K 271G 19K legacy 「なる程、これを使えばサテライトオフィスとデータを共有することがで  きそうだね」 「そうです。rsync と違い ZFS ACL などのメタデータも完全にバックアッ  プできるのが良いところなんですよ。 例えば SSH を使ってデータを遠隔  地に送信することができます」  根久は別の場所にある host1 にスナップショットを送信しました。  # zfs send tank/data@snap001 | ssh host1 zfs recv tank/data 「欠点は何だろう?」 「少し遅いところでしょうか。 例えばこのマシンの syspool というスト  レージプールは 7800 回転の SATA ディスク二台でミラー構成されてい  ます」  # zpool status syspool  pool: syspool  state: ONLINE  scrub: none requested  config:  NAME STATE READ WRITE CKSUM  syspool ONLINE 0 0 0  mirror ONLINE 0 0 0  c0t0s0 ONLINE 0 0 0  c0t1s0 ONLINE 0 0 0  errors: No known data errors 「このプール上のスナップショットを送信してみましょう。スナップショッ  トは 887 MB のデータを参照しています」  # zfs send syspool/rootfs-nmu-002@initial | dd of=/dev/null bs=1024k  316+3461 records in  316+3461 records out  1004087104 bytes (1.0 GB) copied, 33.5898 seconds, 29.9 MB/s 「主に読み出しなので、二台のハードディスクをストライプしているはずで  す。それでも 30 MB/秒 程度の速度しか出ていません」 「対策はないのかな」 「そうですね」  根久は思案するように上を見つめました。 「zfs send は増分のみを送信することもできます」 (つづく) ■ 参考文献  (1) サンマイクロシステムズ、"Solaris ZFS 管理ガイド"、    Part No. 819-6260-15、2009 年 4 月  (高田 浩生)

(c) Core Micro Systems Inc., All rights reserved.