中国移动磐维数据库(ChinaMobileDB),简称“磐维数据库”(CMDB)。是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。
其产品内核能力基于华为 OpenGauss 开源软件,并进一步提升了系统稳定性。
本文将介绍在磐维数据库部署安装之前需要进行的环境检查项,以及介绍各检查项的作用。
1.网络要求
(1)磐维集中式要求一主两备,三台服务器之间首先要保证可以ping通,不发生丢包现象。
ping ip
(2)三台主机ssh(Secure Shell)登陆正常,不同主机之间可以进行ssh切换。
ssh 用户名@ip
(3)17700-17710、18800-18801、22、9187、9100端口放开。
这里介绍一下相应的端口所对应的功能:
17700:磐维数据库的运行端口。(为了保险起见,建议保留端口范围为17700-17710,其中17701可能是wal流复制传输端口)
18800:cm高可用组件的运行端口。(保留端口范围为18800-18801)
22:用于SSH(Secure Shell)服务,它提供了一种安全的远程登录和执行命令的方式。SSH 可用于远程管理服务器、在服务器之间进行安全的数据传输等。
9100:node-exporter 的默认端口,用于监控 Linux 操作系统,采集系统指标信息,主要与系统磁盘、CPU 等相关。
9187:exporter 采用默认侦听端口用于采集数据库相关信息,主要是从数据库的部分系统表和视图中采集数据,采集到的信息可用于监控和分析数据库的状态、性能等方面。
2.磁盘raid
(1)raid5或raid10。
(2)磁盘做压测,确保正常。
有关于磁盘raid(独立磁盘冗余阵列),是一种把多个独立的硬盘组合起来形成一个逻辑硬盘的技术,磁盘raid可以提高数据存储的性能、增强数据的可靠性和容错能力和增加存储容量。
3.磁盘挂载
查看磁盘挂载命令
lsblk
根据盘的块数,有不同的挂载方式,此处介绍三种方式:
(1)一块盘:/backup、/archive、/database挂成三个分区。
(2)两块盘:一块挂到/database目录下,当作数据盘;另一块两个分区:备份目录/backup;归档目录/archive。
(3)三块盘:分别挂载到/backup、/archive、/database目录下。
建议:/database:/archive:/backup空间比为1:1:3
/database盘为确保数据不丢失会设置超过使用率85%只读,并且会生成xlog日志,建议为数据量的50%-70%
/archive盘作为数据恢复时使用的日志,目前建议策略是:每两小时删除十天前的归档,可以根据业务交互量进行评估
/backup盘作为全量备份盘,目前建议策略是:每三天进行一次全备,保留3份(实际备份策略以业务要求为准)
备2节点对备份归档盘没有强制要求
4.文件系统
blkid
(1)文件系统使用XFS。
有关于XFS(eXtended File System)是一种高性能的日志文件系统,使用XFS有大容量支持、高性能、日志功能和扩展性强等优势。
(2)挂载方式使用LVM逻辑卷方便扩容。
有关于LVM(Logical Volume Manager,逻辑卷管理器)是一种用于管理磁盘空间的机制,它允许在不重新分区或不影响现有数据的情况下,动态地调整逻辑卷的大小。
5.时间同步
三台服务器要保证时间同步。
date
如果时间不同步,要怎么解决呢?我们可以使用可以使用网络时间协议(NTP)来实现:
(1)安装NTP服务:三台服务器都需要安装NTP服务,可以使用以下命令进行安装:
sudo apt-get update
sudo apt-get install ntp
(2)配置NTP服务器:编辑NTP配置文件/etc/ntp.conf,三台服务器都需要进行以下配置:
找到pool或server字段,在下方添加NTP服务器地址。例如,添加以下三个服务器:
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
保存并退出配置文件。
重启NTP服务:在每台服务器上使用以下命令重启NTP服务以使配置生效:
sudo service ntp restart
检查时间同步:可以使用ntpq -p命令来检查NTP客户端是否能够与NTP服务器进行时间同步。如果输出中的remote列显示*,表示已成功与NTP服务器同步时间。
6.网卡bond
(1)网卡做bond。
有关于网卡做 bond(绑定),也叫作网卡捆绑,就是将两个或者更多的物理网卡绑定成一个虚拟网卡。通过这种方式,可以将多块网卡虚拟成为一块网卡,对外提供服务,使用同一个 IP 地址(MAC 地址的配置不一定相同)。多网卡绑定需要一个额外的软件 bond 驱动程序来实现,它可以屏蔽多块物理网卡,并在 tcp/ip 协议层只呈现出一个 bond 网卡。
(2)保证三台服务器网卡名相同。
7.IP和VIP
ifconfig
(1)同机房服务器业务IP和VIP在同一网段。
(2)跨资源池的VIP 和至少两个服务器业务IP同一网段。
8、yum源
确认yum源安装所需依赖没问题,命令参考(numactl,keepalived,libnsl需要单独yum)
yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel python3 expect* bzip2 libnsl gcc gcc-c++ zlib-devel ncurses-devel
yum install numactl
yum install keepalived
yum install -y libnsl
9.服务器重启,需保证
(1)盘自动挂载。
要确保服务器重启后磁盘自动挂载,需要将磁盘挂载信息添加到/etc/fstab
文件中。/etc/fstab
文件用于保存系统启动时需要自动挂载的文件系统信息。以下是一般的步骤:
- 查看磁盘信息:使用
fdisk -l
命令查看服务器上的磁盘及分区情况,找到需要自动挂载的磁盘分区。 - 挂载磁盘(如果尚未挂载):使用
mount
命令将磁盘挂载到指定的目录,例如mount /dev/vdb1 /data
(假设要挂载的分区为/dev/vdb1
,挂载点为/data
)。 - 获取磁盘分区的 UUID(通用唯一标识符):使用
blkid
命令查看磁盘分区的 UUID,例如blkid /dev/vdb1
。 - 编辑
/etc/fstab
文件:使用文本编辑器(如vi
或nano
)打开/etc/fstab
文件。
在文件的末尾添加一行,格式如下:
例如:
UUID=f524c7a6-4fbb-41a9-8640-54e4e0ae69c1 /data ext4 defaults 0 0
其中:
:使用步骤 3 中获取到的磁盘分区 UUID 替换。
:指定磁盘要挂载的目录,例如
/data
。:如
ext4
、xfs
等,根据实际情况填写。:常见的选项包括
defaults
(使用默认选项)、rw
(读写权限)等,可根据需要设置。:一般为 0,表示不进行转储。
:0 表示不检查,1 表示最先检查(通常为根文件系统),2 表示其他文件系统检查。
添加完成后,保存并关闭文件。
(2)网卡正常。
10.提供切换root用户方式(包括root密码)
11.检查hostname及操作系统
hostnamectl
12.提供root密码或root互信创建完成。
ip和hostname都能ssh免密登录。
13.态势
如/etc/bashrc文件下有如下图所示的三个readonly环境变量,需注释omm家目录下的~/.bashrc文件中的source global definitions相关命令。参考第二张图中红框中的部分