gridユーザーでASMインスタンスに接続し、NORMAL冗長ディスクグループ「ARCH」を作成する方法

ASM

~lsで所有者確認 → udev設定 → ASM構成まで完全ガイド~

Oracle ASM(Automatic Storage Management)は、Oracleが提供する高可用・高性能なストレージ管理機能です。
ASMディスクを使用するには、ディスクの所有者がgridユーザーかつasmadminグループである必要があります。

本記事では、最初にディスクの状態を確認し、udevで永続化設定を行った上で、NORMAL冗長ディスクグループ「ARCH」 を作成するまでの手順を解説します。

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?


✅ 本記事の流れ

  1. /dev/sd* の所有者を確認
  2. デバイスID(scsi_id)の取得
  3. udevルールを作成して所有者を永続化
  4. gridユーザーでASMインスタンスに接続
  5. ASMディスクの状態確認
  6. ディスクグループ「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/sddCANDIDATE 状態で表示されていれば使用可能です。


■ 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管理およびデプロイメント・ガイド

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました