[[FreeBSD]]
&color(red){未完成。試行錯誤中};

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

HDDをGPTスキーマでパーティションテーブルを作成して、
#code(nonumber){{
[root@bsd ~]# gpart create -s GPT da1
da1 created
(中略)
[root@bsd ~]# gpart create -s GPT da5
da5 created
[root@bsd ~]#
}}
各HDDに全量のパーティションを一つ作成する
#code(nonumber){{
[root@bsd ~]# gpart add -t freebsd-zfs da1
da1p1 added
(中略)
[root@bsd ~]# gpart add -t freebsd-zfs da5
da5p1 added
[root@bsd ~]#
}}
っで確認は&color(green){gpart show};で行える。

***zpool [#h6b4b06e]
この記憶域プールを作成する際、raid5的な要素[raid-z]、raid6的な要素[raid-z2]、ミラーリング、raid10的な要素らで構築することが可能。
この作成した記憶域プールを丸ごと、もしくは&color(blue,yellow){フォルダ};を作って、&color(yellow,blue){ファイルシステム}; にアサインする。
&ref(2013y12m08d_214936144.png,nolink);
まず、raid-zな記憶域プールを作ってみる。記憶域を作ると自動的に&color(yellow,blue){ファイルシステム}; にマウントされる(ここでは /zfspool)。
/etc/fstabを調整する必要はなくzfsが勝手に行ってくれる。
#code(nonumber){{
[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を消し去る
#code(nonumber){{
[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でマウントしたいのなら、&color(white,green){-m legacy}; を適用して記憶域プールを作成する。
#code(nonumber){{
[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 ~]#
}}
&color(red){*};マウント方法をzfs管理下に置くか、従来の/etc/fstabでするかが問われる。まあzfs管理下が楽なのかな?

***zfs [#o3c5ae2a]
記憶域プールに&color(blue,yellow){フォルダ};を作って&color(yellow,blue){ファイルシステム}; にアサインしてみる。
まずは現状確認。
#code(nonumber){{
[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を作成する。
#code(nonumber){{
[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 ~]#
}}
っというように、ご丁寧に&color(blue,yellow){フォルダ};を作ると&color(yellow,blue){ファイルシステム}; にアサインしてくれます。
でも、、あれ/zfspoolの配下のフォルダなのだから、別にマウントする意味なくね?現にファイルシステムからは
#code(nonumber){{
[root@bsd ~]# ls -lh /zfspool
total 2
drwxr-xr-x  2 root  wheel     2B Dec  9 18:22 AERS/
[root@bsd ~]#
}}
のように/zfspool/AERSな&color(yellow,blue){ファイルシステム}; と作成されるんだからさぁ。っとも思う。

ごもっとも、でもここからがzfsの持ち味なようで、まずマウントポジションの変更
#code(nonumber){{
[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とか。
例えば
|BGCOLOR(YELLOW):記憶域プール|BGCOLOR(YELLOW):フォルダ名|BGCOLOR(YELLOW):マウントポイント|BGCOLOR(YELLOW):属性|
|zfspool|/|/zfspool||
|~|AERS|/Appl/AERS|quota=5g|
|~|archive|/mnt/archive|quota=10g compress=on|
な感じで。
#code(nonumber){{
[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 ~]#
}}
他、[[スナップショット>/FreeBSD/snapshot]]も撮影できる。
&color(yellow,blue){ファイルシステム}; に/zfspoolが存在するのが嫌なら
#code(nonumber){{
[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
zfspool/AERS     zfs      5.0G     46k      5G     0%    /Appl/AERS
[root@bsd ~]#
}}
で外せる。


&color(red){*};当初、zfs create -V サイズでフォルダのサイズが制限されるかと思ったのだが、どうやら
#code(nonumber){{
[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で行うようだった。
1

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS