2020-09-18

Fedora 33 のプレリリース版を試す (2)

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 プレリリース版

このテスト機へ Fedora 33 プレリリース版をインストールして、デバイスの動作状況を紹介することは、本記事の目的ではありませんが、簡単に状況をまとめておきました。

Fedora 33 Workstation(プレリリース版)で利用できる iwork10 Pro の機能
WiFi  
Bluetooth ロジクールのマウス Pebble M350 を Bluetooth で接続できることを確認しました。
タッチスクリーン ×  
画面自動回転 画面縦が基準になっていてちょっと厄介です。
オーディオ  
バッテリー残量  
カメラ ×  

ファイルシステム Btrfs

Btrfs は b-tree file system の略称で、コピーオンライト (COW) の原理に基づくファイルシステムです。2007 年にオラクル社により Linux で使用するために設計され、このファイルシステムをサポートしている Linux カーネルの開発では、2013 年 11 月に「実験的」から「不安定ではない」ファイルシステムに扱いが変更されています [2]

Btrfs は、Linux ファイルシステムに欠けているプーリング、スナップショット、チェックサム、複数のマルチデバイスに亘って統合的に対処できるようにすることを目的としています。 Btrfs の主要な開発者である Chris Mason 氏は、その目標は「利用可能なストレージに対して "Linux" をスケーリングできるようにすること」であると述べています。スケーリングとは、ストレージへの対応だけでなく、何が使用されているかを確認でき、より信頼性の高いものとなるようにクリーンなインターフェイスで管理・管理できることを意味します。

Wikipedia より引用、翻訳、編集

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 コマンド)について調査をしてまとめる予定です。

参考サイト

  1. bitWalk's: Alldocube iwork10 Pro と Manjaro Linux [2019-05-01]
  2. Linux kernel commit changing stability status in fs/btrfs/Kconfig [2013-11-20]
  3. 2020年7月17日 Fedora,デフォルトファイルシステムをBtrfsに変更へ:Linux Daily Topics|gihyo.jp … 技術評論社 [2020-07-17]
  4. Changes/BtrfsByDefault - Fedora Project Wiki
  5. Linuxのファイルシステム「Btrfs」を5年間使用した記録 - GIGAZINE [2020-02-02]
  6. bitWalk's: Fedora 33 のプレリリース版を試す [2020-09-03]

ブログランキング・にほんブログ村へ
にほんブログ村

0 件のコメント: