2014年1月28日火曜日

OL6.5 で Btrfs インストールとフォーマット。

ふと Btrfs を使いだそうと思いました。
そこで、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 フォーマットでした。

0 件のコメント:

コメントを投稿