---
格式版本: 2
标题: "The Path Behind the Volume: Reconfiguring Linux udev for Multipath-Enabled Oracle Cloud Infrastructure Block Volumes | cloud-infrastructure"
原文链接: "https://blogs.oracle.com/cloud-infrastructure/oci-uhp-multipath-udev-reconfiguration"
发布日期: "2026-08-28"
发布时间校准状态: "found"
发布时间需复核: "否"
发布时间来源: "rule:configured_publication_date_rule"
发布时间证据: "doc-fixed-49fb23095330-publication-date html:original: August 28, 2026"
发布时间校准原因: "信源发布日期识别规则直接确认发布时间"
发布时间校准置信度: "high"
发布时间候选数量: 1
发布时间严格候选数量: 1
发布时间原页读取状态: "source template page reused from URL open"
发布时间未找到原因: ""
发布时间校准时间: "2026-08-31T02:08:26+08:00"
发布时间仲裁状态: "skipped"
发布时间仲裁尝试次数: 0
发布时间仲裁耗时毫秒: 0
发现时间: "2026-08-31T02:05:34+08:00"
入库时间: "2026-08-30T18:08:27.510Z"
来源平台: "固定入口"
搜索渠道: "fixed_url"
搜索词: "https://blogs.oracle.com/?page=news"
匹配关键词:
  - "performance"
  - "latency"
  - "throughput"
相关厂家:
  - "Oracle"
相关专家:
  []
内容类型: "网页"
抓取工具: "CDP Render"
清洗工具: "CDP Text + Defuddle/Readability 正文提取"
原始附件:
  []
AI优质: "否"
AI打分: 42
AI分档: "非优质"
AI质检状态: "不通过"
AI打分理由: "正文主线是OCI UHP块存储切换后的Linux udev、DM-Multipath、Oracle ASM与XFS运维配置，并非超节点或机架级AI基础设施。来源为Oracle官方博客，正文完整且操作细节丰富，但发布日期缺失；固定知识库未提供该方案的有效历史对照，不能据此认定首次发布。新增内容主要是参考主机上的切换步骤和若干环境特定观察，没有新机架产品、协议标准、生产级基准或规模部署里程碑，也无客户、订单或量产信号。命中“教程与运维选型”硬否决项，最高54分。"
AI质检模型: "gpt-5.6-sol"
AI质检时间: "2026-08-31T02:08:37+08:00"
AI主题相关性: 3
AI来源权威性: 14
AI新颖性: 3
AI技术细节: 12
AI商业部署信号: 1
AI完整性: 9
AI评分提示词版本: "v17-精简生产版"
AI评分提示词SHA256: "48fb9777f386026761b4873eaff30807694fb11e9b352d7c69bf2dfde750cc7d"
AI评分知识库版本: "knowledge_base_v1-20260819+runtime.56"
AI评分知识库SHA256: "4fc2bc9ef1ae3cccce42c5a4bdc8532ff011e9c8cef432980972e4d4a1d22131"
AI评分知识库检索词: "[\"Oracle\",\"https://blogs.oracle.com/?page=news\",\"RAS\",\"Meta\",\"IOPS\",\"RAC\",\"UDEV\",\"OS\",\"IP\",\"SID\",\"SCSI\",\"PATH\"]"
AI评分知识库命中: "[{\"id\":\"july-correct-0033\",\"title\":\"Microsoft, Alphabet, Meta Pivot from Buy to Build in AI\",\"sourceType\":\"labeled_article\",\"time\":\"2026-07\",\"matchedTerms\":[\"RAS\",\"Meta\",\"RAC\",\"OS\",\"IP\",\"SID\"],\"rank\":-7.838155010664293},{\"id\":\"runtime-5581f72bc66fda8e6c6bf711\",\"title\":\"Advancing Standards-Based AI Fabric RAS Through COSMOS Integration\",\"sourceType\":\"ai_excellent_article\",\"time\":\"2026-08-10\",\"matchedTerms\":[\"RAS\",\"RAC\",\"OS\",\"IP\",\"PATH\"],\"rank\":-7.535221177332974},{\"id\":\"july-correct-0018\",\"title\":\"AMD, Cerebras partner on joint Helios rack-scale AI inference platform\",\"sourceType\":\"labeled_article\",\"time\":\"2026-07\",\"matchedTerms\":[\"Oracle\",\"RAS\",\"Meta\",\"RAC\",\"OS\",\"IP\"],\"rank\":-7.426681118426341},{\"id\":\"july-correct-0001\",\"title\":\"全球首颗2nm GPU来了！苏姿丰甩出“最强AI机架”，CPU性能干翻英伟达 - 智东西\",\"sourceType\":\"labeled_article\",\"time\":\"2026-07\",\"matchedTerms\":[\"Oracle\",\"RAS\",\"Meta\",\"RAC\",\"OS\",\"IP\"],\"rank\":-7.294060794707038},{\"id\":\"runtime-3ea5166bd5ab2196b27864a6\",\"title\":\"MetaRoCE: Evolving Network Transports for AI\",\"sourceType\":\"ai_excellent_article\",\"time\":\"2026-08-25\",\"matchedTerms\":[\"RAS\",\"Meta\",\"RAC\",\"OS\",\"IP\",\"SID\",\"PATH\"],\"rank\":-6.925537819056524}]"
AI摘要: "本文介绍 Oracle Cloud Infrastructure 上将非启动 iSCSI 块卷升级至 Ultra High Performance 级别时，如何在 Linux 主机端重新配置 udev 规则。"
AI摘要模型: "ali-deepseek-v4-flash"
AI摘要时间: "2026-08-30T18:16:54.107Z"
采集批次: "2026年8月31日2点04分09秒"
采集批次ID: "20260831-020409-922"
去重键: "https://blogs.oracle.com/cloud-infrastructure/oci-uhp-multipath-udev-reconfiguration"
---

**A host-side cutover example for non-boot, iSCSI-attached volumes configured for the Ultra High Performance level**

Database and enterprise applications can outgrow the throughput, IOPS, or latency available from their Database and enterprise applications can outgrow the throughput, IOPS, or latency available from their current Block Volume performance level. Oracle Cloud Infrastructure (OCI) Block Volumes can be configured at the Ultra High Performance level for supported workloads that require higher storage performance.

For a supported iSCSI attachment, multipath can present multiple I/O paths to the same volume. Device-Mapper Multipath (DM-Multipath) consolidates those paths into one logical device and can support connection redundancy, path failover, load distribution, and higher available aggregate performance. [Learn more about configuring multipath attachments](https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/configuringmultipathattachments.htm).

Changing the performance level does not, by itself, complete the host-side cutover. The procedure described here does not call for a host-side data copy or filesystem reformat, but it changes how Linux discovers and consumes the volume. A volume that previously appeared through one raw device path can appear through several transport paths and one DM-Multipath map.

Configuration tied to a transient raw device name such as `/dev/sdc1`, or to a dynamic Device-Mapper Multipath (DM-Multipath) number such as `dm-3`, can become invalid after reattachment or reboot. Applications and services should instead use persistent volume identifiers, WWID-pinned multipath aliases, mapped partitions, and filesystem UUIDs.

This article covers the host-side reconfiguration for existing non-boot volumes moved to the Ultra High Performance level and for new applications built on multipath-enabled UHP storage. It focuses on:

- Oracle Automatic Storage Management (Oracle ASM) disks discovered through custom `udev` links.
- A separately attached ordinary XFS filesystem mounted at `/u01`.
- An Oracle Linux reference host using multipath-enabled iSCSI attachments.
- Standalone Oracle Restart for the example High Availability Services commands.

> **Scope and caution**
> 
> This example does not cover boot-volume conversion, paravirtualized attachments, Windows, Oracle Autonomous Linux, Oracle ASM Filter Driver, ASMLib, or Oracle Real Application Clusters (Oracle RAC) operating procedures. Commands, service dependencies, user and group names, and device properties can vary by operating system and software release. Test the complete procedure in a nonproduction environment, maintain a current backup and rollback plan, and obtain approval from the database, Linux, storage, and OCI owners before using it on a production host.

> **Important**
> 
> Configuring a volume for the Ultra High Performance level and obtaining a multipath-enabled attachment are related but distinct steps. Verify that the OCI attachment reports **Multipath: Yes**, and then validate the paths and map on the host. If an existing block volume is changed to the Ultra High Performance level, current OCI documentation requires detaching and reattaching it. A consistent device path is required for multipath-enabled iSCSI attachments. [Learn more about changing volume performance](https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/changingvolumeperformance.htm).

## The problem to solve

On the reference host, pre-cutover `udev` rules identify the raw Oracle ASM partitions and create persistent discovery links. The example below uses placeholders; replace them with values collected from the target host.

```
# /etc/udev/rules.d/99-oracle-asmdevices.rules

OWNER="grid", GROUP="asmadmin", MODE="0660", \
  KERNEL=="sd?1", SUBSYSTEM=="block", \
  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/%k", \
  RESULT=="<ASM_DISK1_WWID>", \
  SYMLINK+="asm-disk1"

OWNER="grid", GROUP="asmadmin", MODE="0660", \
  KERNEL=="sd?1", SUBSYSTEM=="block", \
  PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/%k", \
  RESULT=="<ASM_DISK2_WWID>", \
  SYMLINK+="asm-disk2"
```

Every Oracle ASM disk expected to be discovered in this UDEV-based configuration should have an explicit, verified rule before the cutover. Stop and correct any inventory or rule-coverage gap before changing the attachment.

After multipath is enabled, multiple raw `sdX` paths can identify the same storage device. DM-Multipath consolidates those paths into one map, such as `/dev/mapper/asm_disk1`, and exposes its mapped partition. Oracle ASM should consume the multipath representation rather than separate raw paths to the same disk. Oracle documentation notes that duplicate representations of the same disk can cause Oracle ASM errors. [Learn more about using Oracle ASM with multipath disks](https://docs.oracle.com/en/database/oracle/oracle-database/26/ostmg/considerations-asm-storage.html#GUID-DA8FBBB8-9831-44D1-AA41-5890B829CAEE).

Linux block-device names are discovery-order labels rather than permanent volume identities. After a reboot, iSCSI reconnection, or change in path-discovery order, the same volume can appear as `/dev/sdd` rather than `/dev/sdc`, and a Device-Mapper Multipath (DM-Multipath) number can change from `dm-3` to `dm-5`. This can be expected behavior and does not by itself indicate a volume failure.

> This is an identity and path-management change, not a host-side data-migration procedure.

## OCI UHP multipath cutover workflow

**Persistent identities replace transient raw device paths**

1. **Inventory**  
	Map each volume’s role, WWID, filesystem UUID, current device path, mount point, and UDEV rule.
2. **Stop consumers and reattach**  
	Stop databases, Oracle ASM, Oracle Grid Infrastructure, and filesystem consumers. Detach and reattach each target volume using the validated consistent device path.
3. **Verify OCI and host discovery**  
	Confirm **Multipath: Yes** in the OCI Console. Confirm that the host discovers the expected transport paths and one map for each WWID.
4. **Create persistent maps**  
	Bind each target WWID to a meaningful alias. Apply a boot-volume exclusion only after validating that design for the host.
5. **Replace consumption paths**  
	Point Oracle ASM UDEV rules to mapped partitions. Keep ordinary filesystem mounts UUID-based.
6. **Reboot and validate**  
	Validate the complete dependency chain: iSCSI sessions, multipath maps, mapped partitions, UDEV links, `/u01`, High Availability Services, Oracle ASM, and required disk groups.

Keep High Availability Services disabled until the mapped paths and ordinary filesystems have been validated manually**.**

Figure 1: OCI UHP multipath cutover workflow. The raw sdX paths are transport paths; stable WWID-pinned multipath aliases, mapped partitions, UDEV links, and filesystem UUIDs are the persistent consumption endpoints.

**Figure 1: OCI UHP multipath cutover workflow. Raw `sdX` devices are transport paths. WWID-pinned aliases, mapped partitions, UDEV links, and filesystem UUIDs are the persistent consumption endpoints.**

## Volume type: what changes and what to do

| Workload | Before multipath | After multipath | Required action |
| --- | --- | --- | --- |
| Boot volume on the reference host | OS boot path, for example `/dev/sda` and LVM partitions | Remains the OS boot path | Keep it outside this non-boot cutover. Apply any multipath exclusion only by a validated persistent identifier, not by an `sdX` name. |
| Oracle ASM disk | One raw partition, for example `/dev/sdc1` | A partition on a DM-Multipath map | Replace the raw-path UDEV rule with a rule bound to the mapped partition. |
| Ordinary filesystem that remains single-path | A raw partition mounted at `/u01` | No topology change | Keep it outside the Oracle ASM configuration and mount it by a persistent filesystem identifier. |
| Ordinary filesystem converted to UHP multipath | One raw partition | A partition on a DM-Multipath map | Keep `/etc/fstab` UUID-based, create a WWID-pinned map, and verify the mounted source after reboot. |

The `dm-N` value is dynamic and should not be used as a persistent configuration identifier. A custom multipath alias, such as `asm_disk1`, and a UDEV link, such as `/dev/asm-disk1`, provide more durable consumption endpoints.

## Before you begin

### Current OCI prerequisites to verify

Verify all requirements against the current OCI documentation:

- Use a supported Linux image and supported Compute shape.
- Current VM shapes configured for 16 cores or more can support multipath-enabled attachments when the shape table reports UHP support.
- All current bare metal shapes support multipath-enabled **iSCSI** attachments; bare metal multipath does not use the paravirtualized attachment type.
- For multiple UHP volumes, use Oracle Cloud Agent version 1.39 or later.
- Enable the Block Volume Management plugin.
- Provide a public IP address or service gateway so the plugin can reach Oracle services.
- Configure the required dynamic-group and IAM policy permissions.
- Select a consistent device path for every target non-boot attachment.
- Use either `oci-utils` or `oci-iscsi-config` for a volume. Do not alternate between the two tools for the same volume. [Review the current attachment requirements](https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/configuringmultipathattachments.htm).

Record the tested Oracle Linux, UEK, Oracle Cloud Agent, `device-mapper-multipath`, Oracle Grid Infrastructure, and Oracle Database versions in the change record for each target environment.

### Host cutover readiness

This procedure applies only to non-boot volumes.

Before starting:

- Identify the boot volume, Oracle ASM disks, and ordinary filesystems separately.
- Record a consistent OCI device path for every target attachment.
- Schedule an approved outage for Oracle ASM-backed volumes.
- Stop databases and Oracle ASM before replacing discovery rules.
- Record a rollback baseline that includes the OCI attachment state, `multipath -ll`, current UDEV rules, `/etc/fstab`, the Oracle ASM discovery string, `findmnt`, and `lsblk`.
- Confirm that current backups and recovery procedures have been tested.
- Confirm the actual Grid home, Oracle ASM SID, operating-system owner, and groups.

## 1\. Inventory every target volume before changing OCI storage

Do not infer a volume’s identity from `sdb`, `sdc`, or another disk letter.

```
# Show mounted filesystems and their sources.
findmnt -rno SOURCE,TARGET

# Show devices, partitions, filesystems, UUIDs, WWNs, and mounts.
sudo lsblk -e7 \
  -o NAME,KNAME,TYPE,SIZE,FSTYPE,UUID,PARTUUID,WWN,SERIAL,MOUNTPOINTS

# Capture the SCSI WWID for each whole disk, including the boot disk.
lsblk -dn -o PATH,TYPE |
  awk '$2 == "disk" { print $1 }' |
  while read -r dev; do
    printf '%s: ' "$dev"
    sudo /usr/lib/udev/scsi_id -g -u -d "$dev"
  done

# Record current consistent paths, UDEV rules, and mount definitions.
ls -l /dev/oracleoci/
sudo grep -R --line-number 'asm\|scsi_id' /etc/udev/rules.d
sudo cat /etc/fstab
```

Create and review an inventory similar to the following:

| Role | Current observed path | Stable identifier | Target state |
| --- | --- | --- | --- |
| Boot volume | `/dev/sda` | `<BOOT_WWID>` | Outside this cutover; exclude from local multipath discovery only if the host design requires and validates it |
| `/u01` filesystem | `/dev/sdb1` | Filesystem UUID `<U01_FILESYSTEM_UUID>` and SCSI WWID `<U01_WWID>` | `u01` multipath alias; mount by filesystem UUID |
| Oracle ASM disk 1 | `/dev/sdc1` | `<ASM_DISK1_WWID>` | `asm_disk1` multipath alias |
| Oracle ASM disk 2 | `/dev/sdd1` | `<ASM_DISK2_WWID>` | `asm_disk2` multipath alias |

The filesystem UUID and SCSI WWID serve different purposes. The filesystem UUID identifies the filesystem used for mounting. The SCSI WWID identifies the underlying storage device used in the multipath configuration. Do not substitute one for the other.

## 2\. Perform a controlled detach, reattach, and validation

Treat an existing UHP conversion as a controlled storage cutover.

Stop every consumer of the target volumes before detaching anything. This includes databases, Oracle ASM, Oracle Grid Infrastructure, and applications using ordinary filesystems. Unmount `/u01` before detaching its volume.

Do not detach a mounted filesystem, active Oracle ASM disk, or active database volume.

### Standalone Oracle Restart only

For a standalone Oracle Restart host, prevent High Availability Services from starting automatically before the new mapped paths have been validated.

Replace `/path/to/grid/home` with the actual Oracle Grid Infrastructure home:

```
# Stop application and database consumers using their approved procedures first.

sudo /path/to/grid/home/bin/crsctl disable has
sudo /path/to/grid/home/bin/crsctl stop has -f
```

Do not use these commands as an Oracle RAC procedure. Oracle RAC shutdown, Cluster Ready Services autostart control, and restart sequencing must follow the cluster’s approved operating procedure.

After the workloads are stopped and the target storage is no longer in use:

1. Detach each target non-boot volume.
2. Reattach it using the same consistent device path captured in the inventory.
3. Allow the Block Volume Management plugin to complete discovery.
4. Verify **Multipath: Yes** for each target attachment in the OCI Console.
5. Validate the host maps and paths.

On the reference host, attach attempts issued while the instance was stopped failed. The sequence validated for that environment was to stop the applications, disable HAS, detach the non-boot volumes, start the instance with HAS still disabled, and then reattach the volumes. Confirm with the OCI product owner whether that observation applies to the exact target environment before presenting it as a general requirement.

```
sudo systemctl is-active multipathd
sudo multipath -ll
```

Each target WWID should appear in one map containing the paths OCI established for that attachment. Usable paths should report the expected healthy state, such as `active ready running`.

Do not configure to a fixed path count. Path counts can vary by attachment and platform configuration.

OCI Console validation after reattachment: all three UHP volumes are attached through iSCSI with Multipath set to Yes.

**Figure 2: OCI Console validation after reattachment. Each target UHP volume is attached through iSCSI with Multipath set to **Yes**.**

Raw `sdX` paths are transport paths. Oracle ASM and mounted filesystems should consume the mapped device or its mapped partition.

## 3\. Configure persistent multipath and Oracle ASM identities

### Merge aliases into the validated multipath configuration

The Block Volume Management plugin can install the DM-Multipath package and create `/etc/multipath.conf`. Preserve required existing or plugin-generated settings. Merge only the locally validated aliases and exclusions rather than replacing the file wholesale. [Learn more about enabling the Block Volume Management plugin](https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/enablingblockvolumemanagementplugin.htm).

The following is an illustrative configuration:

```
# /etc/multipath.conf
# Merge these entries into the host's validated configuration.

defaults {
    user_friendly_names yes
    find_multipaths yes
}

blacklist {
    # Include only if the host design has validated exclusion of the
    # boot volume by its persistent WWID.
    wwid "<BOOT_WWID>"
}

multipaths {
    multipath {
        wwid  <ASM_DISK1_WWID>
        alias asm_disk1
    }

    multipath {
        wwid  <ASM_DISK2_WWID>
        alias asm_disk2
    }

    multipath {
        wwid  <U01_WWID>
        alias u01
    }
}
```

Validate the configuration before reloading it:

```
sudo multipath -t
sudo systemctl enable --now multipathd

# Run during the approved outage after confirming no consumers are active.
sudo systemctl restart multipathd

sudo multipath -ll
ls -l \
  /dev/mapper/asm_disk1 \
  /dev/mapper/asm_disk2 \
  /dev/mapper/u01
```

Confirm that each alias resolves to the intended WWID.

A boot-volume exclusion is a host-specific guardrail. Do not use a discovery-order name such as `/dev/sda` as the persistent identity.

### Identify the mapped partitions

Do not assume the mapped partition name. The generated name can differ depending on the alias and operating-system behavior.

```
ls -l /dev/mapper/asm_disk1* /dev/mapper/asm_disk2*

# Replace dm-N with the actual mapped partition, not the parent map.
sudo udevadm info --query=property --name=/dev/dm-N |
  grep -E '^(DM_UUID|DM_MPATH|DM_PART|DEVNAME)='
```

A mapped Oracle ASM partition should have properties similar to:

```
DM_UUID=part1-mpath-<ASM_DISK1_WWID>
DM_MPATH=asm_disk1
DM_PART=1
```

If the mapped partition does not exist, stop the cutover and resolve the partition mapping. Do not point Oracle ASM to a parent map when the Oracle ASM header is on partition 1.

### Replace raw-path UDEV rules

Remove or disable the old raw `sd?1` rules for converted disks. Keep a dated rollback copy, but do not leave both raw-path and multipath rules active for the same Oracle ASM disks.

Using the exact observed `DM_UUID` provides tighter binding than a broad wildcard:

```
# /etc/udev/rules.d/99-oracle-asm-multipath.rules

OWNER="grid", GROUP="asmadmin", MODE="0660", \
  ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="dm-*", \
  ENV{DM_UUID}=="part1-mpath-<ASM_DISK1_WWID>", \
  ENV{DM_MPATH}=="asm_disk1", ENV{DM_PART}=="1", \
  SYMLINK+="asm-disk1"

OWNER="grid", GROUP="asmadmin", MODE="0660", \
  ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="dm-*", \
  ENV{DM_UUID}=="part1-mpath-<ASM_DISK2_WWID>", \
  ENV{DM_MPATH}=="asm_disk2", ENV{DM_PART}=="1", \
  SYMLINK+="asm-disk2"
```

Replace the owner, group, aliases, partition number, and WWIDs with the values validated for the target host.

Reload and apply the rules only during the approved outage:

```
sudo udevadm control --reload-rules
sudo udevadm trigger --subsystem-match=block --action=change
sudo udevadm settle

ls -l /dev/asm-disk1 /dev/asm-disk2
readlink -f /dev/asm-disk1
readlink -f /dev/asm-disk2
```

Both Oracle ASM links should resolve to mapped `dm-*` partitions. If either resolves to a raw `sdX1` path, the cutover is incomplete.

Confirm that the Oracle ASM discovery string includes the intended persistent links.

## 4\. Mount ordinary filesystems through the multipath topology

A normal filesystem does not need Grid ownership or an Oracle ASM discovery link.

Use the filesystem UUID as the persistent mount identity. The UUID does not change merely because Linux remaps the underlying block device.

For a single-path iSCSI attachment:

```
UUID=<U01_FILESYSTEM_UUID> /u01 xfs defaults,_netdev 0 0
```

For the reference host after the UHP multipath cutover:

```
UUID=<U01_FILESYSTEM_UUID> /u01 xfs defaults,_netdev,x-systemd.requires=multipathd.service 0 0
```

Current OCI documentation recommends UUID-based mounts and `_netdev` for network-backed block-volume filesystems. The additional `multipathd.service` dependency shown here was validated on the reference host and should be reviewed for the target Oracle Linux and systemd releases. [Learn more about connecting to UHP volumes](https://docs.oracle.com/en-us/iaas/Content/Block/Tasks/connectingtouhpvolumes.htm).

In this example:

- `/u01` is the mount point.
- `xfs` is the filesystem type.
- `_netdev` tells systemd to treat the filesystem as network-backed storage.
- `x-systemd.requires=multipathd.service` makes the generated mount unit depend on `multipathd` in the tested environment.
- The final `0 0` values disable dump processing and boot-time `fsck` passes for this XFS filesystem.

Validate the entry:

```
sudo systemctl daemon-reload
sudo findmnt --verify --fstab
sudo mount /u01
findmnt -no SOURCE,TARGET /u01
sudo systemctl cat u01.mount
```

The final `findmnt` result should resolve to the mapped multipath partition, such as `/dev/mapper/u01p1`, rather than to a raw `sdX1` device.

The filesystem UUID identifies the filesystem but does not independently prove that the host is reaching it through multipath. The WWID-pinned `u01` map, active `multipathd`, and final source validation establish the topology.

On the reference Oracle Linux host, adding a direct `x-systemd.requires=iscsi.service` dependency created a systemd ordering cycle. Treat that result as host-specific unless Oracle Linux engineering confirms it for the supported target releases.

Avoid `nofail` for `/u01` when it contains required Oracle Grid Infrastructure or database binaries. A host that continues startup without those required binaries can enter an unusable application state.

Do not apply Oracle ASM ownership or discovery rules to `/u01` merely because it is a non-boot volume.

## 5\. Re-enable HAS, reboot, and validate the complete chain

Keep High Availability Services disabled until the multipath maps, mapped partitions, UDEV links, and `/u01` mount have been validated manually.

```
sudo systemctl is-active multipathd
sudo systemctl is-enabled multipathd
sudo multipath -ll

ls -l /dev/asm-disk1 /dev/asm-disk2
findmnt -no SOURCE,TARGET /u01
```

For a standalone Oracle Restart host only:

```
sudo /path/to/grid/home/bin/crsctl enable has
sudo reboot
```

Do not use this sequence as an Oracle RAC operating procedure.

After reboot, validate the complete storage-to-application chain:

```
# Linux storage layer
sudo systemctl is-active multipathd
sudo systemctl is-enabled multipathd
sudo multipath -ll

ls -l /dev/asm-disk1 /dev/asm-disk2
readlink -f /dev/asm-disk1
readlink -f /dev/asm-disk2

findmnt -no SOURCE,TARGET /u01

# Oracle Grid Infrastructure and Oracle ASM
sudo /path/to/grid/home/bin/crsctl check has
sudo /path/to/grid/home/bin/crsctl stat res -t

# Replace the example Oracle home with the tested Grid home.
sudo -iu grid bash -lc \
  'export ORACLE_HOME=/u01/app/grid; export ORACLE_SID=+ASM; "$ORACLE_HOME/bin/asmcmd" lsdg'
```

The validation is successful when:

- Every target map has the intended WWID and the expected healthy paths.
- Oracle ASM links resolve only to mapped partitions.
- `/u01` is mounted through the `u01` multipath partition.
- High Availability Services is online.
- Oracle ASM is online.
- Every required Oracle ASM disk group is mounted.

One successful reboot helps validate the tested dependency chain, but it does not replace ongoing monitoring, backups, or documented recovery procedures.

If the host does not meet all checks, do not close the change. Keep the workload stopped, restore the last known-good UDEV and mount configuration, and investigate the map, alias, partition, ownership, or startup-order issue.

## Avoid these common mistakes

- Blacklisting `/dev/sda` rather than using a validated persistent identifier.
- Leaving raw-path and multipath Oracle ASM rules active for the same disk.
- Using `dm-3`, `mpatha`, or another discovery-order name in persistent configuration.
- Using `/dev/sdX1` in `/etc/fstab`.
- Assuming the mapped partition name without inspecting `DM_UUID`, `DM_MPATH`, and `DM_PART`.
- Pointing Oracle ASM to the parent map when its header is on a partition.
- Applying Oracle ASM rules to `/u01`.
- Running a broad multipath flush on a live Oracle ASM host.
- Hardcoding a path count from one demonstration host.
- Treating a successful runtime test as complete validation without testing reboot behavior.
- Reusing WWIDs, UUIDs, aliases, user names, groups, Grid homes, or device paths from another host.
- Applying standalone Oracle Restart commands to Oracle RAC.

## Conclusion

Multipath changes how Linux identifies and consumes an OCI Block Volume. In the reference configuration, the durable pattern is to use persistent identities throughout the stack:

- A WWID for each underlying volume.
- A meaningful, WWID-pinned DM-Multipath alias.
- A mapped partition for Oracle ASM.
- A constrained UDEV link for Oracle ASM discovery.
- A filesystem UUID for an ordinary filesystem mount.

The host-side procedure does not require copying application data or reformatting the existing filesystem. It changes the operating system’s path to that data. Transient device letters and `dm-N` numbers can change; WWIDs, aliases, mapped-partition properties, UDEV links, and filesystem UUIDs provide the persistent identity needed for a durable configuration.

Complete the change only after an approved reboot window confirms the intended paths, ordinary filesystem mounts, High Availability Services, Oracle ASM, and required disk groups.

## Appendix: representative final state

The following output is illustrative. Replace every placeholder with values collected from the target host.

### Persistent mappings

| Role | SCSI WWID | Persistent map and partition | Consumption endpoint |
| --- | --- | --- | --- |
| Boot volume | `<BOOT_WWID>` | Outside the target multipath maps; host-specific exclusion if validated | OS boot volume |
| `/u01` filesystem | `<U01_WWID>` | `/dev/mapper/u01` and `/dev/mapper/u01p1` | `/u01`, mounted by filesystem UUID |
| Oracle ASM disk 1 | `<ASM_DISK1_WWID>` | `/dev/mapper/asm_disk1` and `/dev/mapper/asm_disk1p1` | `/dev/asm-disk1` |
| Oracle ASM disk 2 | `<ASM_DISK2_WWID>` | `/dev/mapper/asm_disk2` and `/dev/mapper/asm_disk2p1` | `/dev/asm-disk2` |

### Representative path-health output

```
$ sudo multipath -ll

u01 (<U01_WWID>) dm-N ...
  |- ... active ready running
  |- ... active ready running
  \`- ... active ready running

asm_disk1 (<ASM_DISK1_WWID>) dm-N ...
  |- ... active ready running
  \`- ... active ready running

asm_disk2 (<ASM_DISK2_WWID>) dm-N ...
  |- ... active ready running
  \`- ... active ready running
```

The number of paths shown is illustrative. Validate the paths OCI actually established for each attachment.

### Representative final mount

```
$ findmnt -no SOURCE,TARGET /u01
/dev/mapper/u01p1 /u01
```

### Representative Oracle ASM links

```
$ ls -l /dev/asm-disk1 /dev/asm-disk2
/dev/asm-disk1 -> mapper/asm_disk1p1
/dev/asm-disk2 -> mapper/asm_disk2p1
```

Default names such as `mpatha` and dynamic values such as `dm-3` can be useful for observing current discovery, but they are not the intended persistent configuration endpoints when custom aliases are used.
