准备磁盘目录
规划安装目录
自定义安装前需要准备1~4个安装目录,如下:
目录名
默认路径
用途
说明
软件目录
/opt/cluster
除ETCD、DN、LOG组件之外所有组件都安装在该目录下。
建议目录所在盘剩余空间不小于10GB。
可通过df -h /opt/cluster查看,回显如下:
Filesystem Size Used Avail Use% Mounted on
/dev/vdb 98G 61M 93G 1% /opt/cluster
剩余可用空间为“Avail”列,如上剩余空间大小为93GB。
数据目录(ETCD)
/opt/cluster/usr/local/etcd
ETCD数据目录。
建议目录所在盘剩余空间不小于64GB。
数据目录(DN)
/opt/cluster/var/lib/engine/data1/data
数据库数据目录。
建议目录所在盘剩余空间不小于dn数*40GB。
日志目录
/opt/cluster/var/lib/log
数据库日志目录。
建议目录所在盘剩余空间不小于20GB。
NOTICE:
- 目录不能为“/”、“/var/chroot”,不能以“/home”开头,不能以“/”结尾。
- 目录需要由大小写字符、数字和下划线_组成。
- 目录长度不能超过90个字符。
- 目录不能相同。
- 当目录存在时,请确保数据目录(ETCD)、数据目录(DN)下为空。
- 如果需要对/opt挂盘,请在添加主机前操作。添加主机后,请勿对/opt目录挂盘。
- 系统盘大小建议大于100G且系统盘/目录(即根目录)建议大于40G,否则实例会有部分操作失败的风险(如版本升级)。
以默认安装路径为例,路径权限配置要求如下。
路径
权限
属主
/opt/cluster
全路径 755
root:root或Ruby:Ruby
/opt/cluster/usr/local/etcd
全路径 755
Ruby:Ruby
/opt/cluster/var/lib/engine/data1/data
全路径 755
Ruby:Ruby
/opt/cluster/var/lib/log
全路径 755
Ruby:Ruby
以下为所有路径都挂载磁盘,并设置完目录权属的示例:
- 请提前做好路径规划,错误的挂载或不挂载磁盘,会导致数据库安装到预期外的磁盘,这可能影响数据库稳定性。
- 请为挂载点配置启动挂载,一般配置在/etc/fstab,不同的OS可能有存在差异,具体请联系OS服务提供商确认。
安装DM模式实例操作步骤
假设安装实例到vdb、vdc、vdd、vde上,软件目录、数据目录(ETCD)、数据目录(DN)、日志目录均挂载磁盘。以默认路径安装目录为例:
-
以root用户登录主机,执行以下命令,创建软件目录的空目录。
umask 0022;mkdir -p /opt/cluster
-
执行以下命令,对磁盘设备进行Ext4格式化。
mkfs.ext4 /dev/vdb
回显如下:
mke2fs 1.45.6 (20-Mar-2020) /dev/vdb contains a LVM2_member file system Proceed anyway? (y,N) y 64-bit filesystem support is not enabled. The larger fields afforded by this feature enable full-strength checksumming. Pass -O 64bit to rectify. Creating filesystem with 78643200 4k blocks and 19660800 inodes Filesystem UUID: 9316ee9c-b47f-4342-8a30-3dccb14d3cf7 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done -
执行以下命令,挂载目录。
mount /dev/vdb /opt/cluster
挂载结果如下:
vdb 252:16 0 300G 0 disk /opt/cluster -
执行以下命令,配置开机自动挂载。
echo "/dev/vdb /opt/cluster ext4 nodev,nosuid,noatime 0 1" >> /etc/fstab
-
重复执行1~4,挂载数据目录(ETCD)、数据目录(DN)、日志目录到vdc、vdd、vde上,挂载结果如下。
vdb 253:16 0 100G 0 disk /opt/cluster vdc 253:32 0 100G 0 disk /opt/cluster/usr/local/etcd vdd 253:48 0 300G 0 disk /opt/cluster/var/lib/engine/data1/data vde 253:64 0 100G 0 disk /opt/cluster/var/lib/log -
执行以下命令清理目录。
rm -fr /opt/cluster/var/lib/log/*;rm -fr /opt/cluster/usr/local/etcd/*;rm -fr /opt/cluster/var/lib/engine/data1/data/*
-
执行以下命令修改目录属主。
chown Ruby:Ruby /opt/cluster/var/lib/log/ /opt/cluster/usr/local/etcd opt/cluster/var/lib/engine/data1/data
Ruby用户在添加主机时自动生成,也可手动创建,手动创建Ruby用户不会影响添加主机。
安装沙箱模式实例操作步骤
-
准备系统盘和数据盘。
建议系统盘由两块盘组成RAID1,主要为操作系统使用。
安装实例时程序自动识别除系统盘外所有磁盘作为数据盘使用,并自动挂载在/var/chroot子目录下,一般情况下无须手动执行挂载,所以在使用前请确保这些数据盘干净可用,执行以下命令查看并清理。
该操作会清空磁盘数据,在输入“y”前请先确认已备份或可删除数据,再进行操作。
pvcreate /dev/vdb
回显如下:
WARNING: ext4 signature detected on /dev/vdb at offset 1080. Wipe it? [y/n]: y Wiping ext4 signature on /dev/vdb. Physical volume "/dev/vdb" successfully created.以上回显则表明该磁盘已清空可用。
-
添加主机前请确保无/var/chroot目录或/var/chroot目录下为空,注意,如果主机上有实例或者已经安装Agent,则不需要清空沙箱目录。
执行以下命令检查沙箱目录是否为空。
ls -Al /var/chroot
-
回显如下表示/var/chroot下为空,满足要求。
~# ll /var/chroot/ total 0或
~# ll /var/chroot/ ls: cannot access '/var/chroot/': No such file or directory -
若不为空,执行以下命令进行清空。
rm -r /var/chroot/{*,.*}
命令执行过程中请根据提示输入“y”或“yes”。
注意,如果出现“rm: cannot remove '***' : Operation not permitted”回显,表示文件无法进行删除操作,可能是因为存在磁盘挂载,请将磁盘解挂后再重试清空沙箱目录。
-
清空后再次执行检查命令,确保沙箱目录不存在或为空。
管理程序会自行组盘,并将逻辑卷挂载在/var/chroot路径下的数据目录、日志目录以及备份目录等位置,目录文件系统格式为Ext4。
-
更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…