LinuxカーネルHack: Btrfsを試す
VirtualBoxにインストールしたUbuntu 10.10(ホスト名は適当にmonkeyにしてみた)でBtrfsを早速試してみる。ちなみに、現在利用中のVirtualBoxのバージョンは3.2.8 r64453。
まずは、VirtualBoxで仮想ドライブを追加。
Oracle VM VirtualBox > [Ubuntu 10.10のVM] > 設定 > ストレージ > SATAコントローラより「ハードディスクの追加」をクリック。
ひとまず、可変サイズのストレージで2GB確保。
Ubuntu@VirtualBoxを起動。
Ubuntuの「ディスク・ユーティリティ」で追加した仮想ドライブを確認。
デバイスファイルは/dev/sdb。
標準では、ユーザーランドからBtrfsを操作するためのツールがインストールされていないので、インストール。
fixme@monkey:~$ sudo apt-get install btrfs-tools
追加した仮想ドライブをBtrfsでフォーマットしてみる。
fixme@monkey:~$ sudo mkfs.btrfs /dev/sdb WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using fs created label (null) on /dev/sdb nodesize 4096 leafsize 4096 sectorsize 4096 size 2.00GB Btrfs Btrfs v0.19cd
マウントしてみる。
fixme@monkey:~$ sudo mount -t btrfs /dev/sdb /mnt
マウントを確認。おーマウントできてる。
fixme@monkey:~$ df -h ファイルシステム Size Used Avail Use% マウント位置 /dev/sda1 48G 7.7G 38G 17% / none 369M 240K 369M 1% /dev none 375M 204K 375M 1% /dev/shm none 375M 92K 375M 1% /var/run none 375M 0 375M 0% /var/lock /dev/sdb 2.0G 80K 2.0G 1% /mnt
Btrfsのディスク消費量は以下のコマンドでもできるらしい。
fixme@monkey:/mnt$ sudo btrfs filesystem show Label: none uuid: 76df62a5-7b68-477b-ae01-7f08ea6824fb Total devices 1 FS bytes used 28.00KB devid 1 size 2.00GB used 240.75MB path /dev/sdb Btrfs Btrfs v0.19
Btrfsのスナップショット機能を試すために、サブボリュームを切ってみる。
fixme@monkey:/mnt$ sudo btrfs sub create /mnt/subvol Create subvolume '/mnt/subvol'
作成したサブボリューム内にテキストファイルを作成。
root@monkey:/mnt# echo "Hello, Btrfs" > subvol/hello.txt
サブボリュームのスナップショットを/mnt/20101003_2311に取る。
root@monkey:/mnt# btrfs sub snap /mnt/subvol/ /mnt/20101003_2311 Create a snapshot of '/mnt/subvol/' in '/mnt/20101003_2311'
作成したスナップショットを確認。
root@monkey:/mnt# cat /mnt/20101003_2311/hello.txt Hello, Btrfs
サブボリューム内のファイルを変更して、バックアップに影響が無いことを確認。おー、バックアップに影響せずに変更できた。
root@monkey:/mnt# echo "Goodbye, Btrfs" > subvol/hello.txt root@monkey:/mnt# cat /mnt/subvol/hello.txt Goodbye, Btrfs root@monkey:/mnt# cat /mnt/20101003_2311/hello.txt Hello, Btrfs
これから色々さわってみよう。