继上篇openfiler 2.99安装之后,这一篇讲介绍openfiler的存储配置和oracle 端的服务配置

参考文档:https://www.oracle.com/technetwork/cn/articles/hunter-rac11gr2-iscsi-083834-zhs.html#11

ip规划

10.15.7.20 rac01
1.1.1.5 rac01-priv
10.15.7.22 rac01-vip
10.15.7.21 rac02
1.1.1.6 rac02-priv
10.15.7.23 rac02-vip
10.15.7.24 scanvip01-ip
#Private Storage Network for Openfiler-(eth1)
10.15.7.17 openfiler101
1.1.1.7 openfiler101-priv

登录网址10.15.7.14:446/

--Services,启动iscsi target服务

在service里面启动iscsi target server,启动之后,下次启动会自动启动

To enable the iSCSI service, click on the 'Enable' link under the 'iSCSI target server' service name. After that, the 'iSCSI target server' status should change to ' Enabled '.

点击enabled

service iscsi-target status

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--Network Access Configuration,只有配置了ip,才有权限访问openfiler存储

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--添加2个rac节点的hostname和ip

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--物理存储,Physical Storage

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--点击create new physical volumes

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

现在我们来配置共享设备。先对我们没有格式的分区格式化成扩展分区,一定要扩展分区

[root@localhost ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00071cd1

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *          63      208844      104391   83  Linux

/dev/sda2          208845     4401809     2096482+  82  Linux swap / Solaris

/dev/sda3         4401810     8594774     2096482+  83  Linux

[root@localhost ~]# fdisk /dev/sda

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

e

Selected partition 4

First sector (8594775-83886079, default 8594775):

Using default value 8594775

Last sector, +sectors or +size{K,M,G} (8594775-83886079, default 83886079):

Using default value 83886079

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@localhost ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00071cd1

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *          63      208844      104391   83  Linux

/dev/sda2          208845     4401809     2096482+  82  Linux swap / Solaris

/dev/sda3         4401810     8594774     2096482+  83  Linux

/dev/sda4         8594775    83886079    37645652+   5  Extended

格式化之后,我们在openfiler的网页中就能看到这个磁盘信息,如果不格式化,或者格式化错误,是无法编辑的。

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--点击/dev/sda

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--往下拉

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

==Create a partition in /dev/sda,点击create 没有任何变化

==mode=logical

==partition type=physical volume

--解决方法1

手工分区create并创建卷组

[root@localhost httpd]# fdisk /dev/sda

Command (m for help): n

First sector (8596823-83886079, default 8596823): ##enter

Last sector, +sectors or +size{K,M,G} (73400320-83886079, default 83886079): ##enter

Using default value 83886079

Command (m for help): t

Partition number (1-5): 5

Hex code (type L to list codes): 8e

Changed system type of partition 5 to 8e (Linux LVM)

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@localhost ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00071cd1

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *          63      208844      104391   83  Linux

/dev/sda2          208845     4401809     2096482+  82  Linux swap / Solaris

/dev/sda3         4401810     8594774     2096482+  83  Linux

/dev/sda4         8594775    83886079    37645652+   5  Extended

/dev/sda5         8596823    83886079    37644628+  8e  Linux LVM

[root@localhost httpd]# partprobe /dev/sda

[root@localhost httpd]# pvcreate /dev/sda5

Physical volume "/dev/sda5" successfully created

[root@localhost httpd]# vgcreate vg_data /dev/sda5

Volume group "vg_data" successfully created

--解决方法2

openfiler版本是2.99的,无法新增物理卷,点击Create 保存不了,把开始加大点,结束减少点就create了,也可以保存了

#create

--点击create,把所有空间全部创建成一个分区,这个就是一个卷。之后窗口会显示

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

创建分区后

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--卷组管理

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--逻辑卷

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

卷名 卷描述 所需空间 (MB) 文件系统类型

racdb-crs1 racdb - ASM CRS Volume 1 2,208 iSCSI

racdb-data1 racdb - ASM Data Volume 1 20480 iSCSI

racdb-fra1 racdb - ASM FRA Volume 1 14072 iSCSI

--crs

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--data

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--fra

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--3个逻辑卷创建完成

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--iSCSI 目标

现在,我们有了三个 iSCSI 逻辑卷。但是,为了使 iSCSI 客户端可以访问这些逻辑卷,首先需要为这三个卷中的每个卷创建一个 iSCSI 目标。

每个 iSCSI 逻辑卷将映射 到一个特定的 iSCSI 目标,并将为两个 Oracle RAC 节点授予对该目标的相应网络访问权限。

对于本文,在 iSCSI 逻辑卷和 iSCSI 目标之间将会有一一映射的关系。

创建和配置 iSCSI 目标的过程包括三步:创建一个唯一的目标 IQN(实质上是新的 iSCSI 目标的通用名称),

将上一节中创建的一个 iSCSI 逻辑卷映射到新创建的 iSCSI 目标,最后,授予两个 Oracle RAC 节点访问该新 iSCSI 目标的权限。

请注意,需要对上一节中创建的三个 iSCSI 逻辑卷中的每个卷都执行一次此过程。

iSCSI 目标/逻辑卷映射

目标 IQN iSCSI 卷名 卷描述

iqn.2019-01.com.openfiler:racdb.crs1 racdb-crs1 racdb - ASM CRS Volume 1

iqn.2019-01.com.openfiler:racdb.data1 racdb-data1 racdb - ASM Data Volume 1

iqn.2019-01.com.openfiler:racdb.fra1 racdb-fra1 racdb - ASM FRA Volume 1

现在我们来创建三个新的 iSCSI 目标 — 为每个 iSCSI 逻辑卷创建一个。下面举例说明通过创建 Oracle Clusterware/racdb-crs1 目标

( iqn.2019-01.com.openfiler:racdb.crs1) 来创建新的 iSCSI 目标时所需执行的三个步骤。

这个三步过程需要对上表中列出的三个新 iSCSI 目标中的每一个都重复执行一遍。

--创建新目标 IQN

从 Openfiler Storage Control Center 中转到 [Volumes] / [iSCSI Targets]。确保选择了灰色子选项卡“Target Configuration”。

您可在此选项卡页中创建一个新的 iSCSI 目标。系统会自动生成一个默认值,作为新 iSCSI 目标的名称(常称为“目标 IQN”)。

目标 IQN 的一个示例是“iqn.2019-01.com.openfiler:tsn.7db44de9a62f”:

我喜欢用更具含义的字串来替换这个默认目标 IQN 最后一段。对于第一个 iSCSI 目标(Oracle Clusterware/racdb-crs1),

我将这样来修改默认的目标 IQN:将字符串“tsn.ae4683b67fd3”替换为“racdb.crs1”

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--添加3个

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

对新的目标 IQN 满意之后,单击“Add”按钮。这将会创建一个新的 iSCSI 目标,然后会出现一个页面,

您可以在该页面中修改新 iSCSI 目标的一系列设置。对于本文,无需更改新 iSCSI 目标的任何设置

--LUN mapping

创建新的 iSCSI 目标之后,下一步是将相应的 iSCSI 逻辑卷映射到该目标。在“Target Configuration”子选项卡下,

验证在“Select iSCSI Target”部分中选择了正确的 iSCSI 目标。如果不是这样,使用下拉菜单选择正确的 iSCSI 目标,然后单击“Change”按钮。

接下来,单击名为“LUN Mapping”的灰色子选项卡(在“Target Configuration”子选项卡旁)。找到相应的 iSCSI 逻辑卷

(本例中为 /dev/vg_data/racdb-crs1),然后单击“Map”按钮。无需更改此页面中的任何设置。对卷 /dev/vg_data/racdb-crs1

单击“Map”按钮后

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--mapping crs

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--mapping data

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--mapping fra

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--network acl

需要先授予 iSCSI 客户端相应的权限,它才能访问新创建的 iSCSI 目标。在前面,我们已通过 Openfiler 对两个主机(Oracle RAC 节点)

进行网络访问配置。这两个节点需要通过存储(专用)网络访问新的 iSCSI 目标。现在,我们需要授予这两个 Oracle RAC 节点访问新 iSCSI 目标的权限。

---crs

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--data

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

--fra

oracle 11g r2 rac +openfiler 2.99 +centos 6.5+vbox-LMLPHP

需要先授予 iSCSI 客户端相应的权限,它才能访问新创建的 iSCSI 目标。在前面,我们已通过 Openfiler 对两个主机(Oracle RAC 节点)

进行网络访问配置。这两个节点需要通过存储(专用)网络访问新的 iSCSI 目标。现在,我们需要授予这两个 Oracle RAC 节点访问新 iSCSI 目标的权限。

单击名为“Network ACL”的灰色子选项卡(在“LUN Mapping”子选项卡旁)。对当前的 iSCSI 目标,将两个主机的“Access”值由“Deny”更改为“Allow”,然后单击“Update”按钮。

返回到创建新的目标 IQN 一节,对其余两个 ISCSI 逻辑卷执行这三个任务,同时替换“iSCSI 目标/逻辑卷映射”表中找到的值。

###3个逻辑卷都要实现iqn,lun,acl的绑定

至此,存储的服务端已经配置完成。在这一步,我们创建了一个逻辑卷然后与ISCSI target 进行了对应。客户端的服务器就通过这个ISCSI target进行连接。

Openfiler target的配置文件是: /etc/ietd.conf

[root@localhost ~]# cat /etc/ietd.conf

#####   WARNING!!! - This configuration file generated by Openfiler. DO NOT MANUALLY EDIT.  #####

Target iqn.2019-01.com.openfiler:racdb.crs1

HeaderDigest None

DataDigest None

MaxConnections 1

InitialR2T Yes

ImmediateData No

MaxRecvDataSegmentLength 131072

MaxXmitDataSegmentLength 131072

MaxBurstLength 262144

FirstBurstLength 262144

DefaultTime2Wait 2

DefaultTime2Retain 20

MaxOutstandingR2T 8

DataPDUInOrder Yes

DataSequenceInOrder Yes

ErrorRecoveryLevel 0

Lun 0 Path=/dev/vg_data/racdb-crs1,Type=blockio,ScsiSN=zwDMca-iU5S-k2B2,ScsiId=zwDMca-iU5S-k2B2,IOMode=wt

Target iqn.2019-01.com.openfiler:racdb.data1

HeaderDigest None

DataDigest None

MaxConnections 1

InitialR2T Yes

ImmediateData No

MaxRecvDataSegmentLength 131072

MaxXmitDataSegmentLength 131072

MaxBurstLength 262144

FirstBurstLength 262144

DefaultTime2Wait 2

DefaultTime2Retain 20

MaxOutstandingR2T 8

DataPDUInOrder Yes

DataSequenceInOrder Yes

ErrorRecoveryLevel 0

Lun 0 Path=/dev/vg_data/racdb-data1,Type=blockio,ScsiSN=W9fYp5-B2dk-HvqL,ScsiId=W9fYp5-B2dk-HvqL,IOMode=wt

Target iqn.2019-01.com.openfiler:racdb.fra1

HeaderDigest None

DataDigest None

MaxConnections 1

InitialR2T Yes

ImmediateData No

MaxRecvDataSegmentLength 131072

MaxXmitDataSegmentLength 131072

MaxBurstLength 262144

FirstBurstLength 262144

DefaultTime2Wait 2

DefaultTime2Retain 20

MaxOutstandingR2T 8

DataPDUInOrder Yes

DataSequenceInOrder Yes

ErrorRecoveryLevel 0

Lun 0 Path=/dev/vg_data/racdb-fra1,Type=blockio,ScsiSN=XtaHfg-paMU-Xf3H,ScsiId=XtaHfg-paMU-Xf3H,IOMode=wt

[root@localhost ~]# ll /dev/vg_data/

total 0

lrwxrwxrwx 1 root root 31 Apr  1 02:04 racdb-crs1 -> /dev/mapper/vg_data-racdb--crs1

lrwxrwxrwx 1 root root 32 Apr  1 02:06 racdb-data1 -> /dev/mapper/vg_data-racdb--data1

lrwxrwxrwx 1 root root 31 Apr  1 02:06 racdb-fra1 -> /dev/mapper/vg_data-racdb--fra1

重启iscsi-target服务

[root@localhost ~]# service iscsi-target restart

Stopping iSCSI target service: ......                      [  OK  ]

Starting iSCSI target service:                             [  OK  ]

You have new mail in /var/spool/mail/root

[root@openfiler01 ~]# service iscsi-target status

ietd (pid 995) is running...

[root@localhost ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=openfiler01

GATEWAY=10.15.4.1

[root@openfiler01 ~]# lvscan

ACTIVE            '/dev/vg_data/racdb-crs1' [2.16 GiB] inherit

ACTIVE            '/dev/vg_data/racdb-data1' [20.00 GiB] inherit

ACTIVE            '/dev/vg_data/racdb-fra1' [13.74 GiB] inherit

oracle rac节点配置

--在 Oracle RAC 节点上配置 iSCSI 卷

在集群中的两个 Oracle RAC 节点上配置 iSCSI 启动器。而创建分区只应在 RAC 集群的一个节点上执行。

[root@rac01 ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep iscsi-initiator-utils

[root@rac01 ~]# ll /mnt/Packages/iscsi*

-r--r--r--. 3 root root 702308 Nov 25  2013 /mnt/Packages/iscsi-initiator-utils-6.2.0.873-10.el6.x86_64.rpm

[root@rac01 ~]# rpm -ivh /mnt/Packages/iscsi-initiator-utils-6.2.0.873-10.el6.x86_64.rpm

Preparing...                ########################################### [100%]

1:iscsi-initiator-utils  ########################################### [100%]

[root@rac01 ~]# rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n"| grep iscsi-initiator-utils

iscsi-initiator-utils-6.2.0.873-10.el6 (x86_64)

[root@rac02 ~]# rpm -qa | grep iscsi-initiator-utils

iscsi-initiator-utils-6.2.0.873-10.el6.x86_64

--配置 iSCSI(启动器)服务

验证 iscsi-initiator-utils 程序包已经安装到两个 Oracle RAC 节点之后,启动 iscsid 服务,并使其在系统引导时自动启动。

我们还将配置 iscsi 服务在系统启动时自动启动,自动登录到所需的 iSCSI 目标

[root@rac01 ~]# service iscsid start

[root@rac01 ~]# chkconfig iscsid on

[root@rac01 ~]# chkconfig iscsi on

现在 iSCSI 服务已经启动,下面使用 iscsiadm 命令行接口发现网络存储服务器上的所有可用目标。这应该在两个 Oracle RAC 节点上执行,以检验配置是否正常工作:

[root@rac01 log]# iscsiadm -m discovery -t sendtargets -p 10.15.7.17

10.15.7.17:3260,1 iqn.2019-01.com.openfiler:racdb.fra1

10.15.7.17:3260,1 iqn.2019-01.com.openfiler:racdb.data1

10.15.7.17:3260,1 iqn.2019-01.com.openfiler:racdb.crs1

[root@rac02 ~]# iscsiadm -m discovery -t sendtargets -p 10.15.7.17

10.15.7.17:3260,1 iqn.2019-01.com.openfiler:racdb.fra1

10.15.7.17:3260,1 iqn.2019-01.com.openfiler:racdb.data1

10.15.7.17:3260,1 iqn.2019-01.com.openfiler:racdb.crs1

用iscsiadm命令检查网络存储服务器上的所有可用目标:

[root@rac01 log]# iscsiadm -m discovery -t sendtargets -p 10.15.7.17

Starting iscsid:                                           [  OK  ]

iscsiadm: No portals found

[root@rac01 log]# service iscsid status

iscsid (pid  7167) is running...

--手动登录iSCSI目标

此时,iSCSI 启动器服务已经启动,每个 Oracle RAC 节点都能够从网络存储服务器中发现可用目标。下一步是手动登录每个可用目标,

这可以使用 iscsiadm 命令行接口完成。这需要在两个 Oracle RAC 节点上运行。注意,我必须指定网络存储服务器的 IP 地址而非其

主机名 (openfilerl01) — 我认为必须这么做,因为上述发现使用 IP 地址显示目标。

[root@racnode1 ~]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.fra1 -p 10.15.7.17 -l

[root@racnode1 ~]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.data1 -p 10.15.7.17 -l

[root@racnode1 ~]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.crs1 -p 10.15.7.17 -l

-----2个节点上执行

[root@rac01 log]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.fra1 -p 10.15.7.17 -l

Logging in to [iface: default, target: iqn.2019-01.com.openfiler:racdb.fra1, portal: 10.15.7.17,3260] (multiple)

Login to [iface: default, target: iqn.2019-01.com.openfiler:racdb.fra1, portal: 10.15.7.17,3260] successful.

[root@rac01 log]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.data1 -p 10.15.7.17 -l

Logging in to [iface: default, target: iqn.2019-01.com.openfiler:racdb.data1, portal: 10.15.7.17,3260] (multiple)

Login to [iface: default, target: iqn.2019-01.com.openfiler:racdb.data1, portal: 10.15.7.17,3260] successful.

[root@rac01 log]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.crs1 -p 10.15.7.17 -l

Logging in to [iface: default, target: iqn.2019-01.com.openfiler:racdb.crs1, portal: 10.15.7.17,3260] (multiple)

Login to [iface: default, target: iqn.2019-01.com.openfiler:racdb.crs1, portal: 10.15.7.17,3260] successful.

-----

--配置自动登录

下一步是确保在计算机引导(或 iSCSI 启动器服务启动/重启)时,客户端将自动登录到上面列出的每个目标。

如同上面描述的手动登录过程,在两个 Oracle RAC 节点上执行以下命令:

[root@racnode1 ~]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.crs1 -p 10.15.7.17 --op update -n node.startup -v automatic

[root@racnode1 ~]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.data1 -p 10.15.7.17 --op update -n node.startup -v automatic

[root@racnode1 ~]# iscsiadm -m node -T iqn.2019-01.com.openfiler:racdb.fra1 -p 10.15.7.17 --op update -n node.startup -v automatic

--创建永久性本地 SCSI 设备名称

在本节中,我们将逐步为每个 iSCSI 目标名称创建永久性本地 SCSI 设备名称。我们将使用 udev 来完成该任务。拥有一致的本地 SCSI 设备名称及

其映射到的 iSCSI 目标,有助于在配置 ASM 时能够区分三个卷。尽管并未严格要求这么做(因为我们将对所有卷使用 ASMLib 2.0),这提供了一种

自我文档编制的方法,有助于快速确定每个 iSCSI 卷的名称和位置

如果任一 Oracle RAC 节点引导并且 iSCSI 启动器服务启动,它会以一种随机的方式自动登录到配置的每个目标,并将这些目标映射到下一个可用

的本地 SCSI 设备名称。例如,目标 qn.2019-01.com.openfiler:racdb.crs1 可能会映射到 /dev/sdb。实际上,我可以通过查看 /dev/disk/by-path

目录来确定所有目标的当前映射:

[root@rac01 log]# (cd /dev/disk/by-path; ls -l *openfiler* | awk '{FS=" "; print $9 " " $10 " " $11}')

ip-10.15.7.17:3260-iscsi-iqn.2019-01.com.openfiler:racdb.crs1-lun-0 -> ../../sdd

ip-10.15.7.17:3260-iscsi-iqn.2019-01.com.openfiler:racdb.data1-lun-0 -> ../../sdc

ip-10.15.7.17:3260-iscsi-iqn.2019-01.com.openfiler:racdb.fra1-lun-0 -> ../../sdb

使用上述 ls 命令的输出结果,我们可以建立以下当前映射:

iSCSI 目标名称 SCSI 设备名称

iqn.2019-01.com.openfiler:racdb.crs1 /dev/sdd

iqn.2019-01.com.openfiler:racdb.data1 /dev/sdc

iqn.2019-01.com.openfiler:racdb.fra1 /dev/sdb

但是,每次重新引导 Oracle RAC 节点时,该映射都可能有所不同。例如,重新引导之后,可能会决定将 iSCSI

目标 iqn.2019-01.com.openfiler:racdb.crs1 映射到本地 SCSI 设备 /dev/sdc。由于您无法预测重新引导后的

iSCSI 目标映射,依赖于使用本地 SCSI 设备名称是不现实的。

第一步是创建一个新的规则文件。该文件将命名为 /etc/udev/rules.d/55-openiscsi.rules,并且只包含一行用于接收我们感兴趣事件的名称=值对。

它还将定义一个调出 SHELL 脚本 (/etc/udev/scripts/iscsidev.sh),用于处理事件。

在两个 Oracle RAC 节点上创建以下规则文件 /etc/udev/rules.d/55-openiscsi.rules:

[root@rac01 log]# vim /etc/udev/rules.d/55-openiscsi.rules

[root@rac01 log]# more /etc/udev/rules.d/55-openiscsi.rules

# /etc/udev/rules.d/55-openiscsi.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/udev/scripts/iscsidev.sh %b",SYMLINK+="iscsi/%c/part%n"

现在,我们需要创建在接收该事件时将调用的 UNIX SHELL 脚本。我们首先在两个 Oracle RAC 节点上创建一个单独的目录,用于存储 udev 脚本:

[root@rac01 log]# mkdir -p /etc/udev/scripts

接下来,在两个 Oracle RAC 节点上创建 UNIX shell 脚本 /etc/udev/scripts/iscsidev.sh:

[root@rac01 log]# vim /etc/udev/scripts/iscsidev.sh

#!/bin/sh

# FILE: /etc/udev/scripts/iscsidev.sh

BUS=${1}

HOST=${BUS%%:*}

[ -e /sys/class/iscsi_host ] || exit 1

file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/targetname"

target_name=$(cat ${file})

# This is not an open-scsi drive

if [ -z "${target_name}" ]; then

exit 1

fi

echo "${target_name##*.}"

创建 UNIX SHELL 脚本后,将其更改为可执行文件:

[root@rac01 log]# chmod 755 /etc/udev/scripts/iscsidev.sh

既然已经配置了 udev,下面将在两个 Oracle RAC 节点上重新启动 iSCSI 服务

[root@rac01 log]# service iscsi stop

Stopping iscsi:                                            [  OK  ]

[root@rac01 log]# service iscsi start

Starting iscsi:                                            [  OK  ]

[root@rac01 dev]# ls -l /dev/iscsi/*

ls: cannot access /dev/iscsi/*: No such file or directory

[root@rac01 dev]# ls /dev/disk/by-path -al

total 0

drwxr-xr-x 2 root root 200 Apr  1 16:12 .

drwxr-xr-x 6 root root 120 Apr  1 14:29 ..

lrwxrwxrwx 1 root root   9 Apr  1 16:12 ip-10.15.7.17:3260-iscsi-iqn.2019-01.com.openfiler:racdb.crs1-lun-0 -> ../../sdb

lrwxrwxrwx 1 root root   9 Apr  1 16:12 ip-10.15.7.17:3260-iscsi-iqn.2019-01.com.openfiler:racdb.data1-lun-0 -> ../../sdc

lrwxrwxrwx 1 root root   9 Apr  1 16:12 ip-10.15.7.17:3260-iscsi-iqn.2019-01.com.openfiler:racdb.fra1-lun-0 -> ../../sdd

lrwxrwxrwx 1 root root   9 Apr  1 14:29 pci-0000:00:01.1-scsi-0:0:0:0 -> ../../sr0

lrwxrwxrwx 1 root root   9 Apr  1 14:29 pci-0000:00:01.1-scsi-1:0:0:0 -> ../../sr1

lrwxrwxrwx 1 root root   9 Apr  1 14:29 pci-0000:00:0d.0-scsi-0:0:0:0 -> ../../sda

lrwxrwxrwx 1 root root  10 Apr  1 14:29 pci-0000:00:0d.0-scsi-0:0:0:0-part1 -> ../../sda1

lrwxrwxrwx 1 root root  10 Apr  1 14:29 pci-0000:00:0d.0-scsi-0:0:0:0-part2 -> ../../sda2

[root@rac01 dev]# more  /sys/class/iscsi_host/host17/device/session15/iscsi_session/session15/targetname

iqn.2019-01.com.openfiler:racdb.fra1

--重新start iscsi服务后,发现这个脚本貌似没有起作用,跟官网搭建的文档有些出入

[root@rac01 dev]# ls -l /dev/iscsi/*

ls: cannot access /dev/iscsi/*: No such file or directory

-----------这里使用udev绑定共享磁盘

[root@rac01 dev]# for i in b c d ;

> do

> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules

> done

[root@rac01 dev]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="14f504e46494c45527a77444d63612d695535532d6b324232", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="14f504e46494c45525739665970352d4232646b2d4876714c", NAME="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="14f504e46494c45525874614866672d70614d552d58663348", NAME="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"

[root@rac01 dev]# ls -l /dev/iscsi/*

ls: cannot access /dev/iscsi/*: No such file or directory

[root@rac01 dev]# /sbin/start_udev

Starting udev:                                             [  OK  ]

[root@rac01 dev]# ls -l /dev/asm*

brw-rw---- 1 grid asmadmin 8, 16 Apr  1 16:24 /dev/asm-diskb

brw-rw---- 1 grid asmadmin 8, 32 Apr  1 16:24 /dev/asm-diskc

brw-rw---- 1 grid asmadmin 8, 48 Apr  1 16:24 /dev/asm-diskd

--后面就可以正常安装rac集群

问题解决

Openfiler2.99基于RHEL6定制,内核使用2.6.32,而且只提供x86_64位版本

1. 安装过程中不能选用中文界面

2. 对GPT分区支持不好

3. web界面对大容量虚拟磁盘支持不好

[root@rac01 ~]# service iscsid start

[root@rac01 ~]# service iscsid status

iscsid is stopped

--直接iscsiadm 就可以启动iscsid ###https://blog.csdn.net/weixin_33739541/article/details/86196415

iscsiadm: No portals found

--注释掉/etc/initiators.deny文件中的内容

[root@openfiler01 ~]# cat /etc/initiators.allow

# PLEASE DO NOT MODIFY THIS CONFIGURATION FILE!

# This configuration file was autogenerated

# by Openfiler. Any manual changes will be overwritten

# Generated at: Mon Apr 1 2:28:04 CST 2019

iqn.2019-01.com.openfiler:racdb.crs1  10.15.7.20/22, 10.15.7.21/22

iqn.2019-01.com.openfiler:racdb.data1  10.15.7.20/22, 10.15.7.21/22

iqn.2019-01.com.openfiler:racdb.fra1  10.15.7.20/22, 10.15.7.21/22

# End of Openfiler configuration

[root@openfiler01 ~]# cat /etc/initiators.deny

# PLEASE DO NOT MODIFY THIS CONFIGURATION FILE!

# This configuration file was autogenerated

# by Openfiler. Any manual changes will be overwritten

# Generated at: Mon Apr 1 2:28:04 CST 2019

iqn.2019-01.com.openfiler:racdb.crs1 ALL

iqn.2019-01.com.openfiler:racdb.data1 ALL

iqn.2019-01.com.openfiler:racdb.fra1 ALL

# End of Openfiler configuration

--[root@rac01 dev]# ls -l /dev/iscsi/*

ls: cannot access /dev/iscsi/*: No such file or directory

https://community.oracle.com/message/10574362

--后面安装rac就跟前几篇安装rac是一样的。

05-11 09:38