How To Convert An ext3/ext4 Root File System To btrfs On Ubuntu 12.10
How To Convert An ext3/ext4 Root File System To btrfs On Ubuntu 12.10 ext3 and ext4 file systems can be converted to btr...
Btrfs - Wikipedia
ZFSの影響を受けて作られたというファイルシステム、btrfsですがSSDへの最適化などの機能も含まれていることから少し使いたくなったので、現環境のext4から変換してみることにしました。
検証環境:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
Linux diana 3.13.6 #1 SMP Sat Mar 8 19:09:36 JST 2014 x86_64 x86_64 x86_64 GNU/Linux
手順
手順は以下のとおり。
1. 必要なパッケージを導入しておく。
apt-get install btrfs-tools
2. Ubuntu 13.10のLiveモードではうまくいかなかったので、Ubuntu 12.04.4のメディアを使用しLiveモードで起動する。
3. 該当のファイルシステムのチェックを行う。(デバイスは適宜環境に合わせて読み替えてください)
fsck -f /dev/sda1
4. 変換ツールを実行する。
btrfs-convert /dev/sda1
creating btrfs metadata.
creating ext2fs image file.
cleaning up system chunk.
conversion complete.
5. 変換ができたら、システム関連のディレクトリをマウントする。
mount /dev/sda1 /mnt
for fs in proc sys dev dev/pts; do mount --bind /$fs /mnt/$fs; done
chroot /mnt
6. デバイスのUUIDを取得する。
blkid /dev/sda1
/dev/sda1: UUID="63accb30-95b9-4268-ae1e-6d0ad3ef3a9d" UUID_SUB="d9521f58-91e5-44a7-a52e-9cfb0b3056ca" TYPE="btrfs"
7. /etc/fstab
を編集する。
# / was on /dev/sda1 during installation
#UUID=ad50ef37-797d-44ea-a8fa-ae61abe4d00f / ext4 errors=remount-ro 0 1
UUID=63accb30-95b9-4268-ae1e-6d0ad3ef3a9d / btrfs defaults 0 1
# swap was on /dev/sda5 during installation
UUID=4dc578f3-c65c-4013-b643-72e70455b21b none swap sw 0 0
8. grubのアップデートを実行する。
update-grub
grub-install /dev/sda
9. chrootを終了する。
10. 再起動を実施する。
11. 変換前のファイルシステムイメージが残っていることを確認する。
ls -l /ext2_saved/
必要がなければ以下のコマンドを実行し、イメージを削除する。
btrfs subvolume delete /ext2_saved
マウントオプションについては
もし、SSDを使用しているようであれば、以下を参考にマウントオプションを変更してみるのがいいかもしれません。
私の環境の場合は以下の様な感じになっています。
UUID=5ff6bc7a-6ac0-422a-aa72-bbd7bfe5ff2f / btrfs noatime,compress=lzo,space_cache,ssd,ssd_spread,inode_cache 0 1
POINT
- compress=lzo: ファイルシステムに対して圧縮をかけるか。実施した場合パフォーマンスの向上が見込める場合があります。
- space_cache: 速くブロックグループのキャッシュを作るために、ディスク上の空き領域のデータを格納する。
- ssd: SSD最適化された動作の一部をオンにします
- ssd_spread: 大きな空き領域を一括で割り当てることでパフォーマンスの向上を図るらしい。
- inode_cache: 空きinode番号のキャッシュを有効にします。
余談ですが
btrfsってバターエフエスって読むことを初めて知りました。
IT技術者なら知っておきたい ストレージの原則と技術
posted with AZlink at 2014.3.22
EMC Education Services,株式会社クイープ
インプレスジャパン
売り上げランキング: 125886
インプレスジャパン
売り上げランキング: 125886