nkjmkzk.net

powered by Kazuki Nakajima

Archive for the ‘uek’ tag

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 ,

Unbreakable Enterprise Kernelを使おう – OCFS2 1.6 reflink編

Unbreakable Enterprise KernelではOCFS2の最新バージョン、1.6がサポートされます。この日をどれだけ待ちわびたかことか。

OCFS2 1.6の何が良いのか? それは何と言っても「reflink」です。reflinkについては過去にも幾度が言及されていますが、今回初めてすぐに使える&サポートされる形でモジュールが提供されてきました。

reflinkとは感覚的に言えばハードリンクとスナップショットが一緒になったようなものです。スナップショットは非常に便利な機能で、最小限の容量で差分バックアップを一瞬で作成し、複数世代保持できます。通常スナップショットはLUN単位またはファイルシステム単位で取得することになります。reflinkはこのスナップショットをファイル単位で取得できるというものです。これは一部の商用製品を除いてこれまで実現できなかった機能です。アプリケーションデータのスナップショットからVMイメージのスナップショットまでいろんな活用例が容易に想像でき、夢が広がります。

では早速reflinkしてみましょう。

こちらのポストでUnbreakable Enterprise Kernelをインストールすれば、すぐにOCFS2 1.6及びreflinkが使える状態になっています。

まずOCFS2でフォーマットするためのブロックデバイスを用意します。VM環境であれば「Create New Virtual Disk」で新しい仮想ディスクを追加してあげます(ちなみにオンラインで追加できます)。

OCFS2->create_new_virtual_disk

追加が完了するとこうなります。

OCFS2->created_new_virtual_disk

ゲストOSからは/dev/xvdbとして新しいブロックデバイスが見えています。このブロックデバイスをOCFS2でフォーマットします。今回はクラスターは組みませんので-M localでローカルファイルシステム専用にしています。–fs-features=refcontを指定することでこのファイルシステムでreflinkが有効になります。

[root@~]# mkfs.ocfs2 -M local --fs-features=refcount /dev/xvdb

mkfs.ocfs2 1.6.3
Label:
Features: sparse backup-super unwritten inline-data strict-journal-super refcount
Block size: 4096 (12 bits)
Cluster size: 4096 (12 bits)
Volume size: 1073741824 (262144 clusters) (262144 blocks)
Cluster groups: 9 (tail covers 4096 clusters, rest cover 32256 clusters)
Extent allocator size: 4194304 (1 groups)
Journal size: 67108864
Node slots: 1
Creating bitmaps: done
Initializing superblock: done
Writing system files: done
Writing superblock: done
Writing backup superblock: 0 block(s)
Formatting Journals: done
Growing extent allocator: done
Formatting slot map: done
Formatting quota files: done
Writing lost+found: done
mkfs.ocfs2 successful

フォーマット完了です。マウントします。

[root@~]# mount /dev/xvdb /mnt

さぁ、reflinkのテストを行いましょう。abcと書かれたテキストファイル、a.txtを作成します。そしてそのa.txtをreflinkしてaa.txtを作成します。そしてaa.txtをcatしてみると、abcと書かれています。つまり、a.txtとaa.txtがリンクしているのがわかります。

[root@~]# vi a.txt
abc
[root@~]# reflink a.txt aa.txt
[root@~]# cat aa.txt
abc

つぎにaa.txtの中身を編集してみます。その後、a.txtとaa.txtを見てみると別々の文字列が保存されていることが確認できます。これが単なるハードリンクではなく、「ハードリンク+スナップショット」と書いた由縁です。

[root@~]# vi aa.txt
abc
def

[root@~]# cat a.txt
abc

[root@~]# cat aa.txt
abc
def

次の実験。reflinkで作成したファイルはCoWなので作成時には容量を消費しません。まずは現在のOCFS2ファイルシステムの空き容量を確認します。そしてddで100Mbyteのファイルtest.imgを作成し、空き容量が100Mbyte消費されることを確認します。次にtest.imgをreflinkしてtest.img.bakを作成し、双方のファイル容量とファイルシステム空き容量をもう一度確認します。ファイルは双方とも100Mbyte消費しているものの、ファイルシステムの空き容量は減っていないことが確認できます。

[root@~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvdb             1.0G   81M  944M   8% /mnt

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

[root@~]# df -h /mnt
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvdb             1.0G  187M  838M  19% /mnt

[root@~]# reflink test.img test.img.bak
[root@~]# ll -h
total 200M
-rw-r--r-- 1 root root    8 Sep 21 01:48 aa.txt
-rw-r--r-- 1 root root    4 Sep 21 01:36 a.txt
drwxr-xr-x 2 root root 3.9K Sep 21 01:35 lost+found
-rw-r--r-- 1 root root 100M Sep 21 01:52 test.img
-rw-r--r-- 1 root root 100M Sep 21 01:54 test.img.bak

[root@~]# df -h /mnt
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvdb             1.0G  187M  838M  19% /mnt

さらに、reflinkが面白いのはスナップショットにあるマスター/スレーブのような主従関係がないことです。つまり、reflink元のファイル、a.txtを消去してもaa.txtは影響を受けません。容量は効率的に消費するものの、ファイルとしては完全に独立しているのです。

[root@~]# rm a.txt
[root@~]# cat aa.txt
abc
def

楽し過ぎます。これがOCFS2 1.6の目玉機能、reflinkです。

with 3 comments

Written by 中嶋 一樹

9月 21st, 2010 at 3:07 pm

Posted in Uncategorized

Tagged with , ,

Unbreakable Enterprise Kernelを使おう – インストール編

9/19に行われたOracle Open World 2010のキーノートにてUnbreakable Enterprise Kernelがアナウンスされ、即時利用可能になっています。

Oracle Linux with Oracle’s Unbreakable Enterprise Kernel

Unbreakable Enterprise KernelはOracleが満を持して投入するOracle Linuxのカスタムカーネルとそのサブセットです。カーネルは2.6.32がベースとなっており、OCFS2 1.6をはじめ多くの拡張が施されています。
コミュニティでの最新の開発成果とOracleがハイエンドシステムで培ったカスタマイズを盛り込み、かつ完全にサポートを得られるOS、それがOracle Linux with Oracle’s Unbreakable Enterprise Kernelです。(長くてすみません)

そして驚くべきことにこのUnbreakable Enterprise Kernelは誰でも利用可能です。利用するにあたりサポート契約は必要ありません。
んじゃ早速使ってみようじゃないの!ということでインストールしてみます。

Unbreakable Enterprise Kernelは新しいOSディストリビューションとして提供されるわけではなく、RPM形式で既存のOracle Linuxにアップデートインストールすることになります。
Oracle LinuxのUBL契約(サポート契約)をお持ちの方はこれまで通りULN(Unbreakable Linux Network)を使ってインストールできます。ULNにはすでに「Oracle Linux 5 Latest (x86_64)」のChannelが開設されていますのでこのChannelを対象Systemのサブスクリプションに追加し、その後でup2dateコマンドを発行すればインストールできます。

OL->ULN
が、UBL契約がある方はそもそも正式な問い合わせ先があるはずなので詳しくは割愛します。

下記ではまったく何の契約もしてないユーザがUnbreakable Enterprise Kernelをインストールする手順をまとめておきます。

まずは素のOracle Linuxを用意します。今すでにOracle Enterprise Linux 5.x x86_64のOSが手元にあればそれでOKです。なければOracle Linux 5.5 x86_64を普通にインストールしましょう。

*ちなみにUnbreakable Enterprise Kernelは64bit版のみの提供です。ハイエンド向けなので。

今回下記の手順はOracle VM上のゲストOSで行っており、ゲストOSにはOracle Linux 5 update 5 template – PV x86_64(64bit)のVM Templateを使用しています。
OL->E-delivery

Unbreakable Enterprise Kernelのバイナリは1つしかありませんが、このひとつのバイナリでベアメタル(非仮想化)OS、準仮想化OS双方に対応します。これは、このカーネルでPvopsが有効となっていることを意味しています。先進のカーネルを使うことにはこのようなメリットもあるわけです。

Oracle Linuxの準備が整ったら、OSにログインしてPublic Yum Serverを登録します。Public Yum ServerとはOracleがOracle LinuxおよびOracle VMのレポジトリをyumを使ってインストール/アップデートできるように一般公開しているものです。ここにはパッチは含まれませんが、Unbreakable Enterprise Kernelをここから取得することができます。Public Yum Serverを登録するには下記のよう.repoファイルを入手し、このファイルを編集してoel5_u5_baseのレポジトリを有効化します。

[root@~]# cd /etc/yum.repos.d/
[root@~]# wget http://public-yum.oracle.com/public-yum-el5.repo
[root@~]# vi public-yum-el5.repo
[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=0

[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

次に依存関係のあるASM関連パッケージとocfs2関連パッケージを一旦削除します。

[root@~]# yum erase oracleasm oracleasm-support ocfs2 ocfs2-tools

アップデートを実施します。この操作でカーネルをはじめ、多くのUnbreakable Enterprise Kernelパッケージがインストールされます。

[root@~]# yum update

ocfs2関連パッケージをインストールします。

[root@~]# yum install ocfs2-tools ocfs2console reflink

これで全てではありませんが、主要なUnbreakable Enterprise Kernelパッケージのインストールは完了です。リブートして新しいカーネルで無事ブートできることを確認します。

[root@~]# init 6

ブート後にカーネルバージョンをみておきましょう。

[root@~]# uname -r
2.6.32-100.0.19.el5

これでアップデートは完了です。
別のポストでUnbreakable Enterprise Kernelの醍醐味を紹介してきたいと思います。

with 4 comments

Written by 中嶋 一樹

9月 21st, 2010 at 2:06 pm

Posted in Uncategorized

Tagged with