#目录划分

# 主机目录规划

1.安装目录

YashanDB采用集群多节点并行安装模式,只需在一台主机上创建安装目录,用于下载和解压软件包。

本安装手册中,安装目录规划在/home/yashan下,由yashan用户执行软件包下载时自行创建。

2.HOME目录和DATA目录

所有安装YashanDB的实例节点(一台服务器对应一个实例节点,或者一台服务器包含多个实例节点)上必须规划的两个目录为:

  • HOME目录:YashanDB的产品目录,包含YashanDB所提供的命令、数据库运行所需的库及各关键组件。该目录由yashan用户执行安装部署时输入的install-path参数根据一定规则生成并创建。
  • DATA目录:YashanDB的数据目录,包含数据库的各类系统数据文件、日志文件和配置文件,用户数据也缺省存储在该目录下。但对于共享集群,所有的数据文件和redo文件均需保存在共享存储上,DATA目录将只用于存储实例运行相关的配置文件、日志文件等数据。该目录由yashan用户执行安装部署时输入的data-path参数根据一定规则生成并创建。

本安装手册中,HOME目录和DATA目录均规划在/data/yashan下,yashan用户需要对该目录拥有全部权限,可执行如下命令授权:

# cd /
# mkdir data
# cd data
# mkdir yashan
# chmod -R 770 /data/yashan

# 通过多路径方式绑定LUN

本步骤只适用于共享集群部署,单机/分布式部署请略过。

YashanDB要求共享存储上必须规划出下述三类磁盘:

  • YCR盘:一块,建议规划为1G及以上,该盘路径将作为yasboot package ce gen命令的YCR选项参数。
  • 投票盘:一块,建议规划为1G及以上,该盘路径将作为yasboot package ce gen命令的vote选项参数。
  • 数据盘:一块或多块,内存最大,根据业务实际情况规划,其中一块数据盘的路径将作为yasboot package ce gen命令的data选项参数。

基于共享存储的品牌不同,操作方式相应不同,本安装手册不对共享存储的组网和存储划分操作进行描述,建议由公司网络管理员依据所购品牌提供的安装指导完成组网和存储划分。本安装手册既定共享存储上已划分三个LUN,并已经通过多路径的方式挂载,多路径名称(YashanDB要求划分LUN时所指定路径长度不超过31B)如下:

/dev/mapper/storraid5(规划为数据盘)、/dev/mapper/storraid10(规划为投票盘)和/dev/mapper/storraid15(规划为YCR盘)。

以下将描述在所有主机上进行上述LUN绑定的操作过程:

1.通过脚本生成通过UUID方式绑定的配置文件

在root目录下创建名称为genDevRuleByUUID.sh的脚本文件:

# cd
# vim genDevRuleByUUID.sh

输入如下内容后保存退出:

#/bin/bash

curDir=$(cd "$(dirname "$0")";pwd)
rm -f $curDir/yashan-device-rule.rules
for i in storraid5 storraid10 storraid15;
do
str1="$i:`udevadm info --query=all --name=/dev/mapper/$i | grep DM_UUID`"
str2=${str1#*=}
echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"yas/${i}\",OWNER=\"yashan\",GROUP=\"YASDBA\",MODE=\"0666\"" ''  >> $curDir/yashan-device-rule.rules
done

执行上述脚本,生成配置文件:

# sh ./genDevRuleByUUID.sh

脚本执行成功后,会在当前路径生成名称为yashan-device-rule.rules的绑定配置文件,内容如下:

# cat yashan-device-rule.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa458fc0000006b",SYMLINK+="yas/storraid5",OWNER="yashan",GROUP="YASDBA",MODE="0666" 
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa49e8c0000006d",SYMLINK+="yas/storraid10",OWNER="yashan",GROUP="YASDBA",MODE="0666" 
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa4c6040000006f",SYMLINK+="yas/storraid15",OWNER="yashan",GROUP="YASDBA",MODE="0666"

其中,SYMLINK为绑定设备的别名,可修改为业务可理解的名称,例如修改为如下内容:

# vim yashan-device-rule.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa458fc0000006b",SYMLINK+="yas/data",OWNER="yashan",GROUP="YASDBA",MODE="0666" 
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa49e8c0000006d",SYMLINK+="yas/vote",OWNER="yashan",GROUP="YASDBA",MODE="0666" 
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-366c146e100955f46eaa4c6040000006f",SYMLINK+="yas/ycr",OWNER="yashan",GROUP="YASDBA",MODE="0666"

2.部署配置文件

采用如下命令部署上一步骤生成的绑定配置文件:

# cp yashan-device-rule.rules /etc/udev/rules.d/yashan-device-rule.rules

3.重启服务器

绑定配置文件的生效需要重启服务器:

# systemctl reboot

4.确认多路径方式绑定LUN生效

可以执行如下命令:

# ls -l /dev/yas/*

确认/dev/yas/data、/dev/yas/vote、/dev/yas/ycr存在,且权限位为666。

5.确保两台主机上/dev/yas/data、/dev/yas/vote、/dev/yas/ycr对应的wwid是否一致。

# 在两台主机上分别执行以下命令,对比输出结果是否相互对应一致
# /lib/udev/scsi_id --whitelisted  --device=/dev/yas/data
# /lib/udev/scsi_id --whitelisted  --device=/dev/yas/vote
# /lib/udev/scsi_id --whitelisted  --device=/dev/yas/ycr