Solaris10 5/08のインストールとZFS設定

Solaris10 5/08がリリースされていたので、インストールしました。Companion CDはないようです。

インストール

ディスクスライス構成は、以下のとおり。

/dev/dsk/c1t0d0s0   /
swap
/dev/dsk/c1t0d0s7   /export

ZFSとは

以下のような特徴があります。

  1. 128bitのアドレス空間により、ファイルシステムの数およびファイルシステムに格納できるファイル数に(事実上)制限がない
  2. チェックサムと自己修復データによる信頼性の確保
  3. ストレージプールの使用によるデータの冗長性、デバイス制約からの解放、ボリューム管理負荷軽減
  4. スナップショットやバックアップが容易に取得できる

ZFSの設定

今回は/export/homeをZFSとして利用できるように設定しました。
(1) /etc/vsftabから/export/homeのマウント設定をコメントアウト
(2) /export/homeのアンマウント

# umount /export/home

(3) プールの作成

# zpool create -f zfspool c1t0d0s7

(4) プール上にファイルシステムを作成

# zfs create zfspool/home

(5) プールのマウントポイントを設定

# zfs set mountpoint=/export/home zfspool/home

(6) ファイルシステムの確認

# zfs list        
NAME                                USED  AVAIL  REFER  MOUNTPOINT
zfspool                             189K  24.5G  24.5K  /zfspool
zfspool/home                         75K  24.5G  26.5K  /export/home
# zpool status
  pool: zfspool
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        zfspool     ONLINE       0     0     0
          c1t0d0s7  ONLINE       0     0     0

errors: No known data errors

ここまでで、/export/homeがZFSとしてマウントされました。
ユーザのホームディレクトリを作成する場合は、上記(4)(5)のコマンドで作成します。
(7) user1のホームディレクトリ作成

# zfs create zfspool/home/user1
# zfs set mountpoint=/export/home/user1 zfspool/home/user1
# zfs list        
NAME                                USED  AVAIL  REFER  MOUNTPOINT
zfspool                             189K  24.5G  24.5K  /zfspool
zfspool/home                         75K  24.5G  26.5K  /export/home
zfspool/home/user1                 48.5K  24.5G    26K  /export/home/user1

スナップショットの取得

/export/home/user1のスナップショットをsnapshot1という名前で取得します。
スナップショットをロールバックした時に分かりやすいように、適当なファイルを作成しました。

# zfs snapshot zfspool/home/user1@snapshot1

スナップショットが作成されたか確認します。

# ls /export/home/user1/.zfs/snapshot
snapshot1
# zfs list -t snapshot
NAME                                USED  AVAIL  REFER  MOUNTPOINT
zfspool/home/user1@snapshot1       22.5K      -  24.5K  -

スナップショットのロールバック

作成したテストファイルを削除します。
スナップショットのロールバックには、ファイルシステムのアンマウントが必要です。
ロールバック後、再度マウントします。

# zfs unmount /export/home/user1
# zfs list
# zfs rollback zfspool/home/user1@snapshot1
# zfs mount -a

削除したファイルがロールバックされていることを確認します。

まとめとこれから

思っていたよりも簡単にZFS設定ができました。
今回はスナップショット機能の確認のみとなりましたが、今後はバックアップの取得とリストア・ACLによるZFS保護・ZoneでのZFS使用などを確認したい。


http://docs.sun.com/app/docs/doc/819-6260