Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
6d1fab20bf | ||
![]() |
cc2a434f5f | ||
![]() |
24204894a5 | ||
![]() |
91a510c5ff | ||
![]() |
1203f2a933 |
@ -55,3 +55,12 @@ CLup软件从2017年就开始研发,第一个正式版本发布于2017年11月
|
||||
在监控的功能中,监控了一些最有价值的指标,而不是像有些监控工具中,监控了很多指标,但大多数都是没有啥用处的功能。 特色功能是我们有TopSQL的监控。
|
||||
|
||||
另外CLup是一套非常容易部署,对环境要求很低的高可用集群管理软件,如可以在2GB内存的机器上部署和使用,对机器的CPU没有要求。之所以可以做到这种程度,原因是此软件完全是由我们自己研发的,并不是基于一些开源软件上做的二次封装。有一些友商的管理平台是在第三方开源高可用软件上封装的,如ZooKeeper、etcd、repmgr或patroni上做的封装,导致对环境要求高,系统资源占用大等问题。
|
||||
|
||||
## 1.4 社区版规划文档
|
||||
[src/社区版本规划.md · 中启开源/clup社区](https://gitee.com/csudata/clup-community/blob/master/src/%E7%A4%BE%E5%8C%BA%E7%89%88%E6%9C%AC%E8%A7%84%E5%88%92.md)
|
||||
|
||||
## 1.5 快速部署文档
|
||||
[src/快速部署.md · 中启开源/clup社区](https://gitee.com/csudata/clup-community/blob/master/src/%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2.md)
|
||||
|
||||
## 1.6 使用教程
|
||||
[src/使用教程.md · 中启开源/clup社区](https://gitee.com/csudata/clup-community/blob/master/src/%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.md)
|
||||
|
BIN
src/assets/image-20230830160812677.png
Normal file
After Width: | Height: | Size: 571 KiB |
BIN
src/assets/image-20230830161037331.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
src/assets/image-20230830161205601.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
src/assets/image-20230830161248453.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
src/assets/image-20230830161340393.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
src/assets/image-20230830161356286.png
Normal file
After Width: | Height: | Size: 169 KiB |
BIN
src/assets/image-20230830161415980.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
src/assets/image-20230830161852342.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
src/assets/image-20230830162215924.png
Normal file
After Width: | Height: | Size: 171 KiB |
BIN
src/assets/image-20230830162455031.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
src/assets/image-20230830162617674.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
src/assets/image-20230830162658284.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
src/assets/image-20230830162851696.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
src/assets/image-20230830163016365.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
src/assets/image-20230830163111101.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
src/assets/image-20230830163140925.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
src/assets/image-20230830163208923.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
src/assets/image-20230830163236034.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
src/assets/image-20230830163306883.png
Normal file
After Width: | Height: | Size: 172 KiB |
BIN
src/assets/image-20230830163337186.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/image-20230830163352786.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
src/assets/image-20230830163523776.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
src/assets/image-20230830163548838.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
src/assets/image-20230830163613410.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
src/assets/image-20230830163651180.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
src/assets/image-20230830163714306.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
src/assets/image-20230830163922335.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
src/assets/image-20230830164148190.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
src/assets/image-20230830164501418.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
src/assets/image-20230830164944448.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/image-20230830165020222.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/image-20230830165102155.png
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
src/assets/image-20230830165210707.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
src/assets/image-20230830165659536.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
src/assets/image-20230830165847671.png
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
src/assets/image-20230830165953039.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
src/assets/image-20230830171801476.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
src/assets/image-20230830172135115.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
src/assets/image-20230830172210141.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
src/assets/image-20230830172256110.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
src/assets/image-20230830172313040.png
Normal file
After Width: | Height: | Size: 174 KiB |
BIN
src/assets/image-20230830172342109.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
src/assets/image-20230830172731057.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
src/assets/image-20230830172815015.png
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
src/assets/image-20230830172858099.png
Normal file
After Width: | Height: | Size: 134 KiB |
BIN
src/assets/image-20230830172932996.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
src/assets/image-20230830173043950.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
src/assets/image-20230830173215835.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
src/assets/image-20230830173227260.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
src/assets/image-20230830173424758.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
src/assets/image-20230830173436866.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
src/assets/image-20230830173723183.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
src/assets/image-20230830174244246.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
src/assets/image-20230830175014885.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
src/assets/image-20230830175116703.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
src/assets/image-20230830175414514.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
src/assets/image-20230830175705679.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
src/assets/image-20230830175949739.png
Normal file
After Width: | Height: | Size: 73 KiB |
BIN
src/assets/image-20230830180004097.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
src/assets/image-20230830182852064.png
Normal file
After Width: | Height: | Size: 83 KiB |
374
src/使用教程.md
Normal file
@ -0,0 +1,374 @@
|
||||
# CLup 社区版使用教程
|
||||
|
||||
## 1. 创建数据库
|
||||
|
||||
1.1 登录到clup的web界面,点击数据库管理->创建数据库->创建PostgreSQL数据库:
|
||||
|
||||

|
||||
|
||||
1.2 填写相关信息,操作系统用户如果之前没有创建,需要填一个用户的UID,填写完成后点击下一步:
|
||||
|
||||

|
||||
|
||||
1.3 可以选择修改数据库的参数,如果不清楚需要修改哪些参数,建议保持默认值,点击下一步后再点击一次下一步:
|
||||
|
||||
> 注意:如果是自己安装的PostgreSQL数据库,且没有安装pg_store_plans插件,请从参数shared_preload_libraries中去除`pg_store_plans`。
|
||||
|
||||

|
||||
|
||||
1.4 此时来到了提交页面,我们直接点击提交即可:
|
||||
|
||||

|
||||
|
||||
1.5 点击提交后会自动创建目录并初始化数据库,当在日志中看到`Success`时数据库就搭建完成了:
|
||||
|
||||

|
||||
|
||||
1.6 此时我们关闭日志,然后在数据库列表中可以看到数据库正在运行中:
|
||||
|
||||

|
||||
|
||||
1.7 我们可以到机器`10.197.166.36`上查看下:
|
||||
|
||||
```sh
|
||||
[root@pg01 ~]# su - pg10
|
||||
Last login: Wed Aug 30 04:13:38 EDT 2023
|
||||
[pg10@pg01 ~]$ psql -Upostgres
|
||||
psql (10.20 (CSUDATA.COM CentOS 7))
|
||||
Type "help" for help.
|
||||
|
||||
postgres=#
|
||||
```
|
||||
|
||||
1.8 我们创建一个拥有流复制权限的用户,后续搭建备库时使用(当然也可以选择不创建,直接使用postgres超级用户也是可以的):
|
||||
|
||||
```postgresql
|
||||
-- 创建一个用户名为replica的用户,密码为replica123
|
||||
postgres=# CREATE USER replica WITH REPLICATION PASSWORD 'replica123';
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 2. 搭建备库
|
||||
|
||||
2.1 数据库列表->更多->搭备库:
|
||||
|
||||

|
||||
|
||||
2.2 根据页面提示,我们输入相关信息,这里流复制用户replica是我们之前创建的,如果没有创建话直接使用postgres用户也是可以的:
|
||||
|
||||

|
||||
|
||||
* 流复制用户:PostgreSQL流复制协议的用户,可以填写postgres用户,也可以填写一个新的,这里填写的是replica,这个用户需要先创建。
|
||||
* 流复制ip:用于流复制协议的ip,如果是单网卡填写与主机ip相同即可。
|
||||
* 操作系统用户:我们还是填写pg10,如果之前没有创建这个用户,需要指定一个UID。
|
||||
|
||||
> 注意:数据库软件的大版本必须相同,否则会搭建失败。
|
||||
|
||||
2.3 点击提交后clup会自动搭建备库,当看到Sucess时说明备库已经搭建成功了:
|
||||
|
||||

|
||||
|
||||
2.4 此时我们查看数据库列表,可以看到备库正在运行中:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 3. 创建PostgreSQL流复制集群
|
||||
|
||||
在创建高可用集群之前,需要先准备一个VIP(虚拟IP),这个VIP可以是集群同网段内未被使用的IP,可以先使用`ping VIP`测试下IP是否已经被占用。
|
||||
|
||||
3.1 HA集群->集群定义->创建集群->创建PostgreSQL流复制集群
|
||||
|
||||

|
||||
|
||||
3.2 填写完相关信息后点击添加第一台机器(第一台机器将作为主库):
|
||||
|
||||

|
||||
|
||||
3.3 我们再添加一台机器作为备库,然后可以再查看下信息是否有误,有错误的话可以删除修改后再添加,如果没有问题就点击下一步:
|
||||
|
||||

|
||||
|
||||
3.4 继续完善集群相关信息:
|
||||
|
||||

|
||||
|
||||
* DB中的用户:此为数据库用户,一般填写postgres。
|
||||
* 流复制用户:可以填写postgres用户,也可以填写一个新的用户名,clup会在集群中创建这个用户。
|
||||
* 集群VIP:每个高可用集群都应配置一个VIP(虚拟IP),这个VIP可以填写一个同网段内未使用的IP,这里填写的是`10.197.166.222`。
|
||||
|
||||
3.5 点击下一步后是集群探测信息,一般保持默认,不需要修改:
|
||||
|
||||

|
||||
|
||||
3.6 再次点击下一步,出现的是集群数据库参数设置,这里主备库的设置是一样的,如需修改指定库的参数,可以在集群创建完成后到数据库列表中修改:
|
||||
|
||||
> 注意:如果是自己安装的PostgreSQL数据库,里面没有安装pg_store_plans插件的话,请从参数shared_preload_libraries中去除`pg_store_plans`。
|
||||
|
||||

|
||||
|
||||
3.7 如果不修改参数,继续点击两次下一步,最后点击提交按钮即可:
|
||||
|
||||

|
||||
|
||||
3.8 当在日志中看到Success时,说明集群就创建完成了:
|
||||
|
||||

|
||||
|
||||
3.8 我们移步到HA管理->详情,可以看到当前的一主一备数据库都在运行中:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## 4. 主备切换
|
||||
|
||||
4.1 接下来我们进行主备切换(手工主备切换,注意需要集群处于离线状态下),HA管理->详情->切换为主库:
|
||||
|
||||

|
||||
|
||||
4.2 点击切换为主库按钮后会有一个消息提示选项,是否保留主备级联关系,这里因为我们只有一主一备,选择是和否结果都是一样的:
|
||||
|
||||

|
||||
|
||||
> 如果是多级级联关系时,选择保留级联关系时,会保持当前的级联关系,将旧主库直接搭到新主库下面,旧主库下的其他备库依旧是旧主库的备库;选择不保留的话,就会将旧主库下的备库都搭建到新主库下。
|
||||
|
||||
4.3 点击确定,当看到Success时,说明备库切换成功,我们关闭日志,可以看到当前的主库变成了`10.197.166.37`:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
4.4 我们返回到HA管理页面,点击上线按钮,开启集群的高可用模式:
|
||||
|
||||

|
||||
|
||||
> 此时集群处于高可用模式下,如果检测到主库有故障,clup会挑选一个备库切换为主库。
|
||||
|
||||
|
||||
|
||||
## 5. 数据备份
|
||||
|
||||
5.1 添加备份计划:数据备份->备份计划->PG物理备份(全备):
|
||||
|
||||

|
||||
|
||||
5.2 添加相关信息后点击保存即可,目录需要提前创建出来,并赋予postgres用户读写权限:
|
||||
|
||||

|
||||
|
||||
* 保存节点上数据库程序路径:数据库软件的bin目录路径,注意需要与备份源数据库的大版本相同。
|
||||
* WAL备份保留时间:当创建一次全备后,clup会从源数据库中拉取wal日志,这里是设置wal日志过期的时间,超过这个时间的wal日志会被自动清理,以释放备份机的磁盘空间。
|
||||
* 全量备份保留时间:全量备份的保留时间,超过这个时间的全备会被自动清理,以释放备份机的磁盘空间。
|
||||
* 全量定时备份时间点(星期):可以选择周一到周日,支持多选。
|
||||
* 全量定时备份时间点(小时):在选定的全量定时备份时间,整点开始执行全备。
|
||||
|
||||
> 注意:如果全量定时备份时间点(星期)选择了今天,则创建完备份计划后,稍等一会儿程序会自动拉起一个全备。新建的备份计划会显示WAL接收停止,此时无需担心,因为在下一次全备开始时,才会启动WAL接收进程,当前这种状态是正常的。
|
||||
|
||||
5.3 除了按照备份计划指定的时间点自动备份外,我们还可以点击立即备份来执行一次全备,也可以输入pg_basebackup的参数:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
5.4 当在日志中看到Success时,说明全备已经执行完成:
|
||||
|
||||

|
||||
|
||||
5.5 我们移步到备份数据,查看备份数据列表:
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## 6. 恢复数据库
|
||||
|
||||
6.1 数据备份-> 恢复数据库-> +恢复数据库,填写相关信息后点击提交:
|
||||
|
||||

|
||||
|
||||
> 注意:数据库软件需要选择与源库的大版本相同的版本。
|
||||
|
||||
6.2 当在日志中看到Success时,说明数据库已经恢复成功了,并且已经还原到指定的时间点(这里因为我们的测试数据库是空的,所以会很快,正常的生产环境需要一定的时间拷贝数据和应用日志):
|
||||
|
||||

|
||||
|
||||
6.3 我们退回到恢复数据库列表,点击刷新按钮,此时可以看到我们恢复出来的数据库:
|
||||
|
||||

|
||||
|
||||
> 注意:这里还原出来的数据库不会设置用户的环境变量,也不会启动数据库。
|
||||
|
||||
6.4 我们登录到10.197.166.38主机上,查看还原的数据库:
|
||||
|
||||
```sh
|
||||
[root@clup-club03 ~]# su - postgres
|
||||
Last login: Wed Aug 30 05:03:53 EDT 2023 on pts/0
|
||||
[postgres@clup-club03 ~]$ cd /data/pgdata10/
|
||||
[postgres@clup-club03 pgdata10]$ ls
|
||||
backup_label log pg_ident.conf pg_replslot pg_stat_tmp PG_VERSION postgresql.conf
|
||||
base pg_commit_ts pg_logical pg_serial pg_subtrans pg_wal recovery.conf
|
||||
current_logfiles pg_dynshmem pg_multixact pg_snapshots pg_tblspc pg_xact
|
||||
global pg_hba.conf pg_notify pg_stat pg_twophase postgresql.auto.conf
|
||||
[postgres@clup-club03 pgdata10]$
|
||||
```
|
||||
|
||||
6.5 我们可以配置下环境变量,然后启动数据库:
|
||||
|
||||
```sh
|
||||
[postgres@clup-club03 pgdata10]$ vi ~/.bashrc
|
||||
# .bashrc
|
||||
# ====== Add by clup init env **do not modify** begin
|
||||
export PATH=/usr/csupg-10.20/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/usr/csupg-10.20/lib:$LD_LIBRARY_PATH
|
||||
export PGDATA=/data/pgdata10
|
||||
export PGHOST='/tmp'
|
||||
export PGPORT=5410
|
||||
# ====== Add by clup init env **do not modify** end
|
||||
...
|
||||
|
||||
# 加载下环境变量
|
||||
[postgres@clup-club03 pgdata10]$ source ~/.bashrc
|
||||
[postgres@clup-club03 pgdata10]$
|
||||
[postgres@clup-club03 pgdata10]$ pg_ctl start
|
||||
waiting for server to start....2023-08-30 05:08:27.989 EDT [1767] LOG: 00000: listening on IPv4 address "0.0.0.0", port 5410
|
||||
2023-08-30 05:08:27.989 EDT [1767] LOCATION: StreamServerPort, pqcomm.c:593
|
||||
2023-08-30 05:08:27.989 EDT [1767] LOG: 00000: listening on IPv6 address "::", port 5410
|
||||
2023-08-30 05:08:27.989 EDT [1767] LOCATION: StreamServerPort, pqcomm.c:593
|
||||
2023-08-30 05:08:27.994 EDT [1767] LOG: 00000: listening on Unix socket "/tmp/.s.PGSQL.5410"
|
||||
2023-08-30 05:08:27.994 EDT [1767] LOCATION: StreamServerPort, pqcomm.c:587
|
||||
2023-08-30 05:08:28.094 EDT [1767] LOG: 00000: redirecting log output to logging collector process
|
||||
2023-08-30 05:08:28.094 EDT [1767] HINT: Future log output will appear in directory "log".
|
||||
2023-08-30 05:08:28.094 EDT [1767] LOCATION: SysLogger_Start, syslogger.c:666
|
||||
done
|
||||
server started
|
||||
```
|
||||
|
||||
6.6 由于之前我们创建源库时使用的操作系统用户是pg10,在pg_hba.conf中会添加postgres用户的关系映射,所以当前直接使用psql无法直接登录,需要修改下pg_hba.conf文件:
|
||||
|
||||
```sh
|
||||
cd $PGDATA
|
||||
vi pg_hba.conf
|
||||
...
|
||||
local all all peer map=postgres
|
||||
...
|
||||
local replication all peer map=postgres
|
||||
|
||||
# 去除local后面的map=postgres
|
||||
```
|
||||
|
||||
6.7 重新加载下配置,再使用psql就可以进入数据库了:
|
||||
|
||||
```sh
|
||||
[postgres@clup-club03 pgdata10]$ pg_ctl reload
|
||||
server signaled
|
||||
[postgres@clup-club03 pgdata10]$ psql
|
||||
psql (10.20 (CSUDATA.COM CentOS 7))
|
||||
Type "help" for help.
|
||||
|
||||
postgres=#
|
||||
```
|
||||
|
||||
|
||||
|
||||
## 7. 集群添加备库节点
|
||||
|
||||
7.1 先将集群离线,HA集群->HA管理->离线:
|
||||
|
||||

|
||||
|
||||
7.2 数据库管理->数据库列表->更多->搭备库,在`10.197.166.37`下搭建一个备库:
|
||||
|
||||

|
||||
|
||||
7.3 填写相关信息后点击提交即可:
|
||||
|
||||

|
||||
|
||||
7.3 当在日志中看到Success时,说明备库搭建成功:
|
||||
|
||||

|
||||
|
||||
7.4 我们移步到HA集群->HA管理->详情,可以看见`10.197.166.38`已经在集群里了:
|
||||
|
||||

|
||||
|
||||
## 8. 监控管理
|
||||
|
||||
clup提供主机的基本监控以及数据库的基本监控。
|
||||
|
||||
### 8.1 主机性能监控
|
||||
|
||||
监控管理->主机性能监控->(选择相应的主机)点击主机监控:
|
||||
|
||||

|
||||
|
||||
基本监控栏提供CPU、内存、swap的监控:
|
||||
|
||||

|
||||
|
||||
网络监控栏提供网络的收发包、网络流量的监控:
|
||||
|
||||

|
||||
|
||||
磁盘监控栏提供磁盘的流量、IOPS的监控:
|
||||
|
||||

|
||||
|
||||
### 8.2 数据库监控
|
||||
|
||||
监控管理->数据库监控->(选择相应的主机)点击数据库监控:
|
||||
|
||||

|
||||
|
||||
基本监控栏提供数据库磁盘目录使用率、数据库连接数、WAL日志吞吐率、流复制连接数、备库延迟的监控:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
数据库监控栏提供了数据行操作统计、(每秒数据块读数、块命中数)、(每秒的事务数、提交数、回滚数)的监控:
|
||||
|
||||

|
||||
|
||||
TopSQL监控栏需要开启后才会收集信息。注意,非必要请不要开启,否则可能会导致clup服务端的数据库增长过大使磁盘空间耗尽,进而导致程序无法正常运行:
|
||||
|
||||

|
||||
|
||||
## 9. 报警管理
|
||||
|
||||
注意:社区版不支持报警定义及报警方式配置(发送告警信息),可以查看和标记相关的告警信息。
|
||||
|
||||

|
||||
|
||||
## 10. 用户管理
|
||||
|
||||
clup中的用户管理与PostgreSQL中的用户管理类似,采用用户和角色两种账户,可以为角色分配相关权限,然后给用户分配相关角色,使其拥有所需的权限。
|
||||
|
||||
### 10.1 添加角色
|
||||
|
||||
权限管理->角色列表->添加角色:
|
||||
|
||||

|
||||
|
||||
填写用户名,备注信息可以不填:
|
||||
|
||||

|
||||
|
||||
为指定的角色设置权限:
|
||||
|
||||

|
||||
|
||||
### 10.2 添加用户
|
||||
|
||||
用户列表->添加用户->添加相关信息后点击立即提交即可:
|
||||
|
||||

|
||||
|
||||
分配角色给新建的用户:
|
||||
|
||||

|
||||
|
||||

|
138
src/快速部署.md
Normal file
@ -0,0 +1,138 @@
|
||||
# 快速部署
|
||||
|
||||
## 1. 架构解读
|
||||
|
||||
CLup程序分两个模块:
|
||||
|
||||
- clup-server: 通常需要一台单独的机器安装此模块,此管理模块提供WEB界面以及其他的管理功能,高可用功能也是由此模块完成。clup-server从这台机器上去探测各个数据库是否正常,如果不正常,会执行相应的高可用切换动作。要求这台机器可以访问所有的数据库主机。
|
||||
- clup-agent: 每台数据库主机上都需要安装此模块,clup-server模块是通过向每台数据库主机上的clup-agent程序发送命令来完成对每台机器上的数据库的控制。
|
||||
|
||||
部署的架构图:
|
||||

|
||||
|
||||
## 2. 机器的规划
|
||||
|
||||
部署CLup我们使用4台虚拟机,操作系统使用CentOS7.6,其中一台机器部署clup-server,其它3台机器上跑数据库并安装部署clup-agent程序。
|
||||
|
||||
| 主机名 | IP | 作用 |
|
||||
| :-------------- | :------------ | :------------------------- |
|
||||
| clup-clubServer | 10.197.166.35 | 部署clup-server |
|
||||
| clup_club01 | 10.197.166.36 | 数据库机器,部署clup-agent |
|
||||
| clup_club02 | 10.197.166.37 | 数据库机器,部署clup-agent |
|
||||
| clup_club03 | 10.197.166.38 | 数据库机器,部署clup-agent |
|
||||
|
||||
> 注意:对于社区版本有CPU的核数限制(最多20核心),可以选择使用2核心虚拟机9台或者4核心虚拟机5台,这样就不会超过社区版本的CPU核数限制。如果测试需要更多核心、解锁更多功能,可以电话0571-87603386,申请一个试用的license。
|
||||
|
||||
## 3. 安装clup-server
|
||||
|
||||
在10.197.166.35机器上的`/opt`目录下:
|
||||
|
||||
```sh
|
||||
cd /opt
|
||||
```
|
||||
|
||||
安装csumdb数据库模块,下载csumdb安装包:
|
||||
|
||||
```sh
|
||||
wget https://gitee.com/csudata/clup-community/releases/download/5.0.2/csumdb1.0.0.el7.x86_64.bin
|
||||
```
|
||||
|
||||
执行安装
|
||||
|
||||
```sh
|
||||
[root@clup-clubServer opt]# bash csumdb1.0.0.el7.x86_64.bin
|
||||
==== Installation is starting ...
|
||||
==== Installation is complete.
|
||||
```
|
||||
|
||||
安装clup-server模块,下载clup-server安装包:
|
||||
|
||||
```sh
|
||||
wget https://gitee.com/csudata/clup-community/releases/download/5.0.3/clup5.0.3.el7.x86_64.bin
|
||||
```
|
||||
|
||||
执行安装
|
||||
|
||||
```sh
|
||||
[root@clup-clubServer opt]# bash clup5.0.3.el7.x86_64.bin
|
||||
==== Installation is starting ...
|
||||
==== Your ip is 10.197.166.35/20
|
||||
==== register systemd service ...
|
||||
register service sucessfully.
|
||||
please use: "systemctl start clup" to start clup.
|
||||
==== register systemd service ok.
|
||||
==== Installation is complete.
|
||||
# 注意:多网卡时需要输入指定的网络
|
||||
```
|
||||
|
||||
然后我们在浏览器输入 [http://10.197.166.35:8090](http://10.197.166.358090/) ,打开WEB界面:
|
||||
|
||||

|
||||
|
||||
默认的用户名为:admin
|
||||
默认密码为:cstech
|
||||
|
||||
输入后就可以登陆CLup的管理界面了。WEB界面中可以管理的数据库当前都是空的,还需要在数据库主机中安装clup-agent后,才能进一步的操作。
|
||||
|
||||
## 4. 安装clup-agent
|
||||
|
||||
在需要部署数据库的主机上安装clup-agent。在本示例是在10.197.166.36、10.197.166.37、10.197.166.38机器上安装clup-agent。
|
||||
|
||||
下载clup-agent安装程序:
|
||||
|
||||
```sh
|
||||
wget https://gitee.com/csudata/clup-community/releases/download/5.0.3/clup-agent5.0.3.el7.x86_64.bin
|
||||
```
|
||||
|
||||
运行:`bash `:
|
||||
|
||||
```sh
|
||||
[root@clup_club01 opt]# bash clup-agent5.0.3.el7.x86_64.bin
|
||||
|
||||
...
|
||||
Installed:
|
||||
psmisc.x86_64 0:22.20-17.el7
|
||||
|
||||
Complete!
|
||||
==== Your ip is 10.197.166.36/20
|
||||
```
|
||||
|
||||
> 注意安装过程中会自动安装依赖项,一般就只有`psmisc.x86_64`。
|
||||
|
||||
需要输入clup-server端的IP地址,这里是10.197.166.35,输入后回车即可
|
||||
|
||||
```sh
|
||||
Enter Clup Server IP Addr: 10.197.166.35
|
||||
|
||||
Clup Server ip is 10.197.166.35!
|
||||
==== register systemd service ...
|
||||
2023-08-06 23:21:18,161 INFO clup-agent v5.0.2beta1 Copyright (c) 2018-2022 CSUDATA.COM All rights reserved.
|
||||
Created symlink from /etc/systemd/system/multi-user.target.wants/clup-agent.service to /etc/systemd/system/clup-agent.service.
|
||||
register service sucessfully.
|
||||
please use: "systemctl start clup-agent" to start clup-agent.
|
||||
==== register systemd service ok.
|
||||
==== Installation is complete.
|
||||
```
|
||||
|
||||
等所有机器安装完成后我们登录到clup的web界面上查看,系统管理->Agent状态管理:
|
||||
|
||||

|
||||
|
||||
通过上图我们可以看到三台机器的状态都是UP,表示clup-agent服务正常。
|
||||
|
||||
## 5. 安装PostgreSQL数据库
|
||||
|
||||
可以使用PostgreSQL官方提供的方法安装PostgreSQL。但这里为了方便大家快速的入门,这里提供了一个快速安装的PostgreSQL数据库的方法,下载安装包:
|
||||
|
||||
```sh
|
||||
# https://gitee.com/csudata/csupg/releases
|
||||
wget https://gitee.com/csudata/csupg/releases/download/csupg_el7/csupg-14.9.el7.x86_64.bin
|
||||
```
|
||||
|
||||
安装:
|
||||
|
||||
```sh
|
||||
bash csupg-14.9.el7.x86_64.bin
|
||||
# 数据库软件的目录会生成在/usr下
|
||||
```
|
||||
|
115
src/社区版本规划.md
Normal file
@ -0,0 +1,115 @@
|
||||
# CLUP社区版本规划
|
||||
|
||||
|
||||
|
||||
## 社区版与商业版功能对比
|
||||
|
||||
| 序号 | 功能 | 社区版本 | 商业版本 |
|
||||
| ---- | -------------------------------- | -------------------- | ------------------------------------------------------------ |
|
||||
| 1 | 费用 | 永久免费 | 按规模收费 |
|
||||
| 2 | 支持的操作系统 | CentOS7.X、CentOS8 | CentOS7.X、CentOS8、Rocky Linux 8、Oracle Linux 8、<br />debian11、openEuler、银河麒麟、统信、alpine |
|
||||
| 3 | 支持的数据库 | PostgreSQL、PolarDB | PostgreSQL、PolarDB |
|
||||
| 4 | 支持的CPU | x86_64 | x86_64、aarch64(鲲鹏、飞腾等) |
|
||||
| 5 | 创建数据库 | 可创建3个主库6个备库 | 无限制 |
|
||||
| 6 | 纳管已有数据库 | 不支持 | 支持 |
|
||||
| 7 | 启动数据库 | 支持 | 支持 |
|
||||
| 8 | 停止数据库 | 支持 | 支持 |
|
||||
| 9 | 删除数据库 | 支持 | 支持 |
|
||||
| 10 | 查询计划 | 支持 | 支持 |
|
||||
| 11 | 重启数据库 | 支持 | 支持 |
|
||||
| 12 | Web端登录主机 | 支持 | 支持 |
|
||||
| 13 | Web端psql连接 | 支持 | 支持 |
|
||||
| 14 | 搭建备库 | 支持 | 支持 |
|
||||
| 15 | 切换上级库 | 支持 | 支持 |
|
||||
| 16 | 激活备库 | 支持 | 支持 |
|
||||
| 17 | 修改数据库参数 | 支持 | 支持 |
|
||||
| 18 | 会话管理 | 支持 | 支持 |
|
||||
| 19 | 锁管理 | 支持 | 支持 |
|
||||
| 20 | 创建PostgreSQL流复制高可用集群 | 最多可搭建3套 | 无限制 |
|
||||
| 21 | 创建PolarDB共享存储高可用集群 | 最多可搭建3套 | 无限制 |
|
||||
| 22 | 创建PostgreSQL共享存储高可用集群 | 不支持 | 无限制 |
|
||||
| 23 | 纳管PostgreSQL流复制高可用集群 | 不支持 | 无限制 |
|
||||
| 24 | 纳管PolarDB共享存储高可用集群 | 不支持 | 无限制 |
|
||||
| 25 | 纳管PostgreSQL共享盘高可用集群 | 不支持 | 无限制 |
|
||||
| 26 | 已有备库纳入集群 | 不支持 | 支持 |
|
||||
| 27 | 集群设置 | 支持 | 支持 |
|
||||
| 28 | 机房管理 | 支持 | 支持 |
|
||||
| 29 | 高可用切换 | 支持 | 支持 |
|
||||
| 30 | 查看备库延迟 | 支持 | 支持 |
|
||||
| 31 | 查看当前LSN | 支持 | 支持 |
|
||||
| 32 | 查看集群拓扑图 | 支持 | 支持 |
|
||||
| 33 | 故障数据库加回集群 | 支持 | 支持 |
|
||||
| 34 | ESDisk共享盘管理 | 不支持 | 支持 |
|
||||
| 35 | 集群主机一键登录 | 不支持 | 支持 |
|
||||
| 36 | 创建PG物理备份的备份计划 | 支持 | 支持 |
|
||||
| 37 | 创建通用备份的备份计划 | 不支持 | 支持 |
|
||||
| 38 | 查看备份数据信息 | 支持 | 支持 |
|
||||
| 39 | 备份数据导入 | 不支持 | 支持 |
|
||||
| 40 | 恢复数据库 | 支持 | 支持 |
|
||||
| 41 | 主机性能监控 | 支持 | 支持 |
|
||||
| 42 | 数据库监控 | 支持 | 支持 |
|
||||
| 43 | 数据库巡检 | 不支持 | 支持 |
|
||||
| 44 | 数据库报警定义 | 不支持 | 支持 |
|
||||
| 45 | 主机报警定义 | 不支持 | 支持 |
|
||||
| 46 | 报警方式配置 | 不支持 | 支持 |
|
||||
| 47 | 报警查看 | 支持 | 支持 |
|
||||
| 48 | 用户管理 | 支持 | 支持 |
|
||||
| 49 | 用户权限管理 | 支持 | 支持 |
|
||||
| 50 | Agent状态管理 | 支持 | 支持 |
|
||||
| 51 | CLUP参数设置 | 不支持 | 支持 |
|
||||
| 52 | Agent端CPU核心数 | 所有机器合计20核 | 无限制 |
|
||||
| 53 | 技术支持 | 社区支持 | 专人支持 |
|
||||
|
||||
|
||||
|
||||
## 社区版最佳实践
|
||||
|
||||
### 数据库版本支持
|
||||
|
||||
| 序号 | 数据库类型 | 支持版本 |
|
||||
| ---- | ---------- | ------------- |
|
||||
| 1 | PostgreSQL | 9.6.x~14.9 |
|
||||
| 2 | PolarDB | PolarDB社区版 |
|
||||
|
||||
> 数据库中需要安装pg_stat_statements插件,欢迎下载使用中启开源编译好的PG数据库软件,里面已经安装好了常用的插件[csupg: 中启乘数开源的PostgreSQL发行版本](https://gitee.com/csudata/csupg)。
|
||||
|
||||
|
||||
|
||||
### 规格限制
|
||||
|
||||
| 序号 | 项目 | 数量 | 备注 |
|
||||
| ---- | ---------- | ---- | ------------------------------------------------------------ |
|
||||
| 1 | 高可用集群 | 3 | 可搭建PostgreSQL或PolarDB共享存储高可用集群,PolarDB共享存储高可用集群需要自建共享盘。 |
|
||||
| 2 | 主库 | 3 | 主库数量与高可用集群的主库数量共享。 |
|
||||
| 2 | 备库 | 6 | |
|
||||
| 3 | CPU核心 | 20 | 安装clup-agent机器(部署数据库的机器)的CPU核心数合计。 |
|
||||
|
||||
> 根据规格限制,最多可以搭建三套一主两备高可用集群,每台数据库所在的虚拟机限制2个CPU核心,共9台机器。
|
||||
|
||||
### 机器准备
|
||||
|
||||
| 序号 | 项目 | 规格 | 备注 |
|
||||
| ---- | ------------ | -------------------------- | ------------------------------------ |
|
||||
| 1 | CPU架构 | x86_64 | |
|
||||
| 2 | 操作系统 | CentOS7.X、CentOS8、Rocky8 | 下载对应版本的clup及clup-agent安装包 |
|
||||
| 3 | clup服务主机 | 2核心4G内存及以上 | 可以是虚拟机,存储20GB及以上 |
|
||||
| 4 | 数据库主机 | 9台2核心的虚拟机 | 也可以是5台4核心的虚拟机 |
|
||||
|
||||
|
||||
|
||||
## 软件依赖
|
||||
|
||||
CLup管理机器上需要安装以下依赖包
|
||||
|
||||
```sh
|
||||
yum install -y tcl tcl-devel tk
|
||||
```
|
||||
|
||||
clup-agent部署的主机上安装以下依赖包
|
||||
|
||||
```sh
|
||||
yum -y install ipmitool psmisc
|
||||
```
|
||||
|
||||
> clup-agent机器上需要安装ipmitool、psmisc,clup-agent需要使用ipmitool中的ipmitool命令,以及psmisc包中的fuser命令。
|
||||
|