存储服务器、数据库服务器都安装配置完成后,要做的就是通过存储网络把存储服务器提供的iSCSI磁盘挂载到每个节点数据库服务器。首先,确保所有的数据库服务器都安装了iSCSI探测器,即确保iscsi-initiator-utils包已安装。iscsi-initiator-utils是安装在客户端机器上的iSCSI探测器工具,由操作系统厂商提供,Red Hat的安装盘中自带此工具。如果是Windows服务器,可以到微软的官方网站
下载iSCSI Initiator工具。
安装iSCSI探测器之后,在 数据库服务器添加iSCSI磁盘的步骤如下:
步骤1 启动iSCSI服务。
执行以下命令启动iSCSI服务:
[root@rhel1 init.d]#./iscsi start
iscsid is stopped
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: iscsiadm: No records found!
[ OK ]
执行以下命令查看运行级别,根据运行级别来确定iscsi和iscsid是否自动启动:
[root@rhel1 ~]# runlevel
N 3
[root@rhel1 init.d]# chkconfig --list | grep scsi
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
从上面的执行结果可以看出,当前 数据库的运行级别为3,iscsi和iscsid两个服务在运行级别为3的状态为on。
步骤2 探测存储服务器的iSCSI磁盘。
探测存储服务器192.168.2.11提供的iSCSI Target:
[root@rhel1 init.d]# iscsiadm -m discovery -t sendtargets -p 192.168.2.11:3260
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.datafile1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.fra1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2
上面的执行结果列出的是节点服务器探测Openfiler服务器发现的iSCSI Target,这些iSCSI Target作为共享存储可以被服务器使用,执行该扫描命令后,扫描结果会记录在/var/ lib/iscsi/send_targets中,则服务器重启依然能自动发现这些共享存储。
步骤3 挂载存储服务器的iSCSI磁盘到本地。
根据上面的探测结果执行以下的挂载命令,将从Openfiler探测到的共享存储挂载到节点服务器,这样节点服务器才能以设备文件的形式使用这些共享存储:
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1,
portal: 192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2,
portal: 192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3,
portal: 192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.dbfile1
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.dbfile1,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.dbfile1, portal:
192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.fra1 -p
192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.fra1,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.fra1, portal:
192.168.2.11,3260]: successful
执行上面的命令返回的结果都是successful,表示挂载成功。挂载成功的磁盘的配置信息会被iscsiadm详细记录在/var/lib/iscsi/nodes目录下,其中详细记录了iscsi磁盘的配置信息。同样,节点服务器重启之后不需要手动重新挂载。
也可以直接执行以下命令,自动将所有节点有权使用的共享存储挂载到本地磁盘:
iscsiadm -m node -p 192.168.2.11:3260 -l
步骤4 查看iSCSI磁盘信息。
查看当前会话连接的iSCSI Target:
[root@rhel1 ~]# iscsiadm -m node session
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.dbfile1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.fra1
查看本地磁盘信息:
[root@rhel1 init.d]# fdisk -l
......
Disk /dev/sdb: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/sde: 30.3 GB, 30333206528 bytes
64 heads, 32 sectors/track, 28928 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sde doesn't contain a valid partition table
Disk /dev/sdf: 30.3 GB, 30333206528 bytes
64 heads, 32 sectors/track, 28928 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdf doesn't contain a valid partition table
从上面的列表可以看出,节点服务器增加了sdb、sdc、sdd、sde、sdf5个磁盘,即从存储服务器挂载过来的iSCSI磁盘。
注意 两个节点都要能够看到这5个磁盘,但iSCSI磁盘对应不同服务器的设备名称可能不同。例如,节点1(sdd)对应的是1073MB磁盘,而节点 2(sde)对应节点1(sdd)对应的磁盘,重启后可能还会发生变化。如果使用ASM作为存储,由于ASM的元数据都存放在ASM磁盘头中,并非根据系统设备名来判断,所以只需要在第一次配置的时候确定所选的磁盘即可。但如果使用集群文件系统,如OCFS2,在系统进行mount操作的时候是根据系统文件名挂载,所以节点2挂载的iSCSI磁盘对应的设备名称必须是相同的,否则挂载不上或挂载错误。这种情况在生产环境中可能不存在,为了解决或避免这个问题,推荐通过udev动态磁盘管理工具,使集群所有服务器挂载的iSCSI磁盘的设备名称相同。在下一小节将讨论udev工具的使用。
如果生产环境使用的是iSCSI存储设备,如HP的MSA系列存储服务器,那么除了完成上面的挂载工作外,还需要在节点服务器安装多路径软件。有关多路径软件的内容将在第15章讨论。
安装RAC的两大要素:网络配置和共享存储。这两个条件满足后,安装RAC的基础环境就具备了。从2.4节开始进入RAC安装的准备阶段。
节点数据库服务器是作为iSCSI存储的客户端存在,在生产环境的iSCSI配置中往往需要提供每台服务器的Initiator名称在存储设备上做相应的映射,相应的磁盘就自动分配给操作系统。
客户端Initiator名称:
[root@rhel1 bin]# cd /etc/iscsi
[root@rhel1 iscsi]# ls
initiatorname.iscsi iscsid.conf
[root@rhel1 iscsi]# cat initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:93c4fd692ebb
这是操作系统生成的每个Initiator客户端的标识符
安装iSCSI探测器之后,在 数据库服务器添加iSCSI磁盘的步骤如下:
步骤1 启动iSCSI服务。
执行以下命令启动iSCSI服务:
[root@rhel1 init.d]#./iscsi start
iscsid is stopped
Turning off network shutdown. Starting iSCSI daemon: [ OK ]
[ OK ]
Setting up iSCSI targets: iscsiadm: No records found!
[ OK ]
执行以下命令查看运行级别,根据运行级别来确定iscsi和iscsid是否自动启动:
[root@rhel1 ~]# runlevel
N 3
[root@rhel1 init.d]# chkconfig --list | grep scsi
iscsi 0:off 1:off 2:off 3:on 4:on 5:on 6:off
iscsid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
从上面的执行结果可以看出,当前 数据库的运行级别为3,iscsi和iscsid两个服务在运行级别为3的状态为on。
步骤2 探测存储服务器的iSCSI磁盘。
探测存储服务器192.168.2.11提供的iSCSI Target:
[root@rhel1 init.d]# iscsiadm -m discovery -t sendtargets -p 192.168.2.11:3260
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.datafile1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.fra1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2
上面的执行结果列出的是节点服务器探测Openfiler服务器发现的iSCSI Target,这些iSCSI Target作为共享存储可以被服务器使用,执行该扫描命令后,扫描结果会记录在/var/ lib/iscsi/send_targets中,则服务器重启依然能自动发现这些共享存储。
步骤3 挂载存储服务器的iSCSI磁盘到本地。
根据上面的探测结果执行以下的挂载命令,将从Openfiler探测到的共享存储挂载到节点服务器,这样节点服务器才能以设备文件的形式使用这些共享存储:
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1,
portal: 192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2,
portal: 192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3,
portal: 192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.dbfile1
-p 192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.dbfile1,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.dbfile1, portal:
192.168.2.11,3260]: successful
[root@rhel1 init.d]# iscsiadm -m node -T iqn.2010-10.example.com:openfiler.ractest.fra1 -p
192.168.2.11:3260 -l
Logging in to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.fra1,
portal: 192.168.2.11,3260]
Login to [iface: default, target: iqn.2010-10.example.com:openfiler.ractest.fra1, portal:
192.168.2.11,3260]: successful
执行上面的命令返回的结果都是successful,表示挂载成功。挂载成功的磁盘的配置信息会被iscsiadm详细记录在/var/lib/iscsi/nodes目录下,其中详细记录了iscsi磁盘的配置信息。同样,节点服务器重启之后不需要手动重新挂载。
也可以直接执行以下命令,自动将所有节点有权使用的共享存储挂载到本地磁盘:
iscsiadm -m node -p 192.168.2.11:3260 -l
步骤4 查看iSCSI磁盘信息。
查看当前会话连接的iSCSI Target:
[root@rhel1 ~]# iscsiadm -m node session
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.dbfile1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk2
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk3
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.ocrvdisk1
192.168.2.11:3260,1 iqn.2010-10.example.com:openfiler.ractest.fra1
查看本地磁盘信息:
[root@rhel1 init.d]# fdisk -l
......
Disk /dev/sdb: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/sdc: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Disk /dev/sdc doesn't contain a valid partition table
Disk /dev/sdd: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Disk /dev/sdd doesn't contain a valid partition table
Disk /dev/sde: 30.3 GB, 30333206528 bytes
64 heads, 32 sectors/track, 28928 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sde doesn't contain a valid partition table
Disk /dev/sdf: 30.3 GB, 30333206528 bytes
64 heads, 32 sectors/track, 28928 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk /dev/sdf doesn't contain a valid partition table
从上面的列表可以看出,节点服务器增加了sdb、sdc、sdd、sde、sdf5个磁盘,即从存储服务器挂载过来的iSCSI磁盘。
注意 两个节点都要能够看到这5个磁盘,但iSCSI磁盘对应不同服务器的设备名称可能不同。例如,节点1(sdd)对应的是1073MB磁盘,而节点 2(sde)对应节点1(sdd)对应的磁盘,重启后可能还会发生变化。如果使用ASM作为存储,由于ASM的元数据都存放在ASM磁盘头中,并非根据系统设备名来判断,所以只需要在第一次配置的时候确定所选的磁盘即可。但如果使用集群文件系统,如OCFS2,在系统进行mount操作的时候是根据系统文件名挂载,所以节点2挂载的iSCSI磁盘对应的设备名称必须是相同的,否则挂载不上或挂载错误。这种情况在生产环境中可能不存在,为了解决或避免这个问题,推荐通过udev动态磁盘管理工具,使集群所有服务器挂载的iSCSI磁盘的设备名称相同。在下一小节将讨论udev工具的使用。
如果生产环境使用的是iSCSI存储设备,如HP的MSA系列存储服务器,那么除了完成上面的挂载工作外,还需要在节点服务器安装多路径软件。有关多路径软件的内容将在第15章讨论。
安装RAC的两大要素:网络配置和共享存储。这两个条件满足后,安装RAC的基础环境就具备了。从2.4节开始进入RAC安装的准备阶段。
节点数据库服务器是作为iSCSI存储的客户端存在,在生产环境的iSCSI配置中往往需要提供每台服务器的Initiator名称在存储设备上做相应的映射,相应的磁盘就自动分配给操作系统。
客户端Initiator名称:
[root@rhel1 bin]# cd /etc/iscsi
[root@rhel1 iscsi]# ls
initiatorname.iscsi iscsid.conf
[root@rhel1 iscsi]# cat initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:93c4fd692ebb
这是操作系统生成的每个Initiator客户端的标识符