web-dev-qa-db-ja.com

/ dev / disk / by-id / scsi- *マルチパスデバイスではなくsdXを指すリンク

同じストレージアレイの同じデバイスでマルチパスを使用している2つの類似したSLES10SP2サーバーがあります。

1つのサーバーで、/ dev/disk/by-id/scsi- *デバイスはマルチパスデバイスを適切に指し示します。

server1:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000050c4933f22c -> ../../dm-1
scsi-3600a0b80005047d80000050c4933f22c-part1 -> ../../dm-2
scsi-3600a0b80005047d80000050c4933f22c-part2 -> ../../dm-3
scsi-3600a0b80005047d80000b0a14dbb20e4 -> ../../dm-0

一方、/ dev/disk/by-id/scsi- *ディスクデバイスは、マルチパスdmデバイスではなくパスの1つを指しています。

server2:/dev/disk/by-id # ls -l scsi-* | awk '{print $9,$10,$11;}'
scsi-3600a0b80005047d80000a3464a07f6ee -> ../../dm-1
scsi-3600a0b8000505008000004f84933e183 -> ../../sda
scsi-3600a0b8000505008000004f84933e183-part1 -> ../../dm-4
scsi-3600a0b8000505008000004f84933e183-part2 -> ../../dm-5
scsi-3600a0b80005050080000057749352a81 -> ../../sdd
scsi-3600a0b80005050080000057749352a81-part1 -> ../../dm-6
scsi-3600a0b80005050080000a7cd4dbb2498 -> ../../sdg

一部のディスクはディスク全体を太陽光発電として使用するように構成されているため、これにより問題が発生します。

システムが単一のパスではなくマルチパスデバイスを指すようにすべてのscsi- *リンクを設定するようにするには、server2で何を変更する必要がありますか?

6
MikeyB

結局のところ、これはSLES10SP2の既知の問題です。

これは、パッケージudev-085-30.58.3.6.x86_64.rpmを使用してSLES10SP3で修正されています。

1
MikeyB

ドキュメント から:

SUSE Linux Enterprise Server 10では、kpartxソフトウェアを/etc/init.d/boot.multipathで使用して、新しく作成されたパーティションの/ dev/dm- *行にシンボリックリンクを追加します。再起動します。これにより、udevdが/ dev/disk/by- *シンボリックリンクを埋めるようにトリガーされます。

だから、私は

  1. Boot.multipathが2番目のサーバーで実行されたかどうかを確認します
  2. Udevが両方のサーバーで同じように構成されていることを確認します
  3. udevdが2番目のサーバーで実行されていることを確認します

それがすべて当てはまる場合は、マルチパスデバイスでkpartx -aを実行して、/ dev/disk/by-id /のエントリが更新されているかどうかを確認できます。

これをまっすぐにした後でも、lvm.confを編集する必要があります。繰り返しますが、 ドキュメント から:

デフォルトでは、LVM2はマルチパスデバイスを認識しません。 LVM2にマルチパスデバイスを可能な物理ボリュームとして認識させるには、/ etc/lvm /lvm.confを変更する必要があります。物理パスをスキャンして使用せず、マルチパスI/Oレイヤーを介してのみマルチパスI/Oストレージにアクセスするように変更することが重要です。ユーザーフレンドリーな名前を使用している場合は、デバイスのデバイスマッパー名のみをスキャンするようにパスを指定してください(/ dev/disk/by-id/dm-uuid-。-マルチパスが設定された後のmpath-。)。

2
sciurus

lvm.confでフィルタールールを設定します

filter =[ "a|/dev/dm|", "a|^/dev/sda2$|", "r|/dev/sd|"]

この例では、lvmはすべての/ dev/md */dev/sda2を使用し、他のすべての/ dev/sd *デバイスを削除します。

0
smintz