YashanDB 采用集群多服务器并行安装模式,只需在一台服务器上创建安装目录,用于下载和解压软件包。
本安装手册中,安装目录规划在/home/yashan 下,由 yashan 用户执行软件包下载时自行创建。
所有 YashanDB 的实例节点都必须规划以下两个目录:
本安装手册中,HOME 目录和 DATA 目录均规划在/data/yashan 下,yashan 用户需要对该目录拥有全部权限,可执行如下命令授权:
Copied!
Note: DATA 目录包括的部分日志文件具体见日志管理中日志分类章节描述。
YashanDB 的运行日志目录,包含数据库运行过程中产生的日志文件,该目录默认为 HOME 目录/yashandb/版本号/log。
Note: 为避免运行日志跟数据文件 IO 相互影响,建议将数据库的运行日志与数据文件路径配置到不同的物理盘上。
group.node.config配置域下的 RUN_LOG_FILE_PATH 参数决定。group.node配置域下的 data_path 参数。共享集群部署的数据文件路径默认配置在共享存储下,无法直接修改,只能通过修改共享存储的路径从而调整数据文件存储的路径。本步骤只适用于共享集群部署,单机/分布式部署请略过。
实际部署环境可能与示例不同,请参考示例调整,请勿将以下配置直接用于生产环境。
YashanDB 要求共享存储规划 2 类磁盘:
yasboot package ce gen命令的--system-data选项,以,分隔多个磁盘,例如--system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2。yasboot package ce gen命令的--data选项参数,以,分隔多个磁盘,例如--data /dev/yfs/data0,/dev/yfs/data1,/dev/yfs/data2。所有系统盘和数据盘应被绑定至同一目录,该目录将作为yasboot package ce gen命令的--disk-found-path选项参数,本文采用默认值/dev/yfs作为示例。
本安装手册不对共享存储的组网和存储划分提供操作指引,请管理员根据共享存储厂商提供的安装指导操作。
本安装手册假定 3 块系统盘、1 块数据盘,共享存储上已划分 4 个 LUN 并已通过多路径的方式挂载,规划如下:
/dev/mapper/lun01-data0:数据盘,规划绑定至/dev/yfs/data0路径。/dev/mapper/lun03-sys0:系统盘,规划绑定至/dev/yfs/sys0路径。/dev/mapper/lun04-sys1:系统盘,规划绑定至/dev/yfs/sys1路径。/dev/mapper/lun05-sys2:系统盘,规划绑定至/dev/yfs/sys2路径。绑定目录(/dev/yfs)与磁盘名称(data0、sys0 等)均为示例值,请根据实际业务需求调整,但命名时需注意:
/dev/yfs/sys0)长度不得超过 31 字节。yasboot package ce gen命令的参数值,如有修改,请在执行yasboot package ce gen时使用实际参数。请以root用户在集群所有服务器上执行下述 LUN 绑定操作:
genDevRuleByUUID.sh的脚本:DEVICES各设备路径,修改TARGETS指定各设备绑定名称,应与DEVICES参数一一对应,修改YFS_DISK_DIR为绑定目录,保存退出: DEVICES=("/dev/mapper/lun01-data0" "/dev/mapper/lun03-sys0" "/dev/mapper/lun04-sys1" "/dev/mapper/lun05-sys2") TARGETS=("data0" "sys0" "sys1" "sys2") YFS_DISK_DIR="/dev/yfs" USER="yashan" GROUP="yashan" UGROUP="$USER:$GROUP" if [ ${#TARGETS[@]} != ${#DEVICES[@]} ] then echo "DEVICES and TARGETS count does not match" exit 1 fi if [ ${#TARGETS[@]} == 0 ] then echo "no targets found" exit 1 fi curDir=$(cd "$(dirname "$0")";pwd) rm -f $curDir/yashan-device-rule.rules count=${#TARGETS[@]} for ((i = 0; i < $count; i ++)) do device=${DEVICES[$i]} target_name=${TARGETS[$i]} target="${YFS_DISK_DIR}/${target_name}" str1="$device:`udevadm info --query=all --name=$device | grep DM_UUID`" str2=${str1#*=} echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"$target\",OWNER=\"$USER\",GROUP=\"$GROUP\",MODE=\"0666\",RUN+=\"/bin/sh -c 'chown -R yashan:yashan $target'\"" >> $curDir/yashan-device-rule.rules done复制代码
Copied!复制代码
yashan-device-rule.rules的绑定配置文件,内容如下,实际部署时内容可能有差异: KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a2231f0000e7d9668d7b4a",SYMLINK+="/dev/yfs/data0",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/data0'" KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a2231f0000e7dd668d7b68",SYMLINK+="/dev/yfs/sys0",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/sys0'" KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a233b90000e358668d7caf",SYMLINK+="/dev/yfs/sys1",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/sys1'" KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36d039ea000a233b90000e35a668d7cbf",SYMLINK+="/dev/yfs/sys2",OWNER="yashan",GROUP="yashan",MODE="0666",RUN+="/bin/sh -c 'chown -R yashan:yashan /dev/yfs/sys2'"复制代码
Copied!
SYMLINK为绑定设备的别名,检查是否为预期绑定目标。复制代码
执行如下命令部署绑定配置文件:
绑定配置文件的生效需要重启服务器:
yashan: lrwxrwxrwx 1 yashan yashan 7 Jul 11 14:44 data0 -> ../dm-5 lrwxrwxrwx 1 yashan yashan 7 Jul 11 14:44 sys0 -> ../dm-7 lrwxrwxrwx 1 yashan yashan 7 Jul 11 14:44 sys1 -> ../dm-4 lrwxrwxrwx 1 yashan yashan 7 Jul 11 14:44 sys2 -> ../dm-6复制代码
Copied!
并检查它们指向设备的用户和组均为`yashan`,且权限为`0666`:复制代码
brw-rw-rw- 1 yashan yashan 253, 4 Jul 11 14:44 /dev/dm-4复制代码
Copied!复制代码
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。