CHAPTER 11 この章の内容は次のとおりです マルチパスを介した起動の設定 (p.11-1) システムの準備と PowerPath のインストレーション (p.11-2) ファイルとディレクトリの設定 (p.11-3) 必要なオブジェクトとコンフィギュレーションファイルのコピー (p.11-4) ファイルの修正 (p.11-6) bootdisk ディレクトリのアーカイブ (p.11-8) マルチパスを介した起動の設定 PowerPath を使用する IB を介した起動の設定手順を次に示します 例として X86_64(AMD) 上で Linux RHEL3 Update7 を使用します 11-1
システムの準備と PowerPath のインストレーション 第 11 章 システムの準備と PowerPath のインストレーション システムの準備および PowerPath のインストレーション手順は 次のとおりです ステップ 2 システムを SRP を介して起動するように設定します システムが SRP を介して起動できる場合 次の手順に進んで PowerPath を介して起動できるよう設定します システムに PowerPath をインストールします 通常の EMC PowerPath インストレーション手順に従い PowerPath をインストールします 手順については PowrPath インストレーションマニュアルを参照してください pm -ivh EMCpower.LINUX-4.5.1-022.rhel.x86_64.rpm /etc/init.d/powerpath start emcpreg -install (register powerpath) ステップ 3 PowerPath が正しくインストールされ 起動したら fdisk -1 コマンドを実行します 次の例に示すような出力が表示されます この例では ホストには LUN が 1 つだけ割り当てられ それに応じたパーティションが作成されています [root@sw-n4300-1 ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 38 305203+ 83 Linux /dev/sda2 39 293 2048287+ 82 Linux swap /dev/sda3 294 2610 18611302+ 83 Linux Disk /dev/emcpowera: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/emcpowera1 * 1 38 305203+ 83 Linux /dev/emcpowera2 39 293 2048287+ 82 Linux swap /dev/emcpowera3 294 2610 18611302+ 83 Linux PowerPath が起動し実行しています emcpowera* は PowerPath の擬似デバイスです 11-2
第 11 章 ファイルとディレクトリの設定 ファイルとディレクトリの設定 ファイルとディレクトリを設定する手順は 次のとおりです ステップ 2 bootdisk という新しいディレクトリを作成します initrd ファイルを /boot から新しい bootdisk ディレクトリにコピーします -cp -p /boot/initrd-2.6.9-34.elsmp.img bootdisk/ ステップ 3 initrd-2.6.9-34.elsmp.img ファイルを同じ bootdisk ディレクトリ内に解凍します zcat initrd-2.6.9-34.elsmp.img > initrd-2.6.9-34.elsmp ステップ 4 initrd ディレクトリ構造およびすべての関連ファイルを 次のように同じ bootdisk ディレクトリにコピーします -cpio -i -I initrd-2.6.9-34.elsmp ステップ 5 この段階で bootdisk ディレクトリに次のファイルとディレクトリ および initrd-2.6.9-34.elsmp.img と initrd-2.6.9-34.elsmp ファイルがあることを確認します bin dev etc init lib loopfs proc sbin sys sysroot ステップ 6 ステップ 7 ステップ 8 initrd-2.6.9-34.elsmp.img および initrd-2.6.9-34.elsmp ファイルを bootdisk ディレクトリから削除します bootdisk ディレクトリに さらに 2 つのディレクトリを lib64 と usr の名前で作成します bookdisk ディレクトリに次のファイルとディレクトリがあることを確認します bin dev etc init lib lib64 loopfs proc sbin sys sysroot usr 11-3
必要なオブジェクトとコンフィギュレーションファイルのコピー 第 11 章 必要なオブジェクトとコンフィギュレーションファイルのコピー 必要な PowerPath オブジェクトとコンフィギュレーションファイルをコピーする手順は 次のとおりです PowerPath オブジェクトとコンフィギュレーションファイルを新しい bootdisk ディレクトリにコピーします コピーする必要のある Linux オブジェクトもいくつかあります 次の表に項目全体の一覧を示します IB モジュールについては すでに /lib ディレクトリ内のオリジナルの initrd ファイルに含まれているのでコピーする必要はありません この例は x86_64 システムなので /lib64 ディレクトリが必要です すべての必要なライブラリファイルを /lib または /lib64 ディレクトリにコピーします 次の例に示すように ldd コマンドを使用して 必要なライブラリを取得します [root@host-1 bin]# ldd /bin/mkdir libselinux.so.1 => /lib64/libselinux.so.1 (0x0000003977b00000) libc.so.6 => /lib64/tls/libc.so.6 (0x0000003976800000) /lib64/ld-linux-x86-64.so.2 (0x0000003976600000) [root@host-1 bin]# ldd /sbin/powermt linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/tls/libc.so.6 (0x00adf000) /lib/ld-linux.so.2 (0x00ac6000) 表 11-1 PowerPath オブジェクトとコンフィギュレーションファイルのディレクトリへのコピー 注記コピー元 bootdisk ディレクトリ /bin/ash ----> /sbin/ash /bin/gawk ----> /sbin/gawk /bin/mkdir ----> /sbin/mkdir /sbin/powermt ----> /sbin/powermt /sbin/rmmod ----> /sbin/rmmod /bin/mount ----> /sbin/mount /bin/umount ----> /sbin/umount /bin/cat ----> /sbin/cat /bin/mknod ----> /sbin/mknod /sbin/pivot_root ----> /sbin/pivot_root /bin/sleep ----> /sbin/sleep ディレクトリ全体をコピー /etc/emc ----> /etc/emc このディレクトリには /etc/opt/emcpower/powercf および /etc/opt/emcpower/emcpmgr オブジェクトが含まれています これらのオブジェクトは init ファイルで使用されます PowerPath モジュール全体をコピー /etc/emcp_devicesdb.dat ----> /etc/emcp_devicesdb.dat /etc/emcp_devicesdb.idx ----> /etc/emcp_devicesdb.idx /etc/emcp_registration ----> /etc/emcp_registration /etc/opt/emcpower ----> /etc/opt/emcpower /etc/fstab ----> /etc/fstab /lib/modules/2.6.9-34.elsmp/extra /emc*.ko ----> /etc/lib 11-4
第 11 章 必要なオブジェクトとコンフィギュレーションファイルのコピー 表 11-1 PowerPath オブジェクトとコンフィギュレーションファイルのディレクトリへのコピー ( 続き ) 注記 コピー元 bootdisk ディレクトリ /usr/lib/libemcp_core.so ----> /lib/libemcp_core.so /usr/lib/libemcp_lam.so ----> /lib/libemcp_lam.so /usr/lib/libemcp_lic_rtl.so ----> /lib/libemcp_lic_rtl.so /usr/lib/libemcp_mp_rtl.so ----> /lib/libemcp_mp_rtl.so /usr/lib/libemcpmp.so ----> /lib/libemcpmp.so /usr/lib/libemcp.so ----> /lib/libemcp.so /lib/ld-linux.so.2 ----> /lib/ld-linux.so.2 /lib/tls/libm.so.6 ----> /lib/libm.so.6 /lib/tls/libc.so.6 ----> /lib/libc.so.6 /lib64/libdl.so.2 ----> /lib64/libdl.so.2 /lib64/tls/libm.so.6 ----> /lib64/tls/libm.so.6 /lib64/tls/libc.so.6 ----> /lib64/tls/libc.so.6 /lib64/ld-linux-x86-64.so.2 ----> /lib64/ld-linux-x86-64.so.2 /lib64/libselinux.so.1 ----> /lib64/libselinux.so.1 /lib64/tls/librt.so.1 ----> /lib64/tls/librt.so.1 /lib64/tls/libpthread.so.0 ----> /lib64/tls/libpthread.so.0 /lib/libpn.so ----> /lib/libpn.so /usr/sbin/chroot ----> /usr/sbin/chroot 11-5
ファイルの修正 第 11 章 ファイルの修正 前回コピーした /etc/fstab ファイルを修正する手順は 次のとおりです PowerPath デバイスを反映して /etc/fstab ファイルを修正します この例では /dev/emcpowera3 がルートパーティションで /dev/emcpowera1 がブートパーティションです # This file is edited by fstab-sync - see man fstab-sync for details /dev/emcpowera3 / ext3 defaults 1 1 /dev/emcpowera1 /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 none /proc proc defaults 0 0 none /sys sysfs defaults 0 0 /dev/emcpowera2 swap swap defaults 0 0 /dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0 /dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0 ステップ 2 デフォルトの init ファイルを次のファイルに修正します #!/bin/ash mount -t proc /proc /proc echo Mounted /proc filesystem echo Mounting sysfs mount -t sysfs none /sys echo Creating /dev mount -o mode=0755 -t tmpfs none /dev mknod /dev/console c 5 1 mknod /dev/null c 1 3 mknod /dev/zero c 1 5 mkdir /dev/pts mkdir /dev/shm echo Starting udev udevstart echo -n /sbin/hotplug > /proc/sys/kernel/hotplug echo Loading mlxsys.ko module insmod /lib/mlxsys.ko echo Loading mod_vip.ko module insmod /lib/mod_vip.ko echo Loading mod_thh.ko module insmod /lib/mod_thh.ko echo Loading mod_rhh.ko module insmod /lib/mod_rhh.ko echo Loading ts_kernel_services.ko module insmod /lib/ts_kernel_services.ko echo Loading ts_ib_packet_lib.ko module insmod /lib/ts_ib_packet_lib.ko echo Loading ts_ib_core.ko module insmod /lib/ts_ib_core.ko echo Loading ts_ib_mad.ko module insmod /lib/ts_ib_mad.ko echo Loading ts_ib_tavor.ko module insmod /lib/ts_ib_tavor.ko echo Loading scsi_mod.ko module insmod /lib/scsi_mod.ko echo Loading sd_mod.ko module insmod /lib/sd_mod.ko echo Loading ts_kernel_poll.ko module 11-6
第 11 章 ファイルの修正 insmod /lib/ts_kernel_poll.ko echo Loading ts_ib_client_query.ko module insmod /lib/ts_ib_client_query.ko echo Loading ts_ib_sa_client.ko module insmod /lib/ts_ib_sa_client.ko echo Loading ts_ib_dm_client.ko module insmod /lib/ts_ib_dm_client.ko echo Loading ts_ib_cm.ko module insmod /lib/ts_ib_cm.ko echo Loading ts_srp_host.ko module insmod /lib/ts_srp_host.ko echo Loading emcplib.ko module insmod /lib/emcplib.ko echo Loading emcp.ko module insmod /lib/emcp.ko echo Loading emcpmp.ko module insmod /lib/emcpmp.ko echo Loading emcpmpc.ko module insmod /lib/emcpmpc.ko echo Loading emcpmpaa.ko module insmod /lib/emcpmpaa.ko echo Loading emcpmpap.ko module insmod /lib/emcpmpap.ko echo Loading emcphr.ko module insmod /lib/emcphr.ko echo Loading emcpioc.ko module insmod /lib/emcpioc.ko echo Removing module emcpioc.ko rmmod emcpioc echo Loading mptbase.ko module insmod /lib/mptbase.ko echo Loading mptscsih.ko module insmod /lib/mptscsih.ko echo Loading jbd.ko module insmod /lib/jbd.ko echo Loading ext3.ko module insmod /lib/ext3.ko udevstart rm -f /dev/emcpower mmaj=`cat /sys/class/misc/emcpower/dev gawk -F : '{print $1}'` mmin=`cat /sys/class/misc/emcpower/dev gawk -F : '{print $2}'` mknod /dev/emcpower c $mmaj $mmin sleep 2 echo Start the configuration of powerpath powermt config powermt load /etc/opt/emcpower/emcpmgr map sleep 7 /etc/opt/emcpower/powercf -C powermt save powermt register sleep 2 echo Creating root device echo mkrootdev /dev/root /sbin/nash umount /sys echo Mounting root filesystem mount -o defaults --ro -t ext3 /dev/root /sysroot mount -t tmpfs --bind /dev /sysroot/dev umount /proc cd /sysroot echo Switching to the new root 11-7
bootdisk ディレクトリのアーカイブ 第 11 章 pivot_root. initrd exec chroot. /sbin/init <dev/console >dev/console 2>&1 echo Unmount the old dev now umount /initrd/dev bootdisk ディレクトリのアーカイブ bootdisk ディレクトリをアーカイブする手順は 次のとおりです 必要なすべてのファイルが bootdisk ディレクトリにコピーされているので bootdisk ディレクトリをアーカイブします この例では アーカイブファイルを /root/ に置きます a. bootdisk ディレクトリに cd します b. ファイルを検索してコピーします find. cpio -v -c -o > /root/initrd-2.6.9-34.elsmp c. ファイルを圧縮します gzip -9 initrd-2.6.9-34.elsmp d. ディレクトリを移動します mv initrd-2.6.9-34.elsmp.gz initrd-2.6.9-34.elsmp.img PowerPath 設定の完了 PowerPath 設定を完了する手順は 次のとおりです ステップ 2 initrd-2.6.9-34.elsmp.img ファイルを /boot ディレクトリに移動します カーネルのルートパラメータに関するブートローダのアペンドを適切な PowerPath 擬似デバイスに変更します この例では PowerPath 擬似デバイスは root=/dev/emcpowera3 でした ステップ 3 サーバを再起動します サーバは sd デバイスではなく PowerPath デバイスのルートファイルシステムから起動します 11-8