安装数据库与初始化共享存储设备
如果提前已经配置HAS,请先关闭HAS服务。
数据库安装可以根据是否有数据分为首次初始化和已存在实例目录,由于代码在新版本中添加了强制用户密码修改,处理情况如下:
代码分支 | 版本号 | 首次初始化 | 已存在实例目录 |
---|---|---|---|
V2.2 Build 8及以上 | ALL | 执行步骤1,2,3,4 | 执行步骤1,2,无需初始化实例。 将实例拷贝到主节点中共享数据存储的数据库目录。 |
V2.2 Build 6 | ALL | 执行步骤1,2,3,4 | |
V2.2 Build 5 | V2.2 Build 5.51之前版本 | 执行步骤1,2,3 | |
V2.2 Build 5.51及以后版本 | 执行步骤1,2,3,4 |
操作步骤
步骤1 准备共享存储与仲裁存储设备
1、添加设备。
准备两个lun裸存储设备并添加至两个节点。通过fdisk -l
查看是否添加成功。
若两个节点都出现了添加的两个设备即为成功。
vastbase.yml 中的 arbitration_file_path 需要根据主、备节点的仲裁设备实际路径配置。
二者一致时,如本文示例中在vastbase.yml配置文件中配置了两个节点的路径都为
arbitration_file_path: /dev/sdc
。二者不一致时,则需要在vastbase.yml配置文件中配置实际的设备路径。
从这里开始格式化共享存储设备,仲裁存储设备无需进行以下步骤,且只需在主节点进行。
2、创建物理卷。
pvcreate /dev/sdb
3、使用物理卷创建卷组。
vgcreate vg1 /dev/sdb
4、创建逻辑卷。
lvcreate -L 500G -n lv1 vg1
5、格式化为xfs格式文件系统。
mkfs.xfs -b size=4096 /dev/mapper/vg1-lv1
6、blkid
查看所创建的逻辑卷的uuid。
如图所示,最下一行中间为对应UUID。如未出现此行则激活物理卷:
vgchange -ay vg1
7、将逻辑卷挂载至需要的目录。其中-U
指定的uuid,可参考上一步的返回结果。
mount -U ${uuid} /data
由于failover时,HAS会自动杀掉正在使用挂载点的进程,因此需要保证,该挂载点目录只能用于存储本方案的数据库实例,不能用于其他业务用途。
8、在 /data中创建vastbase目录并修改目录权限。
mkdir -p /data/vastbase
cd /data
chown vastbase:vastbase /data/vastbase
9、在备节点通过blkid
查看创建的逻辑卷vg1-lv1是否存在。
(1)如不存在,首先尝试在备节点执行vgchange -ay vg1
并再次查看。
(2)如仍不存在则需重启备节点系统以刷新备节点磁盘信息。
步骤2 安装数据库
根据操作系统版本下载对应的Vastbase数据库安装包。在所有节点上,参考单机部署进行安装。
注意事项
所有节点安装数据库时,Vastbase软件安装目录应在本地存储中,注意不能安装到共享存储中。
主节点也可以选择不初始化数据库(不推荐,该种方式需要自行配置性能参数)。 安装完成后在软件安装目录下的工具目录中(默认local/vastbase,下文使用$PG_HOME表示该目录)使用vb_initdb工具进行手动初始化:
$PG_HOME/bin/vb_initdb -D /data/vastbase --nodename=vb1
参数说明:
- -D:参数为数据目录路径。
- --nodename:数据库实例的名称。可以自由填写。
如果备节点选择了实例化安装数据库,则安装后需将备节点数据库的数据目录删除
rm -rf $PGDATA
,$PGDATA为数据库数据目录。
步骤3 配置数据库
1、配置访问控制文件。
查看配置文件pg_hba.conf,如果无以下内容,则向/data/vastbase/pg_hba.conf末尾写入,否则跳过:
host all all 0.0.0.0/0 md5
2、配置license与数据库监听。
在/data/vastbase/postgresql.conf追加以下两行:
license_path = '${license文件路径}'
listen_addresses = '*'
其中${license文件路径}
应写入许可文件的存放路径,具体到文件名,可参考下图格式。
步骤4 修改用户密码
1、启动数据库,使用如下命令以vbadmin用户登录数据库。
vb_ctl start -D /data/vastbase
vsql -r -U vbadmin -d vastbase
2、修改用户vbadmin的密码。
ALTER ROLE vbadmin IDENTIFIED BY 'new password' REPLACE 'old password';
3、关闭数据库。
vb_ctl stop -D /data/vastbase