Copyright © 2004 Red Hat, Inc.
次のトピックがリリースノートに含まれます。
Red Hat Enterprise Linux インストールプログラム (Anaconda) への変更点
全般事項
zfcp ドライバを使用する
RAID ベース及びマルチパスストレージを設定するためにmdadmを使用する
SCSI デバイスから IPL を設定する
カーネル関連の情報
ドライバ及びハードウェアサポートへの変更点
パッケージへの変更点
このセクションでは、Red Hat Enterprise Linux インストールプログラムの Anaconda に関連する点を説明します。
イ ンストール済みの Red Hat Enterprise Linux 3 システムを Update 2 にアップグレードするためには、Red Hat Network を使用して変更しているパッケージをアップデートする必要があります。Update 2 へのアップグレードに Anaconda を使用する場合はサポート対象外です。
Anaconda は Red Hat Enterprise Linux 3 Update 2 の新規インストールのみに使用してください。
Red Hat Enterprise Linux 3 Update 2 CD-ROM の内容をコピーする場合は(例、ネットワークベースのインストールのため)、オペレーティングシステムの CD-ROM だけをコピーするよう注意してください。エクストラ CD-ROM や一連の製品 CD-ROM はコピーしないでください。Anaconda が正しく動作するために必要となるファイルを上書きしてしまいます。
これら CD-ROM は Red Hat Enterprise Linux のインストールが終了してからインストールします。
このセクションでは、本リリースノートの他のセクションに特定しない全般事項について説明します。
各種システム設定制限についての情報は次を参照してください。
NIS を使用するときログインを早くするために、NIS クライアントへのグループ関連情報の提供にgroups.bynameマップを使用せず、代わりに netid.byname マップの使用をリクエストできるようになりました。元々、このマップはこのような目的で使用されるものではありませんが、ほとんどの設定で必要な情報を含んでおり、最近の Linux 及び Solaris™ の NIS サーバ上ではデフォルトで生成されます。
この機能を使用できるようにするには、/etc/default/nssで次の行を探します。
# NETID_AUTHORITATIVE=TRUE
次に、テキストエディタを使って先頭の '#' 文字を削除し、完了したら変更を保存します。
netid.bynameマップのクロスチェックは NIS サーバ、クライアントのいずれによっても行われません。従って、netid.bynameが適切な情報を含んでいることを確認するのはシステム管理者の責務となります。
また、services.byservicenameマップを使ってNIS のパフォーマンスを向上させることができます。このマップが存在し正しく構築されていれば、/etc/default/nssで次のように設定するとマップの使用を開始するようにできます。
SERVICES_AUTHORITATIVE=TRUE
services.byservicenameマップにはキーとしてサービス名とエイリアスの両方が含まれ、またプロトコルの指定なしと指定ありの両方が含まれている必要があります。最近更新された Red Hat Enterprise Linux 及び Solaris の NIS サーバは正しく構築されたservices.byservicenameマップを提供しています。
Red Hat Enterprise Linux 3 Update 2 エクストラ CD-ROM には fonts-monotype パッケージが含まれています。このオプションパッケージにはAgfa Monotype による Albany™、Cumberland™、Thorndale™のフォントが入っています。これらのフォントは、他の一般的なオペレーティングシステムに収録されているコアフォントに近いメトリクスのドキュメントフォントコアセットを提供しています。
Red Hat Enterprise Linux 3 Update 2 は Linux 監査システムの LAuS を特色としています。このシステムは、高度に設定が可能で、堅牢なシステムコール使用のロギングを促進するカーネル常駐コンポーネントとユーザー領域コン ポーネントから構成されています。このリリースノートでは監査システムの組み立て方、作動させるための基本的な情報の概要を説明します。また、この新しい 機能を十分に利用するために役立つ関連ドキュメントについても触れています。
LauS は2種類のコンポーネントから構成されています。
カーネルコンポーネント
ユーザー領域コンポーネント
Red Hat Enterprise Linux 3 Update 2 で提供されるデフォルトのカーネルには、システムコール監査を使用できるようにする変更が含まれています。監査システムを使用しないときは、これらの変更 はニュートラルです。カーネルコンポーネントはキャラクタ特殊デバイスで監査機能へのアクセスを提供しています — /dev/audit。このデバイスで、ユーザー領域デーモン (auditd) が監査機能を有効にしたり無効にすることができるようになり、システムコールの呼び出しがログされる必要があるときに確認するため使用するルールセットをカーネルに提供できます。このデバイスもauditdで使用され、監査ログへの転送のためにカーネルから監査記録を検索します。監査機能の動作の管理及び調整のためのサポートされている ioctl() コール及び /proc/ インターフェースについては audit(4) man ページを参照してください。
カーネルから監査ログに監査記録を転送したり、結果として生じたデータを処理するプログラムがいくつか提供されています。これらのプログラム及びプログラムのドキュメントは laus パッケージにあります。
プ ロセスが監査可能としてカーネルに自身を登録すると、監査機能がプロセスに対して行われます。 この登録は登録プロセスから開始したプロセスすべてに伝達されます。カーネル監査が有効になっているときはすべてのユーザーセッションの監査を確実に行う ように PAM に修正が加えられています。
監査デーモンはサービスとして実行することができ、chkconfig で設定することができます。監査デーモンはスタートアップで /etc/audit/ からいくつかのファイルを読み込みます。
/etc/audit/audit.conf の内容は監査記録をどこにどのように記述するか、ログが使用可能ディスク領域を超過した場合はどうするかを指定しています。/etc/audit/filesets.conf と /etc/audit/filters.conf はシステムコールが監査可能な場合にカーネルが確認するために使用するルールセットを指定します。監査デーモンは -r オプションを付けて実行することもでき、auditd にルールセットを再ロードしてカーネルに変更をすべて伝えるように指示します。詳細については、auditd(8)、audit-filters(5)、audit-conf(5)、audit-filesets(5) の man ページを参照してください。
こ のプログラムはコンテクスト自体及びプログラムがそのコマンドラインで指定した execs の監査を有効にします。一般的にはユーザーセッション部分ではないプロセスでの監査を有効にするのに使用します。詳細については、aurun(8) man ページを参照してください。
このプログラムは audit ログの内容を標準出力に書き込みます。また、必要とされる詳細レベルを指定するオプションもあります。詳細については aucat(1) man ページを参照してください。
SCSI-over-fiber ドライバ (zfcp と呼ばれる)を使うには、次のステップに従います。
1. /etc/modules.conf にある zfcp モジュールオプション情報に適当なデバイスマップを追加します
2. 適切なデバイスファイルを作ります
3. 適当なパーティションをディスクに作成します
4. mkinitrd を使って新しい initrd ファイルを生成します
5. zipl を実行してシステムブートローダを更新します
最初のステップはシステム設定に適切なデバイスマップを作成します。デバイスマップの正確な形式は次の変数により異なります。
· デバイスの数
· これらデバイスへのパス数
· これらデバイスで示される LUN の数
次のセクションでは異なるデバイスマップをいくつか説明します。
シングルデバイス/シングルパス/シングルLUN 用のデバイスマップ
次の /etc/modules.conf ファイルの例では、シングル SCSI LUN がカーネルに対して /dev/sda として示されています。0x4000 デバイスを使い、 対応 World-Wide Port Name (WWPN) 0x5105076300c213e9 経由で Linux カーネルに SCSI LUN 0x5010 を示しています。
alias eth0 qeth
options dasd_mod dasd=200-201
options scsi_mod max_scsi_luns=50
options zfcp 'map="0x4000 0x01:0x5105076300c213e9 0x0:0x5010000000000000;"'
zfcp モジュールをインストールすると、次のようなコンソールメッセージが sda として認識されるドライブを表示します。
zfcp: zfcp_module_init: driver version 0x3009d
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Attached scsi disk sda at scsi0, channel 0, id 1, lun 0
SCSI device sda: 7812544 512-byte hdwr sectors (4000 MB)
シングルデバイス/シングルパス/複数 LUN 用のデバイスマップ
次の /etc/modules.conf ファイルの例では、複数の SCSI LUN がシングルパスを使って示されています。
alias eth0 qeth
options dasd_mod dasd=200-201
options scsi_mod max_scsi_luns=50
options zfcp 'map="
0x4000 0x01:0x5105076300c213e9 0x0:0x5010000000000000;
0x4000 0x01:0x5105076300c213e9 0x1:0x5011000000000000;
0x4000 0x01:0x5105076300c213e9 0x2:0x5012000000000000 "'
上記のマップは読みやすい形式で示されていますが(改行を使用)、実際の zfcp オプションの行は改行がなくすべてが一行で示されます。
zfcp モジュールをインストールすると、次のようなコンソールメッセージが sdc を介して sda として認識されるドライブを表示します。
zfcp: zfcp_module_init: driver version 0x3009d
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Attached scsi disk sda at scsi0, channel 0, id 1, lun 0
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 1
Attached scsi disk sdc at scsi0, channel 0, id 1, lun 2
SCSI device sda: 7812544 512-byte hdwr sectors (4000 MB)
SCSI device sdb: 7812544 512-byte hdwr sectors (4000 MB)
SCSI device sdc: 7812544 512-byte hdwr sectors (4000 MB)
複数デバイス/シングルパス/複数 LUN 用のデバイスマップ
次の /etc/modules.conf ファイルの例では、複数の SCSI LUN が複数のデバイスを使って示されています。このマップは 2 つの WWPN (0x5105076300c213e9 と 0x5105076300cb13e9) 経由で 3 つのデバイス(0x4000 から 0x4002まで)を使い 4 つのディスクを定義しています。
alias eth0 qeth
options dasd_mod dasd=200-201
options scsi_mod max_scsi_luns=50
options zfcp 'map="
0x4000 0x01:0x5105076300c213e9 0x0:0x5010000000000000;
0x4000 0x02:0x5105076300cb13e9 0x0:0x5011000000000000;
0x4001 0x01:0x5105076300c213e9 0x0:0x5012000000000000;
0x4002 0x01:0x5105076300c213e9 0x0:0x5013000000000000 "'
zfcp モジュールをインストールすると、次のようなコンソールメッセージが sdd 経由で sda として認識されるドライブを表示します。
zfcp: zfcp_module_init: driver version 0x3009d
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Vendor: IBM Model: 2105F20 Rev: .674
Type: Direct-Access ANSI SCSI revision: 03
Attached scsi disk sda at scsi0, channel 0, id 1, lun 0
Attached scsi disk sdb at scsi0, channel 0, id 2, lun 0
Attached scsi disk sdc at scsi1, channel 0, id 1, lun 0
Attached scsi disk sdd at scsi2, channel 0, id 1, lun 0
SCSI device sda: 7812544 512-byte hdwr sectors (4000 MB)
SCSI device sdb: 7812544 512-byte hdwr sectors (4000 MB)
SCSI device sdc: 7812544 512-byte hdwr sectors (4000 MB)
SCSI device sdd: 7812544 512-byte hdwr sectors (4000 MB)
次のステップでは必要なデバイスファイルを作成します。これは mknod コマンドから行います。例えば、1番目の SCSI ディスクのデバイスファイルを作成するには、次のコマンドを使います。
# mknod /dev/sda b 8 0
パーティションのアクセスには追加デバイスファイルが必要となる場合がありますので注意してください(例、sda1)。詳細については mknod の man ページを参照してください。
次に、ディスクにパーティションを作成することができるようになります。適切なサイズのパーティションをディスクに割り当てる他、このステップではデバイスマップとデバイスファイルが正しく作成されていることも確認できます。
(次の例では、parted(高性能で柔軟性のあるディスクパーティションユーティリティ)も使えますがfdiskユーティリティを使用しています。)
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 4000 MB, 4000022528 bytes
124 heads, 62 sectors/track, 1016 cylinders
Units = cylinders of 7688 * 512 = 3936256 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 900 3459569 83 Linux
/dev/sda2 901 1016 445904 fd Linux raid autodetect
Command (m for help):
ディスクがアクセス可能になりパーティションを適切なサイズに作成したら、IPL 時にディスクがアクセス可能であることを確認する必要があります。これを確認するには、新しい初期 ramdisk ("initrd" とよく呼ばれる)ファイルを作成する必要があります。mkinitrd コマンドを使います。
# mkinitrd -f --with=zfcp /boot/initrd-2.4.21-9.EL.img-zfcp 2.4.21-9.EL
システムの環境により、mkinitrdコマンドが追加モジュールを含むよう変更する必要があるかもしれません。例えば、以下の例では RAID レベル 0 をサポートするモジュールが含まれています。
# mkinitrd -f --with=zfcp --with=raid0 /boot/initrd-2.4.21-9.EL.img-zfcp 2.4.21-9.EL
次に、新しく作成した initrd ファイルをポイントするように、zipl.conf ファイルの ramdisk の値を変更します。
[defaultboot]
default=linux
target=/boot/
[linux]
image=/boot/vmlinuz-2.4.21-9.EL
ramdisk=/boot/initrd-2.4.21-9.EL.img-zfcp
parameters="root=LABEL=/"
最後に、zipl を実行してブートローダをインストールします。
# /sbin/zipl
zipl が完了したら、IPL を行って変更を確認します。
mdadm コマンドは本リリースノートをお読みになる方にとって聞きなれないコマンドかもしれません。しかし、raidtools パッケージを構成する各種ツールと同様、mdadm はマルチプルデバイスセットの管理関連に必要な機能すべてを行うことができます。このセクションでは、mdadmの使い方について説明します。
· RAID デバイスを作成します
· マルチパスデバイスを作成します
mdadm で RAID デバイスを作成します
RAID デバイスを作成するには、/etc/mdadm.conf ファイルを編集して適切な DEVICE と ARRAY の値を定義します。
DEVICE /dev/sd[abcd]1
ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1,/dev/sdc1,/dev/sdd1
この例では、DEVICE の行は次の SCSI デバイスを定義するのに元々のファイルネーム glob を使っています(詳細は glob(7) の man ページを参照)。
· /dev/sda1
· /dev/sdb1
· /dev/sdc1
· /dev/sdd1
ARRAY では、DEVICE 行で定義される SCSI デバイスから構成される RAID デバイス (/dev/md0) を定義しています。
RAID デバイスの作成または使用前は、/proc/mdstat ファイルはアクティブな RAID デバイスがないことを表示します。
Personalities :
read_ahead not set
Event: 0
unused devices: <none>
次に、上記の設定と mdadm コマンドを使用して、RAID 0 アレイを作成します。
mdadm -C /dev/md0 --level=raid0 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.
作成が完了すると、RAID デバイスはステータス情報を提供するためにいつでも問い合わせを受けることができます。次の例ではmdadm --detail /dev/md0 コマンドからの出力を示しています。
/dev/md0:
Version : 00.90.00
Creation Time : Mon Mar 1 13:49:10 2004
Raid Level : raid0
Array Size : 15621632 (14.90 GiB 15.100 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Mar 1 13:49:10 2004
State : dirty, no-errors
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Chunk Size : 64K
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
3 8 49 3 active sync /dev/sdd1
UUID : 25c0f2a1:e882dfc0:c0fe135e:6940d932
Events : 0.1
mdadm を使ってマルチパスデバイスを作成する
RAID アレイの作成の他にも、mdadm は個別の SCSI LUN (ディスクドライブ)への複数 I/O パスをサポートするハードウェアの利点を活用するために使用できます。マルチパスストレージの目的はハードウェア障害や個々のパスの飽和状態が起きた際に 継続的にデータを利用できるようにすることです。この設定には一般的な SCSI LUN (ディスクドライブ)にアクセスする複数パス(それぞれが独立した仮想コントローラとして動作する)が含まれているので、Linux カーネルは、それぞれパスを"通ると"各共有ドライブを検出します。つまり、特定の設定により /dev/sdaと呼ばれる SCSI LUN (ディスクドライブ)も /dev/sdb、/dev/sdc などとしてアクセス可能である場合があります。
I/O パスがフェールする、または飽和状態になる場合にもアクセスできるシングルデバイスを提供するために、mdadm はその --level オプションに対して追加のパラメータを含んでいます。このパラメータ — multipath — は、I/O パスがフェールすると Linux カーネル内の md 層が I/O 要求を別の経路へ再転送するよう指示します。
マルチパスデバイスを作成するには、/etc/mdadm.conf ファイルを編集して、ハードウェアの設定を反映する DEVICE と ARRAY の行の値を定義します。
前の RAID の例(/etc/mdadm.confで指定されている各デバイスが異なる物理ディスクドライブを表さなければならない)と異なり、このファイルの各デバイスは同じ共有ディスクドライブを指します。
マルチパスデバイスの作成に使用したコマンドは、RAID デバイスを作成するのに使用するものと似ています。違いは、RAID レベルパラメータが multipath パラメータになることです。
mdadm -C /dev/md0 --level=multipath --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.
この例では、ハードウェアは 異なる経路で同じストレージにアクセスする 4つの独立した SCSI デバイスとして示される 1つの SCSI LUN から構成されています。マルチパスデバイス /dev/md0 を作成したら、/dev/md0 を参照する I/O の動作はすべて /dev/sda1、/dev/sdb1、/dev/sdc1、/dev/sdd1 のいずれかに転送されます(現在アクティブで使用可能なパスによる)。
/dev/md0 の設定は、 実際にそれがマルチパスデバイスであることを確認するために mdadm --detail /dev/md0 コマンドを使って詳細に調べることができます。
/dev/md0:
Version : 00.90.00
Creation Time : Tue Mar 2 10:56:37 2004
Raid Level : multipath
Array Size : 3905408 (3.72 GiB 3.100 GB)
Raid Devices : 1
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Mar 2 10:56:37 2004
State : dirty, no-errors
Active Devices : 1
Working Devices : 4
Failed Devices : 0
Spare Devices : 3
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 17 1 spare /dev/sdb1
2 8 33 2 spare /dev/sdc1
3 8 1 3 spare /dev/sda1
UUID : 4b564608:fa01c716:550bd8ff:735d92dc
Events : 0.1
mdadm の別の機能としてデバイス(RAID アレイのメンバ、またはマルチパス設定でパスにする)が動作設定から強制的に削除されるようにする機能があります。次の例では、/dev/sda1 が障害ありのフラグが付き、一度削除されてから再び設定に戻されています。マルチパス設定では、これらの動作はそのときに行われている I/O のアクティビティには影響を与えないでしょう。
# mdadm /dev/md0 -f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
# mdadm /dev/md0 -r /dev/sda1
mdadm: hot removed /dev/sda1
# mdadm /dev/md0 -a /dev/sda1
mdadm: hot added /dev/sda1
#
現在、Anaconda は SCSI デバイスへの Red Hat Enterprise Linux 3 直接インストールをサポートしていません。ただし、SCSI デバイスからの IPL 機能を求めているシステム管理者の方には、次のようなマニュアルでの手順が使えます。
ECKD DASD インストールから SCSI ディスクインストールまで Red Hat Enterprise Linux 3 Update 2 システム環境(z/VM ゲストとしてまたは LPAR で実行)の移行に関するステップバイステップのガイドです。これを実行するには、ECKD DASD にインストールされている Red Hat Enterprise Linux 3 で開始しなければなりません。また、空の SCSI ディスクへのアクセスも必要になります。
Red Hat Enterprise Linux 3 Update 2 で開始する必要があります。
(1) SCSI 及び zFCP デバイスドライバをロードします
ECKD インストールに root としてログインしてから対象 SCSI ディスクにアクセスする対応デバイスドライバをロードします。
まず、SCSI デバイスドライバを追加します。
# modprobe scsi_mod
次に、zfcp デバイスドライバを追加して SCSI ディスクの認識に必要なパラメータを指定します。
以下の番号は参考例です。システム設定に対する正しい番号を確認してください。
· zFCP アダプタのデバイス番号 (0x5480)
· ストレージデバイスの WWPN (World Wide Port Name)(0x5005076300cb93cb)
· SCSI ディスクの LUN (Logical Unit Number)(0x5123000000000000)
これらのパラメータを指定するときよく間違えるエラーとして、ゼロを省略してしまう、各番号を"0x"で始めるの忘れてしまうなどがあります。
# modprobe zfcp loglevel="0x00000000" map="0x54800x1:0x5005076300cb93cb 0x0:0x5123000000000000"
SCSI ディスクデバイスドライバを追加します。
# modprobe sd_mod
正しい SCSI ディスクを使っていることを必ず確認してください。/proc/scsi/zfcp/mapファイルにエントリは1つだけです。エントリが複数ある場合は、対応デバイスノードを使用しなければなりません。この例では、1番目に記載されているので/dev/sdaになります。ただし、SCSI ディスクが2番目に記載されている場合は、代わりに/dev/sdbを使わなければなりません。また、rmmod コマンドを使って3つのデバイスドライバをアンロードすることもできます。これにより、すべての /proc/scsi/zfc/map エントリが削除されます。1つのディスクだけでこれらを再びロードできるようにします。
# cat /proc/scsi/zfcp/map
0x5480 0x1:0x5005076300cb93cb 0x0:0x5123000000000000
ここで、/proc/ファイルシステムにある SCSIディスクを検出してください。
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 01 Lun: 00
Vendor: IBM Model: 2105F20 Rev: 2.91
Type: Direct-Access ANSI SCSI revision: 03
(2) パーティション作成、フォーマット、マウント
fdisk コマンドを使って、SCSI ディスクにパーティションを1つ作成します。
(次の例では、parted(高性能で柔軟性のあるディスクパーティションユーティリティ)も使えますがfdiskユーティリティを使用しています。)
# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 2000 MB, 2000027648 bytes
62 heads, 62 sectors/track, 1016 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1016, default 1): <Enter>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1016, default 1016): <Enter>
Using default value 1016
Command (m for help): p
Disk /dev/sda: 2000 MB, 2000027648 bytes
62 heads, 62 sectors/track, 1016 cylinders
Units = cylinders of 3844 * 512 = 1968128 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1016 1952721 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
mke2fs コマンドを使って新しいパーティションに ext3 ファイルシステムを作成します。-j オプションは ext2 ファイルシステムから ext3 にするジャーナルを作成します。
デバイス全体(/dev/sda)ではなく、パーティション(/dev/sda1)を指定していることを確認します
# mke2fs -j /dev/sda1
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
244736 inodes, 1952721 blocks
97636 blocks (5.00%) reserved for the super user
First data block=1
239 block groups
8192 blocks per group, 8192 fragments per group
1024 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
1024001
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 38 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
新しく作成したファイルシステムを /mnt にマウントします。mount コマンドに -t オプションを使ってファイルシステムを指定する必要があります。
# mount -t ext3 /dev/sda1 /mnt/
(3) ファイル構成を作成します
次に、ECKD DASD 上と同じファイル構成を作成してください。ディレクトリの作成から開始します。
# cd /mnt/
# mkdir mnt proc tmp
# ls -l
total 15
drwx------ 2 root root 12288 Jan 30 13:38 lost+found
drwxr-xr-x 2 root root 1024 Jan 30 13:41 mnt
drwxr-xr-x 2 root root 1024 Jan 30 13:41 proc
drwxr-xr-x 2 root root 1024 Jan 30 13:41 tmp
次に、その他すべてのファイルとディレクトリを SCSI ディスクにコピーします。
# cp -r --no-dereference --preserve=all --target-directory=/mnt \
> /bin /boot /dev /etc /home /initrd /lib /lib64 /misc /opt /root /sbin /usr /var
# ls
bin boot dev etc home initrd lib lib64 lost+found misc mnt opt
proc root sbin tmp usr var
次に、/tmp/ ディレクトリのパーミッションを変更します。 各ユーザーが /tmp/ ディレクトリに書き込みできるようになっていなければなりませんが、削除できるのは自分のファイルだけで他のユーザーのファイルは削除できないようになっていなければなりません。
# chmod 1777 /mnt/tmp/
# ls -l /mnt/ | grep tmp
drwxrwxrwt 2 root root 1024 Jan 30 13:41 tmp
(4) 設定ファイルを編集します。
パラメータファイルを編集して、新しい root ファイルシステムを指定します。これは SCSI ディスクのはずです。
# cat /mnt/boot/parmfile.1
root=LABEL=/1
# vi /mnt/boot/parmfile.1
# cat /mnt/boot/parmfile.1
root=/dev/sda1
/etc/fstabファイルを編集して root ファイルシステムデバイスをSCSI ディスク(例では/dev/sda1)に変更します。/boot/ ディレクトリも SCSI ディスクにコピーしているのでその行は必要性がなくなります。
この例の目的上、swap パーティションは含まれていません。
# cat /mnt/etc/fstab
LABEL=/1 / ext3 defaults 1 1
LABEL=/boot1 /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
/dev/dasda3 swap swap defaults 0 0
# vi /mnt/etc/fstab
# cat /mnt/etc/fstab
/dev/sda1 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
最後に、SCSI ディスクのマッピングを modules.conf 設定ファイルに追加する必要があります。このマッピングは、ブートしている間に zfcp デバイスドライバに渡され、SCSI root ファイルシステムをマウントするのに必要になります。タイプミスには十分注意を払ってください。
insmodパ ラメータ解析が行われる方法のため、パラメータ一覧全体を"'"(アポストロフィ)で囲む必要があります("単一引用符"と呼ばれることもある)。また、 二重引用符を使ってマッピングパラメータを囲む必要があります。次の例では、単一引用符と二重引用符の正しい使い方を示します。
# cat /mnt/etc/modules.conf
alias eth0 qeth
options dasd_mod dasd=5c31
# vi /mnt/etc/modules.conf
# cat /mnt/etc/modules.conf
alias eth0 qeth
options dasd_mod dasd=5c31
options zfcp 'map="0x5480 0x1:0x5005076300cb93cb 0x0:0x5123000000000000"'
(5) 新規の ramdisk を作成します。
次に、必要とされるデバイスドライバで新しい ramdisk を作成してください。例えば、zfcp デバイスドライバは root ファイルシステムをマウントするために必要とされ、SCSI ディスク上にあります。つまり、zfcp ドライバモジュールはブートプロセス中に SCSI ディスクから読み込まれなければなりませんが、FCP がすでにこのディスクにアクセスして root ファイルシステムをマウントするのに必要です — ramdisk はこのパラドックスを解決します。
マウントした SCSI ディスクの ramdisk を作成し、既存の DASD ramdisk を上書きしないようにするために(編集した modules.conf ファイルを使用して、オリジナルの ECKD DASD modules.conf は使用しないことの他にも)、change-root(または chroot) 環境を使用してください。これにより、/mnt/ディレクトリを一時的に root ディレクトリにします。
chrootコマンドを忘れないようにしてください。不適当な modules.conf ファイルを使うことにより、DASD ramdisk を変更し間違ったマッピングを使用してしまうことになりかねません。
# chroot /mnt/
正しい chroot コマンドを発行したか確認する方法のひとつとして、/mnt/ ディレクトリ内のファイルを探します。/mnt/ は SCSI ディスク上の /mnt/ ディレクトリに対応しているはずですから、ファイルは空のはずです。DASD のディレクトリにはアクセスできないはずです。
ここで、次のコマンドを使って新しい ramdisk を構築します。
# cd boot
# mkinitrd -v --with=scsi_mod --with=zfcp --with=sd_mod initrd-2.4.21-9.EL.scsi.img 2.4.21-9.EL
Looking for deps of module ide-disk
Looking for deps of module ext3 jbd
Looking for deps of module jbd
Looking for deps of module scsi_mod
Looking for deps of module zfcp scsi_mod qdio
Looking for deps of module scsi_mod
Looking for deps of module qdio
Looking for deps of module sd_mod scsi_mod
Looking for deps of module scsi_mod
Using modules: ./kernel/fs/jbd/jbd.o ./kernel/fs/ext3/ext3.o
./kernel/drivers/scsi/scsi_mod.o \
./kernel/drivers/s390/qdio.o ./kernel/drivers/s390/scsi/zfcp.o
./kernel/drivers/scsi/sd_mod.o
Using loopback device /dev/loop0
/sbin/nash -> /tmp/initrd.nUPsUg/bin/nash
/sbin/insmod.static -> /tmp/initrd.nUPsUg/bin/insmod
`/lib/modules/2.4.21-9.EL/./kernel/fs/jbd/jbd.o' ->
`/tmp/initrd.nUPsUg/lib/jbd.o'
`/lib/modules/2.4.21-9.EL/./kernel/fs/ext3/ext3.o' ->
`/tmp/initrd.nUPsUg/lib/ext3.o'
`/lib/modules/2.4.21-9.EL/./kernel/drivers/scsi/scsi_mod.o' ->
`/tmp/initrd.nUPsUg/lib/scsi_mod\
.o'
`/lib/modules/2.4.21-9.EL/./kernel/drivers/s390/qdio.o' ->
`/tmp/initrd.nUPsUg/lib/qdio.o'
`/lib/modules/2.4.21-9.EL/./kernel/drivers/s390/scsi/zfcp.o' ->
`/tmp/initrd.nUPsUg/lib/zfcp.o'
`/lib/modules/2.4.21-9.EL/./kernel/drivers/scsi/sd_mod.o' ->
`/tmp/initrd.nUPsUg/lib/sd_mod.o'
Loading module jbd
Loading module ext3
Loading module scsi_mod
Loading module qdio
Loading module zfcp with options 'map="0x5480 0x1:0x5005076300cb93cb 0x0:0x5123000000000000"'
Loading module sd_mod
mkinitrd の出力をチェックして、例で示すように zfcp デバイスドライバが存在し正しいオプションが(引用符も含めて)あるか確認します。すべてが正しいようなら、chroot 環境を終了します。
# exit
exit
(6) SCSI ディスクをブート可能にします。
SCSI ディスクは zipl ツールで準備してください。 この例では、zipl 設定ファイルの代わりに zipl コマンドラインオプションが使われています。
zipl コマンドを発行する前に、新しく構築した ramdisk を指定していること、SCSI ディスクにディレクトリを変更していることを確認してください。"-t ." オプションは現在のディレクトリが存在しているディスクにブートレコードを書き込みます。
# cd /mnt/boot/
# /root/s390-tools-1.2.4/zipl/src/zipl -V -t . -i vmlinuz-2.4.21-9.EL -p parmfile.1 -r initrd-2.4.21-9.EL.scsi.img
Target device information
Device..........................: 08:00
Partition.......................: 08:01
Device name.....................: sda
Type............................: disk partition
Disk layout.....................: SCSI
Geometry - heads................: 62
Geometry - sectors..............: 62
Geometry - cylinders............: 1016
Geometry - start................: 62
File system block size..........: 1024
Physical block size.............: 512
Device size in physical blocks..: 3905442
Building bootmap './bootmap'
Adding IPL section
kernel image......: vmlinuz-2.4.21-9.EL at 0x10000
kernel parmline...: 'root=/dev/sda1 ' at 0x1000
initial ramdisk...: initrd-2.4.21-9.EL.scsi.img at 0x800000
Preparing boot device: sda.
Detected SCSI PCBIOS disk layout.
Writing SCSI master boot record.
Syncing disks...
Done.
zipl コマンドからの出力の SCSI に対するリファレンスに注意してください。発行したコマンドが正しいことを確認できます。
(7) クリーンアップ
SCSI ディスクの準備手順はこれで終了です。SCSI ディスクをアンマウントしてデバイスドライバを削除します、これは必要なくなります。それからECKD Linux 環境をシャットダウンします。
# cd
# umount /mnt/
# rmmod sd_mod
# rmmod zfcp
# rmmod scsi_mod
# halt
(8) IPL
ここでは z/VM 作動環境下での IPL の手順についてのみ説明しています。
まず、CMS セッションにログインし FCP アダプタを VM ゲストに接続します。
att 5480 *
00: FCP 5480 ATTACHED TO LINUX17 5480
Ready; T=0.01/0.01 14:39:52
q v fcp
00: FCP 5480 ON FCP 5480 CHPID 50 SUBCHANNEL = 000E
00: 5480 QDIO-ELIGIBLE QIOASSIST-ELIGIBLE
Ready; T=0.01/0.01 14:39:57
これで、アダプタが利用可能になります。SCSI IPL に必要とされる他のパラメータは次に指定されます。これは新しい set loaddev CP コマンド (z/VM 4.4) を使って行います。このコマンドには特殊な構文があるので注意してください。例えば、最初の数字8字の後は空白になっている必要があります。詳細については z/VM のドキュメントを参照してください。
set loaddev port 50050763 00cb93cb lun 51230000 00000000
Ready; T=0.01/0.01 14:36:13
q loaddev
PORTNAME 50050763 00CB93CB LUN 51230000 00000000 BOOTPROG 0
BR_LBA 00000000 00000000
Ready; T=0.01/0.01 14:36:17
IPL を行う最後のステップは、FCP アダプタをパラメータとして使います。
i 5480
00: HCPLDI2816I Acquiring the machine loader from the processor controller.
00: HCPLDI2817I Load completed from the processor controller.
00: HCPLDI2817I Now starting machine loader version 0001.
01: HCPGSP2630I The virtual machine is placed in CP mode due to a SIGP stop and store status from CPU 00.
02: HCPGSP2630I The virtual machine is placed in CP mode due to a SIGP stop and store status from CPU 00.
03: HCPGSP2630I The virtual machine is placed in CP mode due to a SIGP stop and store status from CPU 00.
00: MLOEVL012I: Machine loader up and running (version 0.13).
00: MLOPDM003I: Machine loader finished, moving data to final storage location.
Linux version 2.4.21-9.EL (bhcompile@rimmer.z900.redhat.com) (gcc version
3.2.3
20030502 (Red Hat Linux 3.2.3-26)) #1 SMP Thu Jan 8 17:26:32 EST 2004
We are running under VM (64 bit mode)
On node 0 totalpages: 65536
zone(0): 65536 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/sda1
Highest subchannel number detected (hex) : 000E
Calibrating delay loop... 2241.33 BogoMIPS
Memory: 245936k/262144k available (2371k kernel code, 0k reserved, 1003k data, 3 20k init)
これで、Linux 環境が正常に起動するはずです。最後に、Linux にログインしてroot ファイルシステムが実際に SCSI ディスクにあるか確認します。
> ssh root@53v15g17
root@53v15g17's password: <password>
Last login: Mon Feb 16 14:37:16 2004
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1.9G 1.4G 387M 79% /
(9) ヒント
準備が整った SCSI ディスクは、異なるアダプタデバイス番号 (devno) や WWPN を使って IPL することはできません。これらのパラメータは ramdisk にあり、root ファイルシステムをマウントするのに使用されるからです。"オリジナルに準備したパス" が使用できないと、SCSI IPL 自身が Linux 環境を完了して、カーネルパニックで終了します。これは ECKD DASD 上での動作と同じです。
こうした状況になった場合、次のステップが役に立つかもしれません。
(a) SCSI ディスクを ECKD DASD Linux の /mnt/ にマウントする
(b) /mnt/etc/modules.conf のマッピングを変更する (新しい devno または WWPN を使う)
(c) ramdisk を再構築する(前述したように、必ずchroot と mkinitrd を使う)
(d) ブート設定を SCSI ディスクに書き直す (前述したように、zipl を使う)
このセクションは Red Hat Enterprise Linux 3 Update 2 カーネルに関連した事項について説明しています。
Red Hat Enterprise Linux 3 Update 2 には Linux カーネルタイマー割り込みが処理される方法への修正が含まれています。通常、ハードウェアのタイマーは一定の割合で周期的な割り込みを生成するようセット されています(ほとんどのアーキテクチャで1秒に100回)。こうした周期的なタイマー割り込みはカーネルによって使用されプロセッサのスケジューリン グ、アカウンティング、システムのアップタイム管理、など各種の内部ハウスキーピングタスクをスケジュールします。
タイマーベースの方法は1つのカーネルコピーのみが稼働しているシステム環境ではうまく機能しますが、たくさんのカーネルコピーが z/VM® ゲストとして単一システム上で稼働していると余分なオーバーヘッドの要因になります。こうした場合、1000のカーネルコピーがそれぞれ膨大な割り込みを1秒間に生成することで過剰なシステムオーバーヘッドとなります。
従って、Red Hat Enterprise Linux 3 Update 2 では周期的なタイマー割り込みをオフにする機能を含むようになりました。/proc/ ファイルシステムから実行できます。周期的なタイマー割り込みを停止するには、次のコマンドを発行します。
echo "0" > /proc/sys/kernel/hz_timer
周期的なタイマー割り込みをオンにするには、次のコマンドを発行します。
echo "1" > /proc/sys/kernel/hz_timer
デフォルトでは、周期的なタイマー割り込みは機能するようになっています。
これはブート時にセットすることもできます。次の行を /etc/sysctl.conf に追加して周期的なタイマー割り込みを停止します。
kernel.hz_timer = 0
周期的なタイマー割り込みを停止することでシステムアカウンティングツールでの基本的な仮定に違反することになるかもしれません。システムアカウンティン グ関連の誤動作があった場合は、周期的なタイマー割り込みをオンにすることで誤動作がなくなることを確認してから、バグをhttp://bugzilla.redhat.com/で送信するか(付属ツールとして)、そのツールのベンダ(他社ツールの場合)にお問い合わせください。
こ のアップデートにはいくつかのドライバのバグ修正が含まれています。以下の一覧が重要なドライバのアップデートです。いくつかは、オリジナルのドライバが 違う名前で保存されており、後日最新バージョンにドライバの設定を移行したい企業などのためにデフォルトではない代替として利用できるようになっていま す。
ほとんどの場合、各アップデートに保存される旧リビジョンのドライバは1つのみのため、次回 Red Hat Enterprise Linux アップデートを適用する前に、最新ドライバへの移行を完了してください。
また、このリリースノートではこのカーネルアップデートから削除されている旧リビジョンのドライバを示しています。これらドライバには、基本ドライバ名とリビジョンのデジット番号が付いています。例えば、megaraid_2002.oなどです。これらドライバはこのカーネルアップデートをインストールする前に /etc/modules.conf から削除する必要があります。
使用中のドライバを確認するのに最も信頼できる方法は /etc/modules.conf の内容を確認することだけですので注意してください。lsmod コマンドはこのファイルを調べるわけではないので代わりになりません。
IBM ServeRAID (ips ドライバ)
ipsドライバは 6.10.52 から 6.11.07 に更新されています。
新しいドライバは scsi/ips.o です。
旧ドライバは addon/ips_61052/ips_61052.o として保存されています。
6.00.26 ドライバ (ips_60026.o) は削除されています。
LSI Logic RAID (megaraid ドライバ)
megaraid2 ドライバは v2.00.9 から v2.10.1.1 に更新されています。
新しいドライバは scsi/megaraid2.o です。
旧ドライバは addon/megaraid_2009/megaraid_2009.o として保存されています。
デフォルトドライバは v1.18k ドライバ (megaraid.o) のままです。
LSI Logic MPT Fusion (mpt* ドライバ)
これらのドライバは 2.05.05+ から 2.05.11.03 に更新されています。
新しいドライバは message/fusion/ にあります。
旧ドライバは addon/fusion_20505/に保存されています。
Compaq SA53xx Controllers (cciss ドライバ)
cciss ドライバは 2.4.47.RH1 から 2.4.50.RH1 に更新されています。
QLogic Fibre Channel (qla2xxx ドライバ)
これらのドライバは 6.06.00b11 から 6.07.02-RH2 に更新されています。
新しいドライバは addon/qla2200/ にあります。
旧ドライバは addon/qla2200_60600b11/ に保存されています。
QLA2100 アダプタは QLogic によって撤収されていますので注意してください。このアダプタは QLogic または Red Hatでサポートされなくなりました。従って、このドライバは kernel-unsupported パッケージにあります。
Intel PRO/1000 (e1000 ドライバ)
このドライバは 5.2.20-k1 から 5.2.30.1-k1 に更新されています。
Broadcom Tigon3 (tg3 ドライバ)
このドライバは v2.3 から v2.7 に更新されています。
Network Bonding (bonding ドライバ)
このドライバは 2.2.14 から 2.4.1 に更新されています。
Serial ATA (libata ドライバ)
このドライバはバージョン 1.01 に更新されています。
このセクションでは、Update 2 の一部として Red Hat Enterprise Linux 3 から更新または追加されている パッケージを一覧にしています。
このパッケージ一覧には Red Hat Enterprise Linux 3 の全種類からのパッケージが含まれます。ここに記載されているパッケージがご利用のシステムに含まれていないこともあります。
以下のパッケージは オリジナルのRed Hat Enterprise Linux 3 リリースから更新されています。
anaconda
anaconda-images
anaconda-runtime
arptables_jf
arpwatch
at
binutils
clumanager
compat-libstdc++
comps
cpp
cvs
cyrus-sasl
cyrus-sasl-devel
cyrus-sasl-gssapi
cyrus-sasl-md5
cyrus-sasl-plain
devlabel
distcache
distcache-devel
elfutils
elfutils-devel
elfutils-libelf
ethereal
ethereal-gnome
fontconfig
fontconfig-devel
freeradius
freeradius-mysql
freeradius-postgresql
freeradius-unixODBC
gaim
gcc
gcc-c++
gcc-g77
gcc-gnat
gcc-java
gcc-objc
GConf2
GConf2-devel
gdb
gdk-pixbuf
gdk-pixbuf-devel
gdk-pixbuf-gnome
gdm
glibc
glibc-common
glibc-debug
glibc-devel
glibc-headers
glibc-profile
glibc-utils
gnome-mime-data
gnome-panel
gnupg
hotplug
httpd
httpd-devel
hwdata
initscripts
iproute
ipsec-tools
iptables
iptables-ipv6
kdegames
kdegames-devel
kdepim
kdepim-devel
kernel
kernel-doc
kernel-source
kernel-unsupported
kernel-utils
kinput2-canna-wnn6
krb5-devel
krb5-libs
krb5-server
krb5-workstation
kudzu
kudzu-devel
lftp
libf2c
libgcc
libgcj
libgcj-devel
libgnat
libobjc
libpcap
libstdc++
libstdc++-devel
libxml2
libxml2-devel
libxml2-python
mdadm
modutils
modutils-devel
mod_python
mod_ssl
mozilla
mozilla-chat
mozilla-devel
mozilla-dom-inspector
mozilla-js-debugger
mozilla-mail
mozilla-nspr
mozilla-nspr-devel
mozilla-nss
mozilla-nss-devel
mutt
net-snmp
net-snmp-devel
net-snmp-perl
net-snmp-utils
netdump
netdump-server
netpbm
netpbm-devel
netpbm-progs
nfs-utils
nptl-devel
nscd
nss_ldap
openssh
openssh-askpass
openssh-askpass-gnome
openssh-clients
openssh-server
openssl
openssl-devel
openssl-perl
openssl096b
oprofile
oprofile-devel
pam
pam-devel
pam_krb5
popt
postfix
pwlib
pwlib-devel
quagga
quagga-contrib
quagga-devel
rdist
redhat-config-cluster
redhat-config-kickstart
redhat-config-network
redhat-config-network-tui
redhat-config-packages
redhat-config-printer
redhat-config-printer-gui
redhat-rpm-config
rh-postgresql
rh-postgresql-contrib
rh-postgresql-devel
rh-postgresql-docs
rh-postgresql-jdbc
rh-postgresql-libs
rh-postgresql-pl
rh-postgresql-python
rh-postgresql-server
rh-postgresql-tcl
rh-postgresql-test
rhdb-admin
rhdb-docs
rhdb-explain
rhpl
rpm
rpm-build
rpm-devel
rpm-python
rpmdb-redhat
rsync
s390utils
samba
samba-client
samba-common
samba-swat
sendmail
sendmail-cf
sendmail-devel
sendmail-doc
shadow-utils
slocate
strace
sysklogd
sysstat
SysVinit
tcpdump
unixODBC
unixODBC-devel
unixODBC-kde
up2date
up2date-gnome
vsftpd
xemacs
xemacs-el
xemacs-info
XFree86
XFree86-100dpi-fonts
XFree86-75dpi-fonts
XFree86-base-fonts
XFree86-cyrillic-fonts
XFree86-devel
XFree86-font-utils
XFree86-ISO8859-14-100dpi-fonts
XFree86-ISO8859-14-75dpi-fonts
XFree86-ISO8859-15-100dpi-fonts
XFree86-ISO8859-15-75dpi-fonts
XFree86-ISO8859-2-100dpi-fonts
XFree86-ISO8859-2-75dpi-fonts
XFree86-ISO8859-9-100dpi-fonts
XFree86-ISO8859-9-75dpi-fonts
XFree86-libs
XFree86-libs-data
XFree86-Mesa-libGL
XFree86-Mesa-libGLU
XFree86-syriac-fonts
XFree86-tools
XFree86-truetype-fonts
XFree86-twm
XFree86-xauth
XFree86-xdm
XFree86-xfs
XFree86-Xnest
XFree86-Xvfb
ypbind
ypserv
以下のパッケージが Red Hat Enterprise Linux 3 Update 2 に追加されました。
elfutils-libelf-devel
java-javadoc
jpackage-utils
laus
laus-devel
mtx
mysql-jdbc
openCryptoki
rh-cs-de
rh-cs-es
rh-cs-fr
rh-cs-it
rh-cs-ja
rh-cs-ko
rh-cs-pt_br
rh-cs-zh_cn
rh-cs-zh_tw
rhdb-cc
sg3_utils
以下のパッケージが Red Hat Enterprise Linux 3 Update 2 から削除されています。
mozilla-psm
( s390 )