NetApp SnapManager Probleme mit LUN Naming auf RHEL 7 / OEL 7
Umgebung
- SnapManager for Oracle (SMO)
- SnapDrive for Unix (SDU)
- Linux Host Operating systems:RedHat Enterprise Linux 7+, Oracle Linux 7+
Problem
Beim Anlegen eines SMO Profiles kommt es zu folgender Fehlermeldung:
--[ INFO] SMO-13036: Starting operation Profile Create on host terra.solar.system
--[ INFO] SMO-13046: Operation GUID 8a7d0cac61d6fdb30161d6fdb678000e starting on Profile apollo
--[ INFO] SMO-13505: SnapDrive environment verification passed.
--[ INFO] SMO-13507: JDBC verification for "OS authenticated: apollo/terra.solar.system" passed.
--[ INFO] SMO-13506: SQLPlus verification for database SID "apollo" passed.Environment: [ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/dbhome_1]
--[ INFO] SMO-07431: Saving starting state of the database: apollo(OPEN).
--[ INFO] SMO-07431: Saving starting state of the database: apollo(OPEN), apollo2(OPEN).
--[ INFO] ORACLE-20024: Spooling control file for database apollo to trace as /tmp/SM_8493096796608347103.
--[ INFO] ORACLE-20024: Spooling control file for database apollo to trace as /tmp/SM_20219373415083031.
--[ INFO] SMO-07153: Fetching archivelogs
--[ INFO] SD-00019: Discovering storage resources for all system devices.
--[ INFO] SD-00020: Finished storage discovery for all system devices.
--[ERROR] FLOW-11019: Failure in Discover: DISC-00001: Unable to discover storage:
The following identifiers do not exist or are not of the expected type: Base Device
/dev/mapper/360a9800038303670542b48507043564d1
/dev/mapper/360a9800038303670542b48507043564b1
/dev/mapper/360a9800038303670542b48507043564f1
--[ERROR] FLOW-11008: Operation failed: DISC-00001: Unable to discover storage:
The following identifiers do not exist or are not of the expected type: Base Device
/dev/mapper/360a9800038303670542b48507043564d1
/dev/mapper/360a9800038303670542b48507043564b1
/dev/mapper/360a9800038303670542b48507043564f1
--[ERROR] SMO-05075: Profile create failed: SMO-11009: Internal error during storage operation:
FLOW-11019: Failure in Discover: DISC-00001: Unable to discover storage:
The following identifiers do not exist or are not of the expected type: Base Device
/dev/mapper/360a9800038303670542b48507043564d1
/dev/mapper/360a9800038303670542b48507043564b1
/dev/mapper/360a9800038303670542b48507043564f1
Es fällt auf, dass nicht alle LUNs für diese Datenbank hier aufgelistet werden.
D.h. es scheint ein Problem mit multipath oder den angeführten LUNs zu geben.
Ein Versuch ohne multipath Konfiguration (auf die /dev/sdXY Pfade) ergab, dass
dieser Fehler dabei nicht auftrat. Damit liegt das Problem nicht an den LUNs
selbst.
Es stellt sich heraus, dass es sich bei dem Fehler um die Folge einer Änderung
in den neuen Linux Versionen handelt. Konkret wurden die udev Rules für multipath
LUNs geändert:
Der Partition Delimiter "p" wird nur mehr verwendet, wenn die UUID auf eine
Zahl endet
/dev/mapper/360a9800038303670542b485070437836p1
Endet die Hexadezimal UUID auf a - f wird kein "p" angehängt
/dev/mapper/360a9800038303670542b48507043564d1
SnapDrive for Unix hat diese Veränderung anders als ASM selber nicht
übernommen und erwartet den "p" delimiter für Partitionierte LUNs.
Lösung
Die Lösung ist in diesem Fall, die UDEV Regeln für multipath in der Datei
62-multipath.rules
entsprechend anzupassen. Diese Datei liegt in den Verzeichnissen
1. /etc/udev/rules.d
2. /run/udev/rules.d
3. /lib/udev/rules.d
und wird auch in dieser Reihenfolge abgearbeitet. Die erste Datei, die gefunden
wird, zieht und bestimmt die UDEV Regeln.
In der Datei
62-multipath.rules
ist dabei die folgende Zeile, bzw. Klausel von
RUN+="$env{MPATH_SBIN_PATH}/kpartx -a $tempnode"
auf diese zu ändern:
RUN+="$env{MPATH_SBIN_PATH}/kpartx -a -p p $tempnode"
Nach einem Restart des Servers entspricht nun die Benennung der LUNs den
Erwartungen von SnapDrive for Unix und das Anlegen des SMO Profiles läuft
fehlerfrei durch.