DBサーバ構築(OS、Oracle RAC環境用デバイス設定)
事前準備
ポートグループ作成
まず最初にOracle 26ai構築用のDBネットワーク用ポートグループとインターコネクト用ポートグループを作成します。
【ポートグループ設定】
| 設定項目 | DBネットワーク用ポートグループ | インターコネクト用ポートグループ |
| Name | VUP Pub Network1 | Production DB26 Prv Network |
| Virtual suitch | vSwitchp2 | vSwitchp3 |
| VLAN ID | 91 | 21 |
【ポートグループ作成手順】
| No. | 操作 |
| 1 | ESXiコンソールの画面左の「ネットワーク」をクリック → ネットワーク管理画面表示 |
| 2 | 「ポートグループ」タブ – 「ポートグループの追加」をクリック → ポートグループ作成画面表示 |
| 3 | 以下の通り設定 —————————————————————- (Oracle26ai構築用)DBネットワーク用ポートグループ —————————————————————- 名前:VUP Pub Network1 VLAN ID:91 仮想スイッチ:vSwitchp2 —————————————————————- (Oracle26ai構築用)インターコネクト用ポートグループ —————————————————————- 名前:Production DB26 Prv Network VLAN ID:21 仮想スイッチ:vSwitchp3 |
| 4 | 「追加」をクリック → ポートグループ作成画面終了 |
| 5 | ネットワーク管理画面・ポートグループ一覧に作成したポートグループが追加されていることを確認 |
OSインストールメディア入手
RHEL9.6のインストール・メディアをダウンロードします。ダウンロード・ページのURLはこちら
Red Hat Enterprise Linux for x86_64 9 – Red Hat Customer Portal
Oracle製品イメージ・ファイルの入手
Oracle technology networkのダウンロードページから Oracle DB 26ai及び Grid Infrastructure 26aiのイメージ・ファイルをダウンロードして管理サーバ(prsmg01)の NFSディレクトリに格納します。
【イメージ・ファイル/格納ディレクトリ】
| 製品 | リンク | イメージ・ファイル | 格納ディレクトリ |
| Oracle26ai Database | Database Home | LINUX.X64_2326100_db_home.zip | /nfsdisk/exports/media/oracle/26ai/db |
| Oracle26ai Grid Infrastructure | Grid Home | LINUX.X64_2326100_grid_home.zip | /nfsdisk/exports/media/oracle/26ai/grid |
現行DBサーバのファイアウォール設定変更
現行DBサーバのファイアウォールでは運用ネットワークに対してmDNS(5353ポート宛のマルチキャストDNS)によるアクセス許可を設定しています。
この設定はDBノード・ダウン時に生存ノードから飛ばされたマルチキャストがファイアウォールではじかれていたため後から追加したものです。
しかしコレ、よくよく考えてみると運用ネットワークにRACのマルチキャストが飛んできたとしてもはじいてしまうのが正解なんですよね。
そもそもDBサーバ間におけるRACの通信は基本的にインターコネクト(プライベート・ネットワーク)、あるいはDBネットワーク(パブリック・ネットワーク)を使用します。運用ネットワークはRACのネットワーク割り当てていませんから仮にmDNSが流れてきてもガン無視するのが筋ですからこの設定は取り消します。
【現行prsdb01、prsdb02、prsdb03で実行】
-----------------------------------------------------------------------------
firewall-cmd --remove-rich-rule='rule family="ipv4" source address="172.16.10.0/24" port port=5353 protocol=tcp accept' --permanent
firewall-cmd --remove-rich-rule='rule family="ipv4" source address="172.16.10.0/24" port port=5353 protocol=udp accept' --permanent
firewall-cmd --reload
*Oracle 21c構築の投稿からは既にこの設定を削除しています(2026/5/8)。mDNSの許可を追加したときに5553/TCPの許可も入れていましたけどこれはそもそもいらんかったですね。
新DBサーバ(Oracle26ai)用バックアップ・ディレクトリ作成
管理サーバ#1で新DBサーバに割り当てるDBバックアップ用のNFSディレクトリとクラスタ・リソース(どちらも構築期間中のみ使用)を作成します。
【prsmg01で実行】
-----------------------------------------------------------------------------
# 構築期間中に新DBサーバに割り当てる暫定NFSディレクトリを追加
mkdir -p /nfsdisk/exports/db26
# 新DBサーバ用のexportfsリソースを追加(新DB#サーバ#1宛、--disabledまで一行で記述)
pcs resource create nfs-db26-01 exportfs clientspec=172.16.10.31 options=rw,sync,no_root_squash directory=/nfsdisk/exports/db26 fsid=26 --group nfsgroup26 --disabled
# 新DBサーバ用のexportfsリソースを追加(新DB#サーバ#2宛、--disabledまで一行で記述)
pcs resource create nfs-db26-02 exportfs clientspec=172.16.10.32 options=rw,sync,no_root_squash directory=/nfsdisk/exports/db26 fsid=26 --group nfsgroup26 --disabled
# 新DBサーバ用のexportfsリソースを追加(新DB#サーバ#3宛、--disabledまで一行で記述)
pcs resource create nfs-db26-03 exportfs clientspec=172.16.10.33 options=rw,sync,no_root_squash directory=/nfsdisk/exports/db26 fsid=26 --group nfsgroup26 --disabled
# nfsgroup26グループのロケーション及び順序制約を設定
pcs constraint colocation add nfsgroup26 with nfsgroup INFINITY
pcs constraint order start nfsgroup then start nfsgroup26
# 暫定NFSディレクトリのexportfsリソースを起動
pcs resource enable nfs-db26-01
pcs resource enable nfs-db26-02
pcs resource enable nfs-db26-03
# リソースを確認
pcs status
→ nfs-db26-01、nfs-db26-02、nfs-db26-03がprsmg01で起動していることを確認
サーバ初期構築
仮想マシン作成
DBサーバとして使用する3台の仮想マシンを作成します。
【DBサーバ・仮想マシン構成】
| 設定項目 | 設定値 |
| 仮想マシン名 | prsdb11 prsdb12 prsdb13 |
| CPU | 4 |
| Memory | 12 GB |
| Hard Disk 1 | 100 GB |
| Disk Provisioning | Thin provisioned |
| Network adapter 1 | ポートグループ「Production MG Pub Network」 |
| CD/DVD Media | <データストア・アップロード・ディレクトリ>/rhel-9.6-x86_64-dvd.iso |
OSインストール
作成した仮想マシンにOS(RHEL9.6)をインストールします。各DBサーバのホスト名及びIPアドレスは以下の通りです。
【DBサーバ・ホスト名/IPアドレス一覧】
| DBサーバ#1 | DBサーバ#2 | DBサーバ#3 | |
| ホスト名 | prsdb01.exsample.lan | prsdb02.exsample.lan | prsdb03.exsample.lan |
| IPアドレス | 172.16.10.31 | 172.16.10.32 | 172.16.10.33 |
サーバ初期構築
RHEL9の初期構築の手順を実行します。この手順はRHEL9.5を対象に作成しましたがRHEL9.6だと選択するアプリが9.5と同じでもインストールされるパッケージ数は少し増えているようです。
デバイス追加
サーバ初期構築が終わったらネットワーク・アダプタ、ローカル・ディスク、共有ディスクの順にデバイスの追加を行います。
ネットワーク・インターフェース
まず最初に構築用のDBネットワークで使用するアダプタ、次に新DBのインターコネクトとして使用するアダプタを仮想マシンに追加します。各アダプタに割り当てるポートグループとIPアドレスは以下の通りです。
【仮想マシン・追加ネットワーク・アダプタ】
| ネットワーク・アダプタ | ポートグループ |
| ネットワーク アダプタ 2 | VUP Pub Network1 |
| ネットワーク アダプタ 3 | Production DB26 Prv Network |
【N/Wインターフェース・IPアドレス設定】
| デバイス名 | DBサーバ#1(prsdb01) | DBサーバ#2(prsdb02) | DBサーバ#3(prsdb03) |
| ens224 | 192.168.30.21/24 | 192.168.30.22/24 | 192.168.30.23/24 |
| ens256 | 10.10.21.1/24 | 10.10.21.2/24 | 10.10.21.3/24 |
ローカル・ディスク
Oracle Grid Infrastructure、Oracle Databaseをインストールするためにローカルディスクを追加します。現行DBサーバではローカルディスクのサイズは50GBでしたが新DBサーバでは少し大きめに100GBとしておきます。
【DBサーバ 追加ローカル・ディスク】
| 設定項目 | 設定値 |
| ハードディスク 2(サイズ) | 100 GB |
| ファイル・システムタイプ | xfs |
| ファイルシステム マウント・ポイント | /opt/app |
共有ディスク
ASMディスクとして使用する共有ディスクをDBサーバに追加します。現行DBサーバの共有ディスク(仮想ディスク)は”[datastore]/storage/prsdb”に格納していますが新DBサーバの共有ディスクはデータストアにディレクトリ”prsdb26”を新規作成してそこに格納します、
【共有ディスク】
| ハードディスク | サイズ | 場所 | SCSIコントローラ |
| ハードディスク 3 | 5 GB | [datastore]/storage/prsdb26/disk001.vmdk | SCSIコントローラ 1 SCSI(1:0) |
| ハードディスク 4 | 5 GB | [datastore]/storage/prsdb26/disk002.vmdk | SCSIコントローラ 1 SCSI(1:1) |
| ハードディスク 5 | 5 GB | [datastore]/storage/prsdb26/disk003.vmdk | SCSIコントローラ 1 SCSI(1:2) |
| ハードディスク 6 | 10 GB | [datastore]/storage/prsdb26/disk011.vmdk | SCSIコントローラ 1 SCSI(1:3) |
| ハードディスク 7 | 10 GB | [datastore]/storage/prsdb26/disk012.vmdk | SCSIコントローラ 1 SCSI(1:4) |
| ハードディスク 8 | 10 GB | [datastore]/storage/prsdb26/disk101.vmdk | SCSIコントローラ 1 SCSI(1:5) |
| ハードディスク 9 | 10 GB | [datastore]/storage/prsdb26/disk102.vmdk | SCSIコントローラ 1 SCSI(1:6) |
| ハードディスク 10 | 30 GB | [datastore]/storage/prsdb26/disk201.vmdk | SCSIコントローラ 1 SCSI(1:8) |
| ハードディスク 11 | 30 GB | [datastore]/storage/prsdb26/disk202.vmdk | SCSIコントローラ 1 SCSI(1:9) |
共有ディスクの追加が完了したらすべての新DBサーバにデバイスが正しく追加されていることを確認します。
【新prsdb01、prsdb02、prsdb03で実行】
-----------------------------------------------------------------------------
# ブロックデバイスを確認
lsblk
# ディスクのハードウェア・パスを確認
ls -l /dev/disk/by-path/ | cut -d" " -f 12-
-----------------------------------------------------------------------------
【実行例】
-----------------------------------------------------------------------------
[root@prsdb01 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
tqsda1 8:1 0 1G 0 part /boot
mqsda2 8:2 0 99G 0 part
tqroot_vg-root 253:0 0 57G 0 lvm /
tqroot_vg-swap 253:1 0 12G 0 lvm [SWAP]
mqroot_vg-var 253:2 0 30G 0 lvm /var
sdb 8:16 0 100G 0 disk
mqsdb1 8:17 0 100G 0 part
mqapp_vg-app_lv1 253:3 0 100G 0 lvm /opt/app
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
sdf 8:80 0 10G 0 disk
sdg 8:96 0 10G 0 disk
sdh 8:112 0 10G 0 disk
sdi 8:128 0 10G 0 disk
sdj 8:144 0 30G 0 disk
sdk 8:160 0 30G 0 disk
sr0 11:0 1 11.9G 0 rom
[root@prsdb01 ~]# ls -l /dev/disk/by-path/ | cut -d" " -f 12-
pci-0000:02:03.0-ata-1 -> ../../sr0
pci-0000:02:03.0-ata-1.0 -> ../../sr0
pci-0000:03:00.0-scsi-0:0:0:0 -> ../../sda
-> ../../sda1
-> ../../sda2
pci-0000:03:00.0-scsi-0:0:1:0 -> ../../sdb
-> ../../sdb1
pci-0000:04:00.0-scsi-0:0:0:0 -> ../../sdc
pci-0000:04:00.0-scsi-0:0:1:0 -> ../../sdd
pci-0000:04:00.0-scsi-0:0:2:0 -> ../../sde
pci-0000:04:00.0-scsi-0:0:3:0 -> ../../sdf
pci-0000:04:00.0-scsi-0:0:4:0 -> ../../sdg
pci-0000:04:00.0-scsi-0:0:5:0 -> ../../sdh
pci-0000:04:00.0-scsi-0:0:6:0 -> ../../sdi
pci-0000:04:00.0-scsi-0:0:8:0 -> ../../sdj
pci-0000:04:00.0-scsi-0:0:9:0 -> ../../sdk
[root@prsdb01 ~]#
ディスク・デバイス名が接続した順番できれいに並びました。しかしこれはたまたまでして、新DBサーバ#2なんかだと順番が狂ってアプリ用のローカル・ディスクがsdiになってます。
新DBサーバ#2・ディスクデバイス確認結果
-----------------------------------------------------------------------------
【新prsdb02実行例】
-----------------------------------------------------------------------------
[root@prsdb02 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 100G 0 disk
tqsda1 8:1 0 1G 0 part /boot
mqsda2 8:2 0 99G 0 part
tqroot_vg-root 253:0 0 57G 0 lvm /
tqroot_vg-swap 253:1 0 12G 0 lvm [SWAP]
mqroot_vg-var 253:2 0 30G 0 lvm /var
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sdg 8:96 0 10G 0 disk
sdh 8:112 0 10G 0 disk
sdi 8:128 0 100G 0 disk
mqsdi1 8:129 0 100G 0 part
mqapp_vg-app_lv1 253:3 0 100G 0 lvm /opt/app
sdj 8:144 0 30G 0 disk
sdk 8:160 0 30G 0 disk
sr0 11:0 1 11.9G 0 rom
[root@prsdb02 ~]# ls -l /dev/disk/by-path/ | cut -d" " -f 12-
pci-0000:02:03.0-ata-1 -> ../../sr0
pci-0000:02:03.0-ata-1.0 -> ../../sr0
pci-0000:03:00.0-scsi-0:0:0:0 -> ../../sda
-> ../../sda1
-> ../../sda2
pci-0000:03:00.0-scsi-0:0:1:0 -> ../../sdi
-> ../../sdi1
pci-0000:04:00.0-scsi-0:0:0:0 -> ../../sdb
pci-0000:04:00.0-scsi-0:0:1:0 -> ../../sdc
pci-0000:04:00.0-scsi-0:0:2:0 -> ../../sdd
pci-0000:04:00.0-scsi-0:0:3:0 -> ../../sde
pci-0000:04:00.0-scsi-0:0:4:0 -> ../../sdf
pci-0000:04:00.0-scsi-0:0:5:0 -> ../../sdg
pci-0000:04:00.0-scsi-0:0:6:0 -> ../../sdh
pci-0000:04:00.0-scsi-0:0:8:0 -> ../../sdj
pci-0000:04:00.0-scsi-0:0:9:0 -> ../../sdk
[root@prsdb02 ~]#
DM Multi-Path設定
RHEL8まではOSが割り当てるディスク・デバイス名(/dev/sda、/dev/sdb…)は仮想ディスクを仮想マシンに接続した順番でしたがRHEL9だとサーバを起動するたびにこの順番が高確率で入れ替わってしまいます。
GeminiさんによるとRHEL9からデバイス検出の仕様が変更されたのが原因じゃなかろうかと。
RHEL9でデバイス名がディスクの接続順と一致しなくなった理由の推測 by Geminiさん
--------------------------------------------------------------------------
・PROBE_PREFER_ASYNCHRONOUS の全面導入:RHEL 9のカーネルから、SCSI(およびNVMe)デバイスの検出・プローブを完全に非同期(マルチスレッドによる並列処理)で行う設定がデフォルトで有効化されました。
・RHEL 8までは「仮想ディスク1、2、3」の順にシリアルに処理されていたためデバイス名(/dev/sdb, /dev/sdcなど)が接続順を維持できていましたが、RHEL 9からは全ての仮想ディスクを同時に並列で認識しにいくため、ミリ秒単位の応答速度の差で「先に返事が返ってきたディスク」から順に名前が割り当てられます。これにより、接続順とデバイス名が高確率で一致しなくなりました。
https://access.redhat.com/solutions/3962551
ディスク上のファイルシステムのマウントはUUIDを参照するので仮想マシンへの接続順通りにディスク・デバイス名が振られなくても問題ありませんが、ASMディスクを管理する上でこれは非常に困った状況です。
そこでDM Multipath(device-mapper-multipath)を使用してディスクに割り当てるデバイス名を永続的に固定します。DM Multipathはその名の通りマルチパスのディスク・アクセスを制御するドライバですが、このドライバで共有ディスクを片パスのマルチパスデバイスとして構成します。
共通のサーバ初期構築手順でOSをインストールしたのであればDM multipathがインストールされているのでまずは各DBサーバでmpathconf –enableを実行してデフォルトの設定ファイルを作成します。
【prsdb01、prsdb02、prsdb03で実行】
-----------------------------------------------------------------------------
mpathconf --enable
# 設定ファイル(multipath.conf)が作成されたことを確認
ls /etc/multipath.conf
ここからしばらくはDBサーバ#1だけで作業を実行します。まずmultipathd.serviceを起動してステータスを確認します。
【prsdb01で実行】
-----------------------------------------------------------------------------
# multipathd.service起動
systemctl start multipathd.service
# multipathd.serviceステータス確認
systemctl status multipathd.service
multipath.confにまだ何も設定していないので「sda: failed to get udev…」「sdb: failed to get udev」といったエラーが出力されますが、ステータスが”active (running)”となっていれば問題ありません。
先に確認したDBサーバ#1のハードウェア・パスを見ると”pci-0000:04:00.0-scsi-0:0:x:0”(xはディスク番号)が共有ディスク用のSCSIコントローラ(SCSI1)のパスであることが分かります。
対象をこのパスに絞って共有ディスクのWWN(World Wide Name)を取得します。
【prsdb01で実行】
-----------------------------------------------------------------------------
# SCSIコントローラ 1に接続したディスクのWWNを出力(1行で記述)
ls /dev/disk/by-path/pci-0000:04:00.0-scsi-0:0:*:0 | while read DEVPATH ; do /lib/udev/scsi_id --whitelisted --device=${DEVPATH};done
# コマンドの実行結果はコントローラの接続順でWWNを表示
-----------------------------------------------------------------------------
【実行例】
-----------------------------------------------------------------------------
[root@prsdb01 ~]# ls /dev/disk/by-path/pci-0000:04:00.0-scsi-0:0:*:0 | while read DEVPATH ; do /lib/udev/scsi_id --whitelisted --device=${DEVPATH};done
36000c298cf55aaf4e043348caecf835d
36000c296f2e0b0b31429a797906c22fe
36000c29e0b73f4c63442ad55988c1b2c
36000c29459a8bfa5edcd70fcb75a20d3
36000c2925a3a530d645e541fb7959614
36000c29e5635430624a6469a31612b71
36000c2943ad9f11eb5ba4da5d1899fb1
36000c29567593171173ca47b7b684594
36000c2989426747993380896c92e9a25
[root@prsdb01 ~]#
取得したWWNを元に/etc/multipath.confを編集します。
【prsdb01で実行】
-----------------------------------------------------------------------------
vi /etc/multipath.conf
-----------------------------------------------------------------------------
【/etc/multipath.conf編集内容】
-----------------------------------------------------------------------------
defaults {
user_friendly_names no
find_multipaths no
enable_foreign "^$"
no_path_retry 60
}
blacklist {
wwid ".*"
}
blacklist_exceptions {
# property "(SCSI_IDENT_|ID_WWN)"
wwid "<共有ディスク1のWWN>"
wwid "<共有ディスク2のWWN>"
wwid "<共有ディスク3のWWN>"
wwid "<共有ディスク4のWWN>"
wwid "<共有ディスク5のWWN>"
wwid "<共有ディスク6のWWN>"
wwid "<共有ディスク7のWWN>"
wwid "<共有ディスク8のWWN>"
wwid "<共有ディスク9のWWN>"
}
multipaths {
multipath {
wwid <共有ディスク1のWWN>
alias asmd001
skip_kpartx yes
}
multipath {
wwid <共有ディスク2のWWN>
alias asmd002
skip_kpartx yes
}
・・・(すべての共有ディスクのWWNにエイリアスを設定)・・・
multipath {
wwid <共有ディスク9のWWN>
alias asmd202
skip_kpartx yes
}
}
devices {
device {
vendor "VMware"
product "Virtual disk"
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
}
}
新DBサーバ#1のmultipath.confを実際に編集した内容(クリックで表示)
# device-mapper-multipath configuration file
# For a complete list of the default configuration values, run either:
# # multipath -t
# or
# # multipathd show config
# For a list of configuration options with descriptions, see the
# multipath.conf man page.
defaults {
user_friendly_names no
find_multipaths no
enable_foreign "^$"
no_path_retry 60
}
blacklist {
wwid ".*"
}
blacklist_exceptions {
# property "(SCSI_IDENT_|ID_WWN)"
wwid "36000c298cf55aaf4e043348caecf835d"
wwid "36000c296f2e0b0b31429a797906c22fe"
wwid "36000c29e0b73f4c63442ad55988c1b2c"
wwid "36000c29459a8bfa5edcd70fcb75a20d3"
wwid "36000c2925a3a530d645e541fb7959614"
wwid "36000c29e5635430624a6469a31612b71"
wwid "36000c2943ad9f11eb5ba4da5d1899fb1"
wwid "36000c29567593171173ca47b7b684594"
wwid "36000c2989426747993380896c92e9a25"
}
multipaths {
multipath {
wwid 36000c298cf55aaf4e043348caecf835d
alias asmd001
skip_kpartx yes
}
multipath {
wwid 36000c296f2e0b0b31429a797906c22fe
alias asmd002
skip_kpartx yes
}
multipath {
wwid 36000c29e0b73f4c63442ad55988c1b2c
alias asmd003
skip_kpartx yes
}
multipath {
wwid 36000c29459a8bfa5edcd70fcb75a20d3
alias asmd011
skip_kpartx yes
}
multipath {
wwid 36000c2925a3a530d645e541fb7959614
alias asmd012
skip_kpartx yes
}
multipath {
wwid 36000c29e5635430624a6469a31612b71
alias asmd101
skip_kpartx yes
}
multipath {
wwid 36000c2943ad9f11eb5ba4da5d1899fb1
alias asmd102
skip_kpartx yes
}
multipath {
wwid 36000c29567593171173ca47b7b684594
alias asmd201
skip_kpartx yes
}
multipath {
wwid 36000c2989426747993380896c92e9a25
alias asmd202
skip_kpartx yes
}
}
devices {
device {
vendor "VMware"
product "Virtual disk"
getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
}
}
【multipath.conf 補足説明】
| 設定セクション/項目 | 設定内容 | 説明 |
| user_friendly_names | no | yes :デバイス名を/dev/mapper/mpathに設定 no :デバイス名を/dev/mapper/WWIDに設定 |
| find_multipaths | no | マルチパスデバイスのセットアップ用のモードを定義。yesに設定するとブラックリスト化されていないすべてのパスに対してデバイスの作成を試行するのではなく条件を満たす場合だけデバイス化 |
| enable_foreign | ^$ | 外部ライブラリーを有効または無効。値は正規表現で名前が式と一致する場合、外部ライブラリーがロード |
| no_path_retry | 60 | この属性の数値は、キューイングを無効にする前に、パスチェッカーがマルチパスデバイス内のすべてのパスに対して何回失敗するとキューイングが無効になるかを指定。デフォルト値は fail(キュー待ちはせず直ちに失敗)。Geminiさん曰くOracle RACのASMディスクをDM Multipathで管理する場合、長めに設定した方が良いとのこと |
| blacklist | “.*” | ブラックリストを記述するセクション。wwid “.*”に該当するデバイス、つまりすべてのデバイスををマルチパス化しない。要はACLと一緒で最初に全部対象外にしてblacklist_exceptionsでマルチパス対象デバイスを記述 |
| blacklist_exceptions | ASMディスクのWWN | ブラックリストから除外するデバイスを記述するセクション。wwidに続けて上で取得したASMディスクのWWNを記述 |
| multipaths | デバイスごとのマルチパス定義 | マルチパス定義を記述するセクション。ASMディスクごとにmultipath設定を記述 ———————————————— multipath { wwid <ASMディスクのWWN> alias <asmd+仮想ディスク(.vmdk)の数値部分> skip_kpartx yes } ———————————————— wwid :ディスクのWWN alias :ディスクのエイリアス(任意の文字列を設定可) skip_kpartx:yes に設定すると、kpartx は自動的にデバイスにパーティションを作成しない |
| devices | VMWare仮想ディスクのストレージタイプ | ストレージデバイス用に設定できる属性を定義するセクション。もともと主要ベンダーのストレージ情報は組み込まれている。MWareの仮想ディスクが見つからなかったので追加 ———————————————— device { vendor “VMware” product ”Virtual disk” getuid_callout “/lib/udev/scsi_id –whitelisted –device=/dev/%n” ———————————————— vendor:cat /sys/block/sda/device/vendorで取得 product:cat /sys/block/sda/device/modelで取得 getuid_callout: 一意のパス識別子を取得するためにコールアウトするデフォルトのプログラムと引数を指定(絶対パスでの指定が必要) |
編集内容をチェックしてエラーがなければmultipathd.serviceをリロードします。
【prsdb01で実行】
-----------------------------------------------------------------------------
# 設定ファイルをチェック
multipath -t > /dev/nul
# multipathd.serviceの設定をリロード
systemctl reload multipathd.service
# マルチパスデバイスを出力
multipath -ll
新DBサーバ#1・コマンド実行結果(クリックで表示)
-----------------------------------------------------------------------------
【prsdb01 実行結果】
-----------------------------------------------------------------------------
[root@prsdb01 ~]# multipath -t > /dev/nul
[root@prsdb01 ~]# systemctl reload multipathd.service
[root@prsdb01 ~]# multipath -ll
22213.181447 | sdc: using deprecated getuid callout
asmd001 (36000c298cf55aaf4e043348caecf835d) dm-4 VMware,Virtual disk
size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:0:0 sdc 8:32 active ready running
22213.187507 | sdd: using deprecated getuid callout
asmd002 (36000c296f2e0b0b31429a797906c22fe) dm-5 VMware,Virtual disk
size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:1:0 sdd 8:48 active ready running
22213.192913 | sde: using deprecated getuid callout
asmd003 (36000c29e0b73f4c63442ad55988c1b2c) dm-6 VMware,Virtual disk
size=5.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:2:0 sde 8:64 active ready running
22213.198127 | sdf: using deprecated getuid callout
asmd011 (36000c29459a8bfa5edcd70fcb75a20d3) dm-7 VMware,Virtual disk
size=10G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:3:0 sdf 8:80 active ready running
22213.203274 | sdg: using deprecated getuid callout
asmd012 (36000c2925a3a530d645e541fb7959614) dm-8 VMware,Virtual disk
size=10G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:4:0 sdg 8:96 active ready running
22213.208429 | sdh: using deprecated getuid callout
asmd101 (36000c29e5635430624a6469a31612b71) dm-9 VMware,Virtual disk
size=10G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:5:0 sdh 8:112 active ready running
22213.213614 | sdi: using deprecated getuid callout
asmd102 (36000c2943ad9f11eb5ba4da5d1899fb1) dm-10 VMware,Virtual disk
size=10G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:6:0 sdi 8:128 active ready running
22213.218717 | sdj: using deprecated getuid callout
asmd201 (36000c29567593171173ca47b7b684594) dm-11 VMware,Virtual disk
size=30G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:8:0 sdj 8:144 active ready running
22213.223965 | sdk: using deprecated getuid callout
asmd202 (36000c2989426747993380896c92e9a25) dm-12 VMware,Virtual disk
size=30G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:9:0 sdk 8:160 active ready running
[root@prsdb01 ~]#
マルチパスデバイスのリンク(asmdxxx)は/dev/mapperに作られます。ls、lsblkでデバイスが正常に構成されていることを確認します。
【prsdb01で実行】
-----------------------------------------------------------------------------
ls -l /dev/mapper/
lsblk
新DBサーバ#1で編集したmultipath.confを新DBサーバ#2、新DBサーバ#3に転送します。
【prsdb01で実行】
-----------------------------------------------------------------------------
scp /etc/multipath.conf 172.16.10.32:/etc/
scp /etc/multipath.conf 172.16.10.33:/etc/
新DBサーバ#2、新DBサーバ#3でmultipathd.serviceを起動してマルチパスデバイスが構成されていることを確認します。
【prsdb02、prsdb03で実行】
-----------------------------------------------------------------------------
# multipathd起動
systemctl start multipathd.service
# マルチパスデバイスの確認
multipath -ll
ls -l /dev/mapper/
lsblk
新DBサーバのデバイス設定はこれで完了です。次はGrid Infrastructure、OracleDBのインストール環境を構築します。
本番サイト・DBサーバ構築(Oracle 26ai) 関連ページ
DBサーバ構築 1(概要)
DBサーバ構築 2(OS、N/W、ストレージ構成)
サイト内リンク一覧
ネットワーク構築
管理用ネットワーク構築 TOP PAGE
本番サイト構築
本番サイト構築 TOP PAGE
本番サイト・管理サーバ構築
管理サーバ構築 TOP PAGE
本番サイト・DBサーバ構築(Oracle 21c)
DBサーバ構築(Oracle 21c)TOP PAGE
本番サイト・APサーバ構築
APサーバ構築 TOP PAGE
本番サイト・Webサーバ構築
Webサーバ構築(Apache + WLS Proxy Plug-in)TOP PAGE
本番サイト・ロードバランサ構築
ロード・バランサ構築(HAPtroxy+Keepalived)TOP PAGE
Web-AP-DB連携検証
Web-AP-DB連携検証TOP PAGE
本番サイト・DBサーバ構築(Oracle 26ai)
DBサーバ構築(Oracle 26ai)TOP PAGE
メニュー
トップページ
自己紹介
参考資料
Red Hat Enterprise Linux 9 Device Mapper Multipath 機能の設定および管理

コメント