↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] 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 #プール破棄

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索