ファイルシステムに関する異常について、以下に該当する場合は、それぞれに記載されている対処を行ってください。
(1) ローカルボリューム上のファイルシステムを修復したい。
説明
ローカルクラスのボリュームに作成されたファイルシステムを fsck(8) コマンドで修復する手順を説明します。
xfs_repair(8) コマンドで xfs ファイルシステムの修復を行う場合も、同様の手順で実行できます。
対処
ローカルボリューム上のファイルシステムの場合、fsck(8) コマンドの実行方法は、下記の 3 点を除いて、物理スライスに作成されたファイルシステムの場合と同様です。
fsck(8) コマンドを実行する前に、ボリュームを起動しておく必要がある。
fsck(8) コマンドでは、GDS のボリュームのデバイス特殊ファイル (/dev/sfdsk/クラス名/dsk/ボリューム名) を指定する。
シングルユーザモードでは実行できない。
以下では、クラス名が Class1、ボリューム名が Volume1、マウントポイントが /mount_point、ファイルシステムタイプが ext4 の場合の手順を例として示します。
対象のファイルシステムを使用しているアプリケーションを停止します。
対象のファイルシステムがマウントされている場合は、アンマウントします。
# umount /mount_point |
対象のボリュームを起動します。
すでに起動されている場合は、本手順を実行する必要はありません。
# sdxvolume -N -c Class1 -v Volume1 |
fsck(8) コマンドを実行します。
fsck(8) コマンドでは、対象のボリュームのデバイス特殊ファイルを指定します。
# fsck -t ext4 /dev/sfdsk/Class1/dsk/Volume1 |
参照
fsck(8) コマンドのオプションなどの詳細については、fsck(8) のマニュアルページを参照してください。
(2) 共用ボリューム上のファイルシステムを修復したい。
説明
共用クラスのボリュームに作成されたファイルシステムを fsck(8) コマンドで修復する手順を説明します。
xfs_repair(8) コマンドで xfs ファイルシステムの修復を行う場合も、同様の手順で実行できます。
対処
共用ボリューム上のファイルシステムの場合、fsck(8) コマンドの実行方法は、下記の3点を除いて、物理スライスに作成されたファイルシステムの場合と同様です。
fsck(8) コマンドを実行する前に、fsck(8) コマンドを実行するノード以外で対象のボリュームを停止し、fsck(8) コマンドを実行するノードで対象のボリュームを起動しておく必要がある。
fsck(8) コマンドでは、GDS のボリュームのデバイス特殊ファイル (/dev/sfdsk/クラス名/dsk/ボリューム名) を指定する。
シングルユーザモードでは実行できない。
以下では、クラス名が Class1、ボリューム名が Volume1、マウントポイントが /mount_point、ファイルシステムタイプが ext4 の場合の手順を例として示します。
以下の 2 つの場合で手順が異なります。
クラスがクラスタアプリケーションに登録されていない場合
クラスがクラスタアプリケーションに登録されている場合
クラススコープ内の全ノードで、対象のファイルシステムを使用しているアプリケーションを停止します。
クラススコープ内の全ノードで、対象のファイルシステムをアンマウントします。
# umount /mount_point |
クラススコープ内の全ノードで、対象のボリュームを停止します。
クラススコープ内の任意の 1 ノードにログインして sdxvolume -F -e allnodes コマンドを実行します。
# sdxvolume -F -c Class1 -v Volume1 -e allnodes |
クラススコープ内の任意の 1 ノードで、対象のボリュームを起動します。
# sdxvolume -N -c Class1 -v Volume1 |
手順 4. でボリュームを起動したノードで、fsck(8) コマンドを実行します。
fsck(8) コマンドでは、対象のボリュームのデバイス特殊ファイルを指定します。
# fsck -t ext4 /dev/sfdsk/Class1/dsk/Volume1 |
参照
fsck(8) コマンドのオプションなどの詳細については、fsck(8) のマニュアルページを参照してください。
対象のクラスを使用しているクラスタアプリケーションを停止します。
参照
クラスタアプリケーションの停止方法については、「PRIMECLUSTER 導入運用手引書」を参照してください。
クラススコープ内の任意の1ノードで、対象のボリュームを起動します。
# sdxvolume -N -c Class1 -v Volume1 |
手順2.でボリュームを起動したノードで、fsck(8) コマンドを実行します。
fsck(8) コマンドでは、対象のボリュームのデバイス特殊ファイルを指定します。
# fsck -t ext4 /dev/sfdsk/Class1/dsk/Volume1 |
参照
fsck(8) コマンドのオプションなどの詳細については、fsck(8) のマニュアルページを参照してください。
手順2.でボリュームを起動したノードで、対象のボリュームを停止します。
# sdxvolume -F -c Class1 -v Volume1 |
(3) ルートボリューム上のファイルシステムを修復したい。
説明
ルートクラスのボリュームに作成されたファイルシステムを fsck(8) コマンドで修復する手順を説明します。
xfs_repair(8) コマンドで xfs ファイルシステムの修復を行う場合も、同様の手順で実行できます。
対処
/ (ルート)、 /usr、 /var 以外のファイルシステムの場合、ローカルクラスのボリュームに作成されたファイルシステムの場合と手順は同じです。
手順の詳細については、「(1) ローカルボリューム上のファイルシステムを修復したい。」を参照してください。
/ (ルート)、 /usr、 /var ファイルシステムはシステム動作中にアンマウントできないため、fsck(8) コマンドを実行するためには、CD-ROM 装置からブートする必要があります。CD-ROM 装置からブートして、ミラーリングしている物理スライスのうちの 1 つに対して fsck(8) コマンドを実行し、その物理スライスのデータを他の物理スライスにコピーします。
本手順に従って、ルートクラスのボリュームに作成されたファイルシステムを修復するためには、システムディスクをルートクラスに登録したときに以下の項目を確認し、紙などに記録しておく必要があります。
システムボリュームの物理ディスク情報
システムボリュームのスライス番号
詳細は、「6.5.4 物理ディスク情報とスライス番号の確認」を参照してください。
サーバの電源を投入し、OS のインストール CD を CD-ROM ドライブに挿入します。
EFI ブートマネージャのブートオプション選択画面に表示されるブートデバイスの中から、CD-ROM 装置を選択し、レスキューモードで起動します。起動方法の詳細は、OS のマニュアルを参照してください。
/ (ルート)、/usr、/varファイルシステムのうち、修復したいファイルシステムの物理スライス名を確認します。
grep コマンドの引数には、「6.5.4 物理ディスク情報とスライス番号の確認」で確認した物理ディスク情報を指定します。
# ls -l /sys/block/sd* | grep 0000:06:02.0 | grep 0:0:0 (*1) (*1) lrwxrwxrwx 1 root root 0 Jun 1 2005 /sys/block/sda ->\ (*2) ../devices/pci0000:02/0000:02:1f.0/0000:06:02.0/host2/\ target0:0:0/0:0:0:0/block/sda # ls -l /sys/block/sd* | grep 0000:06:02:0 | grep 0:2:0 (*1) (*1) lrwxrwxrwx 1 root root 0 Jun 1 2005 /sys/block/sdb ->\ (*2) ../../devices/pci0000:02/0000:02:1f.0/0000:06:02.0/host2/\ target0:0:2/0:0:2:0/block/sdb |
(*1) 物理ディスク情報 (*2) 物理ディスク名
この例では、物理ディスク名は、sda、sdb です。
物理ディスク名と、「6.5.4 物理ディスク情報とスライス番号の確認」で確認したスライス番号を組み合わせることで、物理スライス名が分かります。
この例では、物理スライス名は、下記のとおりです。
用途 | 物理スライス名 | |
---|---|---|
/ | sda1 | sdb1 |
/var | sda2 | sdb2 |
/usr | sda3 | sdb3 |
一方の物理スライスに対し、fsck(8) コマンドを実行してファイルシステムを修復します。
この例では、手順 3.で確認した、ルートファイルシステム (/) のスライスに対して fsck(8) コマンドを実行します。
# fsck -t ext4 /dev/sda1 |
修復できない場合は、もう一方の物理スライスに対してfsck(8) コマンドを実行してください。
参照
fsck(8) コマンドのオプションなどの詳細については、fsck(8) のマニュアルページを参照してください。
手順 4.でファイルシステムを修復した物理スライスから、他方の物理スライスにデータをコピーします。
# dd if=/dev/sda1 of=/dev/sdb1 bs=1M |
注意
ミラーリングの多重度が n の場合、ミラーリングされている n 個のスライスのうち、手順 4.で fsck(8) コマンドを実行したスライス以外の n-1 個のすべてのスライスに対しデータをコピーします。
参照
dd(1) コマンドのマニュアルページを参照し、適切なオプションを指定してください。
レスキューモードを終了し、システムを起動します。
# exit |