nkjmkzk.net

powered by Kazuki Nakajima

Archive for the ‘btrfs’ tag

ルートファイルシステムをBtrfsにする方法(Oracle Linux 5.6)

Fedora 16でデフォルトファイルシステムとなることがアナウンスされ、Btrfsはいよいよ本格的に使われはじめることと思います。今回は最新のBtrfsソースコードを用いてLinuxのルートファイルシステムをBtrfsにしてしまう手順を紹介します。
OSは仮想マシンのOracle Linux 5.6 x86_64をベースにして進めていきます。

まずはBtrfsのソースコードを取ってくる必要があります。最新のソースコードはgitで管理されており、gitコマンドでダウンロードする必要がありますのでまずはgitを使えるようにします。

EPELレポジトリを利用可能にし、yumでgitをインストールします。

[root@~]# cd /var/opt
[root@~]# wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
[root@~]# rpm -ivh epel-release-5-4.noarch.rpm
[root@~]# yum install -y git

git cloneでBtrfsの最新ソースコードをダウンロードします。これによってLinux Kernelを含むコード全体がダウンロードされます。

[root@~]# cd /var/opt
[root@~]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git

作成されたディレクトリに移動し、現在のKernel設定を継承するために/bootディレクトリからKernelビルド設定ファイルを.configとしてカレントディレクトリ配下にコピーします。

[root@~]# cd btrfs-unstable/
[root@~]# cp /boot/config-2.6.32-100.26.2.el5 ./.config

コピーした設定ファイルを元に新しい設定ファイルを作成します。

[root@~]# make oldconfig

このあと古い設定ファイルと新しいKernelとの機能差の部分について対話的に設定することを求められますが、今回はEnterキーを押し続けてデフォルトを受け入れます。ビルドがうまくいったらその後で自分なりのコンフィグを詰めて下さい。
対話的設定が終わるとコマンドプロンプトが戻ってきます。
一点だけ今作成したKernelビルド設定ファイルを修正します。BtrfsはデフォルトではKernel Moduleとしてビルドされますが、これをKernel本体に組み込むようにします。

[root@~]# vi .config
CONFIG_BTRFS_FS=y

ではここからコンパイルを行っていきます。ちなみに-jオプションに渡す数字はコンパイルの並列度を設定します。お手持ちのCPUコア数の倍の数くらいを目安に与えてください。

[root@~]# make -j8

Kernel Moduleのインストール。

[root@~]# make modules_install

Kernelのインストール。

[root@~]# make install

これでインストールはひとまず完了です。
一度リブートしますが、起動時にgrubのメニュー画面を見れない場合は次のようにgrub.confを編集してデフォルトのKernelを新しいKernelに変更しておきます。

[root@~]# vi /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Oracle Linux Server (2.6.38+)
        root (hd0,0)
        kernel /vmlinuz-2.6.38+ ro root=/dev/VolGroup00/root rhgb quiet
        initrd /initrd-2.6.38+.img
title Oracle Linux Server (2.6.32-100.26.2.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-100.26.2.el5 ro root=/dev/VolGroup00/root rhgb quiet
        initrd /initrd-2.6.32-100.26.2.el5.img
title Oracle Linux Server (2.6.18-238.1.1.0.1.el5xen)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-238.1.1.0.1.el5xen ro root=/dev/VolGroup00/root rhgb quiet
        initrd /initrd-2.6.18-238.1.1.0.1.el5xen.img

リブートします。

[root@~]# init 6

起動したら新しいKernelで起動しているか確認します。

[root@~]# uname -r
2.6.38+

次にbtrfsの操作に必要となるツール群と、そのツール群のビルドに必要なe2fsprogs-develをインストールします。

[root@~]# yum install -y e2fsprogs-devel
[root@~]# cd /var/opt
[root@~]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.git
[root@~]# cd btrfs-progs-unstable/
[root@~]# make
[root@~]# make install

これでmkfs.btrfs等のツール群がインストールされました。リブートは必要ありません。

ここからBtrfsのファイルシステム作成と移行をおこなっていきます。
現在のボリュームとファイルシステムのレイアウトを確認します。

[root@~]# df -h
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-root    20G   9.5G  8.9G  52% /
/dev/xvda1                     99M    34M   60M  37% /boot
tmpfs                          952M     0  952M   0% /dev/shm

現在ルートファイルシステムは20GByte程のLogical Volumeで構成されています。
このファイルシステムを丸ごと同容量のBtrfsにコピーすることで移行を図ります。
さしあたってBtrfs用のボリュームを追加する必要があります。今回は仮想化環境なのでdom0側で20GByteのFile VBDを作成して仮想マシンに割り当てます。

[root@dom0]# cd /OVS/running_pool/btrfs
[root@dom0]# dd if=/dev/zero of=btrfs_root.img bs=1M count=0 seek=20480
[root@dom0]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0   564     8     r-----   2052.8
btrfs                                        1   256     4     -b----    247.1

[root@dom0]# xm block-attach btrfs file:/OVS/running_pool/btrfs/btrfs_root.img /dev/xvdc w

仮想マシンに戻り、今割り当てられたボリュームをBtrfsでフォーマットして一時的に/mntにマウントします。

[root@~]# mkfs.btrfs /dev/xvc

WARNING! - Btrfs v0.19-35-g1b444cd IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/xvdc
        nodesize 4096 leafsize 4096 sectorsize 4096 size 20.00GB
Btrfs v0.19-35-g1b444cd

[root@~]# mount -t btrfs /dev/xvdc /mnt

次にfstabを編集して/にマウントされるボリュームを現在のLogical Volumeから/dev/xvdcに変更します。

[root@~]# vi /etc/fstab
#/dev/VolGroup00/root   /               ext3    defaults        1 1
/dev/xvdc               /               btrfs   defaults        1 1
LABEL=/boot             /boot           ext3    defaults        1 2
tmpfs                   /dev/shm        tmpfs   defaults        0 0
devpts                  /dev/pts        devpts  gid=5,mode=620  0 0
sysfs                   /sys            sysfs   defaults        0 0
proc                    /proc           proc    defaults        0 0
/dev/xvdb               swap            swap    defaults        0 0

次に現在のルートファイルシステムからデータをコピーします。なお、別ボリュームの/boot、スペシャルファイルを含むディレクトリ等はコピーせず、後ほどディレクトリだけ作成します。

[root@~]# cd /
[root@~]# cp -a {bin,etc,home,lib,lib64,media,misc,opt,root,sbin,selinux,srv,tftpboot,u01,usr,var} /mnt
[root@~]# mkdir /mnt/{boot,dev,mnt,proc,sys,tmp}

次にKernelをビルドしたディレクトリに移り、今一度make installを行います。これは、変更したfstabに基づいてinitrdを再構築するためです。また、同時にgrub.confも適切に編集してくれます。

[root@~]# cd /var/opt/btrfs-unstable/
[root@~]# make install

これでリブートします。起動すると/に/dev/xvdcがマウントされ、Btrfsがルートファイルシステムとなります。

[root@~]# mount
/dev/xvdc on / type btrfs (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/xvda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

without comments

Written by 中嶋 一樹

6月 21st, 2011 at 9:14 am

Posted in Uncategorized

Tagged with ,

最新のLinux KernelでサポートされているFilesystem

2010/11/10現在、Linux Kernelの最新安定バージョンは2.6.36です。このKernelで組み込まれている比較的新しいFilesystemを簡単に整理してみました。

Ext4

  • Ext2/3との後方互換性を保ちつつ、より巨大なファイルシステム/ファイルのサポート・エクステント管理・マルチブロックアロケーション・遅延アロケーションといったモダンなファイルシステムの機能を実装する
  • Kernel 2.6.19でマージされた
  • Kernel 2.6.28で安定板としてリリースされた
  • More Info: https://ext4.wiki.kernel.org/index.php/Main_Page
  • More Info: http://nkjmkzk.net/?p=185

UBIFS

  • JFF2をベースに開発されているRaw Flash専用ファイルシステム。一般的なHDD,  SD Card, USB Flash, SSDでは使用できない
  • Kernel 2.6.28でマージされた(依存モジュールのUBIは2.6.22でマージされた)
  • More Info: http://www.linux-mtd.infradead.org/doc/ubifs.html

Btrfs

  • Linuxでの次世代デファクトファイルシステムを目指してスクラッチから開発されている。後方互換性を考慮する必要がないためモダンなコンセプトをふんだんに取り入れ、ファイルシステムで一般的になりつつあるエクステント管理やCoW等を実装しつつ、動的なボリュームの追加削除・ファイルシステムサイズの変更やスナップショット機能を実装する
  • Kernel 2.6.29でunstableとしてマージされた
  • More Info: https://btrfs.wiki.kernel.org/index.php/Main_Page
  • More Info: http://nkjmkzk.net/?tag=btrfs

NILFS2

  • ログ構造化ファイルシステム。連続的かつ自動的なチェックポイントによるファイルシステムのバージョン管理機能が特徴。NTTが主体的に開発を進めている
  • Kernel 2.6.30でマージされた
  • More Info: http://www.nilfs.org/ja/

LogFS

  • UBIFSと同じくRaw Flash専用ファイルシステム
  • Kernel 2.6.34でマージされた
  • More Info: http://logfs.org/git/

Ceph

  • 分散ネットワークファイルシステム。動的にストレージノードを追加することによるスケールアウトが可能で、新たな構成に合わせて既存データのリバランスを行う
  • Kernel 2.6.34でマージされた
  • More Info: http://ceph.newdream.net

without comments

Written by 中嶋 一樹

11月 10th, 2010 at 4:31 pm

Posted in Uncategorized

Tagged with , , , , , ,

Btrfsの基本操作

今回は実際にBtrfsを使う際のオペレーションを見ていきます。

*ちなみにBtrfs環境のセットアップはこちらを参照ください。カーネル2.6.34のVM Templateをオススメします。というかUnbreakable Enterprise Kernelでは一部正常に機能しないBtrfsコマンドがあります。

まずはBtrfs用の適切なボリュームを用意します。手元の環境はOracle VM上のVMなので仮想ディスクを割り当てます。詳細な手順はこちらの通り。かくかくしかじかで4つ程作成しておきます。こんな感じ。

vdisk

ではOSに入ります。

フォーマットとsubvolumeの切り出し

まずはフォーマットです。

[root@~]# mkfs.btrfs /dev/xvdb

WARNING! - Btrfs v0.19-16-g075587c-dirty IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/xvdb
	nodesize 4096 leafsize 4096 sectorsize 4096 size 1.00GB
Btrfs v0.19-16-g075587c-dirty

[root@~]#

危険なメッセージとともにフォーマットが完了します。
次にマウントします。

[root@~]# mount -t btrfs /dev/xvdb /mnt

/mntにBtrfsがマウントされました。

Btrfsの一覧を取得するには下記のコマンドを実行します。

[root@~]# btrfs filesystem show
Label: none  uuid: a584f1d0-2123-45d8-b678-50bf2318a2a7
	Total devices 1 FS bytes used 28.00KB
	devid    1 size 10.00GB used 2.04GB path /dev/xvdb

Btrfs v0.19-16-g075587c-dirty
[root@~]#

次にsubvolumeを切り出します。subvolumeはBtrfs独特の概念で、ファイルシステムをさらに小分けにするというものです。何故これが必要かというと、例えば後述のスナップショットがあります。Btrfsでのスナップショットはsubvolume単位で行います。なので独立してバックアップを取りたい範囲にsubvolumeを切り出しておくことが重要です。

今回はactiveとbackupという2つのsubvolumeを作成しておきます。activeが本番データ用で、backupにactiveのスナップショットを作成して世代管理するという作戦です。

[root@~]# btrfs sub create /mnt/active
Create subvolume '/mnt/active'

[root@~]# btrfs sub create /mnt/backup
Create subvolume '/mnt/backup'

[root@~]# ls /mnt/
active  backup

subvolumeの一覧を取得するには下記のコマンドを実行します。

[root@~]# btrfs sub list
ID 256 top level 5 path active
ID 257 top level 5 path backup

[root@~]#

スナップショット

さて、モダンなファイルシステムのマストアイテム、スナップショットを行います。まずテストデータを作成しておきます。

[root@~]# touch /mnt/active/{a,b,c}
[root@~]# ls /mnt/active/
a  b  c

このactiveのスナップショットを2010_09_22として作成します。

[root@~]# btrfs sub snap /mnt/active /mnt/backup/2010_09_22
Create a snapshot of '/mnt/active' in '/mnt/backup/2010_09_22'

バックアップとして機能しているか確認します。

[root@~]# ls /mnt/backup/2010_09_22/
a  b  c

[root@~]# rm /mnt/active/a
[root@~]# ls /mnt/active
b  c

[root@~]# ls /mnt/backup/2010_09_22/
a  b  c

良いようです。

圧縮

次にインライン圧縮を行います。Btrfsではマウント時に-o compressを指定することで圧縮を有効化できます。
比較するために2つのファイルシステムを作成して一方を非圧縮、もう一方を圧縮でマウントします。
まずはファイルシステムの作成。

[root@~]# mkfs.btrfs /dev/xvdc

WARNING! - Btrfs v0.19-16-g075587c-dirty IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/xvdc
	nodesize 4096 leafsize 4096 sectorsize 4096 size 1.00GB
Btrfs v0.19-16-g075587c-dirty

[root@~]# mkfs.btrfs /dev/xvdd

WARNING! - Btrfs v0.19-16-g075587c-dirty IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /dev/xvdd
	nodesize 4096 leafsize 4096 sectorsize 4096 size 1.00GB
Btrfs v0.19-16-g075587c-dirty

ファイルシステムが2つ作成されました。次にマウントポイントを2つ作成し、一方を非圧縮、もう一方を圧縮でマウントします。

[root@~]# mkdir /comp_off
[root@~]# mkdir /comp_on
[root@~]# mount -t btrfs /dev/xvdc /comp_off
[root@~]# mount -t btrfs -o compress /dev/xvdd /comp_on

では圧縮がかかるかどうかみてみましょう。
圧縮強度を測るという意味ではあまり意味ないですがddで100Mbyteの空ファイルを作成して消費容量を比較してみます。

[root@~]# df -h /comp_off /comp_on
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvdc             1.0G   28K  1.0G   1% /comp_off
/dev/xvdd             1.0G   28K  1.0G   1% /comp_on

[root@~]# dd if=/dev/zero of=/comp_off/test.img bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.05536 seconds, 1.9 GB/s

[root@~]# dd if=/dev/zero of=/comp_on/test.img bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0550743 seconds, 1.9 GB/s

[root@~]# sync

[root@~]# df -h /comp_off /comp_on
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvdc             1.0G  101M  924M  10% /comp_off
/dev/xvdd             1.0G  3.3M 1021M   1% /comp_on

効いているようです。
今回はBtrfsの基本操作について解説しました。いろいろ使っているとまだKnown Issueも少なくないですが、今後の活発な開発に期待大なファイルシステムには違いありません。新しいカーネルが出るたびに進捗が気になるところです。

with 5 comments

Written by 中嶋 一樹

9月 27th, 2010 at 9:14 am

Posted in Uncategorized

Tagged with ,

Unbreakable Enterprise Kernelを使おう – Btrfsセットアップ編

Unbreakable Enterprise Kernelはカーネル2.6.32をベースとしていますが、このカーネルはBtrfsを有効にしてビルドされています。

/boot/config-2.6.32-100.0.19.el5から抜粋

CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y

つまりカーネル的にはBtrfsが使える状態になっています。しかし!Btrfsでブロックデバイスをフォーマットしたりする一連のユーティリティ(コマンド群)は残念ながらインストールされていません。

Btrfsを使用するにはカーネルがBtrfsをサポートしていることと、ユーザが操作を行うためのユーティリティがインストールされている必要があります。

なのでUnbreakable Enterprise KernelではBtrfsを実質まだサポートしないという状況ですが、せっかくカーネルでBtrfsが有効になっているのですから使ってみたい衝動を抑えきれません。ということでとりあえずやってしまいます。Btrfsってどんなものか見てみるにはよいちょうどよい環境です。

本当はこのユーティリティがRPMで用意されてたりすると簡単なのですが、Oracle Linux用のユーティリティRPMなんてものは都合よく存在するはずもなく、ソースからコンパイルすることになります。そして、結論からいうとちょっと厄介です。なのでVM Templateを作っておきました。Oracle VM用です。このVM TemplateはOracle Linux 5 update 5 x86_64をベースにUnbreakable Enterprise Kernelをインストールしてあり、なおかつBtrfsのユーティリティをビルドしてインストールしてあります。(Btrfsユーティリティは/usr/local/binにいれてあります)

Oracle VM環境を持っている人はこちらをどうぞ。

VM Template: OVM_UEK5U5_X86_64.tar.bz2 (717Mbyte)

*rootパスワードはovsrootです。

2010.09.27追記:Btrfsを使う際はできる限り新しいカーネルの方が安定しています。ということでもはやUnbreakable Enterprise Kernelベースではないですが、カーネル2.6.34ベースでBtrfsが使えるVM Templateを作成しておきました。ダウンロードはこちらから。

下記ではユーティリティのインストール方法を記載しておきます。(上記VM Templateを使われる場合は以下の作業は必要ありません)

まずPublic Yum Serverのレポジトリの中でel5_u5_baseを有効にします。

[el5_ga_base]
name=Enterprise Linux $releasever GA - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/0/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

[el5_u1_base]
name=Enterprise Linux $releasever U1 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/1/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

[el5_u2_base]
name=Enterprise Linux $releasever U2 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/2/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

[el5_u3_base]
name=Enterprise Linux $releasever U3 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/3/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

[el5_u4_base]
name=Enterprise Linux $releasever U4 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/4/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

[el5_u5_base]
name=Enterprise Linux $releasever U5 - $basearch - base
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/5/base/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

[ol5_u5_base]
name=Oracle Linux $releasever - U5 - x86_64 - base
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/5/base/x86_64/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1

[el5_addons]
name=Enterprise Linux $releasever - $basearch - addons
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

[el5_oracle_addons]
name=Enterprise Linux $releasever - $basearch - oracle_addons
baseurl=http://public-yum.oracle.com/repo/EnterpriseLinux/EL5/oracle_addons/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=0

そして必要なパッケージをインストールします。

[root@~]# yum install e2fsprogs-devel zlib-devel

次にgitをインストールします。これはBtrfsのユーティリティをgitのレポジトリから落としてくる必要があるためです。そしてgitはOracleのPublic Yum ServerにはありませんのでEPELからゲットさせていただきます。

EPELとはExtra Packages for Enterprise Linuxの略で、Fedoraプロジェクトの成果物をRHEL用にRPMパッケージ化したものです。RHELとOracle Linuxはバイナリ互換、ということでUnbreakable Enterprise Kernelをインストールした後でもほとんどのEPELのパッケージはそのまま使えます。

EPELをYumのレポジトリとして登録します。

[root@~]# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

gitをインストールします。依存関係があるパッケージが芋づる式にインストールされます。

[root@~]# yum install git

次にgitレポジトリからBtrfsユーティリティのソースをダウンロードします。カレントディレクトリ直下にソースコードが入ったディレクトリが作成されます。

[root@~]# git clone git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs-unstable.git

次にこちらのパッチをコピペしてnkjm-btrfs.patch等として保存します。

diff -u a/btrfs.c b/btrfs.c
--- a/btrfs.c     2010-09-21 20:07:02.000000000 -0400
+++ b/btrfs.c     2010-09-21 20:09:06.000000000 -0400
@@ -14,7 +14,7 @@
  * Boston, MA 021110-1307, USA.
  */

-
+#define _GNU_SOURCE
 #include
 #include
 #include
diff -u a/btrfs-list.c b/btrfs-list.c
--- a/btrfs-list.c     2010-09-21 20:07:02.000000000 -0400
+++ b/btrfs-list.c     2010-09-21 20:09:38.000000000 -0400
@@ -16,6 +16,7 @@
  * Boston, MA 021110-1307, USA.
  */

+#define _GNU_SOURCE
 #ifndef __CHECKER__
 #include
 #include
@@ -662,9 +663,9 @@
                    char **cache_dir_name, u64 *cache_ino,
                    char **cache_full_name)
 {
-     u64 len;
-     u64 disk_start;
-     u64 disk_offset;
+     u64 len = 0;
+     u64 disk_start = 0;
+     u64 disk_offset = 0;
      u8 type;
      int compressed = 0;
      int flags = 0;
Common subdirectories: a/.git and b/.git
Common subdirectories: a/man and b/man

*ちなみにこのパッチは今日現在のユーティリティソースコード用に作ったのでそのうち当たらなくなるかもしれません。そうなったらごめんなさい。

ソースコードのディレクトリに移動しパッチを適用します。

[root@~]# cd btrfs-progs-unstable/
[root@~]# patch < ../nkjm-btrfs.patch

ビルドしてインストールします。

[root@~]# make
[root@~]# make install

これで/usr/local/bin以下にユーティリティのバイナリが、/usr/local/man以下にマニュアルがインストールされます。Btrfsがついに使えるようになりました。

*先ほど紹介したVM Tempalteはここまでの作業がすべて入っています。

それでは別のポストでBtrfsのオペレーションを解説したいと思います。

with one comment

Written by 中嶋 一樹

9月 22nd, 2010 at 2:29 pm

Posted in Uncategorized

Tagged with ,