安装基本的 Solaris 11.2 系统后,会存在三个上下文,它们将要求对 Solaris Cluster 和 ACSLS HA 进行特定配置。
配置 /etc/hosts
。
配置 root
用户的访问特权。
配置用于多路径 Internet 访问的网络接口。
配置多路径磁盘 I/O。
每个节点上的 /etc/hosts
文件均应包含有关本地主机、两个群集节点名称及其 IP 地址以及逻辑主机的条目。
127.0.0.1 localhost loghost 129.99.99.101 thisNode.domain.com thisNode 129.99.99.102 sisterNode 129.99.99.100 logicalHost.domain.com logicalHost
root
的访问权限配置Solaris Cluster 监视和故障转移操作均由必须对整个群集具有控制权的 root
用户从任一节点进行处理。将 root
设定为可信用户,以便在采用安全 shell (secure shell, ssh
) 验证的节点之间提供专用网络访问
使 root 用户能够从外部系统直接访问每个节点。编辑 /etc/user_attr
文件,注释掉(或删除)为 root
指定角色的行。
# root::::type=role
允许 root
从系统控制台以外的点登录到系统。
编辑 /etc/default/login
文件,注释掉用于指定仅控制台访问权限的行。
# CONSOLE=/dev/console
允许 root
的安全 shell 登录访问权限。
编辑 /etc/ssh/sshd_config
文件,并为 PermitRootLogin
指定 yes。
PermitRootLogin=yes
在相邻节点上重复步骤 1-3。
将 root
设定为可信用户。这将为 root 设置登录协议,使其能够从设定了验证的姐妹节点登录到每个节点且不需要输入密码。
创建 RSA 公钥/私钥对。要允许在不输入密码的情况下从一个节点登录到另一个节点,请勿输入密码短语。
# cd /root/.ssh # ssh-keygen -t rsa Enter file in which to save the key (//.ssh/id_rsa): ./id_rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in ./id_rsa. Your public key has been saved in ./id_rsa.pub. The key fingerprint is: 1a:1b:1c:1d:1e:1f:2a:2b:2c:2d:2e:2f:ea:3b:3c:3d root@node1
这将在 /root/.ssh
目录中创建两个文件:id_rsa
和 id_rsa.pub
。
将 id_rsa.pub
复制到姐妹节点上的 /root/.ssh
目录中:
# cat id_rsa.pub | ssh root@node2 \ 'cat >> /root/.ssh/authorized_keys' Password:
在验证密钥就位后,测试在没有密码的情况下对命令进行远程断言的功能。
# hostname node1 # ssh root@node2 hostname node2
冗余是用于实现高可用性计算的总体方案。冗余不仅适用于服务器,而且适用于每台服务器上的每个通信接口。对于公共接口,请使用 Solaris 上的 Internet 协议多路径 (Internet Protocol Multi Pathing, IPMP)。Internet 协议多路径为出现故障的网络通信提供 NIC 即时恢复,无需进行常规系统故障转移。对于磁带库接口,这意味着在两个独立的路由中使用具有两个网络接口的双 TCP/IP 连接。如果一个路由中的任何元素发生故障,则 ACSLS 将继续通过备用接口进行通信。
对于以下通信,ACSLS HA 需要冗余的网络连接:
公共通信和客户机通信
磁带库通信
专用节点内群集通信
本节中的图片显示了可通过每台服务器上的两个独立控制器访问的八个以太网端口。在六个端口中提供三个冗余连接。此配置中的两个端口保留未用。虽然表面上看起来复杂,但实际上每台服务器只有三个双路径以太网连接:
服务器-磁带库通信
通过专用网络的服务器到服务器心跳信号交换
通过公共网络的服务器到客户机通信
在具有冗余电子设备的磁带库中,从每个服务器节点到每个 HBCr 磁带库控制器有两条独立的路径。如果与一个 HBCr 接口上的两个端口的通信都失败,则 ACSLS HA 会调用到备用 HBCr 卡的自动切换。所有这些不需要故障转移到备用服务器节点即可完成。
Solaris IPMP 提供了一种用于构建冗余网络接口的机制,用以针对 NIC、电缆、交换机或其他联网硬件的故障提供保护。在 Solaris 主机上配置 IPMP 时,将两个或多个物理网络接口组合到单个 IPMP 组中。
要查看网络接口名称到物理设备的映射,请使用命令 dladm show-phys
:
示例:
# dladm show-phys LINK MEDIA STATE SPEED DUPLEX DEVICE net2 Ethernet up 100 full ixgbe1 net3 Ethernet up 10000 full ixgbe3 net0 Ethernet up 10000 full ixgbe2 net1 Ethernet up 1000 full ixgbe0
要显示已配置的网络接口的状态,请使用 ipadm
。
示例:
# ipadm NAME CLASS/TYPE STATE UNDER ADDR lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net1 ip ok -- -- net1/v4 static ok -- 129.99.99.99/24 net1/v6 addrconf ok -- fe99::999:999:ff23:ee02/10 net4 ip ok -- -- net4/v4 static ok -- 129.999.99.99/24
必须配置两个接口并将其分配给 ACSLS HA 的公共 group-id 。这些接口可以是服务器的主接口。在这种情况下,因为 ip
地址已分配给接口(而不是分配给组),所以有必要取消配置该接口,然后将其重新配置在 ipmp
组下。
因为在此操作过程中网络通信会中断,因此将需要从服务器控制台执行以下步骤。
取消配置现有的主接口:
ipadm delete-addr <primary interface>
示例:
# ipadm delete-addr net0/v4
ipadm delete-ip <primary interface>
示例:
# ipadm delete-ip net0
重新配置主接口:
ipadm create-ip <primary interface>
示例:
# ipadm create-ip net0
创建第二主接口:
ipadm create-ip <primary_interface>
示例:
# ipadm create-ip net5
创建 ipmp
组:
ipadm create-ipmp <group_name>
示例:
# ipadm create-ipmp ipmp0
注意:
组名称必须由字母数字组成。将主机 ip-address
分配给组:
ipadm create-addr -T static -a <ip-address> <group_name>
示例:
# ipadm create-addr -T static -a 129.99.99.9 ipmp0
将主接口添加到组:
ipadm add-ipmp -i <primary_interface> <group_name>
示例:
# ipadm add-ipmp -i net0 ipmp0
向组再添加一个接口:
ipadm add-ipmp -i <second_primary_interface> <group_name>
示例:
# ipadm add-ipmp -i net5 ipmp0
使用 ipadm
检验 ipmp
配置:
# ipadm NAME CLASS/TYPE STATE UNDER ADDR ipmp0 ipmp ok -- -- ipmp0/v4 static ok -- 123.45.67.89/8 lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok ipmp0 -- net5 ip ok ipmp0 --
可以看到在 ipmp0 组下已配置了两个网络接口。可以看到已向 ipmp0 组分配了一个版本 4 的 IP 地址。
您可能需要重新引导系统来提交这些更改并在新配置下建立网络通信
在姐妹节点上重复网络配置。
通过 start_acslsha.sh
启动群集时,将建立 ipmp
组与群集公共 IP 地址之间的映射。请参见ACSLS 群集运行。
两个剩余的网络接口是磁带库配置所必需的。对于本示例,使用了 net1 和 net6。请注意(在图 2-1 和图 2-2 中),这两个连接通过不同的子网进行路由,以避免路由器成为群集服务器与磁带库之间的单一故障点。
在每个节点上创建两个网络接口。
# ipadm create-ip net1 # ipadm create-ip net6
为每个接口分配 ip-address
。
# ipadm create-addr -T static -a <ip-address> net1/v4 # ipadm create-addr -T static -a <ip-address> net6/v4
地址对象通常是使用接口和协议版本命名的:net1/v4
检验您的 ipmp
配置:
# ipadm NAME CLASS/TYPE STATE UNDER ADDR ipmp0 ipmp ok -- -- ipmp0/v4 static ok -- 123.45.67.89/8 lo0 loopback ok -- -- lo0/v4 static ok -- 127.0.0.1/8 lo0/v6 static ok -- ::1/128 net0 ip ok ipmp0 -- net1 ip ok -- -- net1/v4 static ok -- 192.168.0.1/8 net5 ip ok ipmp0 -- net6 ip ok -- -- net6/v4 ip ok -- 192.168.1.1/8
重新引导每个节点以使这些设置生效。
外部的共享磁盘阵列将连接到两台主机,每台主机在服务器与磁盘阵列之间都具有冗余的光纤或 SAS 连接
应当对阵列进行设置,使其向所连接的主机呈现两个虚拟驱动器。
如果检测到与磁盘设备之间具有多条路径,则 Solaris 11.2 会自动处理多路径 (MPXIO) 设置。请检验是否为 Solaris 系统正确配置了与阵列中每个虚拟磁盘之间的冗余连接。
# mpathadm list lu /dev/rdsk/c0t600A0B800049EE1A0000840552D3E2F9d0s Total Path Count: 2 Operational Path Count: 2 /dev/rdsk/c0t600A0B800049EDD600000DAD52D3DA90d0s2 Total Path Count: 2 Operational Path Count: 2
mpathadm
显示结果应当展现两个磁盘设备,每个设备都具有 2 条可使用的路径。
如果在 SPARC 系统上运行 ACSLS HA,在配置 MPXIO 之前,mpathadm
不会显示任何信息。如果显示结果未展示任何信息或展示了错误的配置,此时,您应在 Solaris 11.2 系统上使用 stmsboot -e
配置 MPXIO。请参阅 Oracle 技术网文档库中的文档《Oracle Solaris 管理:SAN 配置和多路径》:http://docs.oracle.com/cd/E26926_01/html/E26297/toc.html
。
要意识到,启用 Solaris I/O 多路径的设备会接收指示它们受 Solaris I/O 多路径控制的新名称。设备所采用的名称不同于其原始名称。
Original device name: c1t0d0 Name After stmds boot: c0t600A0B800049EDD600000C9952CAA03Ed0