外观
GaussDB 集群管理命令
集群状态管理命令
1. gs_ctl
gs_ctl 是 GaussDB 集群状态管理的核心工具,用于启动、停止、重启数据库实例,以及查看数据库状态等。
启动数据库实例:
bash# 启动单个数据库实例 gs_ctl start -D /data/gaussdb # 启动所有数据库实例(在主节点执行) gs_ctl start -D /data/gaussdb -a停止数据库实例:
bash# 正常停止数据库实例 gs_ctl stop -D /data/gaussdb # 强制停止数据库实例 gs_ctl stop -D /data/gaussdb -m fast # 立即停止数据库实例 gs_ctl stop -D /data/gaussdb -m immediate重启数据库实例:
bash# 重启数据库实例 gs_ctl restart -D /data/gaussdb查看数据库状态:
bash# 查看数据库状态 gs_ctl status -D /data/gaussdb # 查看详细状态信息 gs_ctl status -D /data/gaussdb -v
2. gs_om
gs_om 是 GaussDB 集群管理工具,用于管理集群节点、查看集群状态、执行集群级操作等。
查看集群状态:
bash# 查看集群状态 gs_om -t status # 查看详细集群状态 gs_om -t status --detail # 查看集群静态配置 gs_om -t config集群节点管理:
bash# 查看节点信息 gs_om -t view # 添加节点 gs_om -t add_node -h new_node_ip # 删除节点 gs_om -t delete_node -n node_name集群服务管理:
bash# 启动集群所有服务 gs_om -t start # 停止集群所有服务 gs_om -t stop # 重启集群所有服务 gs_om -t restart
集群健康检查命令
1. gs_check
gs_check 是 GaussDB 集群健康检查工具,用于检查集群的健康状态、配置一致性、性能状况等。
执行完整健康检查:
bash# 执行所有检查项 gs_check -i all # 执行特定检查项 gs_check -i cpu,memory,disk # 在指定节点执行检查 gs_check -i all -h host1,host2生成检查报告:
bash# 生成 HTML 格式报告 gs_check -i all --html # 生成报告并保存到指定目录 gs_check -i all --output=/tmp/check_report
2. gs_collector
gs_collector 是 GaussDB 集群诊断信息收集工具,用于收集集群的诊断信息,包括日志、配置文件、系统信息等。
- 收集诊断信息:bash
# 收集所有节点的诊断信息 gs_collector --output=/tmp/gaussdb_diagnostic # 收集指定节点的诊断信息 gs_collector --output=/tmp/gaussdb_diagnostic -h host1,host2 # 收集特定类型的诊断信息 gs_collector --output=/tmp/gaussdb_diagnostic --collect-type=log,config
集群配置管理命令
1. gs_guc
gs_guc 是 GaussDB 配置管理工具,用于修改数据库配置参数、查看配置参数等。
查看配置参数:
bash# 查看所有配置参数 gs_guc show -D /data/gaussdb # 查看特定配置参数 gs_guc show -D /data/gaussdb -c "shared_buffers" # 查看配置文件中的参数 gs_guc check -D /data/gaussdb -c "shared_buffers"修改配置参数:
bash# 修改配置文件中的参数 gs_guc set -D /data/gaussdb -c "shared_buffers=128GB" # 在线修改参数(无需重启) gs_guc reload -D /data/gaussdb -c "max_connections=2000" # 在所有节点上修改参数 gs_guc set -I all -c "shared_buffers=128GB"
2. gs_profile
gs_profile 是 GaussDB 性能配置工具,用于生成性能优化建议、查看性能配置等。
- 生成性能优化建议:bash
# 生成性能优化建议 gs_profile --profile-type=performance # 生成内存优化建议 gs_profile --profile-type=memory # 生成 IO 优化建议 gs_profile --profile-type=io
集群备份恢复命令
1. gs_probackup
gs_probackup 是 GaussDB 备份恢复工具,用于备份和恢复数据库实例。
创建备份:
bash# 创建完整备份 gs_probackup backup -B /data/backup -D /data/gaussdb -b full # 创建增量备份 gs_probackup backup -B /data/backup -D /data/gaussdb -b incremental # 创建差异备份 gs_probackup backup -B /data/backup -D /data/gaussdb -b differential查看备份列表:
bash# 查看备份列表 gs_probackup show -B /data/backup # 查看备份详细信息 gs_probackup show -B /data/backup -i backup_id恢复数据库:
bash# 恢复数据库到指定备份 gs_probackup restore -B /data/backup -D /data/gaussdb -i backup_id # 恢复数据库到指定时间点 gs_probackup restore -B /data/backup -D /data/gaussdb -i backup_id --recovery-target-time="2023-10-01 14:30:00"
2. gs_restore
gs_restore 是 GaussDB 数据恢复工具,用于从逻辑备份中恢复数据。
- 恢复数据库:bash
# 从备份文件恢复数据库 gs_restore -d dbname backup_file.dmp # 仅恢复特定表 gs_restore -d dbname backup_file.dmp -t table_name # 仅恢复特定模式 gs_restore -d dbname backup_file.dmp -n schema_name
集群扩展命令
1. gs_expansion
gs_expansion 是 GaussDB 集群扩展工具,用于扩展集群节点、扩容存储等。
扩展集群节点:
bash# 扩展数据节点 gs_expansion -t add_node -c expansion_config.xml # 扩展协调节点 gs_expansion -t add_coordinator -c expansion_config.xml扩容存储:
bash# 扩容表空间 gs_expansion -t extend_tablespace -c expansion_config.xml # 扩容存储池 gs_expansion -t extend_storage_pool -c expansion_config.xml
集群安全管理命令
1. gs_encrypt
gs_encrypt 是 GaussDB 加密工具,用于加密敏感信息,如密码等。
- 加密密码:bash
# 加密密码 gs_encrypt --plaintext "password" --key "encryption_key" # 使用环境变量指定密钥 export GAUSSDB_ENCRYPT_KEY="encryption_key" gs_encrypt --plaintext "password"
2. gs_cryptokey
gs_cryptokey 是 GaussDB 密钥管理工具,用于管理数据库加密密钥。
生成加密密钥:
bash# 生成主密钥 gs_cryptokey --action=generate --type=master # 生成表空间密钥 gs_cryptokey --action=generate --type=tablespace --tablespace=tbs_name备份加密密钥:
bash# 备份主密钥 gs_cryptokey --action=backup --type=master --output=/tmp/master_key.bak # 恢复主密钥 gs_cryptokey --action=restore --type=master --input=/tmp/master_key.bak
常见操作示例
1. 集群启动流程
bash
# 1. 检查集群状态
gs_om -t status
# 2. 启动集群
gs_om -t start
# 3. 验证集群状态
gs_om -t status --detail
# 4. 连接数据库验证
gsql -d postgres -p 5432 -U gaussdb2. 集群备份流程
bash
# 1. 检查备份目录
mkdir -p /data/backup
chown -R gaussdb:gaussdb /data/backup
# 2. 执行完整备份
gs_probackup backup -B /data/backup -D /data/gaussdb -b full
# 3. 验证备份
gs_probackup validate -B /data/backup -i backup_id
# 4. 查看备份列表
gs_probackup show -B /data/backup3. 集群扩容流程
bash
# 1. 准备扩容配置文件
vim expansion_config.xml
# 2. 执行扩容操作
gs_expansion -t add_node -c expansion_config.xml
# 3. 验证扩容结果
gs_om -t status --detail
# 4. 测试新节点
gsql -d postgres -p 5432 -h new_node_ip -U gaussdb注意事项
- 权限要求:大部分集群管理命令需要以
gaussdb用户或 root 用户执行 - 路径正确性:确保指定的数据库目录、备份目录等路径正确
- 备份验证:执行备份操作后,务必验证备份的完整性和可用性
- 集群一致性:在修改集群配置或执行集群操作时,确保集群处于一致状态
- 日志检查:执行重要操作后,检查数据库日志,确保操作成功完成
常见问题(FAQ)
Q1: 如何查看 GaussDB 集群的状态?
A1: 可以使用 gs_om -t status 命令查看集群状态,使用 gs_om -t status --detail 查看详细状态信息。
Q2: 如何启动 GaussDB 集群?
A2: 可以使用 gs_om -t start 命令启动整个集群,或使用 gs_ctl start -D /data/gaussdb 命令启动单个数据库实例。
Q3: 如何修改 GaussDB 配置参数?
A3: 可以使用 gs_guc set 命令修改配置文件中的参数,使用 gs_guc reload 命令在线修改参数(无需重启)。
Q4: 如何备份 GaussDB 集群?
A4: 可以使用 gs_probackup 工具进行物理备份,使用 gs_dump 工具进行逻辑备份。
Q5: 如何扩展 GaussDB 集群?
A5: 可以使用 gs_expansion 工具扩展集群节点或扩容存储,具体操作需要准备扩容配置文件,然后执行扩容命令。
