10 月末にリリースが予定されている Fedora 33 ですが、いくつか大きな変更が加えられます。そのひとつが、Workstation 版でのデフォルトのファイルシステムが、ext4 から Btrfs に変更されることです。
Fedora 33 Workstation のプレリリース版をテスト機にクリーンインストールして、構成を早く調べたいと思っているのですが、なかなかベータ版のイメージが公開されないので、下記からテスト中の ISO ファイル (Fedora-Workstation-Live-x86_64-Rawhide-20200917.n.0.iso) をダウンロードして試してみました。
テスト機
インストールに使用した PC は、昨年、低価格に釣られて買ってしまった PC、ALLDOCUBE iwork10 Pro です [1]。
主要なスペックは、CPU: Intel Atom X5-Z8350, RAM: 4GB, eMMC: 64GB と大変貧弱ですが、ディスプレーの解像度が 1920x1200 (10.1") と、スクリーンショットを取るのにちょうど良いサイズです。
このテスト機へ Fedora 33 プレリリース版をインストールして、デバイスの動作状況を紹介することは、本記事の目的ではありませんが、簡単に状況をまとめておきました。
WiFi | ○ | ||
Bluetooth | ○ | ロジクールのマウス Pebble M350 を Bluetooth で接続できることを確認しました。 | |
タッチスクリーン | × | ||
画面自動回転 | △ | 画面縦が基準になっていてちょっと厄介です。 | |
オーディオ | ○ | ||
バッテリー残量 | ○ | ||
カメラ | × |
ファイルシステム Btrfs
Btrfs は b-tree file system の略称で、コピーオンライト (COW) の原理に基づくファイルシステムです。2007 年にオラクル社により Linux で使用するために設計され、このファイルシステムをサポートしている Linux カーネルの開発では、2013 年 11 月に「実験的」から「不安定ではない」ファイルシステムに扱いが変更されています [2]。
Btrfs は、Linux ファイルシステムに欠けているプーリング、スナップショット、チェックサム、複数のマルチデバイスに亘って統合的に対処できるようにすることを目的としています。 Btrfs の主要な開発者である Chris Mason 氏は、その目標は「利用可能なストレージに対して "Linux" をスケーリングできるようにすること」であると述べています。スケーリングとは、ストレージへの対応だけでなく、何が使用されているかを確認でき、より信頼性の高いものとなるようにクリーンなインターフェイスで管理・管理できることを意味します。
Btrfs を使うメリットは?
技術評論社の Linux Daily Topics [3] に、Fedora 33 Workstation のデフォルトのファイルシステムが ext4 から Btrfs へ変更されたことが紹介されています。Btrfs を使うメリットについて、Fedora Wiki [4] で説明がされていましたので、引用、翻訳したものを下記にまとめました。翻訳がこなれていませんがご了承ください。
- / または /home で空き容量が不足しているユーザへ
- 一つの大きなファイルシステム」: パーティションや論理ボリュームのような「ハード」な障壁はありません。
- 透過的データ圧縮:書き込み増幅を大幅に削減し、ストレージ・ハードウェアの寿命を向上させます。
- コンテナのような事例では、reflink を使用した cp と、スナップショットの方が効率的です(Podman は両方をサポートしています)。
- ストレージデバイスに欠陥があると、データが破損することがあります。
- すべての読み取りでチェックサムされ、検証されています。
- 破損したデータは入力/出力エラーの原因となります。アプリケーションが混乱を招かないように、破損したデータはバックアップやアーカイブに複製されません。
- 負荷がかかるとデスクトップの応答が悪くなる(ことを軽減)
- Btrfs は、cgroups2 を介して適切な IO の隔離機能を持つように実運用でテストされています。
- メモリ、CPU、IO 隔離などのリソース・コントロールの計画を立てます。
- ファイルシステムのサイズ変更
- 追加の OS をプロビジョニングする場合でも、systemd-homed で統合が可能な場合でも、シュリンク(縮小)機能が望まれます。
- オンラインでのシュリンク(縮小)と成長(増大)は、Btrfs の設計の基本です。
- 複雑な構成のストレージを設定するのは複雑ですが…
- シンプルで包括的なコマンドインターフェイス。1つのマスターコマンド
- 起動がより簡単で、すべてのコードがカーネル内にあり、initramfs のように複雑ではありません。
- 増分バックアップを含む、シンプルで効率的なファイルシステムレプリケーション。
テスト機ではどうなっているか?
Fedora 33 プレリリース版をインストールしたテスト機では、df コマンドでストレージを容量を確認すると、次のようになっていました。
[bitwalk@localhost ~]$ df -hT ファイルシス タイプ サイズ 使用 残り 使用% マウント位置 devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 766M 2.2M 764M 1% /run /dev/mmcblk0p3 btrfs 57G 5.5G 50G 10% / tmpfs tmpfs 1.9G 48K 1.9G 1% /tmp /dev/mmcblk0p3 btrfs 57G 5.5G 50G 10% /home /dev/mmcblk0p2 ext4 976M 208M 702M 23% /boot /dev/mmcblk0p1 vfat 599M 21M 579M 4% /boot/efi tmpfs tmpfs 383M 164K 383M 1% /run/user/1000 [bitwalk@localhost ~]$
/(ルート)と /home が同じストレージ領域を使っているように見えます。従来の論理ボリュームの表記はありません。
lsblk コマンドでブロックデバイスの一覧を確認すると次のようになっています。
[bitwalk@localhost ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 57.6G 0 disk ├─mmcblk0p1 179:1 0 600M 0 part /boot/efi ├─mmcblk0p2 179:2 0 1G 0 part /boot └─mmcblk0p3 179:3 0 56G 0 part /home mmcblk0boot0 179:8 0 4M 1 disk mmcblk0boot1 179:16 0 4M 1 disk zram0 252:0 0 1.9G 0 disk [SWAP] [bitwalk@localhost ~]$
mmcblk0p3 は /home になっています。
/etc/fstab に記載されているマウント情報は次のようになっています。
[bitwalk@localhost ~]$ cat /etc/fstab # # /etc/fstab # Created by anaconda on Thu Sep 17 23:44:57 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # UUID=7281fcde-34a7-4d79-b81d-5a3433bb9088 / btrfs subvol=root 0 0 UUID=f333b1a0-87f7-468e-bbaf-b2885d24bdf5 /boot ext4 defaults 1 2 UUID=A460-70EE /boot/efi vfat umask=0077,shortname=winnt 0 2 UUID=7281fcde-34a7-4d79-b81d-5a3433bb9088 /home btrfs subvol=home 0 0 [bitwalk@localhost ~]$
/(ルート)と /home が同じ UUID のストレージにマウントされ subvol で root と home に区別されています。
Linux を使い始めて四半世紀、その間、プライベートな環境ではずっと ext2, ext3 そして ext4 をファイルシステムとして使い続けてきました。バージョンが上がってもその使用方法は今までの延長上にありましたが、Btrfs は勝手が違うようです。そう言えば、CentOS 8 ではファイルシステムが xfs になっていますが、表面上、違和感を感じなかったので、よく調べずに使っています。😅
そろそろ Fedora 33 ベータ版の ISO イメージが公開されるはずですが、ひきつづき Fedora 33 の Btrfs(および btrfs コマンド)について調査をしてまとめる予定です。
参考サイト
- bitWalk's: Alldocube iwork10 Pro と Manjaro Linux [2019-05-01]
- Linux kernel commit changing stability status in fs/btrfs/Kconfig [2013-11-20]
- 2020年7月17日 Fedora,デフォルトファイルシステムをBtrfsに変更へ:Linux Daily Topics|gihyo.jp … 技術評論社 [2020-07-17]
- Changes/BtrfsByDefault - Fedora Project Wiki
- Linuxのファイルシステム「Btrfs」を5年間使用した記録 - GIGAZINE [2020-02-02]
- bitWalk's: Fedora 33 のプレリリース版を試す [2020-09-03]
にほんブログ村
0 件のコメント:
コメントを投稿