~lsで所有者確認 → udev設定 → ASM構成まで完全ガイド~
Oracle ASM(Automatic Storage Management)は、Oracleが提供する高可用・高性能なストレージ管理機能です。
ASMディスクを使用するには、ディスクの所有者がgridユーザーかつasmadminグループである必要があります。
本記事では、最初にディスクの状態を確認し、udevで永続化設定を行った上で、NORMAL冗長ディスクグループ「ARCH」 を作成するまでの手順を解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
✅ 本記事の流れ
/dev/sd*の所有者を確認- デバイスID(scsi_id)の取得
- udevルールを作成して所有者を永続化
- gridユーザーでASMインスタンスに接続
- ASMディスクの状態確認
- ディスクグループ「ARCH」をNORMAL冗長で作成
■ 1. /dev/sd* の所有者を確認(rootユーザー)
まず、使用予定のディスク(例:/dev/sdc, /dev/sdd)の所有者・グループを確認します。
# ls -l /dev/sd*
出力例(初期状態):
brw-rw---- 1 root disk 8, 32 /dev/sdc
brw-rw---- 1 root disk 8, 48 /dev/sdd
👆 所有者が root の場合、このままではASMで使用できません。
■ 2. デバイスID(scsi_id)の取得
udevルール作成のため、ディスクの一意なIDを取得します。
# /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
1ATA_VBOX_HARDDISK_VB2a326836-801a8f50
# /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
1ATA_VBOX_HARDDISK_VB61d1f9bc-9b2108a9
■ 3. udevルールの作成と反映
◾ ルールファイルを作成
# vi /etc/udev/rules.d/99-oracle-asm.rules
以下を記述します:
KERNEL=="sdc", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc", RESULT=="1ATA_VBOX_HARDDISK_VB2a326836-801a8f50", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdd", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd", RESULT=="1ATA_VBOX_HARDDISK_VB61d1f9bc-9b2108a9", OWNER="grid", GROUP="asmadmin", MODE="0660"
◾ ルールの反映
# udevadm control --reload-rules
# udevadm trigger
確認:
# ls -l /dev/sdc /dev/sdd
brw-rw---- 1 grid asmadmin 8, 32 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 48 /dev/sdd
✅ 所有者が grid:asmadmin になっていればOKです。
[root@restart ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8, 0 May 30 11:40 /dev/sda
brw-rw----. 1 grid asmadmin 8, 17 May 30 11:41 /dev/sdb
brw-rw----. 1 root disk 8, 32 May 30 11:40 /dev/sdc
brw-rw----. 1 root disk 8, 48 May 30 11:40 /dev/sdd
[root@restart ~]# /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --dev ice=/dev/sdc
1ATA_VBOX_HARDDISK_VB2a326836-801a8f50
[root@restart ~]# /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --dev ice=/dev/sdd
1ATA_VBOX_HARDDISK_VB61d1f9bc-9b2108a9
[root@restart ~]# vi /etc/udev/rules.d/99-oracle-asm.rules
[root@restart ~]# cat /etc/udev/rules.d/99-oracle-asm.rules
KERNEL=="sdb", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc", RESULT=="1ATA_VBOX_HARDDISK_VB641f8e25-19e659c6", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdc", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc", RESULT=="1ATA_VBOX_HARDDISK_VB2a326836-801a8f50", OWNER="grid", GROUP="asmadmin", MODE="0660" ★
KERNEL=="sdd", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd", RESULT=="1ATA_VBOX_HARDDISK_VB61d1f9bc-9b2108a9", OWNER="grid", GROUP="asmadmin", MODE="0660" ★
[root@restart ~]# udevadm control --reload-rules
[root@restart ~]# udevadm trigger
[root@restart ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8, 0 May 30 11:57 /dev/sda
brw-rw----. 1 grid asmadmin 8, 17 May 30 11:57 /dev/sdb
brw-rw----. 1 grid asmadmin 8, 32 May 30 11:57 /dev/sdc ★
brw-rw----. 1 grid asmadmin 8, 48 May 30 11:57 /dev/sdd ★
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
■ 4. gridユーザーでASMインスタンスに接続
$ su - grid
$ sqlplus / as sysasm
■ 5. ASMディスクの状態確認
SQLで確認:
SQL> SELECT name, path, header_status, mode_status, state
2 FROM v$asm_disk
3 ORDER BY path;
/dev/sdc, /dev/sdd が CANDIDATE 状態で表示されていれば使用可能です。
■ 6. NORMAL冗長のディスクグループ「ARCH」を作成
SQL> CREATE DISKGROUP ARCH NORMAL REDUNDANCY
DISK '/dev/sdc', '/dev/sdd';
作成確認:
SQL> SELECT name, type, state, total_mb, free_mb
2 FROM v$asm_diskgroup;
[root@restart ~]# su - grid
Last login: Fri May 30 11:40:47 JST 2025
[grid@restart ~]$ sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on 金 5月 30 12:00:09 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> set lin 1000 pages 1000
SQL> col name for a20
SQL> col path for a20
SQL> col header_status for a20
SQL> SELECT name, path, header_status, mode_status, state
2 FROM v$asm_disk
3 ORDER BY path;
NAME PATH HEADER_STATUS MODE_STATUS STATE
-------------------- -------------------- -------------------- --------------------- ------------------------
DATA_0000 /dev/sdb1 MEMBER ONLINE NORMAL
/dev/sdc CANDIDATE ONLINE NORMAL
/dev/sdd CANDIDATE ONLINE NORMAL
SQL> CREATE DISKGROUP ARCH NORMAL REDUNDANCY ★ディスクグループを作成
2 DISK '/dev/sdc', '/dev/sdd';
Diskgroup created.
SQL> col state for a20
SQL> SELECT name, type, state, total_mb, free_mb
2 FROM v$asm_diskgroup;
NAME TYPE STATE TOTAL_MB FREE_MB
-------------------- ------------------ -------------------- ---------- ----------
DATA EXTERN MOUNTED 30716 28132
ARCH NORMAL MOUNTED 10240 10134 ★
■ テキスト図:ARCHディスクグループ(NORMAL冗長)の構成
+------------------------------+
| ASMディスクグループ: ARCH |
| 冗長モード: NORMAL |
+---------------+--------------+
| /dev/sdc | /dev/sdd |
| └─ ブロックA | └─ ブロックA(ミラー) |
| └─ ブロックB | └─ ブロックB(ミラー) |
+---------------+--------------+
■ よくあるエラーと対処
| エラー | 原因と対処 |
|---|---|
| ORA-15032: ASMディスクが見つからない | 所有者が grid:asmadmin でない、udevルールが適切でない可能性 |
ヘッダー状態が PROVISIONED 等 | 過去に使用されたディスク → 初期化やDROP DISKGROUPが必要な場合あり |
■ まとめ
| 項目 | 内容 |
|---|---|
| ディスク | /dev/sdc, /dev/sdd |
| 所有者の永続化 | udevルール /etc/udev/rules.d/99-oracle-asm.rules にて設定 |
| ASM操作ユーザー | grid(sqlplus / as sysasm) |
| 作成するディスクグループ | ARCH(NORMAL冗長) |
[参考]
Clusterware管理およびデプロイメント・ガイド




コメント