Linuxで複数のサーバー間の共有ディスクを確認するには?

Linuxで複数のサーバー間の共有ディスクを確認するには?

あるサーバーのディスクが2番目のサーバー(共有ディスク)のディスクと同じであることを確認する方法を知りたいです。

この長さに合うのでしょうか? (メジャー:マイナー番号比較)

サーバー01:

[root@server01 ~]# ls -l /dev/dm-90
brw-rw----. 1 root disk 253, 90 Apr 10 03:41 /dev/dm-90
[root@server01 ~]#

サーバー02:

[root@server02 ~]# ls -l /dev/dm-90
brw-rw---- 1 root disk 253, 90 Apr 10 04:09 /dev/dm-90
[root@server02 ~]#

答え1

IMHO - いいえ、主要なデバイス番号は大丈夫です。デバイスタイプを提供します(カーネルで定義されているドライバの数によっては)、サブデバイス番号はそのタイプのデバイス数によって異なる場合があります。特定のサーバーにあります。だから彼らは異なるかもしれません。

各サーバーの最初の1MBのハッシュを比較できます。

dd if=/dev/dm-90 bs=512 count=2048|sha1sum

ただし、これらのディスクが非常に「動的」(多くの書き込み操作)の場合、誤った結果が表示されることがあります。

これらのディスクにファイルシステムがあり、マウントされている場合のもう1つの可能なアプローチは、一度に1つのファイルを作成することです。

dd if=/dev/urandom of=/mount/point/of/disk/1MBfile bs=512 count=2048

次に、両方のサーバーのファイルハッシュを比較します。

sha1sum /mount/point/of/disk/1MBfile

答え2

メジャー/マイナー番号は非永続的であり、オペレーティングシステムによってローカルに動的に割り当てられます。確かに適していません。サーバー全体でディスクを識別するために使用されます。

より良い解決策は、ディスクのシリアル番号、ディスクのWWID(利用可能な場合)、ディスクがファイルシステム、ファイルシステムのUUID(または同等のもの)で初期化されているかどうかなど、ディスク自体の固有の特性を確認することです。

最新のLinuxシステムの場合:

lsblk -o +MODEL,SERIAL,WWN,UUID

ほとんどのディスクタイプに合理的に強い信頼性を持たせるのに十分な情報を表示する必要があります。

ディスク/LUNは実際には同じではなく、ソースディスクのストレージシステムレベルのスナップショットまたはレプリカである可能性があるため、ファイルシステムのUUIDだけでは不十分です。

共有ディスクがマルチパスの場合、device-mapper-multipathツールに表示されているWWIDは、multipath -llストレージシステムLUNを識別するための良い方法でもあります。

(私が理解したように、WWIDは、どのディスクデバイスが実際に同じLUNへの冗長パスであるか、別のLUNであるかを識別するデバイスマッパーマルチパスの基本的な方法です。)

関連情報