ZFSのLinux実装には、FUSE版もありますが、今使用するならやっぱりカーネルモジュール版でしょう。
ということで、ZFS on Linuxから最新版のspl-0.6.0-rc8とzfs-0.6.0.rc8を使用しました。
インストールは、SPLとZFSに書かれているとおりで問題なしです。
インストール後は、こんな感じになります。
$ grep zfs /proc/filesystems nodev zfs $ lsmod |grep -E '(zfs|spl)' zfs 1075574 3 zcommon 42648 1 zfs znvpair 47487 2 zfs,zcommon zavl 6925 1 zfs zunicode 323120 1 zfs spl 256427 5 zfs,zcommon,znvpair,zavl,zunicode zlib_deflate 21629 1 spl準備ができたので、HDDを設定していきます。
パーティション情報を確認すると、こんな感じになります。
# parted -l Error: /dev/sda: unrecognised disk label Error: /dev/sdb: unrecognised disk label Model: ATA VB0250EAVER (scsi) Disk /dev/sdc: 250GB Sector size (logical/physical): 512B/512B Partition Table: msdos ~ 略 ~ODDポートに接続したHDDにOSをインストールしてあり/dev/sdcと認識されています。
/dev/sdaと/dev/sdbをZFSで使用するため、次のようにGNU partedでディスクラベルとパーティションを設定します。
# parted /dev/sda GNU Parted 2.1 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel gpt (pqrted) print Model: ATA ST3000DM001-9YN1 (scsi) Disk /dev/sda: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags (parted) mkpart primary 1M 3000GB (parted) print Model: ATA ST3000DM001-9YN1 (scsi) Disk /dev/sda: 3001GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Number Start End Size File system Name Flags 1 1049kB 3000GB 3000GB primary (parted) quit Information: You may need to update /etc/fstab. #同様に/dev/sdbも設定しておきます。
さて、いよいよZFSの設定です。まずは、ストレージプールを作成します。
まずは、/dev/disk/by-id配下を参照して、/dev/sda1にリンクされている名前を調べます。
$ cd /dev/disk/by-id $ ls -l scsi*part1 ~ scsi-SATA_ST3000DM001-9YN_ABCD1234-part1 -> ../../sda1 ~ scsi-SATA_ST3000DM001-9YN_EFGH5678-part1 -> ../../sdb1 ~ scsi-SATA_VB0250EAVER_IJKL9012-part1 -> ../../sdc1この情報を利用して、次のようにストレージプールを作成します。
# zpool create dtpool scsi-SATA_ST3000DM001-9YN_ABCD1234-part1 # zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dtpool 2.72T 79K 2.72T 0% 1.00x ONLINE - # zpool status pool: dtpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM dtpool ONLINE 0 0 0 scsi-SATA_ST3000DM001-9YN_ABCD1234-part1 ONLINE 0 0 0 errors: No known data errorsdtpoolという名前で、ストレージプールが作成されたことが確認できます。
ストレージプールには、tankという名前がよく使われるようです。
次に、mirrorで使用するため、次のように/dev/sdb1をストレージプールのsda1にアタッチします。
# zpool attach dtpool scsi-SATA_ST3000DM001-9YN_ABCD1234-part1 scsi-SATA_ST3000DM001-9YN_EFGH5678-part1 # zpool list NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT dtpool 2.72T 136K 2.72T 0% 1.00x ONLINE - # zpool status pool: dtpool state: ONLINE scan: resilvered 85.5K in 0h0m with 0 errors on Sat May 12 00:11:40 2012 config: NAME STATE READ WRITE CKSUM dtpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 scsi-SATA_ST3000DM001-9YN_ABCD1234-part1 ONLINE 0 0 0 scsi-SATA_ST3000DM001-9YN_EFGH5678-part1 ONLINE 0 0 0 errors: No known data errorsこれで、2台構成のmirrorでストレージプールが作成されました。
ストレージプールがマウントされていることを確認できます。
# df -h : dtpool 2.7T 0 2.7T 0% /dtpoolストレージプールにZFSファイルシステムを作成します。
今回は、ワンセグ野郎のTSデータ格納用の領域を作成することにします。
# zfs create dtpool/ts次のように、マウントポイントを/data/tsに変更してマウントし直します。
# mkdir /data # zfs set mountpoint=/data/ts dtpool/ts # df -h : dtpool 2.7T 128K 2.7T 1% /dtpool # # zfs mount -a # df -h : dtpool 2.7T 128K 2.7T 1% /dtpool dtpool/ts 2.7T 128K 2.7T 1% /data/ts以上で/data/tsを使い始めることができます。
zpool、zfsコマンドは長くても数十秒でプロンプトが返ってくるし、mkfsする必要もないので楽々です。
初めて使うファイルシステムなので、少し実験してからデータ移行しようと思います。
0 件のコメント:
コメントを投稿