FreeBSD
未完成。試行錯誤中

必要なHDDは追加した。っでzfsを作ってみる。root領域はufsのままです。
ここでは5つのHDDで

HDDをGPTスキーマでパーティションテーブルを作成して、

[root@bsd ~]# gpart create -s GPT da1
da1 created
(中略)
[root@bsd ~]# gpart create -s GPT da5
da5 created
[root@bsd ~]#

各HDDに全量のパーティションを一つ作成する

[root@bsd ~]# gpart add -t freebsd-zfs da1
da1p1 added
(中略)
[root@bsd ~]# gpart add -t freebsd-zfs da5
da5p1 added
[root@bsd ~]#

っで確認はgpart showで行える。

zpool

この記憶域プールを作成する際、raid5的な要素[raid-z]、raid6的な要素[raid-z2]、ミラーリング、raid10的な要素らで構築することが可能。
この作成した記憶域プールを丸ごと、もしくはフォルダを作って、ファイルシステム にアサインする。
2013y12m08d_214936144.png
まず、raid-zな記憶域プールを作ってみる。記憶域を作ると自動的にファイルシステム にマウントされる(ここでは /zfspool)。
/etc/fstabを調整する必要はなくzfsが勝手に行ってくれる。

[root@bsd ~]# zpool create zfspool raidz da1 da2 da3 da4 da5      *記憶域プール名zfspoolとしてraidzで構築
[root@bsd ~]# df -lTh
Filesystem  Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3  ufs      3.9G    842M    2.8G    23%    /
devfs       devfs    1.0k    1.0k      0B   100%    /dev
zfspool     zfs       62G     46k     62G     0%    /zfspool      *記憶域プール名zfspoolが使われる。-m /zfsと変更可能
[root@bsd ~]#
[root@bsd ~]# zpool list
NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
zfspool  79.5G   220K  79.5G     0%  1.00x  ONLINE  -
[root@bsd ~]#
[root@bsd ~]# zfs list
NAME      USED  AVAIL  REFER  MOUNTPOINT
zfspool   360K  62.5G  46.3K  /zfspool
[root@bsd ~]#

16[GB] x ( 5[本] - 1[本] ) = 64[GB] だから大体合っている。
作り直しするには、zpool destroy を用いて記憶域プールzfspoolを消し去る

[root@bsd ~]# zpool destroy  zfspool
[root@bsd ~]# df -lTh
Filesystem  Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3  ufs      3.9G    842M    2.8G    23%    /
devfs       devfs    1.0k    1.0k      0B   100%    /dev
[root@bsd ~]#

もし記憶域プール全体を/etc/fstabでマウントしたいのなら、-m legacy を適用して記憶域プールを作成する。

[root@bsd ~]# zpool create -m legacy zfspool raidz da1 da2 da3 da4  da5
[root@bsd ~]# df -lTh
Filesystem  Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3  ufs      3.9G    842M    2.8G    23%    /
devfs       devfs    1.0k    1.0k      0B   100%    /dev           */zfspoolが存在しない
[root@bsd ~]# zpool list
NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
zfspool  79.5G   310K  79.5G     0%  1.00x  ONLINE  -
[root@bsd ~]# zfs list
NAME      USED  AVAIL  REFER  MOUNTPOINT
zfspool   169K  62.5G  46.3K  legacy
[root@bsd ~]# mount -t zfs zfspool /mnt
[root@bsd ~]# df -lTh
Filesystem  Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3  ufs      3.9G    842M    2.8G    23%    /
devfs       devfs    1.0k    1.0k      0B   100%    /dev
zfspool     zfs       62G     46k     62G     0%    /mnt
[root@bsd ~]#

*マウント方法をzfs管理下に置くか、従来の/etc/fstabでするかが問われる。まあzfs管理下が楽なのかな?

zfs

記憶域プールにフォルダを作ってファイルシステム にアサインしてみる。
まずは現状確認。

[root@bsd ~]# df -lTh
Filesystem  Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3  ufs      3.9G    842M    2.8G    23%    /
devfs       devfs    1.0k    1.0k      0B   100%    /dev
zfspool     zfs       62G     46k     62G     0%    /zfspool
[root@bsd ~]#
[root@bsd ~]# zpool list
NAME      SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
zfspool  79.5G   220K  79.5G     0%  1.00x  ONLINE  -
[root@bsd ~]# zfs list
NAME      USED  AVAIL  REFER  MOUNTPOINT
zfspool   154K  62.5G  46.3K  /zfspool
[root@bsd ~]#

の状態で、記憶域プールzfspoolにフォルダAERSを作成する。

[root@bsd ~]# zfs create zfspool/AERS
[root@bsd ~]# zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
zfspool        234K  62.5G  46.3K  /zfspool
zfspool/AERS  46.3K  62.5G  46.3K  /zfspool/AERS
[root@bsd ~]#
[root@bsd ~]# df -lTh
Filesystem    Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3    ufs      3.9G    842M    2.8G    23%    /
devfs         devfs    1.0k    1.0k      0B   100%    /dev
zfspool       zfs       62G     48k     62G     0%    /zfspool
zfspool/AERS  zfs       62G     46k     62G     0%    /zfspool/AERS     *自動でマウントされる。再起動しても継承される
[root@bsd ~]#

っというように、ご丁寧にフォルダを作るとファイルシステム にアサインしてくれます。
でも、、あれ/zfspoolの配下のフォルダなのだから、別にマウントする意味なくね?現にファイルシステムからは

[root@bsd ~]# ls -lh /zfspool
total 2
drwxr-xr-x  2 root  wheel     2B Dec  9 18:22 AERS/
[root@bsd ~]#

のように/zfspool/AERSなファイルシステム と作成されるんだからさぁ。っとも思う。

ごもっとも、でもここからがzfsの持ち味なようで、まずマウントポジションの変更

[root@bsd ~]# zfs set mountpoint=/Appl/AERS zfspool/AERS
[root@bsd ~]# zfs list
NAME           USED  AVAIL  REFER  MOUNTPOINT
zfspool        244K  62.5G  46.3K  /zfspool
zfspool/AERS  46.3K  62.5G  46.3K  /Appl/AERS
[root@bsd ~]#
[root@bsd ~]# df -lTh
Filesystem    Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3    ufs      3.9G    842M    2.8G    23%    /
devfs         devfs    1.0k    1.0k      0B   100%    /dev
zfspool       zfs       62G     46k     62G     0%    /zfspool
zfspool/AERS  zfs       62G     46k     62G     0%    /Appl/AERS
[root@bsd ~]#

ができて、加えてこのフォルダにはzfs get all zfspool/AERS で定義される各種プロパティーを調整できる。
透過的圧縮とかquotaとか。
例えば

記憶域プールフォルダ名マウントポイント属性
zfspool//zfspool
AERS/Appl/AERSquota=5g
archive/mnt/archivequota=10g compress=on

な感じで。

[root@bsd ~]# zfs set quota=5g zfspool/AERS
[root@bsd ~]# zfs create -o mountpoint=/mnt/archive -o compress=on zfspool/archive
[root@bsd ~]# zfs set quota=10g zfspool/archive
[root@bsd ~]# zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
zfspool           349K  62.5G  47.9K  /zfspool
zfspool/AERS     46.3K  5.00G  46.3K  /Appl/AERS
zfspool/archive  46.3K  10.0G  46.3K  /mnt/archive
[root@bsd ~]#
[root@bsd ~]# df -lTh
Filesystem       Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3       ufs      3.9G    842M    2.8G    23%    /
devfs            devfs    1.0k    1.0k      0B   100%    /dev
zfspool          zfs       62G     48k     62G     0%    /zfspool
zfspool/AERS     zfs      5.0G     46k      5G     0%    /Appl/AERS    *サイズが5GBに制限されている
zfspool/archive  zfs       10G     46k     10G     0%    /mnt/archive  *サイズが10GBに制限されている
[root@bsd ~]#

他、スナップショットも撮影できる。
ファイルシステム に/zfspoolが存在するのが嫌なら

[root@bsd ~]# zfs set mountpoint=none zfspool
[root@bsd ~]# zfs list
NAME              USED  AVAIL  REFER  MOUNTPOINT
zfspool           366K  62.5G  47.9K  none
zfspool/AERS     46.3K  5.00G  46.3K  /Appl/AERS
zfspool/archive  46.3K  10.0G  46.3K  /mnt/archive
[root@bsd ~]#
[root@bsd ~]# df -lTh
Filesystem       Type     Size    Used   Avail Capacity  Mounted on
/dev/da0p3       ufs      3.9G    842M    2.8G    23%    /
devfs            devfs    1.0k    1.0k      0B   100%    /dev
zfspool/AERS     zfs      5.0G     46k      5G     0%    /Appl/AERS
zfspool/archive  zfs       10G     46k     10G     0%    /mnt/archive
[root@bsd ~]#

で外せる。

*当初、zfs create -V サイズでフォルダのサイズが制限されるかと思ったのだが、どうやら

[root@bsd ~]# zfs create -s -b 16k -V 20G zfspool/AERS       *シンプロビジョニング(-s)適用
[root@bsd ~]# zfs create    -b 16k -V 20G zfspool/AERS2      *-sを指定しないと領域確保される

は、swap領域とかiSCSIとして切り出す場合のものだったみたい。フォルダのサイズ制限はquotaで行うようだった。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2013-12-18 (水) 17:57:20 (1740d)