GNU/Linux >> Linux の 問題 >  >> Linux

デバイスの永続性とOracle ASMLibについて

基本

この投稿では、オラクルが提供する Linux 固有の ASM ライブラリ (以下「ASMLib」) が、オラクルを実行する Linux システムの管理にもたらすいくつかの利点について説明します。 Linux では、ディスク名の永続性が問題になることがよくあります。ストレージ構成を変更すると、昨日 /dev/sdg として表示されたディスクが、今日の再起動後に /dev/sdh として表示されるようになります。 ASM に影響を与えないように、これらの変更を分離するにはどうすればよいですか?

ASM にすべてのディスクをスキャンさせない理由

ASM は、(asm_diskstring を介して) 検出できるすべてのディスクをスキャンします。ディスク名の永続性について心配するよりも、すべてのディスクをスキャンして、ASM が関心のあるものを判断できるようにしてみませんか?

質問は概念的に正しいです。 /dev/sd* を ASM に渡し、ASM がデバイスを読み取ることができる場合、この特定のブートで /dev/sdg が /dev/sdh に変更されたかどうかに関係なく、ASM は実際にそのディスクを選択できます。

ただし、これらのデバイスを読み取るには、ASM にこれらのデバイスを読み取る権限が必要です。つまり、ASM は、システム ディスクを含むすべてのデバイス /dev/sd* でユーザーまたはグループの所有権を持っている必要があります。ほとんどのシステム管理者は、ASM がシステム ディスクを無視できるようにするために、oracle ユーザーがシステム ディスクを所有することを望んでいません。ミス (DBA による /home ボリュームへの書き込みなど) の可能性が非常に高くなります。

ASMLib と UDev または DevLabel の比較

変更されない名前を提供するには、devlabel や udev など、さまざまな方法があります。 ASMLib が提供し、これらのソリューションが提供しないものは何ですか?

より大きな問題は、特に永続的な名前ではなく、その名前を一連のアクセス許可に一致させることです。新しい /dev/sdh に oracle:dba の所有権があり、新しい /dev/sdg (以前は /dev/sdf) に古い /dev/sdf が持っていた所有権。アクセス許可が正しいことを確認する最も簡単な方法は、永続的な名前付けです。ディスクが常に同じ名前で表示される場合は、気にせずにいつでも同じアクセス許可を適用できます。さらに、システム ディスクに一致する名前を除外できます。権限が適切であっても、システム管理者は ASM がシステム ディスクを毎回スキャンすることを望んでいません。

これで、udev または devlabel は sdg を sdg (または /dev/mydisk など) として保持できます。 ASMLib は何を追加しますか?実際、いくつかのこと。 ASMLib には、ASM 用にディスクにラベルを付ける簡単なコマンドがあります。 udev では、追加するディスクごとに udev 構成ファイルを変更する必要があります。ディスクに一致する一意の ID を決定し、udev 構成構文を学習する必要があります。

名前も人間が読める形式です。 Apple XServe RAID では、DRAWER1DISK2 の可能性があるのに /dev/sdg という名前のディスクがあるのはなぜですか? ASMLib はすべてのディスクをリストすることもできますが、udev では、sdg、sdf、および sdj が ASM 用であることを頭の中で知っているか、名前を指定する必要があります。 ASMLib では、ASM 自体がシステム ディスクをスキャンする可能性はありません。実際、ASMLib がシステムのディスク名を変更することはありません。 ASMLib は「/dev/sdg」という名前を決して使用しません。起動時にディスクを照会した後、Oracle のアクセス許可を持つデバイスへの独自のアクセスを提供します。 /dev/sdg はまだ root:root によって所有されており、oracle ユーザーはその名前でデバイスにアクセスできません。

構成は永続的です。システムを再インストールすると、udev 構成が失われます。 ASMLib のラベルはそうではありません。 udev では、構成を RAC 内の他のノードにコピーする必要があります。 16 個のノードがある場合、各構成変更を 16 個のノードすべてにコピーする必要があります。 udev と devlabel のどちらを使用する場合でも、16 個すべてのノードで適切に権限を設定する必要があります。 ASMLib では、「/etc/init.d/oracleasm scandisks」を 1 回呼び出すだけで、他のノードで行われたすべての変更を取得できます。

これらは、ASMLib がデバイスの永続性にもたらす利点のほんの一部です。


Linux
  1. Linux – Unixのアクセス許可とファイルタイプを理解していますか?

  2. Linux – SysfsとDevtmpfs?

  3. ボリューム、パーティション、ドライブの違いは?

  1. Tc QdiscとIperfを理解していますか?

  2. 方法:MTR –ネットワーク接続の理解とトラブルシューティング

  3. ASMLIB/oracleasm を使用して ASM にマルチパス化されたデバイスを最初にスキャンさせる方法

  1. Oracle OS ウォッチャー (OSWatcher) – oswmpstat について

  2. Oracle OS ウォッチャー (OSWatcher) – oswiostat について

  3. デバイスファイルとデバイスドライバーの違い