APP下载

SUSE Linux 11高可用群集安装配置指南

2020-11-11河北王春海

网络安全和信息化 2020年10期
关键词:网卡IP地址对话框

■ 河北 王春海

编者按:高可用群集HA(High Available)是保证业务系统连续性的有效解决方案。关于Windows操作系统配置高可用群集的资料较多,SUSE Linux配置群集的资料较小。本文通过一个具体的案例,比较详细的介绍了基于SUSE Linux配置高可用群集的方法和步骤。

要配置高可用群集,一般配置2台物理主机加1台共享存储,系统运行在物理主机上,数据保存在共享存储上。在主机上运行相同的操作系统及应用程序,其中有1台主机的应用程序是活动节点。活动节点连接管理共享存储,另1台主机的应用程序是备用节点(备用节点暂时不管理共享存储)。如果活动节点的主机出现问题,备用节点的应用程序会接管共享存储并接管应用。这种情况要求实现了业务的连续性,在群集节点切换期间,业务不中断或短暂中断。

客户需求介绍

最近在一个项目中,客户需要使用SUSE Linux For SAP 11 SP4版本的操作系统配置HA的环境。

用于HA的主机配置了2台高配置的DELL R740XA的服务器、1台华为OceanStor 5310F V5的全闪存存储。每台主机配置了1.5 TB内存、2个Intel Gold 6230的CPU、1块DELL BOSS卡(配置了2块240 GB的M.2 SSD做RAID-1并安装SUSE Linux For SAP 11 SP4操作系统)。2台主机分别使用2端口16 GB FC HBA卡连接到光纤存储交换机,再连接到华为5310F存储。

HA的项目要求2个资源包(sypascs、sypdb),需要两个浮动IP和虚拟主机名(eccci、eccdb)。具体如下:

1.卷组1:ascsvg,划分文件系统/usr/sap/SYP/ASCS 00,用于部署SAP ASCS服务,大小5 TB。

2.卷组2:db vg,用于存放Db2数据库相关数据文件及其运行日志,主要包含/db 2/SYP/下的相关目录和文件系统,大小10 GB。

3.NFS共享文件系统:采用NAS文件系统,大小60 GB。

卷组1、卷组2需要2个LUN,在本次项目中,配置一个100 MB大小的共享磁盘用于HA。一共3个LUN。在华为OceanStor 5310F V5划分了3个LUN分配给这2台服务器。这3个LUN大小分别为100 MB、5 TB、10 GB。

其中LUN01(100 MB)用于仲裁或见证,LUN02(5 TB)与LUN04(10 GB)用于共享数据磁盘。

在华为OceanStor 5310F V5划分了2个文件系统,大小分别为10 GB、50 GB,用于NAS文件系统,采用NFS共享文件。

在本项目中,2台主机的IP地址分别是172.16.68.221与172.16.68.222。配置的2个Virtual IP分别为172.16.68.168与172.16.68.170。共享文件系统指定给这4个IP地址使用。其他IP地址无法访问。

要求2台主机使用SUSE HA进行配置。创建2个资源组,其中第1个资源组分配1个Virtual IP(本示例为172.16.68.168),同时加载10 GB的LUN04,这个资源组默认在节点1加载;第2个资源组分别1个Virtual IP(本示例中为172.16.68.170)并加载5 TB的LUN02,这个资源组默认在节点2加载。同一时间只能有1台主机挂载共享盘,如果其中1台主机故障,另1台主机马上接管并挂载共享磁盘。项目最终配置完成后,执行“crm status”命令,如图1所示。

说明:对于大多数只熟悉Windows操作系统和Windows群集的系统管理员来说,只要你了解Linux、掌握一些Linux的基本命令,就能参考本文完成配置。

图1 查看资源状态

下面介绍配置的主要流程、步骤,安装配置中出现的问题及解决方法进行整理,希望对有同样需求的朋友有所帮助。

安装FC HBA卡驱动与多路径软件

本次项目中用到的SUSE Linux For SPA 11 SP4的安装镜像,可以登录其官网下载,链接地址为:https://www.suse.com/zh-cn/download-linux。

实际使用中只需要下载SLE-11-SP4-SAP-DVD-x86_64-GM-DVD1.iso、SLE-HA-11-SP4-x86_64-GM-CD1.iso这两个文件即可。关于SUSE Linux 11的安装本文不做过多介绍。

在服务器上安装SUSE Linux 11 SP4操作系统之后,需要安装FC HBA卡驱动及多路径软件。可以使用SUSE Linux操作系统自带的多路径软件,也可以使用厂商提供的多路径软件。

本示例中安装华为提供的多路径软件。当前2台DELL R740XD配置的FC HBA卡是Emulex LPE 31002双端口16 Gb光纤通道 HBA。在SUSE 11中不包含该HBA卡的驱动,需要单独下载安装。DELL提供的驱动程序下载地址为:

https://docs.broadcom.com/docs-and-downloads/oem/support/elx/rt11.4.1/11.4.142.23/elx-lpfc-ddsles11sp-11.4.142.21-1.tar.gz

下载驱动程序之后,解压缩展开,然后使用SFTP上传到Linux主机的/tmp文件夹进行安装。主要步骤如下(如图2所示)。

chmod +x elx_lpfc_install.sh

./elx_lpfc_install.sh

安装FC HBA卡驱动之后,可以执行“fidsk -l”就可以显示出存储分配给当前主机的LUN。但对于同一个LUN会显示为多个相同的磁盘,这需要启用多路径。因为当前使用的是华为存储,华为提供了多路径软件。

(1)拷贝华为多路径软件到SUSE Linux的/tmp文件夹。可以使用SFTP软件将多路径软件上传到Linux主机的/tmp文件夹。

(2)进入驱动程序文件夹,使用chmod命令为安装程序添加运行权限。

chmod +x install.sh

(3)执行安装

eccprd2:/tmp/SLES #./install.sh

(4)选择从本地引导。在出现以下提示是输入1并按回车键。

图2 安装FC HBA卡驱动

If the operating sys tem is installed on a lo cal drive of the server,you are advised

to choose boot from local;if the operating system is installed on a SAN storage

system,you must choo se boot from san.Please choose the boot type of your system:

<1>--boot-from-Local

<2>--boot-from-SAN

please input your select:1

(5)安装完成后重新引导系统

The install ation is com plete.Whether to restart the system now?

:y

配置网络与host name文件

用于HA的2台主机,每台主机配置了1块4端口10 Gbit/s网卡,集成4端口1 Gbit/s网卡。本项目中使用配置10 Gbit/s网卡用于业务通讯(配置172.16.68.0网段),1 Gbit/s网卡用于群集心跳(规划使用192.168.68.0网段)。本项目中主机名、IP地址规划如表1所列。

下面以第1台主机的设置为例。另一台主机设置与此类似。在本项目中,172.16.68.0网段的网关地址为172.16.68.8,DNS为172.16.5.11。

表1 主机表与IP地址规划表

1.在“Yast”中单击“Network Sett ings”,在网络设置的“Routing”选项中添加网关地址,本示例中172.16.68.0/24的网关地址为172.16.68.8。

2.在“Hostname/DNS”选项卡中,设置主机名称为eccprd1,在Name Ser ver中设置DNS服务器的IP地址,本示例中DNS服务器的IP地址为172.16.5.11。

3.选中第一块网卡(用于对外提供服务的网卡),单击“Edit”按钮,设置IP地址为172.16.68.221,设置Hostname为eccprd1。

4.选中用于群集心跳的网卡,单击“Edit”按钮,设置IP地址为192.168.68.221,设置Hostname为eccprd1-lan。

5.在当前实验环境中,第三块网卡用于连接iSCSI共享存储,设置这块网卡的IP地址为192.168.0.221。在实际的生产环境中,服务器通过16G FC HBA卡连接到存储。

图3 编辑主机hostname文件

对于群集中另一台主机与此设置相类似,只是服务器的IP地址设置为172.16.68.222,群集心跳网络地址设置为192.168.68.222,对应的名称分别是eccprd2、eccprd2-lan。

设置连接iSCSI存储的网卡的IP地址为192.168.0.222。在群集中每台主机编辑hostname文件,添加主机名对IP地址的解析。

在Yast中单击hostname,将2台群集主机hostname添加到另一台主机名称的解析,编辑之后如图3所示。

172.16.68.221 eccprd1 eccprd1

172.16.68.222 eccprd2 eccprd2

192.168.68.221 eccprd1-lan eccprd1-lan

192.168.68.222 eccprd2-lan eccprd2-lan

SSH免密码互联服务配置

HA集群的两台HANA服务器的需要配置SSH免密码互联服务,执行过程如下。

生成认证公钥:

登录主节点分别执行命令“ssh-key gen -t rsa”“sshkeygen -t dsa”生成公钥。

在主节点依次执行下面命令复制公钥到对方节点。提示输入节点密码时输入root用户密码。其他直接按回车键。

ssh-keygen -t rsa

ssh-keygen -t dsa

ssh eccprd1 "echo $(cat/root/.ssh/id_dsa.pub) >>/root/.ssh/authorized_keys"

ssh eccprd2 "echo $(cat/root/.ssh/id_dsa.pub) >>/root/.ssh/authorized_keys"

ssh eccprd1 "echo $(cat/root/.ssh/id_rsa.pub) >>/root/.ssh/authorized_keys"

ssh eccprd2 "echo $(cat/root/.ssh/id_rsa.pub) >>/root/.ssh/authorized_keys"

登录服务器节点2,参考服务器节点1的方法,依次执行下面命令复制公钥到对方节点:

ssh eccprd1 "echo $(cat/root/.ssh/id_dsa.pub) >>/root/.ssh/authorized_keys"

ssh eccprd2 "echo $(cat/root/.ssh/id_dsa.pub) >>/root/.ssh/authorized_keys"

ssh eccprd1 "echo $(cat/root/.ssh/id_rsa.pub) >>/root/.ssh/authorized_keys"

ssh eccprd2 "echo $(cat/root/.ssh/id_rsa.pub) >>/root/.ssh/authorized_keys"

在配置完成后,登录服务器节点1,运行ssh eccprd2,可以直接登录到节点2,不需要输入密码。在另一台计算机上运行ssh eccprd1可以直接登录到节点1,表示配置正确。

安装Suse 11 SP4 Cluster组件

加载或拷贝SLE-HA-11-SP4-x86_64-GM-CD1.iso安装镜像,安装SUSE HA软件。主要步骤和过程如下。

1.在Yast中单击“Addon Products”,在“Installed Add-on Products”,单击“Add”按钮。

2.在 “Media Type”按钮中单击选择加载安装包的方式,可以指定URL、FTP、HTTP、SMB、NFS路径,也可以加载SLE-HA-11-SP4-x86_64-GM-CD1.iso安装。

3.在“License Agreeme nt”中单击“Yes,I Agree to the License Agreement”,接受许可协议。

4.在“Software Selectio n and System Tasks”中确认“High Availability”已经选中。然后单击“OK”按钮开始安装。

5.安装完成之后,重新启动启动计算机。群集中的每一台计算机都要安装HA组件,安装完成之后重新启动计算机。再次进入系统之后,在Yast中可以看到“Cluster”和“Pacemaker GUI”程序组件。

在安装HA之后,修改hac luster用户密码。打开终端界面,执行:

passwd hacluster

然后为群集帐户haclu ster设置密码。一般直接设置与root用户的密码一样。

在配置与使用SUSE 11的时候,为了简化配置,一般建议关闭关闭系统默认的防火墙,并且让系统重新启动后不加载防火墙。主要步骤和过程如下。

(1)在Yast中单击Fire wall,在“Firewall Confi guration:Start-UP”对话框中选择“Disable Firewall Automatic Starting”,并单击“Stop Firewall Now”按钮以停止防火墙服务,然后单击“Next”按钮并完成设置。

(2)在“Firewall star ting”对话框中单击“Fini sh”按钮,完成配置。

为节点添加iSCSI存储并进行磁盘分区

在生产环境中采用的是FC连接的共享存储。这一步实验抓图采用的是iSCSI共享存储。在本示例中,使用iSCSI服务器为群集中的2个节点提供共享磁盘服务。首先为主节点添加iSCSI服务器分配的LUN磁盘。

1.在节点1的服务器上的“Yast”中单击“iSCSI Initiator”,在“iSCSI Init iator Overview”对话框中的“Service”选项卡中,单击选中“When Booting”让iSCSI客户端在系统启动时开始服务。

2.在“Connected Targets”选项卡中单击“Add”按钮,添加iSCSI服务器的地址,本示例为192.168.0.110,添加之后设置系统启动时自动连接。

在配置群集完成之前,建议只有一台主机连接到共享存储。如果要在节点1主机上进行配置,可以暂时把节点2主机连接到存储的光纤拔下。等群集配置完成之后再插上光纤并连接存储。在当前项目中,主机连接到存储的3个LUN,其中100 MB的LUN不需要配置,5 TB与10 GB的LUN根据项目要求创建卷组并创建逻辑卷。创建完成后的如图4所示。

使用sleha-init配置群集

在准备用做主节点的服务器中,执行“sleha-init”命令初始化主节点,主要步骤如下。

在本示例中,设置IP地址为172.16.68.221、主机名称为eccprd1为节点1,IP地址为172.16.68.222、主机名称为eccprd2的为节点2。

在节点1主机上运行Suse 11 Cluster命令进行集群的初始化。

图4 5TB共享磁盘划分情况

1.以root用户登录服务器节点1(配置为主节点),执行命令“sleha-init”,进行初始化。执行过程中根据提示选择。

2.出现提示“/root/.ssh/id_rsa already exists-overwrite? [y/N]”时,选择输入“N”,不覆盖id_rsa。

3.如果该服务器之前做过配置,当出现提示“csync2 is already configured -overwrite? [y/N]”时,选择输入“Y”,覆盖原有配置。

4.Configure Corosync。当提示“Network address to bind to(e.g.:192.168.1.0)”时,请输入集群的通信网络,即选择服务器操作系统的维护网段,当前示例为192.168.68.0(不需要输入具体的IP地址,只需要输入子网地址)。

5.Multicast address(e.g.:239.x.x.x)默认不变,按Enter。

6.当提示:Mult icast port [5405]默认不变,按Enter。

7.Configure SBD:使用SBD模式,输入Y。然后配置SBD。

在生产环境中,使用LUN 01的100 MB共享磁盘用做SBD。在当前环境的2台群集主机中,主机本地硬盘为sda,LUN01、LUN02、LUN03、LUN04加载的共享磁盘依次为sdb、sdc、sde。

说明:在配置存储的时候多划了一个LUN03,在后期从主机映射中移除了LUN03这个共享磁盘。

再次打开一个终端窗口,执行“ls -l/dev/disk/byid/”命令,搜索查看sdb设备名称,该设备名称以scsi -3开头。本示例中该名称为scsi-36446747100ee045300 0957e400000000。复制该设备名称,切换到sleha-init窗口,在Path to storage device(e.g./dev/disk/byid/...) []后面输入:

/dev/disk/by-id/scsi-36446747100ee045300095 7e400000000

之后按Enter,在Are you sure you wish to use this device [y/N]后面输入y,然后按Enter完成初始化。

配置完成后,登录https://172.16.68.221,可以看到STONITH已启用。也可以执行“crm_mon”,可以看到名为stonith-sbd的资源已经启动。

在集群服务器备节点上,运行sleha-join命令将其他节点加入现有的集群中。

(1)以root用户登录集群主节点,将主节点配置文件复制到备节点。命令如下。在本示例中,eccprd1为主节点,eccprd2为备节点。

scp/etc/csync2/csync2.cfg root@eccprd2:/etc/csync2

scp/etc/csync2/key_hagroup root@eccprd2:/etc/csync2

scp/etc/corosync/authkey root@eccprd2:/etc/corosync/

scp/etc/corosync/coros ync.conf root@eccprd2:/etc/corosync/

(2)以root用户登录集群备节点,运行命令“slehajoin”。

(3)当出现提示“IP add ress or hostname of exist ing node”时,输入主节点的OS管理的IP地址。本示例中为172.16.68.221。

(4)Enable sshd servi ce:当出现提示“/root/.ssh/id_rsa already exists -overwrite? [y/N]”时,输入“N”,然后“Enter”,选择不覆盖;等待加入完成。

加入群集之后,执行crm_mon,会显示当前有2个节点在线,一个stonith资源已经启动。

如果提示安装失败:“WARNING:csync2 of/etc/csync2/csync2.cfg failed WARNING:csync2 of/etc/csync2/csync2.cfg failed--file may not be in sync file may not be in sync on all nodeson all nodes;”,则需要在主节点运行命令将主节点的配置文件复制到备节点。

这包括csync2.cfg等文件,然后重新执行命令行命令slehasleha—join join加入现有群集。在执行命令前停止备节点的群集服务。

使用Pacemaker GUI配置资源

在群集中任意一个节点中运行Pacemaker GUI配置资源。在配置的时候,建议将另一个节点主机关机,等群集资源配置完成后再打开另一个节点并让节点联机。

1.在“YaST Control Center”单击Pacemaker GUI,在Pacemaker GUI中单击Co nnection,在弹出的Login对话框中,输入用户名hac luster及密码,单击“OK”按钮登录。

2.在CRM Config中,在“No Quorum Policy”下拉列表中选择ignore。然后单击“Apply”按钮。

3.在“Resources”中当前只有“stonith-sbd”的一个资源。下面添加一个资源组,在该资源组中添加一个Virtual IP,同时加载一个逻辑卷及加载一个文件系统。

(1)左侧单击Resources,在右侧单击“Add”按钮,在弹出的对话框中选择Group,然后单击“OK”按钮。

(2)在“Add Group”对话框中“ID”文本框中输入新添加的资源组的名称,本示例中为g_SAP,然后单击“Forward”按钮。

(3)在“Add Group -Add Sub-resource For ‘g_SAP’”中默认为Primitive,单击“OK”按钮。

(4)在“Add Primitive -Basic Settings”中,在 “ID”文本框中输入子资源名称,本示例中为r_sappap_vip,在“Class”下拉列表中选择ocf,在“Provider”下拉列表中选择heartbeat,在“Type”下拉列表中选择IPaddr2,然后单击“Forward”按钮。

(5)在“instance Attribut es”选项卡中选中IP,然后单击“Edit”按钮,在“Value”中输入Virtual IP地址,本示例中为172.16.68.168,然后单击“OK”按钮。

注意,新添加的虚拟IP地址应该是当前网段中未分配未使用的。

(6)返回到“Add Primiti ve -Summary of ‘r_sapap_vip’”对话框,单击“Apply”按钮。

(7)返回“Add Group -Add Sub-resource For ‘g_SAP’”对话框,如果要继续添加资源,应单击“OK”按钮。如果添加资源完成,单击“Cancel”按钮。本示例中继续添加子资源。

(8)在“Add Primitive”对话框中的“ID”文本框中输入新添加的子资源名称,本示例为r_ascsvg,在“Class”下拉列表中选择ocf,然后在“Provider”下拉列表中选择heartbeat,在“Type”下拉列表中选择LVM。

(9)在“instance Attri butes”选项卡中选中volgrp name,然后单击“Edit”按钮,在“Edit Nvpair”的Value中输入要加载的卷组的名称,本示例为ascsvg,单击“OK”按钮。

(10)返回到“Add Primi tive”对话框,单击“Apply”按钮,返回“Add Group -Add Sub-resource For ‘g_SAP’”对话框,如果要继续添加资源,应单击“OK”按钮。如果添加资源完成,单击“Cancel”按钮。本示例中继续添加子资源。

(11)在“Add Primitive”对话框中的“ID”文本框中输入新添加的子资源名称,本示例为r_sap_ascs00,在“Class”下拉列表中选择ocf,在“Provider”下拉列表中选择heartbeat,在“Type”下拉列表中选择Filesystem。然后单击“Forward”按钮。

(12)在“Add Primitive-Summary Of ‘r_sap_asc s00’”对话框中,在添加文件系统时,需要添加设备名称、要加载到的目录、加载的文件属性。

在YaST2中执行Partit ioner程序,查看创建的名为ascsvg卷组属性,本示例中卷组名称为ascsvg,要加载的逻辑卷的名称为ascs00,其Device(设备名称)为/dev/ascsvg/ascs00。

选择Device,然后单击“Edit”按钮,在弹出的“Edit Nvpair”对话框的“Value”中输入要加载的文件系统的设备,名称为/dev/ascsvg/ascs00,然后单击“OK”按钮。

这个设备要加载到本地的一个目录中,本示例中将其加载到/usr/sap/SYP/ascs00目录中。在此需要创建/usr/sap/SYP目录。选中directory,然后单击“Edit”按钮,在弹出的“Edit Nvpair”对话框的Value中输入要加载的位置,本示例中为/usr/sap/SYP/ascs00。然后单击“OK”按钮。

选中fstype然后单击Edit按钮,在弹出的“Edit Nvpair”对话框的Value中输入文件系统属性,本示例为ext3。添加的文件系统资源完成后,单击“Apply”按钮。

(13)返回“Add Group-Add Sub-resource For‘g_SAP’”对话框,如果要继续添加资源,应单击“OK”按钮。如果添加资源完成,单击“Cancel”按钮。本示例已经添加完所需资源,单击“Cancel”按钮。

(14)返回“Add Group”对话框,本示例中添加一个Virtual IP地址,加载一个LVM,加载一个文件系统。单击“Apply”按钮,添加资源组完成。

(15)返回Pacemaker GUI对话框,在“Resources→Group”中可以看到创建的资源组。

当前的资源组还没有运行。在“Management”中用鼠标右键单击资源组的名称g_SAP,在弹出的快捷菜单中选择Start启动资源组,如果配置正确,资源组启动成功。此时资源组在节点1上加载。

如果群集中2个节点全部启动,有可能在启动带有文件系统的资源组时,2台服务器会立刻重启。笔者分析,可能是这2个节点全部加载了同一个逻辑卷造成系统冲突引起的。如果出现这一情况,应暂时关闭一台节点主机,只让1个节点加载文件系统,等加载成功之后再启动另一个节点即可。

(16)参照上面的示例,添加第2个资源组。资源组的名称为g_sypdb,Virtual IP地址为172.16.68.170,加载的卷组为dbvg,加载的逻辑卷分别为SYP、log_dir、sapdata1、sapdata2、sapdata3、sapdata4等逻辑卷。

(17)配置好第2个资源组。

用户要求当群集中主机开机后,默认的资源组g_SAP在节点1主机上加载,g_sypdb在节点2主机上加载。如果其中的一个节点主机故障,则资源组会自动在存活主机自动加载。为资源指定群集节点的操作步骤如下。

①资源组g_sypdb在节点1上加载,用鼠标右键单击资源组名称g_sypdb,在弹出的快捷菜单中选择“Mi grate Resource”。

②在“Migrate Resource”对话框中,在“To Node”下拉列表中选择另一个节点名称eccprd2,单击“OK”按钮。

③在资源组切换过程中,Cluster会暂时先停止资源组中的资源,然后再在指定的节点启动。等资源切换完成后,指定的资源组(默认)在节点2运行。

④参考前面步骤,将g_sypascs资源组(实验环境中对应的资源组名称为g_SAP,生产环境中对应的资源组名称为g_sypascs)迁移到节点1。

⑤在“Constraints(约束条件)”中可以看到,在默认情况下,g_sypascs资源组在节点1(主机名称为eccprd1),g_sypdb资源组在节点2(主机名称为eccprd2)。

⑥打开终端桌面,执行crm status查看Cluster状态。

常见故障解决

1.如果配置资源的过程中,服务器突然退出图形界面,返回到到命令行界面并报如下错误:

Failed to connect to socket/var/run/dbus/syste m_bus_socket:No such file or directory

按ALT F1或F2,切换到另一个窗口,使用root帐户登录,执行/etc/init.d/dbus start启动服务后,服务器会再次进入图形界面。

2.两台服务器交替重新启动。

当两台群集的心跳线断开后就会出现这种情况,应检查2台服务器用于心跳的网线。

猜你喜欢

网卡IP地址对话框
联网全靠它 认识笔记本的无线网卡
Server 2016网卡组合模式
Bootlace Worms’Secret etc.
What Is Beauty?
公安网络中IP地址智能管理的研究与思考
浅谈VB的通用对话框《CommonDialog》控件的使用
挑战Killer网卡Realtek网游专用Dragon网卡
《IP地址及其管理》教学设计
计算机的网络身份IP地址
你都不理我等6则