修正中

btrfsは複数のディスクをRAIDのように集約してより高機能なファイルシステムを提供できる
ここではその構築方法と拡張について記す

RAID構成

[metadata]と[data]の2つに対して、ミラーやストライピングの他にraid5,raid6が利用可能。
既定では、[metadata]は2つのデバイスにミラーリングされ、[data]は全てのデバイスに分割され配置される

■既存のbtrfs
既にどこかのデバイスがbtrfsであれば、そこにHDDを追加できる。

# btrfs device add /dev/sdb /home    */homeが/dev/sda5でbtrfsなら。

これって/homeがLVMだったり、Software-RAIDで/dev/md0とかならできる芸当かも。

fstab

基本btrfsであればfstabのfs_passno列は「0」でいいそうな。
*fs_passnoはfstabの第6フィールド(最右端)
で、「0」以外の数値を当てていると、fsck.btrfsが対応してチェックするそうな。

手動でチェックしたい場合は、

[root@c ~]# df -lTh
Filesystem     Type   Size  Used Avail Use% Mounted on
(略)
/dev/sda5      btrfs   45G   31G   13G  71% /export
/dev/sda8      btrfs  100G   35G   63G  36% /home
[root@c ~]#
[root@c ~]# umount /export
[root@c ~]# btrfs check /dev/sda5
Checking filesystem on /dev/sda5
UUID: db15bb4b-7278-478d-b515-e246df1bba85
checking extents
checking free space cache
checking fs roots
checking csums
checking root refs
found 48155689 bytes used err is 0
total csum bytes: 31950500
total tree bytes: 40026112
total fs tree bytes: 901120
total extent tree bytes: 638976
btree space waste bytes: 6517393
file data blocks allocated: 65153425408
 referenced 65290305536
Btrfs v3.14.2
[root@c ~]#

としてチェックを実行する。もし問題があれば、

[root@c ~]# btrfs check
usage: btrfs check [options] <device>
 
    Check an unmounted btrfs filesystem.
 
    -s|--super <superblock>     use this superblock copy
    -b|--backup                 use the backup root copy
    --repair                    try to repair the filesystem
    --init-csum-tree            create a new CRC tree
    --init-extent-tree          create a new extent tree
 
[root@c ~]#

に従い、--repairを付与して修正するみたい。

Deduplication for Btrfs

冗長排除。
CentOS7ならすんなり行けた....CentOS6だとpython2.7をインストールする必要がある...
CentOS7

  1
  2
  3
  4
  5
  6
  7
[root@nfs1 ~]# yum groupinstall "Development Tools"
[root@nfs1 ~]# yum install python-devel libffi-devel btrfs-progs-devel
[root@nfs1 ~]# yum --enablerepo=epel install python-pip
[root@nfs1 ~]# pip install --user cffi
[root@nfs1 ~]# git clone https://github.com/g2p/bedup.git
[root@nfs1 ~]# cd bedup
[root@nfs1 ~]# python setup.py install

めも
http://askubuntu.com/questions/331233/creating-btrfs-subvolume-like-or-home

[root@c103 ~]# mount UUID=449b64b7-96fa-4c53-b3f6-7867eac87527 /mnt/btrfs
[root@c103 ~]# btrfs subvolume create /mnt/btrfs/@home
[root@c103 ~]# mount -t btrfs  UUID=449b64b7-96fa-4c53-b3f6-7867eac87527 /home  -o defaults,subvol=@home
[root@c103 ~]# umount /mnt/btrfs
 
[root@c103 ~]# df -lTh
ファイルシス   タイプ   サイズ  使用  残り 使用% マウント位置
/dev/vda2      xfs        6.5G  1.4G  5.2G   21% /
devtmpfs       devtmpfs   487M     0  487M    0% /dev
tmpfs          tmpfs      497M     0  497M    0% /dev/shm
tmpfs          tmpfs      497M  6.6M  490M    2% /run
tmpfs          tmpfs      497M     0  497M    0% /sys/fs/cgroup
/dev/vdb1      btrfs       30G   17M   28G    1% /home
/dev/vda1      xfs        509M  134M  375M   27% /boot
tmpfs          tmpfs      100M     0  100M    0% /run/user/0
[root@c103 ~]#
[root@c103 ~]# btrfs subvolume show /home
/home
        Name:                   @home
        UUID:                   a629ddb3-4075-7042-88c1-bc931645473d
        Parent UUID:            -
        Received UUID:          -
        Creation time:          2017-02-03 01:12:13 +0900
        Subvolume ID:           258
        Generation:             10
        Gen at creation:        10
        Parent ID:              5
        Top level ID:           5
        Flags:                  -
        Snapshot(s):
[root@c103 ~]#


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2017-02-05 (日) 06:13:41 (1214d)