そこで、Oracle Linux 6.5(64bit)にインストールしてみます。
[root@ovnfs3 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.5
[root@ovnfs3 ~]# uname -r
3.8.13-16.2.1.el6uek.x86_64
今回、btrfs は OL6.5 のインストールメディアに同梱されている RPM を使用します。
今回は、ISOイメージ(DVDと書いていますが) から Yum でインストールします。
YUM リポジトリは、すでに設定済みです。
[root@ovnfs3 ~]# mount /dev/cdrom /media/
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
[root@ovnfs3 ~]# cat /etc/yum.repos.d/dvd.repo
[DVD]
name=DVD
baseurl=file:///media/Server/
gpgkey=file:///media/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
btrfs を操作するための、btrfs-progs をインストールします。
なにか依存関係があるかもしれないと思って Yum インストールにしましたが、
今回の環境では特に依存 RPM はありませんでした・・・
[root@ovnfs3 ~]# yum install btrfs-progs
Loaded plugins: security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package btrfs-progs.x86_64 0:0.20-1.5.git7854c8b.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================
Package Arch Version Repository Size
===============================================================
Installing:
btrfs-progs x86_64 0.20-1.5.git7854c8b.el6 DVD 393 k
Transaction Summary
===============================================================
Install 1 Package(s)
Total download size: 393 k
Installed size: 2.7 M
Is this ok [y/N]: y
Downloading Packages:
警告: rpmts_HdrFromFdno: ヘッダ V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Retrieving key from file:///media/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
Userid: "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
From : /media/RPM-GPG-KEY-oracle
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : btrfs-progs-0.20-1.5.git7854c8b.el6.x86_64 1/1
Verifying : btrfs-progs-0.20-1.5.git7854c8b.el6.x86_64 1/1
Installed:
btrfs-progs.x86_64 0:0.20-1.5.git7854c8b.el6
Complete!
下記のようなファイル(btrfs コマンドなど)がインストールされました。
[root@ovnfs3 ~]# rpm -ql btrfs-progs
/sbin/btrfs
/sbin/btrfs-convert
/sbin/btrfs-debug-tree
/sbin/btrfs-find-root
/sbin/btrfs-image
/sbin/btrfs-map-logical
/sbin/btrfs-show
/sbin/btrfs-show-super
/sbin/btrfs-vol
/sbin/btrfs-zero-log
/sbin/btrfsck
/sbin/btrfsctl
/sbin/btrfstune
/sbin/mkfs.btrfs
/usr/share/doc/btrfs-progs-0.20
/usr/share/doc/btrfs-progs-0.20/COPYING
/usr/share/doc/btrfs-progs-0.20/INSTALL
/usr/share/man/man8/btrfs-image.8.gz
/usr/share/man/man8/btrfs-show.8.gz
/usr/share/man/man8/btrfs.8.gz
/usr/share/man/man8/btrfsck.8.gz
/usr/share/man/man8/btrfsctl.8.gz
/usr/share/man/man8/mkfs.btrfs.8.gz
いきなりファイルシステムを作成してみます。
あえて RAID0 です。
まだ試験的ということで Warning が出ますが、ファイルシステムは作成されます。
[root@ovnfs3 ~]# mkfs.btrfs --data raid0 --metadata raid0 /dev/sdd /dev/sde
WARNING! - Btrfs v0.20-rc1 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
failed to open /dev/btrfs-control skipping device registration: No such file or directory
adding device /dev/sdc id 2
fs created label (null) on /dev/sdb
nodesize 4096 leafsize 4096 sectorsize 4096 size 80.00GB
Btrfs v0.20-rc1
デバイスにはパーティション作成せずにファイルシステムを作成しています。
ソフトウェア RAID が構成できます。
[root@ovnfs3 ~]# fdisk -l /dev/sdb /dev/sdc
ディスク /dev/sdb: 42.9 GB, 42949672960 バイト
ヘッド 255, セクタ 63, シリンダ 5221
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/sdc: 42.9 GB, 42949672960 バイト
ヘッド 255, セクタ 63, シリンダ 5221
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
(ここから先は、いくつかファイル等を作成した後の状態ですが)
RAID0 を構成した片側のデバイス(sdb)を指定してマウントしたら、
df コマンドではそのデバイスが表示されます。
容量は 80GB(40GB + 40GB)です。
[root@ovnfs3 ~]# mount /dev/sdb /mnt
[root@ovnfs3 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.6G 2.7G 5.5G 33% /
tmpfs 498M 0 498M 0% /dev/shm
/dev/sda1 190M 54M 126M 31% /boot
/dev/sr0 3.7G 3.7G 0 100% /media
/dev/sdb 80G 1.1M 78G 1% /mnt
もう一つのデバイス(sdc)でマウントしなおしたら、
df コマンドでも そのデバイスが 80GB あるものとして見えます。
[root@ovnfs3 ~]# umount /mnt
[root@ovnfs3 ~]# mount /dev/sdc /mnt
[root@ovnfs3 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 8.6G 2.7G 5.5G 33% /
tmpfs 498M 0 498M 0% /dev/shm
/dev/sda1 190M 54M 126M 31% /boot
/dev/sr0 3.7G 3.7G 0 100% /media
/dev/sdc 80G 1.1M 78G 1% /mnt
どこをどう btrfs フォーマットしたかは、下記のように探せます。
今回は設定していませんが、btrfsでは特に
ファイルシステムのラベルを付けておいた方がわかりやすそうです。
[root@ovnfs3 ~]# btrfs filesystem show --all-devices
Label: none uuid: 3c901c4e-1bb5-44a1-9bd9-1104a679aaa9
Total devices 2 FS bytes used 1.05MB
devid 1 size 40.00GB used 2.03GB path /dev/sdb
devid 2 size 40.00GB used 2.01GB path /dev/sdc
Btrfs v0.20-rc1
そして btrfs にも、専用の df 的コマンドがあります。
ただし、マウントポイントのパスを指定する必要があります。
[root@ovnfs3 ~]# btrfs filesystem df
btrfs filesystem df: too few arguments
usage: btrfs filesystem df <path>
Show space usage information for a mount point
[root@ovnfs3 ~]# btrfs filesystem df /mnt
Data, RAID0: total=2.00GB, used=1.00MB
Data: total=8.00MB, used=0.00
System, RAID0: total=16.00MB, used=4.00KB
System: total=4.00MB, used=0.00
Metadata, RAID0: total=2.00GB, used=44.00KB
Metadata: total=8.00MB, used=0.00
ちなみに Oracle Linux 6 のドキュメントだとこのあたりです。
Oracle Linux
管理者ソリューション・ガイド for リリース6
5.2. Btrfsファイル・システムの作成
http://docs.oracle.com/cd/E39368_01/b71105/ol_create_btrfs.html
以上、Btrfs のインストール~RAID0 フォーマットでした。