了解安装用户及用户组
为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性,安装脚本在安装过程中会自动按照用户指定内容创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。
初始化安装环境时,由-G参数所指定的安装用户所属的用户组。该用户组如果不存在,则会自动创建,也可提前创建好用户组。在执行gs_preinstall脚本时会检查权限。gs_preinstall脚本会自动赋予此组中的用户对安装目录、数据目录的访问和执行权限。 groupadd dbgrp | ||
初始化安装环境时,由-U参数所指定和自动创建的操作系统用户,如果已经存在该用户,请清理该用户或更换初始化用户。从安全性考虑,对此用户的所属组规划如下: |
在安装openGauss过程中运行“gs_preinstall”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。
创建XML配置文件
安装openGauss前需要创建cluster_config.xml文件。cluster_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场景配置对应的XML文件。
下面以一主一备的方案为例,说明如何创建XML配置文件。
配置数据库名称及各项目录
在script/gspylib/etc/conf/cluster_config_template.xml获取XML文件模板。以下配置内容为示例,可自行替换。每行信息均有注释进行说明。
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- 整体信息 -->
<CLUSTER>
<!-- 数据库名称 -->
<PARAM name="clusterName" value="Cluster_template" />
<!-- 数据库节点名称(hostname) -->
<PARAM name="nodeNames" value="node1_hostname,node2_hostname" />
<!-- 数据库安装目录-->
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<!-- 日志目录-->
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<!-- 临时文件目录-->
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" />
<!--数据库工具目录-->
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<!--数据库core文件目录-->
<PARAM name="corePath" value="/opt/huawei/corefile"/>
<!-- 节点IP,与nodeNames一一对应 -->
<PARAM name="backIp1s" value="192.168.0.1,192.168.0.2"/>
<!-- 是否开启数据库节点自选主 -->
<PARAM name="enable_dcf" value="on"/>
<!-- 开启开关后对应的节点IP、PORT和角色信息 -->
<PARAM name="dcf_config" value="[{"stream_id":1,"node_id":1,"ip":"8.92.1.85","port":16683,"role":"LEADER"},{"stream_id":1,"node_id":2,"ip":"8.92.1.86","port":16683,"role":"FOLLOWER"},{"stream_id":1,"node_id":3,"ip":"8.92.1.87","port":16683,"role":"FOLLOWER"}]"/>
<!-- 资源池化模式开关 -->
<PARAM name="enable_dss" value="on"/>
<!-- dss实例目录 -->
<PARAM name="dss_home" value="/opt/huawei/install/data/dss"/>
<!-- dss共享卷名 -->
<PARAM name="ss_dss_vg_name" value="data"/>
<!-- dss挂载卷组名和卷组信息,包含共享卷 -->
<PARAM name="dss_vg_info" value="data:/dev/sdb,p0:/dev/sdc,p1:/dev/sdd"/>
<!-- cm投票卷 -->
<PARAM name="votingDiskPath" value="/dev/sde"/>
<!-- cm共享卷 -->
<PARAM name="shareDiskDir" value="/dev/sdf"/>
<!-- dss开启ssl认证开关 -->
<PARAM name="dss_ssl_enable" value="on"/>
<!-- mes通信协议类型 -->
<PARAM name="ss_interconnect_type" value="TCP"/>
<!-- rdma绑定cpu序列 -->
<PARAM name="ss_rdma_work_config" value="1 7"/>
<!-- 是否开启uwal -->
<PARAM name="enable_uwal" value="on"/>
<!-- uwal文件大小 -->
<PARAM name="uwal_disk_size" value="8589934592"/>
<!-- uwal日志路径 -->
<PARAM name="uwal_log_path" value="'/home/omm/data/log/omm/omm/pg_log'"/>
<!-- uwal压缩开关 -->
<PARAM name="uwal_rpc_compression_switch" value="false"/>
<!-- uwal流控开关 -->
<PARAM name="uwal_rpc_flowcontrol_switch" value="false"/>
<!-- uwal流控值 -->
<PARAM name="uwal_rpc_flowcontrol_value" value="128"/>
<!-- uwal异步写开关 -->
<PARAM name="uwal_async_append_switch" value="false"/>
<!-- uwal挂载路径 -->
<PARAM name="uwal_devices_path" value="'/home/omm/data/dn'"/>
<!-- VIP信息 -->
<PARAM name="floatIp1" value="10.10.10.100"/>
<PARAM name="floatIp2" value="20.20.20.100"/>
<PARAM name="floatIp3" value="30.30.30.100"/>
</CLUSTER>
须知:
- “/opt/huawei/install/om”存放互信等工具,为了避免权限问题,不要把实例数据目录放在此目录下。
- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。
- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。
- 若需要安装脚本自动创建安装用户时,各配置的目录需保证不与系统创建的默认用户目录耦合关联。
- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<",">","`","\\","'","\"","{","}","(",")","[","]","~","*","?“特殊字符。
- 配置数据库节点名称时,请通过hostname命令获取数据库节点的主机名称,替换示例中的node1_hostname,node2_hostname。
- 配置dcf_config时,角色的配置有leader,follower,passive,logger,其中可投票的角色有leader,follower,logger,配置角色组网时,可投票的角色不能少于3个,因此dcf模式下至少需要三个节点。
- 资源池化中请谨慎配置所有包含磁盘信息的参数,安装时工具会低格所有参数中配置的磁盘,所有参数中的磁盘不能重复。
- 资源池化中的ip和dn的数据ip保持一致,dss的端口是db端口+10,dms的端口是db端口+20。
表 1 参数说明
配置Host基本信息
说明:
每台Host服务器都必须有如下信息,如下示例以node1为例。
内容为示例,可自行替换。每行信息均有注释进行说明。
Host配置以下信息。
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- 节点1上的部署信息 -->
<DEVICE sn="node1_hostname">
<!-- 节点1的主机名称 -->
<PARAM name="name" value="node1_hostname" />
<!-- 节点1所在的AZ及AZ优先级 -->
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="192.168.0.1"/>
<PARAM name="sshIp1" value="192.168.0.1"/>
<!-- node1是否为级联备, on表示该实例为级联备,另外级联备机在相同的AZ里需要配有备机 -->
<PARAM name="cascadeRole" value="on"/>
表 1 参数说明
sshIp1 | 设置SSH可信通道IP地址(外网IP)。若无外网,则可以不设置该选项或者同backIp1设置相同IP。 |
说明: 配置文件中所有IP参数(包含backIp、sshIp、listenIp等)均只支持配置一个IP。如果配置第二个IP参数,则不会读取第二个参数的配置值。 示例:xml配置文件中同时配置backIp1和backIp2参数: 在解析配置文件时仅读取backIp1参数的配置值,不会读取backIp2参数的配置值。
<PARAM name="backIp1" value="192.168.0.1"/> <PARAM name="backIp2" value="192.168.0.2"/>