テクニカルコラム かんたん♪ZFS
第四回:ZFS のインターフェース (2010年2月25日発行)


少しずつ日が長くなってきました。時折、冬の終わりを感じさせるよう
な風も吹きます。春が待ち遠しい今日この頃、みなさんいかがお過ごし
でしょうか。

このコラムでは、 よく使われているファイルシステムと ZFS の違いを
ケーススタディをもとにご紹介していきます。

今までのファイルシステムとは一味違う ZFS を活用して面倒なファイ
ル管理の苦労を減らしましょう!

-------------------------------------------------------------------

 名古屋にサテライトオフィスを作ることになり、そのネットワーク構
築を担当することになったAさん、本社とのファイル共有をどのように
実現するのか悩みます。

「ZFS はどうでしょうか?」

 情報システム部へやってきた根久善太の勧めに従い、 Nexenta OS を
試してみることにした、Aさん。インストールを無事に終えることがで
きました。

 根久は ZFS の機能がブロック単位で示された図を見せました。

 http://www.sun.com/bigadmin/hubs/multilingual/japanese/content/zfs-

source.jsp

「ZFS はアプリケーションプログラムに対して二つのインターフェース
 を提供します。 ひとつはファイルインターフェースで ZFS ファイル
 システムと呼ばれます。もう一つはブロックデバイスインターフェー
 スで ZFS ボリュームと呼ばれます」

「ファイルを読み書きするインターフェースは当然だろうけど、何故ブ
 ロックデバイスのインターフェースも提供されるんだい?ハードディ
 スクを直接扱うのとどう違うんだろう」

「ファイルシステムという名前が付いてますけど、ZFS はストレージシ
 ステムと言った方が良いかもしれません。物理ハードディスクに近い
 ところではボリュームマネージャ、その上にスナップショットなどの
 機能が実装されています。アプリケーションからハードディスクと同
 じようにアクセスできても中で行われていることが大きく違います」

「………」

 根久の言葉が熱を帯びてきました。Aさんはただうなずくだけです。

「ハードディスクだけではスナップショットが使えませんよね。間に
 ZFS が入ればそのようなストレージ機能を使うことができるんです」

「まあ、やってみるか。最初に何をすればいいんだ?」

「まずはストレージプールを作成します。ストレージプールの操作に
 は zpool コマンドを使います」

 根久は Nexenta OS にログインしました。

「ストレージプールに置くハードディスクは、ディスクの一部を指定す
 る方法とハードディスク全体を指定する方法があります。ブートする
  OS 領域を格納するのでなければ、ディスク全体を使う方がいいです。
 この方法だと事前にディスクのパーティションを切る必要はありませ
 ん。 ZFS が EFI ラベルを付けてディスク全体を使うように準備して
 くれます」

 根久はコンソールからコマンドを打ちました。

 # zpool create tank mirror c0t2d0 c0t3d0

 # zpool status -v tank
  pool: tank
  state: ONLINE
  scrub: none requested
 config:

     NAME     STATE    READ WRITE CKSUM
     tank     ONLINE     0   0   0
      mirror   ONLINE     0   0   0
       c0t2d0  ONLINE     0   0   0
       c0t3d0  ONLINE     0   0   0

「これでディスク c0t2d0 と c0t3d0 をミラーで構成したストレージプ
 ールが出来ました」

「結構、簡単なんだね」

「ストレージプールは zpool コマンドを習得するだけで管理すること
 ができます」

「次は何をすればいいんだい?」

「じゃあ、ストレージプールに実際のファイルを格納する領域を作って
 みましょう」

(つづく)


■ 参考文献

 (1) サンマイクロシステムズ、"Solaris ZFS 管理ガイド"、
   Part No. 819-6260-15、2009 年 4 月


 (高田 浩生)

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