From 1e99848154e69be6dcb027a59a7380701e8005ca Mon Sep 17 00:00:00 2001 From: li-jun056 <1255728208@qq.com> Date: Wed, 19 Aug 2020 14:37:51 +0800 Subject: [PATCH] update documents --- .../figures/zh-cn_image_0260397341.png | Bin 0 -> 213937 bytes .../figures/zh-cn_image_0260397375.png | Bin 0 -> 181651 bytes ...15\347\275\256\346\226\207\344\273\266.md" | 48 - ...57\345\242\203\346\270\205\347\220\206.md" | 92 -- ...11\350\243\205\346\265\201\347\250\213.md" | 28 +- ...12\347\224\250\346\210\267\347\273\204.md" | 18 +- ...73\347\273\237\351\205\215\347\275\256.md" | 15 - ...44\346\215\242\345\206\205\345\255\230.md" | 8 - ...37\351\230\262\347\201\253\345\242\231.md" | 97 -- ...67\345\217\212\347\216\257\345\242\203.md" | 298 ---- ...11\350\243\205\347\216\257\345\242\203.md" | 371 ++++- ...15\347\275\256\346\226\207\344\273\266.md" | 348 ++++- ...11\350\243\205\347\216\257\345\242\203.md" | 1226 ++++++++++++++++- ...26\346\225\260\346\215\256\345\272\223.md" | 20 + ...35\345\247\213\351\205\215\347\275\256.md" | 7 - ...15\347\275\256\346\226\207\344\273\266.md" | 38 - .../\345\215\270\350\275\275openGauss.md" | 159 ++- .../\345\256\211\350\243\205openGauss.md" | 24 +- ...11\350\243\205\345\207\206\345\244\207.md" | 26 +- ...11\350\243\205\346\246\202\350\277\260.md" | 18 +- ...11\350\243\205\351\252\214\350\257\201.md" | 66 +- ...72\347\253\213\344\272\222\344\277\241.md" | 310 ----- ...47\350\241\214\345\215\270\350\275\275.md" | 54 - ...47\350\241\214\345\256\211\350\243\205.md" | 240 ++-- ...45\345\272\267\347\212\266\346\200\201.md" | 60 - ...45\345\272\267\347\212\266\346\200\201.md" | 61 - .../installation/\347\244\272\344\276\213.md" | 7 - ...26\345\256\211\350\243\205\345\214\205.md" | 94 +- ...14\345\256\211\350\243\205\345\214\205.md" | 55 - ...34\347\250\213\347\231\273\345\275\225.md" | 60 - ...46\351\233\206\345\217\202\346\225\260.md" | 8 - ...72\345\222\214\346\227\266\351\227\264.md" | 20 - ...347\275\221\345\215\241MTU\345\200\274.md" | 8 - ...57\345\242\203\350\246\201\346\261\202.md" | 136 -- ...72\346\234\254\344\277\241\346\201\257.md" | 72 - ...14\345\255\227\347\254\246\351\233\206.md" | 129 -- ...73\347\273\237\345\217\202\346\225\260.md" | 503 ------- ...02\347\202\271\344\277\241\346\201\257.md" | 77 -- ...04\351\241\271\347\233\256\345\275\225.md" | 106 -- ...07\346\234\272\345\217\257\350\257\273.md" | 20 +- content/zh/menu/index.md | 23 +- 41 files changed, 2377 insertions(+), 2573 deletions(-) create mode 100644 content/zh/docs/installation/figures/zh-cn_image_0260397341.png create mode 100644 content/zh/docs/installation/figures/zh-cn_image_0260397375.png delete mode 100644 "content/zh/docs/installation/\344\270\200\344\270\273\344\270\200\345\244\207\351\205\215\347\275\256\346\226\207\344\273\266.md" delete mode 100644 "content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md" delete mode 100644 "content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md" delete mode 100644 "content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" delete mode 100644 "content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md" delete mode 100644 "content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md" create mode 100644 "content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\346\225\260\346\215\256\345\272\223.md" delete mode 100644 "content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md" delete mode 100644 "content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md" delete mode 100644 "content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md" delete mode 100644 "content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md" delete mode 100644 "content/zh/docs/installation/\346\243\200\346\237\245openGauss\345\201\245\345\272\267\347\212\266\346\200\201.md" delete mode 100644 "content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md" delete mode 100644 "content/zh/docs/installation/\347\244\272\344\276\213.md" delete mode 100644 "content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md" delete mode 100644 "content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md" delete mode 100644 "content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md" delete mode 100644 "content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md" delete mode 100644 "content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" delete mode 100644 "content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md" delete mode 100644 "content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md" delete mode 100644 "content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md" delete mode 100644 "content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md" delete mode 100644 "content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md" delete mode 100644 "content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md" diff --git a/content/zh/docs/installation/figures/zh-cn_image_0260397341.png b/content/zh/docs/installation/figures/zh-cn_image_0260397341.png new file mode 100644 index 0000000000000000000000000000000000000000..d35d9837729b2f9c9736d1545c064004d65aee3f GIT binary patch literal 213937 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

Wthc?gAOD!r}lZILZ}buReiDKv_}pZ`|ABb4G@ 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�V7S^T{z{|D#EN@YZ|E+i(B(+kbZ0A6NgEdktPY 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 Tem%8A@TY&vN4=B*I literal 0 HcmV?d00001 diff --git a/content/zh/docs/installation/figures/zh-cn_image_0260397375.png b/content/zh/docs/installation/figures/zh-cn_image_0260397375.png new file mode 100644 index 0000000000000000000000000000000000000000..4c4630062be26837e33aa4c01704b7f47279e65d GIT binary patch literal 181651 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

{0{&@gg)fVSIQE) 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�T(h^-akSuIpv2m7x4Az4c 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 - -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - diff --git "a/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md" "b/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md" deleted file mode 100644 index 72c990ea0..000000000 --- "a/content/zh/docs/installation/\344\270\200\351\224\256\345\274\217\347\216\257\345\242\203\346\270\205\347\220\206.md" +++ /dev/null @@ -1,92 +0,0 @@ -# 一键式环境清理 - -在openGauss卸载完成后,如果不需要在环境上重新部署openGauss,可以运行脚本gs\_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境准备脚本gs\_preinstall所做设置的清理。 - -## 前提条件 - -- openGauss卸载执行成功。 -- root用户互信可用。 -- 只能使用root用户执行gs\_postuninstall命令。 - -## 操作步骤 - -1. 以root用户登录openGauss服务器。 -2. 查看root用户互信是否建立,如果root用户没有建立互信,需要手工建立root用户互信,操作参考3.2.2手工建立互信。 - - 查看互信是否建成功,可以互相ssh主机名。输入exit退出。 - - ``` - plat1:~ # ssh plat2 - Last login: Tue Jan 5 10:28:18 2016 from plat1 - Huawei's internal systems must only be used for conducting Huawei's business or for purposes authorized by Huawei management.Use is subject to audit at any time by Huawei management. - plat2:~ # exit - logout - Connection to plat2 closed. - plat1:~ # - ``` - -3. 进入script路径下 - - ``` - cd /opt/software/openGauss/script - ``` - -4. 使用gs\_postuninstall进行清理。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。 - - ``` - ./gs_postuninstall -U omm -X /opt/software/openGauss/cluster_config.xml --delete-user --delete-group - ``` - - 或者在openGauss中每个节点执行本地后置清理。 - - ``` - ./gs_postuninstall -U omm -X /opt/software/openGauss/cluster_config.xml --delete-user --delete-group -L - ``` - - omm为运行openGauss的操作系统用户名,/opt/software/openGauss/cluster\_config.xml为openGauss配置文件路径。 - - 若为环境变量分离的模式安装的集群需删除之前source的环境变量分离的env参数 - - unset MPPDB\_ENV\_SEPARATE\_PATH - -5. 删除openGauss数据库各节点root用户的互信,操作参考3.2.2手工建立互信的删除root用户互信部分内容。 - -## 示例 - -清理主机的环境 - -``` -gs_postuninstall -U omm -X /opt/software/openGauss/cluster_config.xml --delete-user -Parsing the configuration file. -Successfully parsed the configuration file. -Check log file path. -Successfully checked log file path. -Checking unpreinstallation. -Successfully checked unpreinstallation. -Deleting Cgroup. -Successfully deleted Cgroup. -Deleting the instance's directory. -Successfully deleted the instance's directory. -Deleting the installation directory. -Successfully deleted the installation directory. -Deleting the temporary directory. -Successfully deleted the temporary directory. -Deleting remote OS user. -Successfully deleted remote OS user. -Deleting software packages and environmental variables of other nodes. -Successfully deleted software packages and environmental variables of other nodes. -Deleting logs of other nodes. -Successfully deleted logs of other nodes. -Deleting software packages and environmental variables of the local node. -Successfully deleted software packages and environmental variables of the local nodes. -Deleting local OS user. -Successfully deleted local OS user. -Deleting local node's logs. -Successfully deleted local node's logs. -Successfully cleaned environment. -``` - -## 错误排查 - -如果一键式环境清理失败请根据“$GAUSSLOG/om/gs\_postuninstall-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。 - diff --git "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md" "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md" index 223ebe59b..46a4ff155 100644 --- "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md" +++ "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\346\265\201\347\250\213.md" @@ -1,15 +1,15 @@ -# 了解安装流程 - -本章节通过流程图简要介绍openGauss的安装流程。 - -openGauss的安装流程如[图1](#fig18264185162412)所示。 - -**图 1** 安装流程图 -![](figures/安装流程图.png "安装流程图") - -**表 1** 安装流程图说明 - - +# 了解安装流程 + +本章节通过流程图简要介绍openGauss的安装流程。 + +openGauss的安装流程如[图1](#fig18264185162412)所示。 + +**图 1** 安装流程图 +![](figures/安装流程图.png "安装流程图") + +**表 1** 安装流程图说明 + + -

流程

说明

@@ -52,5 +52,5 @@ openGauss的安装流程如[图1](#fig18264185162412)所示。
- + + diff --git "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md" "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md" index c0492a9da..0409d06dd 100644 --- "a/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md" +++ "b/content/zh/docs/installation/\344\272\206\350\247\243\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\224\250\346\210\267\347\273\204.md" @@ -1,8 +1,8 @@ -# 了解安装用户及用户组 - -为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。 - - +# 了解安装用户及用户组 + +为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。 + + -

用户/组名

所属类型

@@ -31,7 +31,7 @@
- -在安装openGauss过程中运行“gs\_install”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。 - + + +在安装openGauss过程中运行“gs\_install”时,会创建与安装用户同名的数据库用户,即数据库用户omm。此用户具备数据库的最高操作权限,此用户初始密码由用户指定。 + diff --git "a/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md" "b/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md" deleted file mode 100644 index 46dd41c9e..000000000 --- "a/content/zh/docs/installation/\344\277\256\346\224\271\346\223\215\344\275\234\347\263\273\347\273\237\351\205\215\347\275\256.md" +++ /dev/null @@ -1,15 +0,0 @@ -# 修改操作系统配置 - -- **[关闭操作系统防火墙](关闭操作系统防火墙.md)** -为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。 -- **[设置字符集参数](设置字符集参数.md)** - -- **[设置时区和时间](设置时区和时间.md)** - -- **[关闭swap交换内存](关闭swap交换内存.md)** - -- **[设置网卡MTU值](设置网卡MTU值.md)** - -- **[配置操作系统参数](配置操作系统参数.md)** -openGauss要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等。 - diff --git "a/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" "b/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" deleted file mode 100644 index d2579ea02..000000000 --- "a/content/zh/docs/installation/\345\205\263\351\227\255swap\344\272\244\346\215\242\345\206\205\345\255\230.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 关闭swap交换内存 - -在各数据库节点上,使用swapoff -a命令将交换内存关闭。 - -``` -swapoff -a -``` - diff --git "a/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md" "b/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md" deleted file mode 100644 index 946da007b..000000000 --- "a/content/zh/docs/installation/\345\205\263\351\227\255\346\223\215\344\275\234\347\263\273\347\273\237\351\230\262\347\201\253\345\242\231.md" +++ /dev/null @@ -1,97 +0,0 @@ -# 关闭操作系统防火墙 - -为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。 - -以openEuler操作系统为例,假设openGauss信息如[表1](#zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_table4312170510523)所示。 - -**表 1** openGauss信息 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

主机名称

-

内部IP

-

外部IP

-

plat1

-

192.168.0.11

-

10.10.0.11

-

plat2

-

192.168.0.12

-

10.10.0.12

-

plat3

-

192.168.0.13

-

10.10.0.13

-

plat4

-

192.168.0.14

-

10.10.0.14

-

管理网络

-

-

-

10.10.64.236

-
- -## 操作步骤 - -目前仅支持在防火墙关闭的状态下进行安装。 - -1. 修改/etc/selinux/config文件中的“SELINUX“值为“disabled“。 - 1. 使用VIM打开config文件。 - - ``` - vim /etc/selinux/config - ``` - - 2. 修改“SELINUX“的值“disabled“。 - - ``` - SELINUX=disabled - ``` - -2. 重新启动操作系统。 - - ``` - reboot - ``` - -3. 检查防火墙是否关闭。 - - ``` - systemctl status firewalld - ``` - - 若防火墙未关闭,请执行[4](#li17330102819394); - - 若防火墙已关闭,则无需再关闭防火墙。 - -4. 关闭防火墙。 - - ``` - systemctl disable firewalld.service - systemctl stop firewalld.service - ``` - -5. 在其他主机上重复步骤1到步骤4。 - diff --git "a/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md" "b/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md" deleted file mode 100644 index 2ae03866e..000000000 --- "a/content/zh/docs/installation/\345\207\206\345\244\207\345\256\211\350\243\205\347\224\250\346\210\267\345\217\212\347\216\257\345\242\203.md" +++ /dev/null @@ -1,298 +0,0 @@ -# 准备安装用户及环境 - -创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs\_preinstall准备好安装用户及环境。 - -安装前置脚本gs\_preinstall可以协助用户自动完成如下的安装环境准备工作: - -- 自动设置Linux内核参数以达到提高服务器负载能力的目的。这些参数直接影响数据库系统的运行状态,请仅在确认必要时调整。openGauss所设置的Linux内核参数取值请参见[配置操作系统参数](配置操作系统参数.md)。 -- 自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。 -- openGauss安装用户、用户组不存在时,自动创建安装用户以及用户组。 -- 读取openGauss配置文件中的目录信息并创建,将目录权限授予安装用户。 - -## 前提条件 - -- 已完成[安装准备](安装准备.md)的所有任务。 - -## 注意事项 - -- 用户需要检查上层目录权限,保证安装用户对安装包和配置文件目录读写执行的权限。 -- xml文件中各主机的名称与IP映射配置正确。 -- 只能使用root用户执行gs\_preinstall命令。 - -## 操作步骤 - -1. 以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。 - - ``` - mkdir -p /opt/software/openGauss - chmod 755 -R /opt/software - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 不建议把安装包的存放目录规划到openGauss用户的家目录或其子目录下,可能导致权限问题。 - >- openGauss用户须具有/opt/software/openGauss目录的读写权限。 - -2. 将安装包“openGauss-x.x.x-openEULER-64bit.tar.gz”和配置文件“cluster\_config.xml”都上传至上一步所创建的目录中。 -3. 在安装包所在的目录下,解压安装包openGauss-x.x.x-openEULER-64bit.tar.gz。安装包解压后,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs\_preinstall等各种OM工具脚本。 - - ``` - cd /opt/software/openGauss - tar -zxvf openGauss-x.x.x-openEULER-64bit.tar.gz - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 在执行前置脚本gs\_preinstall时,需要规划好openGauss配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。 - >- 运行前置脚本gs\_preinstall准备安装环境时,脚本内部会自动将openGauss配置文件、解压后的安装包同步拷贝到其余服务器的相同目录下。 - >- 在执行前置或者互信前,请检查/etc/profile文件中是否包含错误输出信息,如果存在错误输出,需手动处理。 - -4. 进入到工具脚本存放目录下。 - - ``` - cd /opt/software/openGauss/script - ``` - -5. 如果是openEuler的操作系统,执行如下命令打开performance.sh文件,用\#注释sysctl -w vm.min\_free\_kbytes=112640 &\> /dev/null,键入“ESC”键进入指令模式,执行**:wq**保存并退出修改。 - - ``` - vi /etc/profile.d/performance.sh - ``` - -6. 为确保openssl版本正确,执行预安装前请加载安装包中lib库。执行命令如下,其中_\{packagePath\}_为用户安装包放置的路径,本示例中为/opt/software/openGauss。 - - ``` - export LD_LIBRARY_PATH={packagePath}/script/gspylib/clib:$LD_LIBRARY_PATH - ``` - -7. 为确保成功安装,检查 hostname 与 /etc/hostname 是否一致。预安装过程中,会对hostname进行检查。 -8. 使用gs\_preinstall准备好安装环境。若为共用环境需加入--sep-env-file=ENVFILE参数分离环境变量,避免与其他用户相互影响,ENVFILE为用户自行指定的环境变量分离文件的路径。 - - 采用交互模式执行前置,并在执行过程中自动创建root用户互信和openGauss用户互信: - - ``` - ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml - ``` - - omm为数据库管理员(也是运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的群组名称,/opt/software/openGauss/cluster\_config.xml为openGauss配置文件路径。在执行过程中,用户根据提示选择是否创建互信,并输入root用户或openGauss用户的密码。 - - - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:如果预安装指定-L参数,预安装前需手动将所有节点的主机名和ip映射关系,写入各个主机的/etc/hosts,并在每个映射关系后边加入注释内容:\#Gauss OM IP Hosts Mapping。 - 1. 执行下面命令准备安装环境。 - - ``` - cd /opt/software/openGauss/script - ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >此操作需要在每台主机上执行该命令。 - - - - 采用非交互模式执行前置: - 1. 参考[手工建立互信](手工建立互信.md)章节手工建立root用户互信和openGauss用户互信。 - 2. 执行下面命令准备安装环境。 - - ``` - cd /opt/software/openGauss/script - ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --non-interactive - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 此模式要求用户确保在执行前,已经建立了各节点root用户互信和openGauss用户互信。 - >- root用户互信可能会存在安全隐患,因此建议用户在执行完安装后,立即删除各主机上root用户的互信。 - - - - -## 示例 - -执行前置脚本: - -``` -plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml -Parsing the configuration file. -Successfully parsed the configuration file. -Installing the tools on the local node. -Successfully installed the tools on the local node. -Are you sure you want to create trust for root (yes/no)? yes -Please enter password for root. -Password: -Creating SSH trust for the root permission user. -Checking network information. -All nodes in the network are Normal. -Successfully checked network information. -Creating SSH trust. -Creating the local key file. -Successfully created the local key files. -Appending local ID to authorized_keys. -Successfully appended local ID to authorized_keys. -Updating the known_hosts file. -Successfully updated the known_hosts file. -Appending authorized_key on the remote node. -Successfully appended authorized_key on all remote node. -Checking common authentication file content. -Successfully checked common authentication content. -Distributing SSH trust file to all node. -Successfully distributed SSH trust file to all node. -Verifying SSH trust on all hosts. -Successfully verified SSH trust on all hosts. -Successfully created SSH trust. -Successfully created SSH trust for the root permission user. -Setting pssh path -Successfully set core path. -Distributing package. -Begin to distribute package to tool path. -Successfully distribute package to tool path. -Begin to distribute package to package path. -Successfully distribute package to package path. -Successfully distributed package. -Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes -Please enter password for cluster user. -Password: -Please enter password for cluster user again. -Password: -Successfully created [omm] user on all nodes. -Preparing SSH service. -Successfully prepared SSH service. -Installing the tools in the cluster. -Successfully installed the tools in the cluster. -Checking hostname mapping. -Successfully checked hostname mapping. -Creating SSH trust for [omm] user. -Checking network information. -All nodes in the network are Normal. -Successfully checked network information. -Creating SSH trust. -Creating the local key file. -Successfully created the local key files. -Appending local ID to authorized_keys. -Successfully appended local ID to authorized_keys. -Updating the known_hosts file. -Successfully updated the known_hosts file. -Appending authorized_key on the remote node. -Successfully appended authorized_key on all remote node. -Checking common authentication file content. -Successfully checked common authentication content. -Distributing SSH trust file to all node. -Successfully distributed SSH trust file to all node. -Verifying SSH trust on all hosts. -Successfully verified SSH trust on all hosts. -Successfully created SSH trust. -Successfully created SSH trust for [omm] user. -Checking OS software. -Successfully check os software. -Checking OS version. -Successfully checked OS version. -Creating cluster's path. -Successfully created cluster's path. -Setting SCTP service. -Successfully set SCTP service. -Set and check OS parameter. -Setting OS parameters. -Successfully set OS parameters. -Preparing CRON service. -Successfully prepared CRON service. -Setting user environmental variables. -Successfully set user environmental variables. -Setting the dynamic link library. -Successfully set the dynamic link library. -Setting Core file -Successfully set core path. -Setting pssh path -Successfully set pssh path. -Set ARM Optimization. -No need to set ARM Optimization. -Fixing server package owner. -Setting finish flag. -Successfully set finish flag. -Preinstallation succeeded. -``` - -root密码不一致也不能修改为一致,执行前置脚本本地安装模式: - -``` -plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml -Parsing the configuration file. -Successfully parsed the configuration file. -Installing the tools on the local node. -Successfully installed the tools on the local node. -Checking OS version. -Successfully checked OS version. -Creating cluster's path. -Successfully created cluster's path. -Setting SCTP service. -Successfully set SCTP service. -Set and check OS parameter. -Setting OS parameters. -Successfully set OS parameters. -Warning: Installation environment contains some warning messages. -Please get more details by "/home/package/r8c00/script/gs_checkos -i A -h SIA1000068990". -Set and check OS parameter completed. -Preparing CRON service. -Successfully prepared CRON service. -Preparing SSH service. -Successfully prepared SSH service. -Setting user environmental variables. -Successfully set user environmental variables. -Configuring alarms on the cluster nodes. -Successfully configured alarms on the cluster nodes. -Setting the dynamic link library. -Successfully set the dynamic link library. -Setting Cgroup. -Successfully set Cgroup. -Setting finish flag. -Successfully set finish flag. -Preinstallation succeeded. -``` - -以非交互模式执行前置: - -``` -plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --non-interactive -Parsing the configuration file. -Successfully parsed the configuration file. -Installing the tools on the local node. -Successfully installed the tools on the local node. -Distributing package. -Begin to distribute package to tool path. -Successfully distribute package to tool path. -Begin to distribute package to package path. -Successfully distribute package to package path. -Successfully distributed package. -Installing the tools in the cluster. -Successfully installed the tools in the cluster. -Checking hostname mapping. -Successfully checked hostname mapping. -Checking OS version. -Successfully checked OS version. -Creating cluster's path. -Successfully created cluster's path. -Setting SCTP service. -Successfully set SCTP service. -Set and check OS parameter. -Setting OS parameters. -Successfully set OS parameters. -Set and check OS parameter completed. -Preparing CRON service. -Successfully prepared CRON service. -Preparing SSH service. -Successfully prepared SSH service. -Setting user environmental variables. -Successfully set user environmental variables. -Configuring alarms on the cluster nodes. -Successfully configured alarms on the cluster nodes. -Setting the dynamic link library. -Successfully set the dynamic link library. -Setting Cgroup. -Successfully set Cgroup. -Set ARM Optimization. -Successfully set ARM Optimization. -Setting finish flag. -Successfully set finish flag. -Preinstallation succeeded. -``` - -## 错误排查 - -如果准备安装环境失败请根据openGauss日志目录“$GAUSSLOG/om”下的“gs\_preinstall-YYYY-MM-DD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。例如配置文件中“gaussdbLogPath”参数指定的路径为“/var/log/gaussdb”,则“$GAUSSLOG/om”路径为“/var/log/gaussdb/omm/om”,omm用户为运行openGauss的用户。 - ->![](public_sys-resources/icon-notice.gif) **须知:** ->准备安装用户及环境的过程中会使用root添加定时任务用于定时巡检和上报。 - diff --git "a/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md" "b/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md" index 7a67ee062..e41511c4e 100644 --- "a/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md" +++ "b/content/zh/docs/installation/\345\207\206\345\244\207\350\275\257\347\241\254\344\273\266\345\256\211\350\243\205\347\216\257\345\242\203.md" @@ -1,11 +1,360 @@ -# 准备软硬件安装环境 - -本章节描述安装前需要进行的环境准备。 - -- **[软硬件环境要求](软硬件环境要求.md)** -介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。 -- **[修改操作系统配置](修改操作系统配置.md)** - -- **[设置root用户远程登录](设置root用户远程登录.md)** -在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。 - +# 准备软硬件安装环境 + +本章节描述安装前需要进行的环境准备。 + + + +- [软硬件环境要求](#软硬件环境要求a-namezh-cn_topic_0249784577a) + - [硬件环境要求](#硬件环境要求a-namezh-cn_topic_0241802565_zh-cn_topic_0085434629_zh-cn_topic_0059782022_sdd36768784254b8ba03c77c86b831caea) + - [软件环境要求](#软件环境要求a-namezh-cn_topic_0241802565_zh-cn_topic_0085434629_zh-cn_topic_0059782022_s3124e90db74142ddaf11e2e8fd69cadba) + - [软件依赖要求](#软件依赖要求a-namesection5459315183816a) +- [修改操作系统配置](#修改操作系统配置a-namezh-cn_topic_0249784574a) + - [关闭操作系统防火墙](#关闭操作系统防火墙a-namesection178235734314a) + - [设置字符集参数](#设置字符集参数a-namesection17609182719467a) + - [设置时区和时间](#设置时区和时间a-namesection2058219344711a) + - [关闭swap交换内存](#关闭swap交换内存a-namesection1868124934810a) + - [设置网卡MTU值](#设置网卡mtu值a-namesection23866245014a) +- [设置root用户远程登录](#设置root用户远程登录a-namezh-cn_topic_0249784566a) + + + +## 软硬件环境要求 + +介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。 + +### 硬件环境要求 + +[表1](#zh-cn_topic_0241802565_zh-cn_topic_0085434629_zh-cn_topic_0059782022_t62cd0eed17004265b1b8ad98f302a4bc)列出了openGauss服务器应具备的最低硬件要求。在实际产品中,硬件配置的规划需考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。 + +**表 1** 硬件环境要求 + + + + + + + + + + + + + + + + + + + +

项目

+

配置描述

+

内存

+

功能调试建议32GB以上。

+

性能测试和商业部署时,单实例部署建议128GB以上。

+

复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。

+

CPU

+

功能调试最小1×8 核 2.0GHz。

+

性能测试和商业部署时,单实例部署建议1×16核 2.0GHz。

+

CPU超线程和非超线程两种模式都支持。但是,openGauss各节点的设置需保持一致。

+

硬盘

+

用于安装openGauss的硬盘需最少满足如下要求:

+
  • 至少1GB用于安装openGauss的应用程序包。
  • 每个主机需大约300MB用于元数据存储。
  • 预留70%以上的磁盘剩余空间用于数据存储。
+

建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装openGauss。有关Raid的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。

+

openGauss支持使用SSD盘作为数据库的主存储设备,支持SAS接口和NVME协议的SSD盘,以RAID的方式部署使用。

+

网络要求

+

300兆以上以太网。

+

建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。

+

openGauss网络如果配置bond,请保证bond模式一致,不一致的bond配置可能导致openGauss工作异常。

+
+ +### 软件环境要求 + +**表 2** 软件环境要求 + + + + + + + + + + + + + + + + + + + +

软件类型

+

配置描述

+

Linux操作系统

+

openEuler 20.3LTS和CentOS 7.6

+

Linux文件系统

+

剩余inode个数 > 15亿(推荐)

+

工具

+

bzip2

+

Python

+
  • openEuler:支持Python 3.7.X
  • CentOS:支持Python 3.6.X
+
+ +### 软件依赖要求 + +openGauss的软件依赖要求如[表 软件依赖要求](#table1212531681911)所示。 + +建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。 + +**表 3** 软件依赖要求 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

所需软件

+

建议版本

+

libaio-devel

+

建议版本:0.3.109-13

+

flex

+

要求版本:2.5.31 以上

+

bison

+

建议版本:2.7-4

+

ncurses-devel

+

建议版本:5.9-13.20130511

+

glibc.devel

+

建议版本:2.17-111

+

patch

+

建议版本:2.7.1-10

+

lsb_release

+

建议版本:4.1

+
+ +## 修改操作系统配置 + +### 关闭操作系统防火墙 + +为了在防火墙开启的状态下,确保openGauss的正常使用。用户需要将同openGauss相关的服务、协议、IP以及端口添加到openGauss各主机的防火墙白名单中。 + +以openEuler操作系统为例,假设openGauss信息如[表 openGauss信息](#zh-cn_topic_0241802566_zh-cn_topic_0085434636_zh-cn_topic_0059782018_table4312170510523)所示。 + +**表 1** openGauss信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

主机名称

+

内部IP

+

外部IP

+

plat1

+

192.168.0.11

+

10.10.0.11

+

plat2

+

192.168.0.12

+

10.10.0.12

+

plat3

+

192.168.0.13

+

10.10.0.13

+

plat4

+

192.168.0.14

+

10.10.0.14

+

管理网络

+

-

+

10.10.64.236

+
+ +**操作步骤** + +目前仅支持在防火墙关闭的状态下进行安装。 + +1. 修改/etc/selinux/config文件中的“SELINUX“值为“disabled“。 + 1. 使用VIM打开config文件。 + + ``` + vim /etc/selinux/config + ``` + + 2. 修改“SELINUX“的值“disabled“。 + + ``` + SELINUX=disabled + ``` + +2. 重新启动操作系统。 + + ``` + reboot + ``` + +3. 检查防火墙是否关闭。 + + ``` + systemctl status firewalld + ``` + + 若防火墙未关闭,请执行[4](#li17330102819394); + + 若防火墙已关闭,则无需再关闭防火墙。 + +4. 关闭防火墙。 + + ``` + systemctl disable firewalld.service + systemctl stop firewalld.service + ``` + +5. 在其他主机上重复步骤1到步骤4。 + +### 设置字符集参数 + +将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加"export LANG=XXX"(XXX为Unicode编码)。 + +``` +vim /etc/profile +``` + +### 设置时区和时间 + +将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。 + +``` +cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime +``` + +>![](public_sys-resources/icon-note.gif) **说明:** +>_$地区/$时区为需要设置时区的信息,例如:Asia_/Shanghai。 + +使用date -s命令将各主机的时间设置为统一时间,举例如下。 + +``` +date -s Mon May 11 16:42:11 CST 2020 +``` + +>![](public_sys-resources/icon-note.gif) **说明:** +>可以通过date命令查询主机时区。 + +### 关闭swap交换内存 + +在各数据库节点上,使用swapoff -a命令将交换内存关闭。 + +``` +swapoff -a +``` + +### 设置网卡MTU值 + +将各数据库节点的网卡MTU值设置为相同大小。对于X86,MTU值推荐1500;对于ARM,MTU值推荐8192。 + +``` +ifconfig 网卡编号 mtu 值 +``` + +## 设置root用户远程登录 + +在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。 + +1. 修改PermitRootLogin配置,允许用户远程登录。 + 1. 打开sshd\_config文件。 + + ``` + vim /etc/ssh/sshd_config + ``` + + 2. 修改权限配置,可以使用以下两种方式实现: + - 注释掉“PermitRootLogin no”。 + + ``` + #PermitRootLogin no + ``` + + - 将“PermitRootLogin“改为“yes“。 + + ``` + PermitRootLogin yes + ``` + + 3. 执行**:wq**保存并退出编辑页面。 + +2. 修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行。 + 1. 编辑sshd\_config文件。 + + ``` + vim /etc/ssh/sshd_config + ``` + + 2. 修改Banner配置,注释掉“Banner”所在的行。 + + ``` + #Banner XXXX + ``` + + 3. 执行**:wq**保存并退出编辑页面。 + +3. 使用如下命令使设置生效。 + + ``` + service sshd restart + ``` + + >![](public_sys-resources/icon-caution.gif) **注意:** + >若执行命令后返回提示信息“Redirecting to /bin/systemctl restart sshd.service”,请执行命令:/bin/systemctl restart sshd.service。 + +4. 以root用户身份重新登录。 + + ``` + ssh xxx.xxx.xxx.xxx + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >xxx.xxx.xxx.xxx为安装openGauss环境的ip。 + + + \ No newline at end of file diff --git "a/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md" index a94db3067..8b72e7345 100644 --- "a/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md" +++ "b/content/zh/docs/installation/\345\210\233\345\273\272XML\351\205\215\347\275\256\346\226\207\344\273\266.md" @@ -1,15 +1,333 @@ -# 创建XML配置文件 - -安装openGauss前需要创建cluster\_config.xml文件。cluster\_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 - -下面以一主一备的方案为例,说明如何创建XML配置文件。 - -- **[配置数据库名称及各项目录](配置数据库名称及各项目录.md)** - -- **[配置Host基本信息](配置Host基本信息.md)** - -- **[配置数据库主节点信息](配置数据库主节点信息.md)** - -- **[示例](示例.md)** - - +# 创建XML配置文件 + +安装openGauss前需要创建cluster\_config.xml文件。cluster\_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 + +下面以一主一备的方案为例,说明如何创建XML配置文件。 + + + +- [配置数据库名称及各项目录](#配置数据库名称及各项目录a-namezh-cn_topic_0249784584a) +- [配置Host基本信息](#配置host基本信息a-namezh-cn_topic_0249784567a) +- [配置数据库主节点信息](#配置数据库主节点信息a-namezh-cn_topic_0249784583a) +- [示例](#示例a-namezh-cn_topic_0249784528a) + - [单节点配置文件](#单节点配置文件a-namesection1698454873416a) + - [一主一备配置文件](#一主一备配置文件a-namesection946242113712a) + + + + +## 配置数据库名称及各项目录 + +在script/gspylib/etc/conf/cluster\_config\_template.xml获取XML文件模板。加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 + +``` + + + + + + + + + + + + + + + + + + + + + + +``` + +>![](public_sys-resources/icon-notice.gif) **须知:** +>- “/opt/huawei/install/om”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。 +>- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。 +>- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。 +>- 若需要安装脚本自动创建安装用户时各配置的目录需保证不与系统创建的默认用户目录耦合关联。 +>- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<","\>","\`","\\\\","'","\\"","\{","\}","\(","\)","\[","\]","\~","\*","?"特殊字符。 +>- 配置数据库节点名称时,请通过hostname命令获取数据库节点的主机名称,替换示例中的node1\_hostname,node2\_hostname。 + +**表 1** 参数说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

实例类型

+

参数

+

说明

+

整体信息

+

clusterName

+

openGauss名称。

+

nodeNames

+

openGauss中主机名称。

+

backIp1s

+

主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。

+

gaussdbAppPath

+

openGauss程序安装目录。此目录应满足如下要求:

+
  • 磁盘空间>1GB
  • 与数据库所需其它路径相互独立,没有包含关系。
+

gaussdbLogPath

+

openGauss运行日志和操作日志存储目录。此目录应满足如下要求:

+
  • 磁盘空间建议根据主机上的数据库节点数规划。数据库节点预留1GB空间的基础上,再适当预留冗余空间。
  • openGauss所需其它路径相互独立,没有包含关系。
+

此路径可选。不指定的情况下,openGauss安装时会默认指定“$GAUSSLOG/安装用户名”作为日志目录。

+

tmpMppdbPath

+

数据库临时文件存放目录。

+

若不配置tmpMppdbPath,默认存放在/opt/huawei/wisequery/安装用户名_mppdb目录下,其中"opt/huawei/wisequery"是默认指定的数据库系统工具目录。

+

gaussdbToolPath

+

openGauss系统工具目录,主要用于存放互信工具等。此目录应满足如下要求:

+
  • 磁盘空间>100MB
  • 固定目录,与数据库所需其它目录相互独立,没有包含关系。
+

此目录可选。不指定的情况下,openGauss安装时会默认指定“/opt/huawei/wisequery”作为数据库系统工具目录。

+

corePath

+

openGauss core文件的指定目录。

+
+ +## 配置Host基本信息 + +>![](public_sys-resources/icon-note.gif) **说明:** +>每台Host服务器都必须有如下信息,如下示例以node1为例。 + +加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 + +``` + + + + + + + + + + + + +``` + +**表 1** 参数说明 + + + + + + + + + + + + + + + + + + + + + + + + +

实例类型

+

参数

+

说明

+

整体信息

+

name

+

主机名称。

+

azName

+

指定azName(Available Zone Name),字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。

+

azPriority

+

指定azPriority的优先级。

+

backIp1

+

主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。

+

sshIp1

+

设置SSH可信通道IP地址(外网IP)。若无外网,则可以不设置该选项或者同backIp1设置相同IP。

+
+ +>![](public_sys-resources/icon-note.gif) **说明:** +>配置文件中所有IP参数(包含backIp、sshIp、listenIp等)均只支持配置一个IP。如果配置第二个IP参数,则不会读取第二个参数的配置值。 +>示例:xml配置文件中同时配置backIp1和backIp2参数: +>在解析配置文件时仅读取backIp1参数的配置值,不会读取backIp2参数的配置值。 +>``` +> +> +>``` + +## 配置数据库主节点信息 + +加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 + +**数据库主节点配置以下信息。** + +``` + + + + + + + + +``` + +**表 1** 参数说明 + + + + + + + + + + + + + + + + + + + + + +

实例类型

+

参数

+

说明

+

DBnode

+

dataNum

+

当前主机上需要部署的数据库节点个数。

+

dataPortBase

+

数据库节点的基础端口号,默认值40000。

+

dataNode1

+

用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。

+

dataNode1_syncNum

+

可选参数,用于指定当前集群中同步模式的节点数目。取值范围为0~数据库备机节点数。

+
+ +## 示例 + +### 单节点配置文件 + +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +### 一主一备配置文件 + +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + + \ No newline at end of file diff --git "a/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md" "b/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md" index 15b8e169a..6d49cb962 100644 --- "a/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md" +++ "b/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\345\256\211\350\243\205\347\216\257\345\242\203.md" @@ -1,9 +1,1217 @@ -# 初始化安装环境 - -为了保证openGauss的正确安装,请首先对主机环境进行配置。 - -- **[准备安装用户及环境](准备安装用户及环境.md)** -创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs\_preinstall准备好安装用户及环境。 -- **[手工建立互信](手工建立互信.md)** -openGauss在安装过程中,需要在openGauss中的主机间执行命令,传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。 - +# 初始化安装环境 + +为了保证openGauss的正确安装,请首先对主机环境进行配置。 + + + +- [准备安装用户及环境](#准备安装用户及环境a-namezh-cn_topic_0249784578a) + - [前提条件](#前提条件a-namezh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_s3773af79eeb74c4bae1bd46533cc0cd8a) + - [注意事项](#注意事项a-namezh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_section20734484163420a) + - [操作步骤](#操作步骤a-namezh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_s407f29ab5691456590018c719cf81e9da) + - [示例](#示例a-namezh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_section412490911620a) + - [错误排查](#错误排查a-namezh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_s51853c2b09e54b12a90e4f8c512a61e4a) +- [手工建立互信](#手工建立互信a-namezh-cn_topic_0249784564a) + - [前提条件](#前提条件a-namezh-cn_topic_0241805804_zh-cn_topic_0085434625_zh-cn_topic_0059782039_s88bba380d9334b129eab3023c5399d45a) + - [使用脚本建立互信](#使用脚本建立互信a-namezh-cn_topic_0241805804_zh-cn_topic_0085434625_zh-cn_topic_0059782039_s8028dd8189914444b059c07d8c8c82dea) + - [手工建立互信](#手工建立互信a-namezh-cn_topic_0241805804_zh-cn_topic_0085434625_zh-cn_topic_0059782039_section63620881152125a) + - [删除root用户互信](#删除root用户互信a-namesection149417461942a) + - [示例](#示例a-namezh-cn_topic_0241805804_zh-cn_topic_0085434625_zh-cn_topic_0059782039_s9928a16b5b7347edbdb587133575483ea) +- [配置操作系统参数](#配置操作系统参数a-namezh-cn_topic_0249784554a) + - [操作系统参数](#操作系统参数a-namezh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section3705271819540a) + - [文件系统参数](#文件系统参数a-namezh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section4118580316369a) + - [transparent\_hugepage设置](#transparent\_hugepage设置a-namezh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section38366550113020a) + - [文件句柄设置](#文件句柄设置a-namezh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section49556455195442a) + - [系统支持的最大进程数设置](#系统支持的最大进程数设置a-namezh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section65253147151525a) + - [网卡参数配置](#网卡参数配置a-namezh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section6007556195457a) + + +## 准备安装用户及环境 + +创建完openGauss配置文件后,在执行安装前,为了后续能以最小权限进行安装及openGauss管理操作,保证系统安全性,需要运行安装前置脚本gs\_preinstall准备好安装用户及环境。 + +安装前置脚本gs\_preinstall可以协助用户自动完成如下的安装环境准备工作: + +- 自动设置Linux内核参数以达到提高服务器负载能力的目的。这些参数直接影响数据库系统的运行状态,请仅在确认必要时调整。openGauss所设置的Linux内核参数取值请参见[配置操作系统参数](配置操作系统参数.md)。 +- 自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。 +- openGauss安装用户、用户组不存在时,自动创建安装用户以及用户组。 +- 读取openGauss配置文件中的目录信息并创建,将目录权限授予安装用户。 + +### 前提条件 + +- 已完成[安装准备](安装准备.md)的所有任务。 + +### 注意事项 + +- 用户需要检查上层目录权限,保证安装用户对安装包和配置文件目录读写执行的权限。 +- xml文件中各主机的名称与IP映射配置正确。 +- 只能使用root用户执行gs\_preinstall命令。 + +### 操作步骤 + +1. 以root用户登录待安装openGauss的任意主机,并按规划创建存放安装包的目录。 + + ``` + mkdir -p /opt/software/openGauss + chmod 755 -R /opt/software + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 不建议把安装包的存放目录规划到openGauss用户的家目录或其子目录下,可能导致权限问题。 + >- openGauss用户须具有/opt/software/openGauss目录的读写权限。 + +2. 将安装包“openGauss-x.x.x-openEULER-64bit.tar.gz”和配置文件“cluster\_config.xml”都上传至上一步所创建的目录中。 +3. 在安装包所在的目录下,解压安装包openGauss-x.x.x-openEULER-64bit.tar.gz。安装包解压后,会在/opt/software/openGauss路径下自动生成script子目录,并且在script目录下生成gs\_preinstall等各种OM工具脚本。 + + ``` + cd /opt/software/openGauss + tar -zxvf openGauss-x.x.x-openEULER-64bit.tar.gz + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 在执行前置脚本gs\_preinstall时,需要规划好openGauss配置文件路径、安装包存放路径、程序安装目录、实例数据目录,后续普通用户使用过程中不能再更改这些路径。 + >- 运行前置脚本gs\_preinstall准备安装环境时,脚本内部会自动将openGauss配置文件、解压后的安装包同步拷贝到其余服务器的相同目录下。 + >- 在执行前置或者互信前,请检查/etc/profile文件中是否包含错误输出信息,如果存在错误输出,需手动处理。 + +4. 进入到工具脚本存放目录下。 + + ``` + cd /opt/software/openGauss/script + ``` + +5. 如果是openEuler的操作系统,执行如下命令打开performance.sh文件,用\#注释sysctl -w vm.min\_free\_kbytes=112640 &\> /dev/null,键入“ESC”键进入指令模式,执行**:wq**保存并退出修改。 + + ``` + vi /etc/profile.d/performance.sh + ``` + +6. 为确保openssl版本正确,执行预安装前请加载安装包中lib库。执行命令如下,其中_\{packagePath\}_为用户安装包放置的路径,本示例中为/opt/software/openGauss。 + + ``` + export LD_LIBRARY_PATH={packagePath}/script/gspylib/clib:$LD_LIBRARY_PATH + ``` + +7. 为确保成功安装,检查 hostname 与 /etc/hostname 是否一致。预安装过程中,会对hostname进行检查。 +8. 使用gs\_preinstall准备好安装环境。若为共用环境需加入--sep-env-file=ENVFILE参数分离环境变量,避免与其他用户相互影响,ENVFILE为用户自行指定的环境变量分离文件的路径。 + - 采用交互模式执行前置,并在执行过程中自动创建root用户互信和openGauss用户互信: + + ``` + ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml + ``` + + omm为数据库管理员(也是运行openGauss的操作系统用户),dbgrp为运行openGauss的操作系统用户的群组名称,/opt/software/openGauss/cluster\_config.xml为openGauss配置文件路径。在执行过程中,用户根据提示选择是否创建互信,并输入root用户或openGauss用户的密码。 + + - 不允许创建root用户互信时,创建omm用户,在各主机上执行本地模式前置,然后用户手动创建openGauss用户互信:如果预安装指定-L参数,预安装前需手动将所有节点的主机名和ip映射关系,写入各个主机的/etc/hosts,并在每个映射关系后边加入注释内容:\#Gauss OM IP Hosts Mapping。 + 1. 执行下面命令准备安装环境。 + + ``` + cd /opt/software/openGauss/script + ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >此操作需要在每台主机上执行该命令。 + + + - 采用非交互模式执行前置: + 1. 参考[手工建立互信](手工建立互信.md)章节手工建立root用户互信和openGauss用户互信。 + 2. 执行下面命令准备安装环境。 + + ``` + cd /opt/software/openGauss/script + ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --non-interactive + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 此模式要求用户确保在执行前,已经建立了各节点root用户互信和openGauss用户互信。 + >- root用户互信可能会存在安全隐患,因此建议用户在执行完安装后,立即删除各主机上root用户的互信。 + + + + +### 示例 + +执行前置脚本: + +``` +plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml +Parsing the configuration file. +Successfully parsed the configuration file. +Installing the tools on the local node. +Successfully installed the tools on the local node. +Are you sure you want to create trust for root (yes/no)? yes +Please enter password for root. +Password: +Creating SSH trust for the root permission user. +Checking network information. +All nodes in the network are Normal. +Successfully checked network information. +Creating SSH trust. +Creating the local key file. +Successfully created the local key files. +Appending local ID to authorized_keys. +Successfully appended local ID to authorized_keys. +Updating the known_hosts file. +Successfully updated the known_hosts file. +Appending authorized_key on the remote node. +Successfully appended authorized_key on all remote node. +Checking common authentication file content. +Successfully checked common authentication content. +Distributing SSH trust file to all node. +Successfully distributed SSH trust file to all node. +Verifying SSH trust on all hosts. +Successfully verified SSH trust on all hosts. +Successfully created SSH trust. +Successfully created SSH trust for the root permission user. +Setting pssh path +Successfully set core path. +Distributing package. +Begin to distribute package to tool path. +Successfully distribute package to tool path. +Begin to distribute package to package path. +Successfully distribute package to package path. +Successfully distributed package. +Are you sure you want to create the user[omm] and create trust for it (yes/no)? yes +Please enter password for cluster user. +Password: +Please enter password for cluster user again. +Password: +Successfully created [omm] user on all nodes. +Preparing SSH service. +Successfully prepared SSH service. +Installing the tools in the cluster. +Successfully installed the tools in the cluster. +Checking hostname mapping. +Successfully checked hostname mapping. +Creating SSH trust for [omm] user. +Checking network information. +All nodes in the network are Normal. +Successfully checked network information. +Creating SSH trust. +Creating the local key file. +Successfully created the local key files. +Appending local ID to authorized_keys. +Successfully appended local ID to authorized_keys. +Updating the known_hosts file. +Successfully updated the known_hosts file. +Appending authorized_key on the remote node. +Successfully appended authorized_key on all remote node. +Checking common authentication file content. +Successfully checked common authentication content. +Distributing SSH trust file to all node. +Successfully distributed SSH trust file to all node. +Verifying SSH trust on all hosts. +Successfully verified SSH trust on all hosts. +Successfully created SSH trust. +Successfully created SSH trust for [omm] user. +Checking OS software. +Successfully check os software. +Checking OS version. +Successfully checked OS version. +Creating cluster's path. +Successfully created cluster's path. +Setting SCTP service. +Successfully set SCTP service. +Set and check OS parameter. +Setting OS parameters. +Successfully set OS parameters. +Preparing CRON service. +Successfully prepared CRON service. +Setting user environmental variables. +Successfully set user environmental variables. +Setting the dynamic link library. +Successfully set the dynamic link library. +Setting Core file +Successfully set core path. +Setting pssh path +Successfully set pssh path. +Set ARM Optimization. +No need to set ARM Optimization. +Fixing server package owner. +Setting finish flag. +Successfully set finish flag. +Preinstallation succeeded. +``` + +如果主备机的root用户密码不同,且不能统一修改为一致时,执行前置脚本本地安装模式: + +``` +plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -L -X /opt/software/openGauss/cluster_config.xml +Parsing the configuration file. +Successfully parsed the configuration file. +Installing the tools on the local node. +Successfully installed the tools on the local node. +Checking OS version. +Successfully checked OS version. +Creating cluster's path. +Successfully created cluster's path. +Setting SCTP service. +Successfully set SCTP service. +Set and check OS parameter. +Setting OS parameters. +Successfully set OS parameters. +Warning: Installation environment contains some warning messages. +Please get more details by "/home/package/r8c00/script/gs_checkos -i A -h SIA1000068990". +Set and check OS parameter completed. +Preparing CRON service. +Successfully prepared CRON service. +Preparing SSH service. +Successfully prepared SSH service. +Setting user environmental variables. +Successfully set user environmental variables. +Configuring alarms on the cluster nodes. +Successfully configured alarms on the cluster nodes. +Setting the dynamic link library. +Successfully set the dynamic link library. +Setting Cgroup. +Successfully set Cgroup. +Setting finish flag. +Successfully set finish flag. +Preinstallation succeeded. +``` + +以非交互模式执行前置: + +``` +plat1:/opt/software/openGauss/script # ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml --non-interactive +Parsing the configuration file. +Successfully parsed the configuration file. +Installing the tools on the local node. +Successfully installed the tools on the local node. +Distributing package. +Begin to distribute package to tool path. +Successfully distribute package to tool path. +Begin to distribute package to package path. +Successfully distribute package to package path. +Successfully distributed package. +Installing the tools in the cluster. +Successfully installed the tools in the cluster. +Checking hostname mapping. +Successfully checked hostname mapping. +Checking OS version. +Successfully checked OS version. +Creating cluster's path. +Successfully created cluster's path. +Setting SCTP service. +Successfully set SCTP service. +Set and check OS parameter. +Setting OS parameters. +Successfully set OS parameters. +Set and check OS parameter completed. +Preparing CRON service. +Successfully prepared CRON service. +Preparing SSH service. +Successfully prepared SSH service. +Setting user environmental variables. +Successfully set user environmental variables. +Configuring alarms on the cluster nodes. +Successfully configured alarms on the cluster nodes. +Setting the dynamic link library. +Successfully set the dynamic link library. +Setting Cgroup. +Successfully set Cgroup. +Set ARM Optimization. +Successfully set ARM Optimization. +Setting finish flag. +Successfully set finish flag. +Preinstallation succeeded. +``` + +### 错误排查 + +如果准备安装环境失败请根据openGauss日志目录“$GAUSSLOG/om”下的“gs\_preinstall-YYYY-MM-DD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。例如配置文件中“gaussdbLogPath”参数指定的路径为“/var/log/gaussdb”,则“$GAUSSLOG/om”路径为“/var/log/gaussdb/omm/om”,omm用户为运行openGauss的用户。 + +>![](public_sys-resources/icon-notice.gif) **须知:** +>准备安装用户及环境的过程中会使用root添加定时任务用于定时巡检和上报。 + +## 手工建立互信 + +openGauss在安装过程中,需要在openGauss中的主机间执行命令,传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。 + +>![](public_sys-resources/icon-notice.gif) **须知:** +>root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。 + +### 前提条件 + +- 确保ssh服务打开。 +- 确保ssh端口不会被防火墙关闭。 +- 确保xml文件中各主机名称和IP配置正确。 +- 确保所有机器节点间网络畅通。 +- 如果为普通用户建立互信,需要提前在各主机创建相同用户并设置密码。 +- 如果各主机安装并启动了SELinux服务,需要确保/root和/home目录安全上下文为默认值(root目录:system\_u:object\_r:home\_root\_t:s0,home目录:system\_u:object\_r:admin\_home\_t:s0)或者关闭掉SELinux服务。 + + 检查系统SELinux状态的方法:执行命令getenforce,如果返回结果是Enforcing ,说明SELinux安装并启用。 + + 检查目录安全上下文的命令: + + ``` + ls -ldZ /root | awk '{print $4}' + ``` + + ``` + ls -ldZ /home | awk '{print $4}' + ``` + + 恢复目录安全上下文命令: + + ``` + restorecon -r -vv /home/ + ``` + + ``` + restorecon -r -vv /root/ + ``` + + +### 使用脚本建立互信 + +1. 创建一个执行互信脚本所需要的输入文本,并在此文件中添加openGauss中所有主机IP。 + + ``` + plat1:/opt/software/openGauss> vim hostfile + 192.168.0.1 + 192.168.0.2 + 192.168.0.3 + ``` + +2. 以需要创建互信的用户执行脚本。 +3. 执行下面脚本建立互信。 + + ``` + plat1:/opt/software/openGauss/script# ./gs_sshexkey -f /opt/software/hostfile + ``` + + /opt/software/hostfile为主机列表,列出所有需要建立互信机器的主机IP。 + + +### 手工建立互信 + +如果openGauss各主机的root密码不一致,gs\_preinstall脚本无法建立互信,可以手工建立互信。 + +>![](public_sys-resources/icon-note.gif) **说明:** +>建立互信的过程中需要生成如下4个文件:authorized\_keys、id\_rsa、id\_rsa.pub、known\_hosts。请勿删除或破坏这些互信相关的文件。 + +手工建立信任关系,步骤如下,plat1,plat2,plat3是主机名: + +1. 在其中一个主机上,生成root用户的本机授权文件。假设在主机plat1上执行。 + 1. 生成密钥。 + + ``` + ssh-keygen -t rsa + ``` + + 示例如下: + + ``` + plat1:~ # ssh-keygen -t rsa + Generating public/private rsa key pair. + Enter file in which to save the key (/root/.ssh/id_rsa): + Created directory '/root/.ssh'. + Enter passphrase (empty for no passphrase): + Enter same passphrase again: + Your identification has been saved in /root/.ssh/id_rsa. + Your public key has been saved in /root/.ssh/id_rsa.pub. + The key fingerprint is: + d5:35:46:33:27:22:09:f0:1e:12:a7:87:fa:33:3f:ab root@plat1 + The key's randomart image is: + +--[ RSA 2048]----+ + | o.o.....O .| + | * .o + * | + | + + . . | + | . + o | + | . S | + | . | + | + | + | +. | + | E.oo | + +-----------------+ + ``` + + 2. 生成本机授权文件。 + + ``` + cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys + ``` + + 示例如下: + + ``` + plat1:~ # cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys + ``` + +2. 收集所有的待建互信主机的公钥,写入到本机的known\_hosts文件中。此步骤需要在步骤1执行的主机上执行。需要收集plat1、plat2、plat3三个主机的公钥。 + 1. 收集plat1的公钥,写入到本机known\_hosts文件中。 + + ``` + ssh-keyscan -t rsa plat1 >> ~/.ssh/known_hosts + ``` + + 示例如下: + + ``` + plat1:~ # ssh-keyscan -t rsa plat1 >> ~/.ssh/known_hosts + # plat1 SSH-2.0-OpenSSH_5.1 + ``` + + 2. 收集plat2的公钥,写入到本机known\_hosts文件中。 + + ``` + ssh-keyscan -t rsa plat2 >> ~/.ssh/known_hosts + ``` + + 示例如下: + + ``` + plat1:~ # ssh-keyscan -t rsa plat2 >> ~/.ssh/known_hosts + # plat2 SSH-2.0-OpenSSH_5.1 + ``` + + 3. 收集plat3的公钥,写入到本机known\_hosts文件中。 + + ``` + ssh-keyscan -t rsa plat3 >> ~/.ssh/known_hosts + ``` + + 示例如下: + + ``` + plat1:~ # ssh-keyscan -t rsa plat3 >> ~/.ssh/known_hosts + # plat3 SSH-2.0-OpenSSH_5.1 + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >- 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known\_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分。 + >- 如果该主机上known\_hosts文件被删除,互信仍然可以使用,但是会有告警提示信息。如果需要规避告警提示信息,请将/etc/ssh/ssh\_config配置文件中,StrictHostKeyChecking参数设置为no。 + + +3. 将互信文件分发到其它所有主机上。在本例中,需要将plat1上的互信文件分发到plat2和plat3上。 + + 1、将互信文件分发到plat2上。Password输入拷贝目标主机的密码。 + + ``` + scp -r ~/.ssh plat2:~ + ``` + + 示例如下: + + ``` + plat1:~ # scp -r ~/.ssh plat2:~ + Password: + authorized_keys 100% 796 0.8KB/s 00:00 + id_rsa 100% 1675 1.6KB/s 00:00 + id_rsa.pub 100% 398 0.4KB/s 00:00 + known_hosts 100% 1089 1.1KB/s 00:00 + ``` + + 2、将互信文件分发到plat3上。Password输入拷贝目标主机的密码。 + + ``` + scp -r ~/.ssh plat3:~ + ``` + + 示例如下: + + ``` + plat1:~ # scp -r ~/.ssh plat3:~ + Password: + authorized_keys 100% 796 0.8KB/s 00:00 + id_rsa 100% 1675 1.6KB/s 00:00 + id_rsa.pub 100% 398 0.4KB/s 00:00 + known_hosts 100% 1089 1.1KB/s 00:00 + ``` + +4. 查看互信是否建成功,可以互相ssh主机名。输入exit退出。 + + ``` + plat1:~ # ssh plat2 + Last login: Sat Jun 20 14:01:07 2020 + plat2:~ # exit + logout + Connection to plat2 closed. + plat1:~ # + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。 + + +### 删除root用户互信 + +为了避免Root用户互信可能存在的安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。 + +1. 删除openGauss数据库各节点上的互信相关文件/root/.ssh。 + + rm –rf \~/.ssh + +2. 查看互信是否删除成功,可以互相ssh主机名,提示不能互信,互信删除成功。 + + plat1:\~ \# ssh plat2 + + he authenticity of host ' plssat2 \(plat2\)' can't be established. + + ECDSA key fingerprint is SHA256:Q4DPRedFytsjsJSKf4l2lHKuzVw4prq3bIUCNVKIa7M. + + ECDSA key fingerprint is MD5:e2:77:6c:aa:4c:43:5f:f2:c4:58:ec:d5:53:de:7c:fc. + + Are you sure you want to continue connecting \(yes/no\)? + + +### 示例 + +root用户建立互信示例: + +``` +plat1:~ # gs_sshexkey -f /opt/software/hostfile -W Gauss_123 +Checking network information. +All nodes in the network are Normal. +Successfully checked network information. +Creating SSH trust. +Creating the local key file. +Successfully created the local key files. +Appending local ID to authorized_keys. +Successfully appended local ID to authorized_keys. +Updating the known_hosts file. +Successfully updated the known_hosts file. +Appending authorized_key on the remote node. +Successfully appended authorized_key on all remote node. +Checking common authentication file content. +Successfully checked common authentication content. +Distributing SSH trust file to all node. +Successfully distributed SSH trust file to all node. +Verifying SSH trust on all hosts. +Successfully verified SSH trust on all hosts. +Successfully created SSH trust. +``` + +普通用户建立互信示例: + +``` +gaussdb@plat1:~ > gs_sshexkey -f /opt/software/hostfile -W Gauss_123 +Checking network information. +All nodes in the network are Normal. +Successfully checked network information. +Creating SSH trust. +Creating the local key file. +Successfully created the local key files. +Appending local ID to authorized_keys. +Successfully appended local ID to authorized_keys. +Updating the known_hosts file. +Successfully updated the known_hosts file. +Appending authorized_key on the remote node. +Successfully appended authorized_key on all remote node. +Checking common authentication file content. +Successfully checked common authentication content. +Distributing SSH trust file to all node. +Successfully distributed SSH trust file to all node. +Verifying SSH trust on all hosts. +Successfully verified SSH trust on all hosts. +Successfully created SSH trust. +``` + +安全模式下建立互信示例,需要用户根据提示,手动输入建立互信的用户密码(建议使用安全模式): + +``` +plat1:~ # gs_sshexkey -f /opt/software/hostfile +Please enter password for current user[root]. +Password: +Checking network information. +All nodes in the network are Normal. +Successfully checked network information. +Creating SSH trust. +Creating the local key file. +Appending local ID to authorized_keys. +Successfully appended local ID to authorized_keys. +Updating the known_hosts file. +Successfully updated the known_hosts file. +Appending authorized_key on the remote node. +Successfully appended authorized_key on all remote node. +Checking common authentication file content. +Successfully checked common authentication content. +Distributing SSH trust file to all node. +Successfully distributed SSH trust file to all node. +Verifying SSH trust on all hosts. +Successfully verified SSH trust on all hosts. +Successfully created SSH trust. +``` + +## 配置操作系统参数 + +openGauss要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等。 + +这些参数有些会在openGauss安装环境准备阶段完成设置,且这些参数将直接影响openGauss的运行状态,请仅在确认必要时进行手动调整。方法如下: + +1. 以root用户身份登录服务器。 +2. 对文件“/etc/sysctl.conf”进行编辑修改。 + + 具体参数的修改请参见[操作系统参数](#zh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section3705271819540)。 + +3. 执行如下命令使修改配置生效。 + + ``` + sysctl -p + ``` + + +### 操作系统参数 + +**表 1** 操作系统参数 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数名称

+

参数说明

+

预安装时是否由脚本自动设置

+

推荐取值

+

net.ipv4.tcp_max_tw_buckets

+

表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。如果超过所配置的取值,TIME_WAIT将立刻被释放并打印警告信息。

+

+

10000

+

net.ipv4.tcp_tw_reuse

+

允许将TIME-WAIT状态的sockets重新用于新的TCP连接。

+
  • 0表示关闭。
  • 1表示开启。
+

+

1

+

net.ipv4.tcp_tw_recycle

+

表示开启TCP连接中TIME-WAIT状态sockets的快速回收。

+
  • 0表示关闭。
  • 1表示开启。
+

+

1

+

net.ipv4.tcp_keepalive_time

+

表示当keepalive启用的时候,TCP发送keepalive消息的频度。

+

+

30

+

net.ipv4.tcp_keepalive_probes

+

在认定连接失效之前,发送TCP的keepalive探测包数量。这个值乘以tcp_keepalive_intvl之后决定了一个连接发送了keepalive之后可以有多少时间没有回应。

+

+

9

+

net.ipv4.tcp_keepalive_intvl

+

当探测没有确认时,重新发送探测的频度。

+

+

30

+

net.ipv4.tcp_retries1

+

在连接建立过程中TCP协议最大重试次数。

+

+

5

+

net.ipv4.tcp_syn_retries

+

TCP协议SYN报文最大重试次数。

+

+

5

+

net.ipv4.tcp_synack_retries

+

TCP协议SYN应答报文最大重试次数。

+

+

5

+

net.sctp.path_max_retrans

+

SCTP协议最大重试次数。

+

+

10

+

net.sctp.max_init_retransmits

+

SCTP协议INIT报文最大重试次数。

+

+

10

+

net.sctp.association_max_retrans

+

SCTP协议单个逻辑连接最大重试次数。

+

+

10

+

net.sctp.hb_interval

+

SCTP协议心跳检测包重传间隔。

+

+

30000

+

net.ipv4.tcp_retries2

+

控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接。

+

发生“connection reset by peer”时可以尝试调大该值规避问题。

+

+

12

+

vm.overcommit_memory

+

控制在做内存分配的时候,内核的检查方式。

+
  • 0:表示系统会尽量精确计算当前可用的内存。
  • 1:表示不作检查直接返回成功。
  • 2:内存总量×vm.overcommit_ratio/100+SWAP的总量,如果申请空间超过此数值则返回失败。
+

内核默认是2过于保守,推荐设置为0,如果系统压力大可以设置为1。

+

+

0

+

net.sctp.sndbuf_policy

+

SCTP发送缓冲区分配原则。

+
  • 0为按连接。
  • 1为按耦联。
+

+

0

+

net.sctp.rcvbuf_policy

+

SCTP接收缓冲区分配原则。

+
  • 0为按连接。
  • 1为按耦联。
+

+

0

+

net.sctp.sctp_mem

+

内核SCTP协议栈的最大可用内存,分无压力,有压力,和压力大三个区间,压力大时会丢包,单位为页面。

+

+

94500000 915000000 927000000

+

net.sctp.sctp_rmem

+

内核SCTP协议栈的接收总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。

+

+

8192 250000 16777216

+

net.sctp.sctp_wmem

+

内核SCTP协议栈的发送总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。

+

+

8192 250000 16777216

+

net.ipv4.tcp_rmem

+

TCP协议接收端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

+

+

8192 250000 16777216

+

net.ipv4.tcp_wmem

+

TCP协议发送端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

+

+

8192 250000 16777216

+

net.core.wmem_max

+

socket发送端缓冲区大小的最大值。

+

+

21299200

+

net.core.rmem_max

+

socket接收端缓冲区大小的最大值。

+

+

21299200

+

net.core.wmem_default

+

socket发送端缓冲区大小的默认值。

+

+

21299200

+

net.core.rmem_default

+

socket接收端缓冲区大小的默认值。

+

+

21299200

+

net.ipv4.ip_local_port_range

+

物理机可用临时端口范围。

+

+

26000-65535

+

kernel.sem

+

内核信号量参数设置大小。

+

+

250 6400000 1000 25600

+

vm.min_free_kbytes

+

保证物理内存有足够空闲空间,防止突发性换页。

+

+

系统总内存的5%

+

net.core.somaxconn

+

定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。

+

+

65535

+

net.ipv4.tcp_syncookies

+

当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。

+
  • 0表示关闭SYN Cookies。
  • 1表示开启SYN Cookies。
+

+

1

+

net.sctp.addip_enable

+

SCTP动态地址重置支持开关

+
  • 0表示关闭。
  • 1表示开启。
+

+

0

+

net.core.netdev_max_backlog

+

在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

+

+

65535

+

net.ipv4.tcp_max_syn_backlog

+

记录的那些尚未收到客户端确认信息的连接请求的最大值。

+

+

65535

+

net.ipv4.tcp_fin_timeout

+

系统默认的超时时间。

+

+

60

+

kernel.shmall

+

内核可用的共享内存总量。

+

+

1152921504606846720

+

kernel.shmmax

+

内核参数定义单个共享内存段的最大值。

+

+

18446744073709551615

+

net.ipv4.tcp_sack

+

启用有选择的应答,通过有选择地应答乱序接受到的报文来提高性能,让发送者只发送丢失的报文段(对于广域网来说)这个选项应该启用,但是会增加对CPU的占用。

+
  • 0表示关闭。
  • 1表示开启
+

+

1

+

net.ipv4.tcp_timestamps

+

TCP时间戳(会在TCP包头增加12节),以一种比重发超时更精确的方式(参考RFC 1323)来启用对RTT的计算,启用可以实现更好的性能。

+
  • 0表示关闭。
  • 1表示开启
+

+

1

+

vm.extfrag_threshold

+

系统内存不够用时,linux会为当前系统内存碎片情况打分,如果超过vm.extfrag_threshold的值,kswapd就会触发memory compaction。所以这个值设置的接近1000,说明系统在内存碎片的处理倾向于把旧的页换出,以符合申请的需要,而设置接近0,表示系统在内存碎片的处理倾向做memory compaction。

+

+

500

+

vm.overcommit_ratio

+

系统使用绝不过量使用内存的算法时,系统整个内存地址空间不得超过swap+RAM值的此参数百分比,当vm.overcommit_memory=2时此参数生效。

+

+

90

+

/sys/module/sctp/parameters/no_checksums

+

SCTP协议是否关闭checksum。

+

+

0

+

MTU

+

节点网卡最大传输单元。OS默认值为1500,调整为8192可以提升SCTP协议数据收发的性能。

+

+

8192

+
+ +### 文件系统参数 + +- soft nofile + + 说明:soft nofile表示软限制,用户使用的文件句柄数量可以超过该限制,但是如果超过会有告警信息。 + + 推荐取值:1000000 + +- hard nofile + + 说明:hard nofile表示硬限制,是一个严格的限制,用户使用的文件句柄数量一定不能超过该设置。 + + 推荐取值:1000000 + +- stack size + + 说明:线程堆栈大小。 + + 推荐值:3072 + + +### transparent\_hugepage设置 + +openGauss默认关闭使用transparent\_hugepage服务,并将关闭命令写入操作系统启动文件。 + +### 文件句柄设置 + +需要对文件句柄数进行手动设置时,使用root用户执行如下命令进行参数修改: + +``` +echo "* soft nofile 1000000" >>/etc/security/limits.conf +echo "* hard nofile 1000000" >>/etc/security/limits.conf +``` + +完成修改后,需重启操作系统使得设置的参数生效。 + +**表 2** 文件句柄数设置 + + + + + + + + + + + + + + + + + + + +

参数名

+

说明

+

预安装时是否由脚本自动设置

+

推荐取值

+

* soft nofile

+

soft nofile表示软限制,即表示任何用户能打开的最大文件数量为1000000,不管它开启多少个shell。

+

+

1000000

+

* hard nofile

+

hard nofile表示硬限制,软限制要小于等于硬限制。

+

+

1000000

+
+ +### 系统支持的最大进程数设置 + +需要对系统支持的最大进程数进行手动设置时,执行如下命令打开conf文件。 + +``` +vim /etc/security/limits.d/90-nproc.conf +``` + +修改\* soft nproc参数。 + +完成修改后,需重启操作系统使得设置的参数生效。 + +**表 3** 系统支持的最大进程数设置 + + + + + + + + + + + + + + +

参数名

+

说明

+

预安装时是否由脚本自动设置

+

推荐取值

+

* soft nproc

+

soft nproc参数用来限制每个用户的最大processes数量。

+

+

unlimited

+
+ +### 网卡参数配置 + +**表 4** 网卡参数配置 + + + + + + + + + + + + + + + + + + + +

参数名

+

说明

+

预安装时是否由脚本自动设置

+

推荐取值

+

rx

+

网卡接收队列长度设置

+

+

4096

+

tx

+

网卡传送队列长度设置

+

+

4096

+
+ +>![](public_sys-resources/icon-notice.gif) **须知:** +>- 网卡参数配置功能只针对万兆及万兆以上级别的业务网卡。即backIp1所绑定的网卡。 +>- 设置网卡参数的命令只有在设置成功后,才会被写入系统启动文件。执行失败的信息会被记入后台日志中。 + + \ No newline at end of file diff --git "a/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\346\225\260\346\215\256\345\272\223.md" "b/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\346\225\260\346\215\256\345\272\223.md" new file mode 100644 index 000000000..f47b2ecbc --- /dev/null +++ "b/content/zh/docs/installation/\345\210\235\345\247\213\345\214\226\346\225\260\346\215\256\345\272\223.md" @@ -0,0 +1,20 @@ +# 初始化数据库 + +使用SQL创建新的数据库 + +使用SQL语句创建数据库时,指定数据库的字符集为GBK。 + +``` +gsql -d postgres -p 26000 +``` + +``` +postgres=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0; +``` + +显示类似如下信息: + +``` +CREATE DATABASE +``` + diff --git "a/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md" "b/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md" deleted file mode 100644 index 5345de777..000000000 --- "a/content/zh/docs/installation/\345\210\235\345\247\213\351\205\215\347\275\256.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 初始配置 - -安装完成后,可以对GUC参数、区域和字符集等进行配置,保证openGauss的平稳运行。 - -- **[配置区域和字符集](配置区域和字符集.md)** -区域和字符集在安装过程中通过指定初始化GUC参数来控制,考虑到这两个参数的重要性,在此单独对这两个参数进行详细说明。 - diff --git "a/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md" "b/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md" deleted file mode 100644 index 1f2ef0e7f..000000000 --- "a/content/zh/docs/installation/\345\215\225\350\212\202\347\202\271\351\205\215\347\275\256\346\226\207\344\273\266.md" +++ /dev/null @@ -1,38 +0,0 @@ -# 单节点配置文件 - -``` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - diff --git "a/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md" "b/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md" index 17b190055..286f09988 100644 --- "a/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md" +++ "b/content/zh/docs/installation/\345\215\270\350\275\275openGauss.md" @@ -1,9 +1,150 @@ -# 卸载openGauss - -卸载openGauss的过程包含卸载openGauss和对openGauss服务器的环境做清理。 - -- **[执行卸载](执行卸载.md)** -openGauss提供了卸载脚本帮助用户完整的卸载openGauss。 -- **[一键式环境清理](一键式环境清理.md)** -在openGauss卸载完成后,如果不需要在环境上重新部署openGauss,可以运行脚本gs\_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境准备脚本gs\_preinstall所做设置的清理。 - +# 卸载openGauss + +卸载openGauss的过程包含卸载openGauss和对openGauss服务器的环境做清理。 + +## 执行卸载 + +openGauss提供了卸载脚本帮助用户完整的卸载openGauss。 + +**操作步骤** + +1. 以操作系统用户omm登录数据库主节点。 +2. 使用gs\_uninstall卸载openGauss。 + + ``` + gs_uninstall --delete-data + ``` + + 或者在openGauss中每个节点执行本地卸载。 + + ``` + gs_uninstall --delete-data -L + ``` + + +**示例** + +使用gs\_uninstall脚本进行卸载openGauss。 + +``` +gs_uninstall --delete-data +Checking uninstallation. +Successfully checked uninstallation. +Stopping the cluster. +Successfully stopped the cluster. +Successfully deleted instances. +Uninstalling application. +Successfully uninstalled application. +Uninstallation succeeded. +``` + +单机卸载场景使用gs\_uninstall脚本进行卸载。 + +``` +gs_uninstall --delete-data +Checking uninstallation. +Successfully checked uninstallation. +Stopping the cluster. +Successfully stopped the cluster. +Successfully deleted instances. +Uninstalling application. +Successfully uninstalled application. +Uninstallation succeeded. +``` + +**错误排查** + +如果卸载失败请根据“$GAUSSLOG/om/gs\_uninstall-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。 + +## 一键式环境清理 + +在openGauss卸载完成后,如果不需要在环境上重新部署openGauss,可以运行脚本gs\_postuninstall对openGauss服务器上环境信息做清理。openGauss环境清理是对环境准备脚本gs\_preinstall所做设置的清理。 + +**前提条件** + +- openGauss卸载执行成功。 +- root用户互信可用。 +- 只能使用root用户执行gs\_postuninstall命令。 + +**操作步骤** + +1. 以root用户登录openGauss服务器。 +2. 查看root用户互信是否建立,如果root用户没有建立互信,需要手工建立root用户互信,操作参考3.2.2手工建立互信。 + + 查看互信是否建成功,可以互相ssh主机名。输入exit退出。 + + ``` + plat1:~ # ssh plat2 + Last login: Tue Jan 5 10:28:18 2016 from plat1 + Huawei's internal systems must only be used for conducting Huawei's business or for purposes authorized by Huawei management.Use is subject to audit at any time by Huawei management. + plat2:~ # exit + logout + Connection to plat2 closed. + plat1:~ # + ``` + +3. 进入script路径下 + + ``` + cd /opt/software/openGauss/script + ``` + +4. 使用gs\_postuninstall进行清理。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。 + + ``` + ./gs_postuninstall -U omm -X /opt/software/openGauss/cluster_config.xml --delete-user --delete-group + ``` + + 或者在openGauss中每个节点执行本地后置清理。 + + ``` + ./gs_postuninstall -U omm -X /opt/software/openGauss/cluster_config.xml --delete-user --delete-group -L + ``` + + omm为运行openGauss的操作系统用户名,/opt/software/openGauss/cluster\_config.xml为openGauss配置文件路径。 + + 若为环境变量分离的模式安装的集群需删除之前source的环境变量分离的env参数 + + unset MPPDB\_ENV\_SEPARATE\_PATH + +5. 删除openGauss数据库各节点root用户的互信,操作参考3.2.2手工建立互信的删除root用户互信部分内容。 + +**示例** + +清理主机的环境 + +``` +gs_postuninstall -U omm -X /opt/software/openGauss/cluster_config.xml --delete-user +Parsing the configuration file. +Successfully parsed the configuration file. +Check log file path. +Successfully checked log file path. +Checking unpreinstallation. +Successfully checked unpreinstallation. +Deleting Cgroup. +Successfully deleted Cgroup. +Deleting the instance's directory. +Successfully deleted the instance's directory. +Deleting the installation directory. +Successfully deleted the installation directory. +Deleting the temporary directory. +Successfully deleted the temporary directory. +Deleting remote OS user. +Successfully deleted remote OS user. +Deleting software packages and environmental variables of other nodes. +Successfully deleted software packages and environmental variables of other nodes. +Deleting logs of other nodes. +Successfully deleted logs of other nodes. +Deleting software packages and environmental variables of the local node. +Successfully deleted software packages and environmental variables of the local nodes. +Deleting local OS user. +Successfully deleted local OS user. +Deleting local node's logs. +Successfully deleted local node's logs. +Successfully cleaned environment. +``` + +**错误排查** + +如果一键式环境清理失败请根据“$GAUSSLOG/om/gs\_postuninstall-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。 + diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md" "b/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md" index c2e351e75..9bb1342b4 100644 --- "a/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md" +++ "b/content/zh/docs/installation/\345\256\211\350\243\205openGauss.md" @@ -1,11 +1,13 @@ -# 安装openGauss - -- **[创建XML配置文件](创建XML配置文件.md)** -安装openGauss前需要创建cluster\_config.xml文件。cluster\_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 -- **[初始化安装环境](初始化安装环境.md)** -为了保证openGauss的正确安装,请首先对主机环境进行配置。 -- **[执行安装](执行安装.md)** -执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。 -- **[(可选)设置备机可读]((可选)设置备机可读.md)** -备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。 - +# 安装openGauss + +- **[创建XML配置文件](创建XML配置文件.md)** +安装openGauss前需要创建cluster\_config.xml文件。cluster\_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件。 +- **[初始化安装环境](初始化安装环境.md)** +为了保证openGauss的正确安装,请首先对主机环境进行配置。 +- **[执行安装](执行安装.md)** +执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。 +- **[初始化数据库](初始化数据库.md)** + +- **[(可选)设置备机可读]((可选)设置备机可读.md)** +备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。 + diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md" "b/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md" index 889d96fa5..13649d972 100644 --- "a/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md" +++ "b/content/zh/docs/installation/\345\256\211\350\243\205\345\207\206\345\244\207.md" @@ -1,13 +1,13 @@ -# 安装准备 - -本章详细介绍了安装openGauss的环境准备和配置,请在安装之前仔细阅读本章的内容。如果已完成本章节的配置,请进入“安装openGauss”章节。 - -- **[了解安装流程](了解安装流程.md)** -本章节通过流程图简要介绍openGauss的安装流程。 -- **[获取安装包](获取安装包.md)** -openGauss开源社区上提供了安装包的获取方式。 -- **[准备软硬件安装环境](准备软硬件安装环境.md)** -本章节描述安装前需要进行的环境准备。 -- **[了解安装用户及用户组](了解安装用户及用户组.md)** -为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。 - +# 安装准备 + +本章详细介绍了安装openGauss的环境准备和配置,请在安装之前仔细阅读本章的内容。如果已完成本章节的配置,请进入“安装openGauss”章节。 + +- **[了解安装流程](了解安装流程.md)** +本章节通过流程图简要介绍openGauss的安装流程。 +- **[获取安装包](获取安装包.md)** +openGauss开源社区上提供了安装包的获取方式。 +- **[准备软硬件安装环境](准备软硬件安装环境.md)** +本章节描述安装前需要进行的环境准备。 +- **[了解安装用户及用户组](了解安装用户及用户组.md)** +为了实现安装过程中安装帐户权限最小化,及安装后openGauss的系统运行安全性。安装脚本在安装过程中会自动按照用户指定创建安装用户,并将此用户作为后续运行和维护openGauss的管理员帐户。 + diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md" "b/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md" index 99f927790..fdc528fff 100644 --- "a/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md" +++ "b/content/zh/docs/installation/\345\256\211\350\243\205\346\246\202\350\277\260.md" @@ -1,9 +1,9 @@ -# 安装概述 - -openGauss支持单机部署和单机HA部署两种部署方式。单机部署时,可在一个主机部署多个数据库实例,但为了数据安全,不建议用户这样部署。单机HA部署支持一台主机和最少一台备机,备机一共最多4台的配置方式。 - -单机部署和单机HA部署均支持精简模式和兼容模式。精简模式下,您可以安装openGauss数据库并正常使用;兼容模式是在精简模式的基础上做了兼容增强,安装兼容包后会兼容主流数据库的接口名称,便于习惯主流数据库的用户使用openGauss。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->通过openGauss提供的脚本安装时,只允许在单台物理机只部署一个数据库系统。如果您需要在单台物理机部署多个数据库系统,建议您通过命令行安装,不需要通过openGauss提供安装脚本执行安装。 - +# 安装概述 + +openGauss支持单机部署和单机HA部署两种部署方式。单机部署时,可在一个主机部署多个数据库实例,但为了数据安全,不建议用户这样部署。单机HA部署支持一台主机和最少一台备机,备机一共最多4台的配置方式。 + +单机部署和单机HA部署均支持精简模式和兼容模式。精简模式下,您可以安装openGauss数据库并正常使用;兼容模式是在精简模式的基础上做了兼容增强,安装兼容包后会兼容主流数据库的接口名称,便于习惯主流数据库的用户使用openGauss。 + +>![](public_sys-resources/icon-note.gif) **说明:** +>通过openGauss提供的脚本安装时,只允许在单台物理机只部署一个数据库系统。如果您需要在单台物理机部署多个数据库系统,建议您通过命令行安装,不需要通过openGauss提供安装脚本执行安装。 + diff --git "a/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md" "b/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md" index 5a1f01270..03b1e6b3b 100644 --- "a/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md" +++ "b/content/zh/docs/installation/\345\256\211\350\243\205\351\252\214\350\257\201.md" @@ -1,5 +1,61 @@ -# 安装验证 - -- **[检查健康状态](检查健康状态.md)** - - +# 安装验证 + +通过openGauss提供的gs\_checkos工具可以完成操作系统状态检查。 + +## 前提条件 + +- 当前的硬件和网络环境正常。 +- 各主机间root互信状态正常。 +- 只能使用root用户执行gs\_checkos命令。 + +## 操作步骤 + +1. 以root用户身份登录服务器。 +2. 执行如下命令对openGauss节点服务器的OS参数进行检查。 + + ``` + gs_checkos -i A + ``` + + 检查节点服务器的OS参数的目的是为了保证openGauss正常通过预安装,并且在安装成功后可以安全高效的运行。详细的检查项目请参见《工具参考》gs\_checkos工具的表 1 操作系统检查项,操作系统参数和文件系统参数。 + + +## 示例 + +执行gs\_checkos前需要先执行前置脚本,准备环境。以参数"A"为例。 + +``` +gs_checkos -i A +Checking items: + A1. [ OS version status ] : Normal + A2. [ Kernel version status ] : Normal + A3. [ Unicode status ] : Normal + A4. [ Time zone status ] : Normal + A5. [ Swap memory status ] : Normal + A6. [ System control parameters status ] : Normal + A7. [ File system configuration status ] : Normal + A8. [ Disk configuration status ] : Normal + A9. [ Pre-read block size status ] : Normal + A10.[ IO scheduler status ] : Normal + A11.[ Network card configuration status ] : Normal + A12.[ Time consistency status ] : Warning + A13.[ Firewall service status ] : Normal + A14.[ THP service status ] : Normal +Total numbers:14. Abnormal numbers:0. Warning number:1. +``` + +以参数"B"为例。 + +``` +gs_checkos -i B +Setting items: + B1. [ Set system control parameters ] : Normal + B2. [ Set file system configuration value ] : Normal + B3. [ Set pre-read block size value ] : Normal + B4. [ Set IO scheduler value ] : Normal + B5. [ Set network card configuration value ] : Normal + B6. [ Set THP service ] : Normal + B7. [ Set RemoveIPC value ] : Normal +Total numbers:6. Abnormal numbers:0. Warning number:0. +``` + diff --git "a/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md" "b/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md" deleted file mode 100644 index ec0743be6..000000000 --- "a/content/zh/docs/installation/\346\211\213\345\267\245\345\273\272\347\253\213\344\272\222\344\277\241.md" +++ /dev/null @@ -1,310 +0,0 @@ -# 手工建立互信 - -openGauss在安装过程中,需要在openGauss中的主机间执行命令,传送文件等操作。因此,在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信,然后创建普通用户,并建立普通用户间的互信。 - ->![](public_sys-resources/icon-notice.gif) **须知:** ->root用户互信可能会存在安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。 - -## 前提条件 - -- 确保ssh服务打开。 -- 确保ssh端口不会被防火墙关闭。 -- 确保xml文件中各主机名称和IP配置正确。 -- 确保所有机器节点间网络畅通。 -- 如果为普通用户建立互信,需要提前在各主机创建相同用户并设置密码。 -- 如果各主机安装并启动了SELinux服务,需要确保/root和/home目录安全上下文为默认值(root目录:system\_u:object\_r:home\_root\_t:s0,home目录:system\_u:object\_r:admin\_home\_t:s0)或者关闭掉SELinux服务。 - - 检查系统SELinux状态的方法:执行命令getenforce,如果返回结果是Enforcing ,说明SELinux安装并启用。 - - 检查目录安全上下文的命令: - - ``` - ls -ldZ /root | awk '{print $4}' - ``` - - ``` - ls -ldZ /home | awk '{print $4}' - ``` - - 恢复目录安全上下文命令: - - ``` - restorecon -r -vv /home/ - ``` - - ``` - restorecon -r -vv /root/ - ``` - - -## 使用脚本建立互信 - -1. 创建一个执行互信脚本所需要的输入文本,并在此文件中添加openGauss中所有主机IP。 - - ``` - plat1:/opt/software/openGauss> vim hostfile - 192.168.0.1 - 192.168.0.2 - 192.168.0.3 - ``` - -2. 以需要创建互信的用户执行脚本。 -3. 执行下面脚本建立互信。 - - ``` - plat1:/opt/software/openGauss/script# ./gs_sshexkey -f /opt/software/hostfile - ``` - - /opt/software/hostfile为主机列表,列出所有需要建立互信机器的主机IP。 - - -## 手工建立互信 - -如果openGauss各主机的root密码不一致,gs\_preinstall脚本无法建立互信,可以手工建立互信。 - ->![](public_sys-resources/icon-note.gif) **说明:** ->建立互信的过程中需要生成如下4个文件:authorized\_keys、id\_rsa、id\_rsa.pub、known\_hosts。请勿删除或破坏这些互信相关的文件。 - -手工建立信任关系,步骤如下,plat1,plat2,plat3是主机名: - -1. 在其中一个主机上,生成root用户的本机授权文件。假设在主机plat1上执行。 - 1. 生成密钥。 - - ``` - ssh-keygen -t rsa - ``` - - 示例如下: - - ``` - plat1:~ # ssh-keygen -t rsa - Generating public/private rsa key pair. - Enter file in which to save the key (/root/.ssh/id_rsa): - Created directory '/root/.ssh'. - Enter passphrase (empty for no passphrase): - Enter same passphrase again: - Your identification has been saved in /root/.ssh/id_rsa. - Your public key has been saved in /root/.ssh/id_rsa.pub. - The key fingerprint is: - d5:35:46:33:27:22:09:f0:1e:12:a7:87:fa:33:3f:ab root@plat1 - The key's randomart image is: - +--[ RSA 2048]----+ - | o.o.....O .| - | * .o + * | - | + + . . | - | . + o | - | . S | - | . | - | + | - | +. | - | E.oo | - +-----------------+ - ``` - - 2. 生成本机授权文件。 - - ``` - cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys - ``` - - 示例如下: - - ``` - plat1:~ # cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys - ``` - -2. 收集所有的待建互信主机的公钥,写入到本机的known\_hosts文件中。此步骤需要在步骤1执行的主机上执行。需要收集plat1、plat2、plat3三个主机的公钥。 - 1. 收集plat1的公钥,写入到本机known\_hosts文件中。 - - ``` - ssh-keyscan -t rsa plat1 >> ~/.ssh/known_hosts - ``` - - 示例如下: - - ``` - plat1:~ # ssh-keyscan -t rsa plat1 >> ~/.ssh/known_hosts - # plat1 SSH-2.0-OpenSSH_5.1 - ``` - - 2. 收集plat2的公钥,写入到本机known\_hosts文件中。 - - ``` - ssh-keyscan -t rsa plat2 >> ~/.ssh/known_hosts - ``` - - 示例如下: - - ``` - plat1:~ # ssh-keyscan -t rsa plat2 >> ~/.ssh/known_hosts - # plat2 SSH-2.0-OpenSSH_5.1 - ``` - - 3. 收集plat3的公钥,写入到本机known\_hosts文件中。 - - ``` - ssh-keyscan -t rsa plat3 >> ~/.ssh/known_hosts - ``` - - 示例如下: - - ``` - plat1:~ # ssh-keyscan -t rsa plat3 >> ~/.ssh/known_hosts - # plat3 SSH-2.0-OpenSSH_5.1 - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >- 当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known\_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分。 - >- 如果该主机上known\_hosts文件被删除,互信仍然可以使用,但是会有告警提示信息。如果需要规避告警提示信息,请将/etc/ssh/ssh\_config配置文件中,StrictHostKeyChecking参数设置为no。 - - -3. 将互信文件分发到其它所有主机上。在本例中,需要将plat1上的互信文件分发到plat2和plat3上。 - - 1、将互信文件分发到plat2上。Password输入拷贝目标主机的密码。 - - ``` - scp -r ~/.ssh plat2:~ - ``` - - 示例如下: - - ``` - plat1:~ # scp -r ~/.ssh plat2:~ - Password: - authorized_keys 100% 796 0.8KB/s 00:00 - id_rsa 100% 1675 1.6KB/s 00:00 - id_rsa.pub 100% 398 0.4KB/s 00:00 - known_hosts 100% 1089 1.1KB/s 00:00 - ``` - - 2、将互信文件分发到plat3上。Password输入拷贝目标主机的密码。 - - ``` - scp -r ~/.ssh plat3:~ - ``` - - 示例如下: - - ``` - plat1:~ # scp -r ~/.ssh plat3:~ - Password: - authorized_keys 100% 796 0.8KB/s 00:00 - id_rsa 100% 1675 1.6KB/s 00:00 - id_rsa.pub 100% 398 0.4KB/s 00:00 - known_hosts 100% 1089 1.1KB/s 00:00 - ``` - -4. 查看互信是否建成功,可以互相ssh主机名。输入exit退出。 - - ``` - plat1:~ # ssh plat2 - Last login: Sat Jun 20 14:01:07 2020 - plat2:~ # exit - logout - Connection to plat2 closed. - plat1:~ # - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >如果三个以上节点,和上述过程类似。假设节点名为plat1、plat2、plat3、......。第一步,需要在plat1上生成root用户的本机授权文件;第二步,需要收集所有待建互信主机\(plat1、plat2、plat3、......\)的公钥并写入到本机known\_hosts文件中;第三步,需要将互信文件分发到除本机外的所有其它主机\(plat2、plat3、......\)上;第四步,检查互信是否建立成功。 - - -## 删除root用户互信 - -为了避免Root用户互信可能存在的安全隐患,因此建议用户在使用完成后,立即删除各主机上root用户的互信。 - -1. 删除openGauss数据库各节点上的互信相关文件/root/.ssh。 - - rm –rf \~/.ssh - -2. 查看互信是否删除成功,可以互相ssh主机名,提示不能互信,互信删除成功。 - - plat1:\~ \# ssh plat2 - - he authenticity of host ' plssat2 \(plat2\)' can't be established. - - ECDSA key fingerprint is SHA256:Q4DPRedFytsjsJSKf4l2lHKuzVw4prq3bIUCNVKIa7M. - - ECDSA key fingerprint is MD5:e2:77:6c:aa:4c:43:5f:f2:c4:58:ec:d5:53:de:7c:fc. - - Are you sure you want to continue connecting \(yes/no\)? - - -## 示例 - -root用户建立互信示例: - -``` -plat1:~ # gs_sshexkey -f /opt/software/hostfile -W Gauss_123 -Checking network information. -All nodes in the network are Normal. -Successfully checked network information. -Creating SSH trust. -Creating the local key file. -Successfully created the local key files. -Appending local ID to authorized_keys. -Successfully appended local ID to authorized_keys. -Updating the known_hosts file. -Successfully updated the known_hosts file. -Appending authorized_key on the remote node. -Successfully appended authorized_key on all remote node. -Checking common authentication file content. -Successfully checked common authentication content. -Distributing SSH trust file to all node. -Successfully distributed SSH trust file to all node. -Verifying SSH trust on all hosts. -Successfully verified SSH trust on all hosts. -Successfully created SSH trust. -``` - -普通用户建立互信示例: - -``` -gaussdb@plat1:~ > gs_sshexkey -f /opt/software/hostfile -W Gauss_123 -Checking network information. -All nodes in the network are Normal. -Successfully checked network information. -Creating SSH trust. -Creating the local key file. -Successfully created the local key files. -Appending local ID to authorized_keys. -Successfully appended local ID to authorized_keys. -Updating the known_hosts file. -Successfully updated the known_hosts file. -Appending authorized_key on the remote node. -Successfully appended authorized_key on all remote node. -Checking common authentication file content. -Successfully checked common authentication content. -Distributing SSH trust file to all node. -Successfully distributed SSH trust file to all node. -Verifying SSH trust on all hosts. -Successfully verified SSH trust on all hosts. -Successfully created SSH trust. -``` - -安全模式下建立互信示例,需要用户根据提示,手动输入建立互信的用户密码(建议使用安全模式): - -``` -plat1:~ # gs_sshexkey -f /opt/software/hostfile -Please enter password for current user[root]. -Password: -Checking network information. -All nodes in the network are Normal. -Successfully checked network information. -Creating SSH trust. -Creating the local key file. -Appending local ID to authorized_keys. -Successfully appended local ID to authorized_keys. -Updating the known_hosts file. -Successfully updated the known_hosts file. -Appending authorized_key on the remote node. -Successfully appended authorized_key on all remote node. -Checking common authentication file content. -Successfully checked common authentication content. -Distributing SSH trust file to all node. -Successfully distributed SSH trust file to all node. -Verifying SSH trust on all hosts. -Successfully verified SSH trust on all hosts. -Successfully created SSH trust. -``` - diff --git "a/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md" "b/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md" deleted file mode 100644 index 3ac8b25bd..000000000 --- "a/content/zh/docs/installation/\346\211\247\350\241\214\345\215\270\350\275\275.md" +++ /dev/null @@ -1,54 +0,0 @@ -# 执行卸载 - -openGauss提供了卸载脚本帮助用户完整的卸载openGauss。 - -## 操作步骤 - -1. 以操作系统用户omm登录数据库主节点。 -2. 使用gs\_uninstall卸载openGauss。 - - ``` - gs_uninstall --delete-data - ``` - - 或者在openGauss中每个节点执行本地卸载。 - - ``` - gs_uninstall --delete-data -L - ``` - - -## 示例 - -使用gs\_uninstall脚本进行卸载openGauss。 - -``` -gs_uninstall --delete-data -Checking uninstallation. -Successfully checked uninstallation. -Stopping the cluster. -Successfully stopped the cluster. -Successfully deleted instances. -Uninstalling application. -Successfully uninstalled application. -Uninstallation succeeded. -``` - -单机卸载场景使用gs\_uninstall脚本进行卸载。 - -``` -gs_uninstall --delete-data -Checking uninstallation. -Successfully checked uninstallation. -Stopping the cluster. -Successfully stopped the cluster. -Successfully deleted instances. -Uninstalling application. -Successfully uninstalled application. -Uninstallation succeeded. -``` - -## 错误排查 - -如果卸载失败请根据“$GAUSSLOG/om/gs\_uninstall-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。 - diff --git "a/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md" "b/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md" index 680050f30..4c9d66970 100644 --- "a/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md" +++ "b/content/zh/docs/installation/\346\211\247\350\241\214\345\256\211\350\243\205.md" @@ -1,78 +1,78 @@ -# 执行安装 - -执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。 - -## 前提条件 - -- 已成功执行前置脚本gs\_preinstall。即完成了[准备安装用户及环境](准备安装用户及环境.md)。 -- 所有服务器操作系统和网络均正常运行。 -- 用户需确保各个主机上的locale保持一致。详细请参见[配置区域和字符集](配置区域和字符集.md)。 - -## 操作步骤 - -1. 检查安装包和openGauss配置文件在规划路径下是否已存在,如果没有,重新执行预安装,确保预安装成功,再执行以下步骤。 -2. 登录到openGauss的主机,并切换到omm用户。 - - ``` - su - omm - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >- omm指的是前置脚本gs\_preinstall中-U参数指定的用户。 - >- 安装脚本gs\_install必须以前置脚本中指定的omm执行,否则,脚本执行会报错。 - -3. 使用gs\_install安装openGauss。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。 - - ``` - gs_install -X /opt/software/openGauss/cluster_config.xml - ``` - - /opt/software/openGauss/cluster\_config.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。 - - 设置的密码要符合复杂度要求: - - - 最少包含8个字符; - - 不能和用户名和当前密码(ALTER)相同,或和当前密码反序; - - 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为\~!@\#$%^&\*\(\)-\_=+\\|\[\{\}\];:,<.\>/?)四类字符中的三类字符。 - - 安装过程中会生成ssl证书,证书存放路径为\{gaussdbAppPath\}/share/sslcert/om,其中\{gaussdbAppPath\}为集群openGauss配置文件中指定的程序安装目录。 - - 日志文件路径下会生成两个日志文件:“gs\_install-YYYY-MMDD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”。 - - >![](public_sys-resources/icon-note.gif) **说明:** - >- openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。 - >- 安装时若不指定字符集,默认字符集为SQL\_ASCII,为简化和统一区域loacle默认设置为C,若想指定其他字符集和区域,请在安装时使用参数--gsinit-parameter="--locale=LOCALE"来指定,LOCALE为新数据库设置缺省的区域。 - > 例如用户要将数据库编码格式初始化为UTF-8,可以采用如下步骤: - > 用locale -a |grep utf8命令查看系统支持UTF-8编码的区域,如下: - > ``` - > omm@linux:~> locale -a|grep utf8 - > ``` - > 显示类似如下信息,其中en\_US.utf8表示区域en\_US支持UTF-8编码。 - > ``` - > ...... - > en_SG.utf8 - > en_US.utf8 - > ...... - > ``` - > 根据需要选择区域,如en\_US.utf8,初始化数据库时加入--locale=en\_US.utf8选项进行安装,示例如下: - > ``` - > gs_install -X /opt/software/openGauss/cluster_config.xml --gsinit-parameter="--locale=en_US.utf8" - > ``` - -4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。 - - ``` - rm –rf ~/.ssh - ``` - - -## 安装生成的目录 - -安装后的目录及各目录下的文件说明请参见[表1](#zh-cn_topic_0241805806_zh-cn_topic_0085434626_zh-cn_topic_0059782015_tdcb4fb0f38a6419099ee2c47d4d0b37f)。 - -**表 1** 安装生成的目录 - - +# 执行安装 + +执行前置脚本准备好openGauss安装环境之后,按照启动安装过程部署openGauss。 + +## 前提条件 + +- 已成功执行前置脚本gs\_preinstall。即完成了[准备安装用户及环境](准备安装用户及环境.md)。 +- 所有服务器操作系统和网络均正常运行。 +- 用户需确保各个主机上的locale保持一致。 + +## 操作步骤 + +1. 检查安装包和openGauss配置文件在规划路径下是否已存在,如果没有,重新执行预安装,确保预安装成功,再执行以下步骤。 +2. 登录到openGauss的主机,并切换到omm用户。 + + ``` + su - omm + ``` + + >![](public_sys-resources/icon-note.gif) **说明:** + >- omm指的是前置脚本gs\_preinstall中-U参数指定的用户。 + >- 安装脚本gs\_install必须以前置脚本中指定的omm执行,否则,脚本执行会报错。 + +3. 使用gs\_install安装openGauss。若为环境变量分离的模式安装的集群需要source环境变量分离文件ENVFILE。 + + ``` + gs_install -X /opt/software/openGauss/cluster_config.xml + ``` + + /opt/software/openGauss/cluster\_config.xml为openGauss配置文件的路径。在执行过程中,用户需根据提示输入数据库的密码,密码具有一定的复杂度,为保证用户正常使用该数据库,请记住输入的数据库密码。 + + 设置的密码要符合复杂度要求: + + - 最少包含8个字符; + - 不能和用户名和当前密码(ALTER)相同,或和当前密码反序; + - 至少包含大写字母(A-Z),小写字母(a-z),数字,非字母数字字符(限定为\~!@\#$%^&\*\(\)-\_=+\\|\[\{\}\];:,<.\>/?)四类字符中的三类字符。 + + 安装过程中会生成ssl证书,证书存放路径为\{gaussdbAppPath\}/share/sslcert/om,其中\{gaussdbAppPath\}为集群openGauss配置文件中指定的程序安装目录。 + + 日志文件路径下会生成两个日志文件:“gs\_install-YYYY-MMDD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”。 + + >![](public_sys-resources/icon-note.gif) **说明:** + >- openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。 + >- 安装时若不指定字符集,默认字符集为SQL\_ASCII,为简化和统一区域loacle默认设置为C,若想指定其他字符集和区域,请在安装时使用参数--gsinit-parameter="--locale=LOCALE"来指定,LOCALE为新数据库设置缺省的区域。 + > 例如用户要将数据库编码格式初始化为UTF-8,可以采用如下步骤: + > 用locale -a |grep utf8命令查看系统支持UTF-8编码的区域,如下: + > ``` + > omm@linux:~> locale -a|grep utf8 + > ``` + > 显示类似如下信息,其中en\_US.utf8表示区域en\_US支持UTF-8编码。 + > ``` + > ...... + > en_SG.utf8 + > en_US.utf8 + > ...... + > ``` + > 根据需要选择区域,如en\_US.utf8,初始化数据库时加入--locale=en\_US.utf8选项进行安装,示例如下: + > ``` + > gs_install -X /opt/software/openGauss/cluster_config.xml --gsinit-parameter="--locale=en_US.utf8" + > ``` + +4. 安装执行成功之后,需要手动删除主机root用户的互信,即删除openGauss数据库各节点上的互信文件。 + + ``` + rm –rf ~/.ssh + ``` + + +## 安装生成的目录 + +安装后的目录及各目录下的文件说明请参见[表1](#zh-cn_topic_0241805806_zh-cn_topic_0085434626_zh-cn_topic_0059782015_tdcb4fb0f38a6419099ee2c47d4d0b37f)。 + +**表 1** 安装生成的目录 + + -

序号

项目目录说明

@@ -187,48 +187,48 @@
- -## 示例 - -执行安装: - -``` -omm@plat1:~> gs_install -X /opt/software/openGauss/cluster_config.xml -Parsing the configuration file. -Check preinstall on every node. -Successfully checked preinstall on every node. -Creating the backup directory. -Successfully created the backup directory. -begin deploy.. -Installing the cluster. -begin prepare Install Cluster.. -Checking the installation environment on all nodes. -begin install Cluster.. -Installing applications on all nodes. -Successfully installed APP. -begin init Instance.. -encrypt ciper and rand files for database. -Please enter password for database: -Please repeat for database: -begin to create CA cert files -The sslcert will be generated in /opt/gaussdb/cluster/app/share/sslcert/om -Cluster installation is completed. -Configuring. -Deleting instances from all nodes. -Successfully deleted instances from all nodes. -Checking node configuration on all nodes. -Initializing instances on all nodes. -Updating instance configuration on all nodes. -Check consistence of memCheck and coresCheck on DN nodes. -Successful check consistence of memCheck and coresCheck on all nodes. -Configuring pg_hba on all nodes. -Configuration is completed. -Successfully started cluster. -Successfully installed application. -``` - -## 错误排查 - -如果安装失败请根据openGauss日志目录下的“gs\_install-YYYY-MM-DD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。 - + + +## 示例 + +执行安装: + +``` +omm@plat1:~> gs_install -X /opt/software/openGauss/cluster_config.xml +Parsing the configuration file. +Check preinstall on every node. +Successfully checked preinstall on every node. +Creating the backup directory. +Successfully created the backup directory. +begin deploy.. +Installing the cluster. +begin prepare Install Cluster.. +Checking the installation environment on all nodes. +begin install Cluster.. +Installing applications on all nodes. +Successfully installed APP. +begin init Instance.. +encrypt ciper and rand files for database. +Please enter password for database: +Please repeat for database: +begin to create CA cert files +The sslcert will be generated in /opt/gaussdb/cluster/app/share/sslcert/om +Cluster installation is completed. +Configuring. +Deleting instances from all nodes. +Successfully deleted instances from all nodes. +Checking node configuration on all nodes. +Initializing instances on all nodes. +Updating instance configuration on all nodes. +Check consistence of memCheck and coresCheck on DN nodes. +Successful check consistence of memCheck and coresCheck on all nodes. +Configuring pg_hba on all nodes. +Configuration is completed. +Successfully started cluster. +Successfully installed application. +``` + +## 错误排查 + +如果安装失败请根据openGauss日志目录下的“gs\_install-YYYY-MM-DD\_HHMMSS.log”和“gs\_local-YYYY-MM-DD\_HHMMSS.log”中的日志信息排查错误。 + diff --git "a/content/zh/docs/installation/\346\243\200\346\237\245openGauss\345\201\245\345\272\267\347\212\266\346\200\201.md" "b/content/zh/docs/installation/\346\243\200\346\237\245openGauss\345\201\245\345\272\267\347\212\266\346\200\201.md" deleted file mode 100644 index 5a5382434..000000000 --- "a/content/zh/docs/installation/\346\243\200\346\237\245openGauss\345\201\245\345\272\267\347\212\266\346\200\201.md" +++ /dev/null @@ -1,60 +0,0 @@ -# 检查openGauss健康状态 - -通过openGauss提供的gs\_checkos工具可以完成操作系统状态检查。 - -## 前提条件 - -- 当前的硬件和网络环境正常。 -- 各主机间root互信状态正常。 -- 只能使用root用户执行gs\_checkos命令。 - -## 操作步骤 - -1. 以root用户身份登录服务器。 -2. 执行如下命令对openGauss节点服务器的OS参数进行检查。 - - ``` - gs_checkos -i A - ``` - - 检查节点服务器的OS参数的目的是为了保证openGauss正常通过预安装,并且在安装成功后可以安全高效的运行。详细的检查项目请参见《工具参考》gs\_checkos工具的表 1 操作系统检查项,操作系统参数和文件系统参数。 - - -## 示例 - -执行gs\_checkos前需要先执行前置脚本,准备环境。以参数"A"为例。 - -``` -gs_checkos -i A -Checking items: - A1. [ OS version status ] : Normal - A2. [ Kernel version status ] : Normal - A3. [ Unicode status ] : Normal - A4. [ Time zone status ] : Normal - A5. [ Swap memory status ] : Normal - A6. [ System control parameters status ] : Normal - A7. [ File system configuration status ] : Normal - A8. [ Disk configuration status ] : Normal - A9. [ Pre-read block size status ] : Normal - A10.[ IO scheduler status ] : Normal - A11.[ Network card configuration status ] : Normal - A12.[ Time consistency status ] : Warning - A13.[ Firewall service status ] : Normal - A14.[ THP service status ] : Normal -Total numbers:14. Abnormal numbers:0. Warning number:1. -``` - -以参数"B"为例。 - -``` -gs_checkos -i B -Setting items: - B1. [ Set system control parameters ] : Normal - B2. [ Set file system configuration value ] : Normal - B3. [ Set pre-read block size value ] : Normal - B4. [ Set IO scheduler value ] : Normal - B5. [ Set network card configuration value ] : Normal - B6. [ Set THP service ] : Normal -Total numbers:6. Abnormal numbers:0. Warning number:0. -``` - diff --git "a/content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md" "b/content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md" deleted file mode 100644 index c2e842984..000000000 --- "a/content/zh/docs/installation/\346\243\200\346\237\245\345\201\245\345\272\267\347\212\266\346\200\201.md" +++ /dev/null @@ -1,61 +0,0 @@ -# 检查健康状态 - -通过openGauss提供的gs\_checkos工具可以完成操作系统状态检查。 - -## 前提条件 - -- 当前的硬件和网络环境正常。 -- 各主机间root互信状态正常。 -- 只能使用root用户执行gs\_checkos命令。 - -## 操作步骤 - -1. 以root用户身份登录服务器。 -2. 执行如下命令对openGauss节点服务器的OS参数进行检查。 - - ``` - gs_checkos -i A - ``` - - 检查节点服务器的OS参数的目的是为了保证openGauss正常通过预安装,并且在安装成功后可以安全高效的运行。详细的检查项目请参见《工具参考》gs\_checkos工具的表 1 操作系统检查项,操作系统参数和文件系统参数。 - - -## 示例 - -执行gs\_checkos前需要先执行前置脚本,准备环境。以参数"A"为例。 - -``` -gs_checkos -i A -Checking items: - A1. [ OS version status ] : Normal - A2. [ Kernel version status ] : Normal - A3. [ Unicode status ] : Normal - A4. [ Time zone status ] : Normal - A5. [ Swap memory status ] : Normal - A6. [ System control parameters status ] : Normal - A7. [ File system configuration status ] : Normal - A8. [ Disk configuration status ] : Normal - A9. [ Pre-read block size status ] : Normal - A10.[ IO scheduler status ] : Normal - A11.[ Network card configuration status ] : Normal - A12.[ Time consistency status ] : Warning - A13.[ Firewall service status ] : Normal - A14.[ THP service status ] : Normal -Total numbers:14. Abnormal numbers:0. Warning number:1. -``` - -以参数"B"为例。 - -``` -gs_checkos -i B -Setting items: - B1. [ Set system control parameters ] : Normal - B2. [ Set file system configuration value ] : Normal - B3. [ Set pre-read block size value ] : Normal - B4. [ Set IO scheduler value ] : Normal - B5. [ Set network card configuration value ] : Normal - B6. [ Set THP service ] : Normal - B7. [ Set RemoveIPC value ] : Normal -Total numbers:6. Abnormal numbers:0. Warning number:0. -``` - diff --git "a/content/zh/docs/installation/\347\244\272\344\276\213.md" "b/content/zh/docs/installation/\347\244\272\344\276\213.md" deleted file mode 100644 index c594a36d6..000000000 --- "a/content/zh/docs/installation/\347\244\272\344\276\213.md" +++ /dev/null @@ -1,7 +0,0 @@ -# 示例 - -- **[单节点配置文件](单节点配置文件.md)** - -- **[一主一备配置文件](一主一备配置文件.md)** - - diff --git "a/content/zh/docs/installation/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/installation/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" index 6ed654f07..265898abd 100644 --- "a/content/zh/docs/installation/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" +++ "b/content/zh/docs/installation/\350\216\267\345\217\226\345\256\211\350\243\205\345\214\205.md" @@ -1,23 +1,23 @@ -# 获取安装包 - -openGauss开源社区上提供了安装包的获取方式。 - -## 操作步骤 - -1. 从openGauss开源社区下载对应平台的安装包。 - 1. 通过[https://opengauss.org/zh/download.html](https://opengauss.org/zh/download.html)登录openGauss开源社区。用户可根据安装包说明[表1](#zh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_te4a9d557337c400c85acff184476a722)按需下载。 - - **图1** 开源网站openGauss Server页面 - - ![](figures/zh-cn_image_0260397375.png) - - **图2** 开源网站openGauss Connectors页面 - - ![](figures/zh-cn_image_0260397341.png) - - **表 1** openGauss Connectors安装包说明 - - +# 获取安装包 + +openGauss开源社区上提供了安装包的获取方式。 + +## 操作步骤 + +1. 从openGauss开源社区下载对应平台的安装包。 + 1. 通过[https://opengauss.org/zh/download.html](https://opengauss.org/zh/download.html)登录openGauss开源社区。用户可根据安装包说明[表1](#zh-cn_topic_0241805803_zh-cn_topic_0085434653_zh-cn_topic_0059781995_te4a9d557337c400c85acff184476a722)按需下载。 + + **图1** 开源网站openGauss Server页面 + + ![](figures/zh-cn_image_0260397375.png) + + **图2** 开源网站openGauss Connectors页面 + + ![](figures/zh-cn_image_0260397341.png) + + **表 1** openGauss Connectors安装包说明 + + -

安装包名称

说明

@@ -40,30 +40,30 @@ openGauss开源社区上提供了安装包的获取方式。
- - 2. 选择所需安装包单击“下载”。 - 3. 解压下载后的压缩包。 - -2. 检查安装包。 - - 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令: - - ``` - tar -zxvf openGauss-x.x.x-openEuler-64bit.tar.gz - ls -1 - ``` - - 执行ls命令,显示类似如下信息: - - ``` - total 50M - drwxr-xr-x 14 root root 4.0K Jul 6 11:03 lib - -rw-r--r-- 1 root root 65 Jul 6 11:03 openGauss-x.x.x-openEuler-64bit.sha256 - -rw-r--r-- 1 root root 50M Jul 6 11:03 openGauss-x.x.x-openEuler-64bit.tar.bz2 - drwxr-xr-x 5 root root 4.0K Jul 6 11:03 script - -rw-r--r-- 1 root root 32 Jul 6 11:03 version.cfg - - ``` - - + + + 2. 选择所需安装包单击“下载”。 + 3. 解压下载后的压缩包。 + +2. 检查安装包。 + + 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令: + + ``` + tar -zxvf openGauss-x.x.x-openEuler-64bit.tar.gz + ls -1 + ``` + + 执行ls命令,显示类似如下信息: + + ``` + total 50M + drwxr-xr-x 14 root root 4.0K Jul 6 11:03 lib + -rw-r--r-- 1 root root 65 Jul 6 11:03 openGauss-x.x.x-openEuler-64bit.sha256 + -rw-r--r-- 1 root root 50M Jul 6 11:03 openGauss-x.x.x-openEuler-64bit.tar.bz2 + drwxr-xr-x 5 root root 4.0K Jul 6 11:03 script + -rw-r--r-- 1 root root 32 Jul 6 11:03 version.cfg + + ``` + + diff --git "a/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md" "b/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md" deleted file mode 100644 index b378b72c6..000000000 --- "a/content/zh/docs/installation/\350\216\267\345\217\226\345\271\266\346\240\241\351\252\214\345\256\211\350\243\205\345\214\205.md" +++ /dev/null @@ -1,55 +0,0 @@ -# 获取并校验安装包 - -为了防止安装包在传输过程中被恶意篡改或破坏给客户网络安全造成威胁,在获取到安装包后,需要对安装包的完整性进行校验,通过了校验的安装包才能部署。 - -## 前提条件 - -已经获取openGauss安装包和签名文件,安装包与签名文件是一一对应并放在同一目录下,一个安装包对应一个校验文件,签名文件由各产品与对应的安装包版本同时发布,签名文件的后缀是“sha256”,通常情况下名称和安装包名称相同。假设安装包的名称openGauss-x.x.x.x-openEuler-64bit.tar.gz时,对应的校验文件的名称为“openGauss-x.x.x.x-openEuler-64bit.tar.gz.sha256”。 - -## 操作步骤 - -1. 从openGauss开源社区下载对应平台的安装包。 - 1. 登录openGauss开源社区。 - 2. 单击“下载”。 - 3. 解压下载后的压缩包。 - -2. 验证安装程序。 - 1. 解压安装包,检查安装目录及文件是否齐全。在安装包所在目录执行以下命令: - - ``` - tar -zxvf openGauss-x.x.x-openEuler-64bit.tar.gz - ls -1 - ``` - - 执行ls命令,显示类似如下信息,其中packages目录中_openGauss-x.x.x-openEuler_-64bit.tar.gz表示数据库安装包,在执行_openGauss-x.x.x_安装的过程中会对数据库安装程序自动执行SHA256校验 - - ``` - total 577M - -rw-r--r-- 1 root root 36 Jun 15 11:46 bepkit_env.conf - drwxr-xr-x 14 root root 4.0K Jun 15 11:46 lib - -rw-r--r-- 1 root root 65 Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.sha256 - -rwxr-xr-x 1 root root 214M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit-symbol.tar.gz - -rw-r--r-- 1 root root 47M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.tar.bz2 - -rw-r--r-- 1 root root 53M Jun 15 11:46 openGauss-x.x.x-openEuler-64bit.tar.gz - -rw------- 1 root root 265M Jun 18 15:50 openGauss-x.x.x_PACKAGES_RELEASE.tar.gz - drwxr-xr-x 5 root root 4.0K Jun 15 11:46 script - -rw-r--r-- 1 root root 32 Jun 15 11:46 version.cfg - - ``` - - 2. 进入scripts目录启动openGauss安装,观察是否提示安装不成功。 - - 在安装过程中,安装包会自动使用SHA256文件校验数据库安装程序的完整性。 - - 如果出现类似如下的信息,则表示数据库安装包校验失败,从而会导致openGauss安装失败。 - - ``` - Error: The sha256 value is different! - Bin file a4ebce0b6052723b1f386928e4d820fa2 - sha256 file 4ebce0b6052723b1f386928e4d820fa2 - ``` - - 如果无任何错误提示,则表示安装程序正确,未被非法修改。 - - - diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md" "b/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md" deleted file mode 100644 index c0c1e96de..000000000 --- "a/content/zh/docs/installation/\350\256\276\347\275\256root\347\224\250\346\210\267\350\277\234\347\250\213\347\231\273\345\275\225.md" +++ /dev/null @@ -1,60 +0,0 @@ -# 设置root用户远程登录 - -在openGauss安装时需要root帐户远程登录访问权限,本章介绍如何设置使用root用户远程登录。 - -1. 修改PermitRootLogin配置,允许用户远程登录。 - 1. 打开sshd\_config文件。 - - ``` - vim /etc/ssh/sshd_config - ``` - - 2. 修改权限配置,可以使用以下两种方式实现: - - 注释掉“PermitRootLogin no”。 - - ``` - #PermitRootLogin no - ``` - - - 将“PermitRootLogin“改为“yes“。 - - ``` - PermitRootLogin yes - ``` - - 3. 执行**:wq**保存并退出编辑页面。 - -2. 修改Banner配置,去掉连接到系统时,系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果,影响安装正常执行。 - 1. 编辑sshd\_config文件。 - - ``` - vim /etc/ssh/sshd_config - ``` - - 2. 修改Banner配置,注释掉“Banner”所在的行。 - - ``` - #Banner XXXX - ``` - - 3. 执行**:wq**保存并退出编辑页面。 - -3. 使用如下命令使设置生效。 - - ``` - service sshd restart - ``` - - >![](public_sys-resources/icon-caution.gif) **注意:** - >若执行命令后返回提示信息“Redirecting to /bin/systemctl restart sshd.service”,请执行命令:/bin/systemctl restart sshd.service。 - -4. 以root用户身份重新登录。 - - ``` - ssh xxx.xxx.xxx.xxx - ``` - - >![](public_sys-resources/icon-note.gif) **说明:** - >xxx.xxx.xxx.xxx为安装openGauss环境的ip。 - - diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md" "b/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md" deleted file mode 100644 index 6b54c3de8..000000000 --- "a/content/zh/docs/installation/\350\256\276\347\275\256\345\255\227\347\254\246\351\233\206\345\217\202\346\225\260.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 设置字符集参数 - -将各数据库节点的字符集设置为相同的字符集,可以在/etc/profile文件中添加"export LANG=XXX"(XXX为Unicode编码)。 - -``` -vim /etc/profile -``` - diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md" "b/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md" deleted file mode 100644 index f7b750558..000000000 --- "a/content/zh/docs/installation/\350\256\276\347\275\256\346\227\266\345\214\272\345\222\214\346\227\266\351\227\264.md" +++ /dev/null @@ -1,20 +0,0 @@ -# 设置时区和时间 - -将各数据库节点的时区设置为相同时区,可以将/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件。 - -``` -cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime -``` - ->![](public_sys-resources/icon-note.gif) **说明:** ->_$地区/$时区为需要设置时区的信息,例如:Asia_/Shanghai。 - -使用date -s命令将各主机的时间设置为统一时间,举例如下。 - -``` -date -s Mon May 11 16:42:11 CST 2020 -``` - ->![](public_sys-resources/icon-note.gif) **说明:** ->可以通过date命令查询主机时区。 - diff --git "a/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" "b/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" deleted file mode 100644 index b197dc9e3..000000000 --- "a/content/zh/docs/installation/\350\256\276\347\275\256\347\275\221\345\215\241MTU\345\200\274.md" +++ /dev/null @@ -1,8 +0,0 @@ -# 设置网卡MTU值 - -将各数据库节点的网卡MTU值设置为相同大小。对于X86,MTU值推荐1500;对于ARM,MTU值推荐8192。 - -``` -ifconfig 网卡编号 mtu 值 -``` - diff --git "a/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md" "b/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md" deleted file mode 100644 index 3795de162..000000000 --- "a/content/zh/docs/installation/\350\275\257\347\241\254\344\273\266\347\216\257\345\242\203\350\246\201\346\261\202.md" +++ /dev/null @@ -1,136 +0,0 @@ -# 软硬件环境要求 - -介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。 - -## 硬件环境要求 - -[表1](#zh-cn_topic_0241802565_zh-cn_topic_0085434629_zh-cn_topic_0059782022_t62cd0eed17004265b1b8ad98f302a4bc)列出了openGauss服务器应具备的最低硬件要求。在实际产品中,硬件配置的规划需考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。 - -**表 1** 硬件环境要求 - - - - - - - - - - - - - - - - - - - -

项目

-

配置描述

-

内存

-

功能调试建议32GB以上。

-

性能测试和商业部署时,单实例部署建议128GB以上。

-

复杂的查询对内存的需求量比较高,在高并发场景下,可能出现内存不足。此时建议使用大内存的机器,或使用负载管理限制系统的并发。

-

CPU

-

功能调试最小1×8 核 2.0GHz。

-

性能测试和商业部署时,单实例部署建议1×16核 2.0GHz。

-

CPU超线程和非超线程两种模式都支持。但是,openGauss各节点的设置需保持一致。

-

硬盘

-

用于安装openGauss的硬盘需最少满足如下要求:

-
  • 至少1GB用于安装openGauss的应用程序包。
  • 每个主机需大约300MB用于元数据存储。
  • 预留70%以上的磁盘剩余空间用于数据存储。
-

建议系统盘配置为Raid1,数据盘配置为Raid5,且规划4组Raid5数据盘用于安装openGauss。有关Raid的配置方法在本手册中不做介绍。请参考硬件厂家的手册或互联网上的方法进行配置,其中Disk Cache Policy一项需要设置为Disabled,否则机器异常掉电后有数据丢失的风险。

-

openGauss支持使用SSD盘作为数据库的主存储设备,支持SAS接口和NVME协议的SSD盘,以RAID的方式部署使用。

-

网络要求

-

300兆以上以太网。

-

建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法在本手册中不做介绍。请参考硬件厂商的手册或互联网上的方法进行配置。

-

openGauss网络如果配置bond,请保证bond模式一致,不一致的bond配置可能导致openGauss工作异常。

-
- -## 软件环境要求 - -**表 2** 软件环境要求 - - - - - - - - - - - - - - - - - - - -

软件类型

-

配置描述

-

Linux操作系统

-

openEuler 20.3LTS和CentOS 7.6

-

Linux文件系统

-

剩余inode个数 > 15亿(推荐)

-

工具

-

bzip2

-

Python

-
  • openEuler:支持Python 3.7.X
  • CentOS:支持Python 3.6.X
-
- -## 软件依赖要求 - -openGauss的软件依赖要求如[表3](#table11459151513383)所示。 - -建议使用上述操作系统安装光盘或者源中,下列依赖软件的默认安装包,若不存在下列软件,可参看软件对应的建议版本。 - -**表 3** 软件依赖要求 - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

所需软件

-

建议版本

-

libaio-devel

-

建议版本:0.3.109-13

-

flex

-

要求版本:2.5.31 以上

-

bison

-

建议版本:2.7-4

-

ncurses-devel

-

建议版本:5.9-13.20130511

-

glibc.devel

-

建议版本:2.17-111

-

patch

-

建议版本:2.7.1-10

-

lsb_release

-

建议版本:4.1

-
- diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md" "b/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md" deleted file mode 100644 index 18061bbc3..000000000 --- "a/content/zh/docs/installation/\351\205\215\347\275\256Host\345\237\272\346\234\254\344\277\241\346\201\257.md" +++ /dev/null @@ -1,72 +0,0 @@ -# 配置Host基本信息 - ->![](public_sys-resources/icon-note.gif) **说明:** ->每台Host服务器都必须有如下信息,如下示例以node1为例。 - -加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 - -``` - - - - - - - - - - - - -``` - -**表 1** 参数说明 - - - - - - - - - - - - - - - - - - - - - - - - -

实例类型

-

参数

-

说明

-

整体信息

-

name

-

主机名称。

-

azName

-

指定azName(Available Zone Name),字符串(不能含有特殊字符),例如AZ1、AZ2、AZ3。

-

azPriority

-

指定azPriority的优先级。

-

backIp1

-

主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。

-

sshIp1

-

设置SSH可信通道IP地址(外网IP)。若无外网,则可以不设置该选项或者同backIp1设置相同IP。

-
- ->![](public_sys-resources/icon-note.gif) **说明:** ->配置文件中所有IP参数(包含backIp、sshIp、listenIp等)均只支持配置一个IP。如果配置第二个IP参数,则不会读取第二个参数的配置值。 ->示例:xml配置文件中同时配置backIp1和backIp2参数: ->在解析配置文件时仅读取backIp1参数的配置值,不会读取backIp2参数的配置值。 ->``` -> -> ->``` - diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md" deleted file mode 100644 index 9d0e31bdb..000000000 --- "a/content/zh/docs/installation/\351\205\215\347\275\256\345\214\272\345\237\237\345\222\214\345\255\227\347\254\246\351\233\206.md" +++ /dev/null @@ -1,129 +0,0 @@ -# 配置区域和字符集 - -区域和字符集在安装过程中通过指定初始化GUC参数来控制,考虑到这两个参数的重要性,在此单独对这两个参数进行详细说明。 - -## 相关概念 - -区域: - -- 区域是指应用中考虑字母、排序、数字格式等与文化相关的问题。 -- 使用gs\_install脚本初始化一个数据库时会初始化区域。缺省时,gs\_install脚本将会指定C区域为默认区域来初始化数据库。因此,如果安装的默认区域与用户规划的相同,则初始化数据库时不需要再设置。 - -字符集(编码格式): - -- openGauss支持GBK、UTF-8和Latin1编码格式。 -- 使用gs\_install脚本初始化数据库时会初始化字符集。缺省时,gs\_install脚本将会指定SQL\_ASCII字符集来初始化数据库,初始化完数据库不能再对数据库服务端字符集进行修改。但在创建数据库的时候是可以修改默认字符集。因此,多个数据库可以设置为不同的字符集。 - -## 规划原则和方法 - -- 规划字符集,选择原则和设置方法请参见[表1](#zh-cn_topic_0241805810_zh-cn_topic_0085434664_zh-cn_topic_0059782037_table4528029520399)。 - - **表 1** 字符集 - - - - - - - - - - - - - - - - - - -

字符集

-

规划原则

-

设置方法

-

GBK

-

如果数据库只需要支持中文,数据量很大,性能要求也很高,那就应该选择双字节定长编码的中文字符集。对openGauss来说,中文字符集目前只能选择GBK 。

-
  • 在安装数据库时指定初始化参数-E。
  • 通过SQL语句创建数据库时指定ENCODING参数。
-

详细请参见示例

-

UTF-8

-

如果应用程序要处理各种各样的文字,或者将处理结果发布到使用不同语言的国家或地区,就应该选择Unicode字符集。对openGauss来说,Unicode字符集目前只能选择UTF-8 。

-

Latin1

-

如果数据库只需要支持ASCII收录的字符、西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号,则可以选择Latin1。

-
- - >![](public_sys-resources/icon-note.gif) **说明:** - >- openGauss支持字符集的多种写法:gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。 - >- 安装时若不指定字符集,默认字符集为SQL\_ASCII,若想指定,请在安装时指定,具体操作请参见[示例](#zh-cn_topic_0241805810_zh-cn_topic_0085434664_zh-cn_topic_0059782037_sa523d6a2a09c4cf29d503e2175747721)。 - -- 规划区域。 - 1. 检查与指定字符集(假设为UTF-8)匹配的区域。 - - ``` - locale -a |grep utf8 - ``` - - 显示类似如下信息,其中en\_US.utf8表示区域en\_US支持UTF-8编码。 - - ``` - ...... - en_SG.utf8 - en_US.utf8 - ...... - ``` - - 2. 在初始化数据库时设置区域,设置方法请参见[示例](#zh-cn_topic_0241805810_zh-cn_topic_0085434664_zh-cn_topic_0059782037_sa523d6a2a09c4cf29d503e2175747721)。 - - -## 示例 - -示例1:初始化新的数据库系统 - -1.以操作系统用户omm登录数据库主节点,进入数据目录"/opt/huawei/install/data",创建新的目录"data\_dn2",确保该数据目录所有权分配给数据库用户omm,所属用户组为omm用户所属的用户组。 - -``` -mkdir /opt/huawei/install/data/data_dn2 -``` - -2.执行gs\_initdb命令初始化新的数据库,指定数据库初始化的字符集为UTF-8,区域为zh\_CN.UTF-8。 - -``` -gs_initdb -E UTF-8 --locale=zh_CN.UTF-8 -D /opt/huawei/install/data/data_dn2 --nodename dn2 -w "Bigdata@123" -``` - -/opt/huawei/install/data/data\_dn2为初始化新数据库的数据目录路径,Bigdata@123为数据库用户密码。 - -显示类似如下信息: - -``` -The files belonging to this database system will be owned by user "omm". -This user must also own the server process. - -The database cluster will be initialized with locale "zh_CN.UTF-8". -gs_initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8" -The default text search configuration will be set to "simple". - -fixing permissions on existing directory /opt/huawei/install/data/data_dn2 ... ok -creating subdirectories ... ok -selecting default max_connections ... 100 -selecting default shared_buffers ... 32MB -creating configuration files ... ok -...... -``` - -示例2:使用SQL创建新的数据库 - -使用SQL语句创建数据库时,指定数据库的字符集为GBK。 - -``` -gsql -d postgres -p 15400 -``` - -``` -postgres=# CREATE DATABASE mydb WITH ENCODING 'GBK' template = template0; -``` - -显示类似如下信息: - -``` -CREATE DATABASE -``` - diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md" deleted file mode 100644 index 8f5dda3f1..000000000 --- "a/content/zh/docs/installation/\351\205\215\347\275\256\346\223\215\344\275\234\347\263\273\347\273\237\345\217\202\346\225\260.md" +++ /dev/null @@ -1,503 +0,0 @@ -# 配置操作系统参数 - -openGauss要求各主机上的操作系统参数设置成一定的值,以满足系统运行的性能要求等。 - -这些参数有些会在openGauss安装环境准备阶段完成设置,且这些参数将直接影响openGauss的运行状态,请仅在确认必要时进行手动调整。方法如下: - -1. 以root用户身份登录服务器。 -2. 对文件“/etc/sysctl.conf”进行编辑修改。 - - 具体参数的修改请参见[操作系统参数](#zh-cn_topic_0241805805_zh-cn_topic_0085434661_zh-cn_topic_0059782062_section3705271819540)。 - -3. 执行如下命令使修改配置生效。 - - ``` - sysctl -p - ``` - - -## 操作系统参数 - -**表 1** 操作系统参数 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

参数名称

-

参数说明

-

推荐取值

-

net.ipv4.tcp_max_tw_buckets

-

表示同时保持TIME_WAIT状态的TCP/IP连接最大数量。如果超过所配置的取值,TIME_WAIT将立刻被释放并打印警告信息。

-

10000

-

net.ipv4.tcp_tw_reuse

-

允许将TIME-WAIT状态的sockets重新用于新的TCP连接。

-
  • 0表示关闭。
  • 1表示开启。
-

1

-

net.ipv4.tcp_tw_recycle

-

表示开启TCP连接中TIME-WAIT状态sockets的快速回收。

-
  • 0表示关闭。
  • 1表示开启。
-

1

-

net.ipv4.tcp_keepalive_time

-

表示当keepalive启用的时候,TCP发送keepalive消息的频度。

-

30

-

net.ipv4.tcp_keepalive_probes

-

在认定连接失效之前,发送TCP的keepalive探测包数量。这个值乘以tcp_keepalive_intvl之后决定了一个连接发送了keepalive之后可以有多少时间没有回应。

-

9

-

net.ipv4.tcp_keepalive_intvl

-

当探测没有确认时,重新发送探测的频度。

-

30

-

net.ipv4.tcp_retries1

-

在连接建立过程中TCP协议最大重试次数。

-

5

-

net.ipv4.tcp_syn_retries

-

TCP协议SYN报文最大重试次数。

-

5

-

net.ipv4.tcp_synack_retries

-

TCP协议SYN应答报文最大重试次数。

-

5

-

net.sctp.path_max_retrans

-

SCTP协议最大重试次数。

-

10

-

net.sctp.max_init_retransmits

-

SCTP协议INIT报文最大重试次数。

-

10

-

net.sctp.association_max_retrans

-

SCTP协议单个逻辑连接最大重试次数。

-

10

-

net.sctp.hb_interval

-

SCTP协议心跳检测包重传间隔。

-

30000

-

net.ipv4.tcp_retries2

-

控制内核向已经建立连接的远程主机重新发送数据的次数,低值可以更早的检测到与远程主机失效的连接,因此服务器可以更快的释放该连接。

-

发生“connection reset by peer”时可以尝试调大该值规避问题。

-

12

-

vm.overcommit_memory

-

控制在做内存分配的时候,内核的检查方式。

-
  • 0:表示系统会尽量精确计算当前可用的内存。
  • 1:表示不作检查直接返回成功。
  • 2:内存总量×vm.overcommit_ratio/100+SWAP的总量,如果申请空间超过此数值则返回失败。
-

内核默认是2过于保守,推荐设置为0,如果系统压力大可以设置为1。

-

0

-

net.sctp.sndbuf_policy

-

SCTP发送缓冲区分配原则。

-
  • 0为按连接。
  • 1为按耦联。
-

0

-

net.sctp.rcvbuf_policy

-

SCTP接收缓冲区分配原则。

-
  • 0为按连接。
  • 1为按耦联。
-

0

-

net.sctp.sctp_mem

-

内核SCTP协议栈的最大可用内存,分无压力,有压力,和压力大三个区间,压力大时会丢包,单位为页面。

-

94500000 915000000 927000000

-

net.sctp.sctp_rmem

-

内核SCTP协议栈的接收总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。

-

8192 250000 16777216

-

net.sctp.sctp_wmem

-

内核SCTP协议栈的发送总可用内存,分无压力,有压力和压力大三个区间,压力大时会丢包,单位为页面。

-

8192 250000 16777216

-

net.ipv4.tcp_rmem

-

TCP协议接收端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

-

8192 250000 16777216

-

net.ipv4.tcp_wmem

-

TCP协议发送端缓冲区的可用内存大小。分无压力,有压力,和压力大三个区间,单位为页面。

-

8192 250000 16777216

-

net.core.wmem_max

-

socket发送端缓冲区大小的最大值。

-

21299200

-

net.core.rmem_max

-

socket接收端缓冲区大小的最大值。

-

21299200

-

net.core.wmem_default

-

socket发送端缓冲区大小的默认值。

-

21299200

-

net.core.rmem_default

-

socket接收端缓冲区大小的默认值。

-

21299200

-

net.ipv4.ip_local_port_range

-

物理机可用临时端口范围。

-

26000-65535

-

kernel.sem

-

内核信号量参数设置大小。

-

250 6400000 1000 25600

-

vm.min_free_kbytes

-

保证物理内存有足够空闲空间,防止突发性换页。

-

系统总内存的5%

-

net.core.somaxconn

-

定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。

-

65535

-

net.ipv4.tcp_syncookies

-

当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击。

-
  • 0表示关闭SYN Cookies。
  • 1表示开启SYN Cookies。
-

1

-

net.sctp.addip_enable

-

SCTP动态地址重置支持开关

-
  • 0表示关闭。
  • 1表示开启。
-

0

-

net.core.netdev_max_backlog

-

在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。

-

65535

-

net.ipv4.tcp_max_syn_backlog

-

记录的那些尚未收到客户端确认信息的连接请求的最大值。

-

65535

-

net.ipv4.tcp_fin_timeout

-

系统默认的超时时间。

-

60

-

kernel.shmall

-

内核可用的共享内存总量。

-

1152921504606846720

-

kernel.shmmax

-

内核参数定义单个共享内存段的最大值。

-

18446744073709551615

-

net.ipv4.tcp_sack

-

启用有选择的应答,通过有选择地应答乱序接受到的报文来提高性能,让发送者只发送丢失的报文段(对于广域网来说)这个选项应该启用,但是会增加对CPU的占用。

-
  • 0表示关闭。
  • 1表示开启
-

1

-

net.ipv4.tcp_timestamps

-

TCP时间戳(会在TCP包头增加12节),以一种比重发超时更精确的方式(参考RFC 1323)来启用对RTT的计算,启用可以实现更好的性能。

-
  • 0表示关闭。
  • 1表示开启
-

1

-

vm.extfrag_threshold

-

系统内存不够用时,linux会为当前系统内存碎片情况打分,如果超过vm.extfrag_threshold的值,kswapd就会触发memory compaction。所以这个值设置的接近1000,说明系统在内存碎片的处理倾向于把旧的页换出,以符合申请的需要,而设置接近0,表示系统在内存碎片的处理倾向做memory compaction。

-

500

-

vm.overcommit_ratio

-

系统使用绝不过量使用内存的算法时,系统整个内存地址空间不得超过swap+RAM值的此参数百分比,当vm.overcommit_memory=2时此参数生效。

-

90

-

/sys/module/sctp/parameters/no_checksums

-

SCTP协议是否关闭checksum。

-

0

-

MTU

-

节点网卡最大传输单元。OS默认值为1500,调整为8192可以提升SCTP协议数据收发的性能。

-

8192

-
- -## 文件系统参数 - -- soft nofile - - 说明:soft nofile表示软限制,用户使用的文件句柄数量可以超过该限制,但是如果超过会有告警信息。 - - 推荐取值:1000000 - -- hard nofile - - 说明:hard nofile表示硬限制,是一个严格的限制,用户使用的文件句柄数量一定不能超过该设置。 - - 推荐取值:1000000 - -- stack size - - 说明:线程堆栈大小。 - - 推荐值:3072 - - -## transparent\_hugepage设置 - -openGauss默认关闭使用transparent\_hugepage服务,并将关闭命令写入操作系统启动文件。 - -## 文件句柄设置 - -需要对文件句柄数进行手动设置时,使用root用户执行如下命令进行参数修改: - -``` -echo "* soft nofile 1000000" >>/etc/security/limits.conf -echo "* hard nofile 1000000" >>/etc/security/limits.conf -``` - -完成修改后,需重启操作系统使得设置的参数生效。 - -**表 2** 文件句柄数设置 - - - - - - - - - - - - - - - - - - - -

参数名

-

说明

-

预安装时是否由脚本自动设置

-

推荐取值

-

* soft nofile

-

soft nofile表示软限制,即表示任何用户能打开的最大文件数量为1000000,不管它开启多少个shell。

-

-

1000000

-

* hard nofile

-

hard nofile表示硬限制,软限制要小于等于硬限制。

-

-

1000000

-
- -## 系统支持的最大进程数设置 - -需要对系统支持的最大进程数进行手动设置时,执行如下命令打开conf文件。 - -``` -vim /etc/security/limits.d/90-nproc.conf -``` - -修改\* soft nproc参数。 - -完成修改后,需重启操作系统使得设置的参数生效。 - -**表 3** 系统支持的最大进程数设置 - - - - - - - - - - - - - - -

参数名

-

说明

-

预安装时是否由脚本自动设置

-

推荐取值

-

* soft nproc

-

soft nproc参数用来限制每个用户的最大processes数量。

-

-

60000

-
- -## 网卡参数配置 - -**表 4** 网卡参数配置 - - - - - - - - - - - - - - - - - - - - - - - - -

参数名

-

说明

-

预安装时是否由脚本自动设置

-

推荐取值

-

rx

-

网卡接收队列长度设置

-

-

4096

-

tx

-

网卡传送队列长度设置

-

-

4096

-

mtu

-

网卡最大传输单元设置

-

-

x86是1500

-

ARM是8192

-
- ->![](public_sys-resources/icon-notice.gif) **须知:** ->- 网卡参数配置功能只针对万兆及万兆以上级别的业务网卡。即backIp1所绑定的网卡。 ->- 设置网卡参数的命令只有在设置成功后,才会被写入系统启动文件。执行失败的信息会被记入后台日志中。 - diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md" deleted file mode 100644 index 11ee8175c..000000000 --- "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\344\270\273\350\212\202\347\202\271\344\277\241\346\201\257.md" +++ /dev/null @@ -1,77 +0,0 @@ -# 配置数据库主节点信息 - -加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 - -**数据库主节点配置以下信息。** - -``` - - - - - - - - -``` - -**表 1** 参数说明 - - - - - - - - - - - - - - - - - - - - - -

实例类型

-

参数

-

说明

-

DBnode

-

dataNum

-

当前主机上需要部署的数据库节点个数。

-

dataPortBase

-

数据库节点的基础端口号,默认值40000。

-

dataNode1

-

用于指定当前主机上的数据库节点的数据存储目录。此目录为数据库的数据存储目录。应规划到数据盘上。

-

dataNode1_syncNum

-

可选参数,用于指定当前集群中同步模式的节点数目。取值范围为0~数据库备机节点数。

-
- -**表 2** 数据库实例数据目录 - - - - - - - - - - - - - -

实例名称

-

实例数据目录

-

主DBnode

-

/opt/huawei/install/data/xxx

-

其中,xxx为当前主DBnode的名称。

-

备DBnode

-

/opt/huawei/install/data/slaveX

-

其中,slaveX为当前备DBnode的名称。

-
- diff --git "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md" "b/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md" deleted file mode 100644 index d472e4496..000000000 --- "a/content/zh/docs/installation/\351\205\215\347\275\256\346\225\260\346\215\256\345\272\223\345\220\215\347\247\260\345\217\212\345\220\204\351\241\271\347\233\256\345\275\225.md" +++ /dev/null @@ -1,106 +0,0 @@ -# 配置数据库名称及各项目录 - -在script/gspylib/etc/conf/cluster\_config\_template.xml获取XML文件模板。加粗字体内容为示例,可自行替换。每行信息均有注释进行说明。 - -``` - - - - - - - - - - - - - - - - - - - - - - - -``` - ->![](public_sys-resources/icon-notice.gif) **须知:** ->- “/opt/huawei/install/om”存放互信等工具,避免权限问题,不要把实例数据目录放在此目录下。 ->- 安装目录和数据目录需为空或者不存在,否则可能导致安装失败。 ->- 在对数据库节点的实例进行具体配置时,需确保配置的目录之间不相互耦合。即各个配置目录不关联,删除其中任意一个目录,不会级联删除其它目录。如gaussdbAppPath为"/opt/huawei/install/app",gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时,会级联删除gaussdbLogPath目录,从而引起其它问题。 ->- 若需要安装脚本自动创建安装用户时各配置的目录需保证不与系统创建的默认用户目录耦合关联。 ->- 配置openGauss路径和实例路径时,路径中不能包含"|",";","&","$","<","\>","\`","\\\\","'","\\"","\{","\}","\(","\)","\[","\]","\~","\*","?"特殊字符。 ->- 配置数据库节点名称时,请通过hostname命令获取数据库节点的主机名称,替换示例中的node1,node2。 - -**表 1** 参数说明 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

实例类型

-

参数

-

说明

-

整体信息

-

clusterName

-

openGauss名称。

-

nodeNames

-

openGauss中主机名称。

-

backIp1s

-

主机在后端存储网络中的IP地址(内网IP)。所有openGauss主机使用后端存储网络通讯。

-

gaussdbAppPath

-

openGauss程序安装目录。此目录应满足如下要求:

-
  • 磁盘空间>1GB
  • 与数据库所需其它路径相互独立,没有包含关系。
-

gaussdbLogPath

-

openGauss运行日志和操作日志存储目录。此目录应满足如下要求:

-
  • 磁盘空间建议根据主机上的数据库节点数规划。数据库节点预留1GB空间的基础上,再适当预留冗余空间。
  • openGauss所需其它路径相互独立,没有包含关系。
-

此路径可选。不指定的情况下,openGauss安装时会默认指定“$GAUSSLOG/安装用户名”作为日志目录。

-

tmpdbPath

-

数据库临时文件存放目录。

-

若不配置tmpdbPath,默认存放在/opt/huawei/wisequery/perfadm_db目录下。

-

gaussdbToolPath

-

openGauss系统工具目录,主要用于存放互信工具等。此目录应满足如下要求:

-
  • 磁盘空间>100MB
  • 固定目录,与数据库所需其它目录相互独立,没有包含关系。
-

此目录可选。不指定的情况下,openGauss安装时会默认指定“/opt/huawei/wisequery”作为数据库系统工具目录。

-

corePath

-

openGauss core文件的指定目录。

-

clusterType

-

openGauss类型,openGauss拓扑类型;可选字段。

-

“single-inst”表示单机一主多备部署形态。

-
- diff --git "a/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md" "b/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md" index 445845a30..d09a2ddc5 100644 --- "a/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md" +++ "b/content/zh/docs/installation/\357\274\210\345\217\257\351\200\211\357\274\211\350\256\276\347\275\256\345\244\207\346\234\272\345\217\257\350\257\273.md" @@ -1,10 +1,10 @@ -# (可选)设置备机可读 - -备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。 - -## 操作步骤 - -1. 如果主备机上的openGauss数据库实例正在运行,请先分别停止主备机上的数据库实例。 -2. 根据[表2](配置数据库主节点信息.md#zh-cn_topic_0241802596_table15838192510429)对应路径,分别打开主机与备机的postgres.conf配置文件,找到并将对应参数修改为:wal\_level=hot\_standby;hot\_standby = on;hot\_standby\_feedback = on。 -3. 修改完成后,分别启动主备机即可。 - +# (可选)设置备机可读 + +备机可读特性为可选特性,需要修改配置参数并重启主备机器后才能使用。在开启备机可读之后,备机将支持读操作,并满足数据一致性要求。 + +## 操作步骤 + +1. 如果主备机上的openGauss数据库实例正在运行,请先分别停止主备机上的数据库实例。 +2. 分别打开主机与备机的postgres.conf配置文件,找到并将对应参数修改为:wal\_level=hot\_standby;hot\_standby = on;hot\_standby\_feedback = on。 +3. 修改完成后,分别启动主备机即可。 + diff --git a/content/zh/menu/index.md b/content/zh/menu/index.md index 2bffe7fee..2c99a48c4 100644 --- a/content/zh/menu/index.md +++ b/content/zh/menu/index.md @@ -133,36 +133,15 @@ headless: true - [了解安装流程]({{< relref "./docs/Installation/了解安装流程.md" >}}) - [获取安装包]({{< relref "./docs/Installation/获取安装包.md" >}}) - [准备软硬件安装环境]({{< relref "./docs/Installation/准备软硬件安装环境.md" >}}) - - [软硬件环境要求]({{< relref "./docs/Installation/软硬件环境要求.md" >}}) - - [修改操作系统配置]({{< relref "./docs/Installation/修改操作系统配置.md" >}}) - - [关闭操作系统防火墙]({{< relref "./docs/Installation/关闭操作系统防火墙.md" >}}) - - [设置字符集参数]({{< relref "./docs/Installation/设置字符集参数.md" >}}) - - [设置时区和时间]({{< relref "./docs/Installation/设置时区和时间.md" >}}) - - [关闭swap交换内存]({{< relref "./docs/Installation/关闭swap交换内存.md" >}}) - - [设置网卡MTU值]({{< relref "./docs/Installation/设置网卡MTU值.md" >}}) - - [配置操作系统参数]({{< relref "./docs/Installation/配置操作系统参数.md" >}}) - - [设置root用户远程登录]({{< relref "./docs/Installation/设置root用户远程登录.md" >}}) - [了解安装用户及用户组]({{< relref "./docs/Installation/了解安装用户及用户组.md" >}}) - [安装openGauss]({{< relref "./docs/Installation/安装openGauss.md" >}}) - [创建XML配置文件]({{< relref "./docs/Installation/创建XML配置文件.md" >}}) - - [配置数据库名称及各项目录]({{< relref "./docs/Installation/配置数据库名称及各项目录.md" >}}) - - [配置Host基本信息]({{< relref "./docs/Installation/配置Host基本信息.md" >}}) - - [配置数据库主节点信息]({{< relref "./docs/Installation/配置数据库主节点信息.md" >}}) - - [示例]({{< relref "./docs/Installation/示例.md" >}}) - - [单节点配置文件]({{< relref "./docs/Installation/单节点配置文件.md" >}}) - - [一主一备配置文件]({{< relref "./docs/Installation/一主一备配置文件.md" >}}) - [初始化安装环境]({{< relref "./docs/Installation/初始化安装环境.md" >}}) - - [准备安装用户及环境]({{< relref "./docs/Installation/准备安装用户及环境.md" >}}) - - [手工建立互信]({{< relref "./docs/Installation/手工建立互信.md" >}}) - [执行安装]({{< relref "./docs/Installation/执行安装.md" >}}) + - [初始化数据库]({{< relref "./docs/Installation/初始化数据库.md" >}}) - [(可选)设置备机可读]({{< relref "./docs/Installation/(可选)设置备机可读.md" >}}) - [安装验证]({{< relref "./docs/Installation/安装验证.md" >}}) - - [检查健康状态]({{< relref "./docs/Installation/检查健康状态.md" >}}) - [卸载openGauss]({{< relref "./docs/Installation/卸载openGauss.md" >}}) - - [执行卸载]({{< relref "./docs/Installation/执行卸载.md" >}}) - - [一键式环境清理]({{< relref "./docs/Installation/一键式环境清理.md" >}}) - - [初始配置]({{< relref "./docs/Installation/初始配置.md" >}}) - - [配置区域和字符集]({{< relref "./docs/Installation/配置区域和字符集.md" >}}) - [管理员指南]({{< relref "./docs/Administratorguide/Administratorguide.md" >}}) - [启停openGauss]({{< relref "./docs/Administratorguide/启停openGauss.md" >}}) -- Gitee