Btrfs を練習してみた
これはなに
Btrfsに初めて触るひと(ぼく)がこの手順で試行錯誤すれば、一定の理解に達する手順書です。
Btrfsはとても便利なファイルシステムと聞いたんだけど、説明を読んでも意味が分からなかった。
subvolume(サブボリューム)、snapshot(スナップショット)、ってなに? 具体的にどう使うの? ていう人向け。
理解が間違っている点があると思います。コメントいただけると幸いです。
Btrfs って、こういうことかな?
実際に使ってみた。
- サブボリュームを作ったり、スナップショットをとったりしてみた。
- Btrfsには、サブボリュームとディレクトリを自由に配置できる。
- サブボリュームのスナップショットをとることができるが、サブボリュームの中のサブボリュームは、スナップショットでは空のディレクトリになる。
- トップレベルのスナップショットもとることができる。例えば、トップレベルのスナップショットをサブボリュームA内にとることもできる。
- スナップショットのスナップショットもとれる。
- スナップショットはどのサブボリューム、どのディレクトリ、どこでも配置できる。
で、これらを任意のマウントポイントにマウントできる。
- トップレベルのサブボリュームは、マウントできる。
- 任意のサブボリュームも、マウントできる。
- スナップショットは、実はサブボリュームの一種なので、マウントできる。
やってみるときの手順
- 追加のパッケージのインストール
必要なパッケージを追加する
sudo apt install btrfs-progs
- 新しいパーティションの作成
/dev/sda の空き領域に、新しいパーティションを作る。
# fdisk /dev/sda
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
( 略 )
Command (m for help): w
- Btrfsを作成する
/dev/sda3に新しいパーティションを作成したので、そこにBtrfsを作成。Btrfs_partition ラベルを付けた。
# mkfs.btrfs -f -L Btrfs_partition /dev/sda3
Label: Btrfs_partition
UUID: 9******f-d**3-a**6-1**5-7**********e
Node size: 16384
Sector size: 4096
Filesystem size: 3.63TiB
Block group profiles:
Data: single 8.00MiB
Metadata: DUP 1.00GiB
System: DUP 8.00MiB
SSD detected: no
Incompat features: extref, skinny-metadata
Number of devices: 1
Devices:
ID SIZE PATH
1 3.63TiB /dev/sda3
- サブボリューム作成
マウントポイント /mnt/disk_btrfs/ を mkdir し、マウントする。
サブボリューム@nasを作成する。(名前は何でもよい)
# mount -t btrfs /dev/sda3 /mnt/disk_btrfs/
# btrfs subvolume create /mnt/disk_btrfs/@nas
Create subvolume '/mnt/disk_btrfs/@nas'
- /etc/fstabに追記して、起動時にマウントするようにする
NAS用に、いろいろオプション付けた。
/etc/fstab
##Btrfs ファイルシステム本体(メンテ用)
UUID=9******f-d**3-a**6-1**5-7**********e /mnt/disk_btrfs btrfs defaults,noatime,autodefrag,compress-force=lzo,space_cache 0 0
##Btrfs subvolume @nas()
UUID=9******f-d**3-a**6-1**5-7**********e /mnt/nas btrfs defaults,noatime,autodefrag,compress-force=lzo,space_cache,subvol=@nas 0 0
マウントしてみる
# mount -a
/mnt/disk_btrfs と/mnt/nas が読み書きできれば成功。
スナップショットをとってみる。
# btrfs subvolume snapshot @nas/ snapshot_20200414
Create a snapshot of '@nas/' in './snapshot_20200414'
サブボリュームのリストを表示し、スナップショットのIDを調べる
# /mnt/disk_btrfs$ sudo btrfs subvolume list .
ID 257 gen 20 top level 5 path @nas
ID 263 gen 20 top level 5 path snapshot_20200414
/dev/sda3上のID=263のスナップショットを/mnt/testにマウントする
# mkdir /mnt/test
# mount -t btrfs -o subvolid=263 /dev/sda3 /mnt/test/
ファイルシステムの状態を表示
# btrfs filesystem df /mnt/disk_btrfs
Data, single: total=8.00MiB, used=256.00KiB
System, DUP: total=8.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=192.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B
参考
Btrfs - ArchWiki
https://wiki.archlinux.jp/index.php/Btrfs
btrfs - GreenLeaf
https://greenleaf.mydns.jp/pukiwiki/?btrfs
takapiのブログ
Btrfsについて軽く調べた
Author And Source
この問題について(Btrfs を練習してみた), 我々は、より多くの情報をここで見つけました https://qiita.com/masataka55/items/0ee9254ad9d0cf6b457a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .