次世代なファイルシステム ZFS on Linux を学ぶ2 - 導入編
はじめに
今回からLinux上でのZFSの扱いを学んでいこうと思います。 OSはUbuntu Desktop 16.04LTSで、試しています。
ZFSのインストール
下記のコマンドで、必要なライブラリがインストールされます。
$ sudo apt install zfs
これで、zfsが使えるようになりました。 zfsとzpoolコマンドが入っているはずです。
$ zfs -h Permission denied the ZFS utilities must be run as root.
rootで操作しないと動作しないようなので、rootになっておきます。ちなみに、-hのというプションはありませんでした。 zfs listコマンドで、ZFSファイルシステムを表示できますが、今はまだないです。
# zfs list no datasets available
次のようにZFSストレージプールをzpool listコマンドで表示できますが、まだないです。
# zpool list no pools available
ZFSのストレージプールとファイルシステムを作成する
ZFSはストレージプールという概念で、物理的なディスクを抽象化しています。 ZFSファイルシステムを作成するときに、物理的なディスクを意識せずに扱うことができます。
ここでは、パーティションを切ったり、ディスクを用意するのが面倒なので、ディスクの代わりにファイルを用意しました。 事前にddコマンドで、/tmp/disk1.img, /tmp/disk2.imgを作成します。
# dd if=/dev/zero of=/tmp/disk1.img bs=1024 count=10485760
zpool create コマンド
testpoolというミラー化されたストレージプールを作成するときは、zpool createコマンドを使います。
# zpool create testpool mirror /tmp/disk1.img /tmp/disk2.img
zpool listコマンド
作成されたZFSストレージプールを確認します。 ここで、/tmp/disk1.imgと/tmp/disk2.img はそれぞれ10GBです。2つのファイルにデータがミラーされて管理されます。
# zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT testpool 9.94G 50K 9.94G - 0% 0% 1.00x ONLINE -
zfs createコマンド
ZFSファイルシステムを作成するコマンドです。先ほど作成したtestpoolにファイルシステムを作成します。
# zfs create testpool/home
階層的にファイルシステムを作成して、それぞれZFSファイルシステムとして管理することができます。
# zfs create testpool/home/jeff # zfs create testpool/home/bill
zfs listコマンド
zfs createコマンドを実行した後は、zfs listコマンドでZFSファイルシステムのリストを表示することができます。
# zfs list NAME USED AVAIL REFER MOUNTPOINT testpool 122K 9.63G 19K /testpool testpool/home 57K 9.63G 19K /testpool/home testpool/home/bill 19K 9.63G 19K /testpool/home/bill testpool/home/jeff 19K 9.63G 19K /testpool/home/jeff
今回はここまで