FreeBSD で ZFS を試す
2009-03-13


一度は ZFS を諦めたディスクで、USB quirk を加えた後に、再度 ZFS を試してみることにした。FreeBSD-7.1-RELEASE を使っている。

zfs は zpool と対になって使う。zpool で仮想デバイスを管理し、zfs でファイルシステムを作る。よく、この様にまとめられる。FreeBSD で言うと、zpool は GEOM、つまりデバイスレベルの制御、zfs は ufs 等のファイルシステムレベルの制御の様だ。 一つの zpool の特徴的な動作としては、zpool が提供するにはファイルシステムだと言うこと。GEOM だと、デバイスしか提供しないので、その上にファイルシステムを作る必要がある。zpool は既にファイルシステムを提供するので、そのままでも使えるし、その中から別途ファイルシステムに割り当てる事も出来る。

zfs モジュールを読み込む。


$ kldload zfs
常用するのなら、echo 'zfs_enable="YES"' >> /etc/rc.conf を行なう。

既に GPT で切られているパーティションをそのまま使う。何か失敗した時に、再度パーティションを切る手間を省く為だ。もちろん、ディスク全体を使うことも出来る。


$ gpt show da0
    start     size  index  contents
        0        1         PMBR
        1        1         Pri GPT header
        2       32         Pri GPT table
       34  7600000      1  GPT part - FreeBSD UFS/UFS2
  7600034   407485      2  GPT part - FreeBSD UFS/UFS2
  8007519       32         Sec GPT table
  8007551        1         Sec GPT header
$ gpart modify -i 1 -t freebsd-zfs da0
da0p1 modified
$ gpart modify -i 2 -t freebsd-zfs da0
da0p2 modified
$ gpart show da0
=>     34  8007485  da0  GPT  (3.8G)
       34  7600000    1  freebsd-zfs  (3.6G)
  7600034   407485    2  freebsd-zfs  (199M)
$ gpt show da0
gpt show: unable to open device 'da0': Operation not permitted
$ gpart show da0
=>     34  8007485  da0  GPT  (3.8G)
       34  7600000    1  freebsd-zfs  (3.6G)
  7600034   407485    2  freebsd-zfs  (199M)
$ gpt show da0
    start     size  index  contents
        0        1         PMBR
        1        1         Pri GPT header
        2       32         Pri GPT table
       34  7600000      1  GPT part - FreeBSD ZFS
  7600034   407485      2  GPT part - FreeBSD ZFS
  8007519       32         Sec GPT table
  8007551        1         Sec GPT header

scratch と言う名で、zpool を作った。


$ zpool create scratch /dev/da0p1 /dev/da0p2
$ df /scratch
Filesystem 1K-blocks Used   Avail Capacity  Mounted on
scratch      3904896  128 3904768     0%    /scratch
$ zpool list
NAME                    SIZE    USED   AVAIL    CAP  HEALTH     ALTROOT
scratch                3.78G    112K   3.78G     0%  ONLINE     -
既に、/scratch としてマウントされている。

圧縮を有効にする。


$ zfs set compression=on scratch

zpool の様子を調べてみた。


続きを読む

[FreeBSD]
[fs]
[zfs]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット