おのたく日記 YouTubeも始めました→
2012-02-24(Fri) [長年日記]
■ [ZFS][Debian] ZFSを試す
Debianでは、zfs-fuseパッケージも有るけれど、ネーティブが使いたかったので、ZFS on Linuxのgitリポジトリのソースからパッケージを作る。
$ sudo apt-get install build-essential gawk alien fakeroot linux-headers-$(uname -r)
$ git clone https://github.com/zfsonlinux/spl.git
$ cd spl
$ ./configure
$ make deb
$ sudo dpkg -i *_amd64.deb
$ cd ..
$ git clone https://github.com/zfsonlinux/zfs.git
$ cd zfs
$ sudo apt-get install zlib1g-dev uuid-dev libblkid-dev libselinux-dev parted lsscsi
$ ./configure
$ make deb
$ sudo dpkg -i *_amd64.deb
splは、zfsをビルドするためにdevelopパッケージも必要ですが、最後のzfsをインストールしているところでは、
* zfs-test zfsのテスト
* zfs-dracut initramfsを作るツールdracutでzfsを使えるようにする
* zfs-devel 開発用のヘッター
などのパッケージインストールせず、zfsとzfs-moduleだけでzfsを利用できるようになる。
■ [ZFS]コマンドサンプル
zpool create tank /dev/sdx
#zpool add tank /dev/sdy
zpool status
■ zfs create -o dedup=on tank/home #ファイルシステム作る
#もしくは後から重複排除 zfs set dedup=on tank/home
zfs set mountpoint=/export/home tank/home #マウントポイントの変更
zfs set quota=20g tank/home #容量の制限
■ zfs snapshot tank/home@snapshot1 #スナップショット
zfs rollback tank/home@snapshot1 #スナップショットの復元
zfs destroy tank/home@snapshot1 #スナップショットの削除
■ zfs clone tank/home@snapshot1 tank/clone1 #クローン作成(スナップショットが必要)
■ zfs send tank/home@snapshot1 > /backup/home.img #バックアップ
zfs send -i tank/home@snapshot1 tank/home@snapshot2 > /backup/home_sub.img #差分バックアップ
zfs receive tank/home < /backup/home.img #リストア
■ zpool list tank #リスト
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank 136G 55.2G 80.8G 40% 2.30x ONLINE -
■ zfs -V 30g tank/dev01 #/dev/zvol/tank/dev01というディバイスが出来る
mkfs -t ext4 /dev/zvol/tank/dev01
mount -t ext4 -o discard .... #discatdオプションでtrimする
■ zfs destroy tank/home #ファイルシステム破棄
zpool destory tank #プール破棄
|