ITPub博客

首页 > 数据库 > 国内数据库 > YashanDB目录划分

YashanDB目录划分

国内数据库 作者:崖山数据库系统YashanDB 时间:2025-03-03 18:05:18 0 删除 编辑

安装目录

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

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

#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 777 /data/yashan
Copied!

Note:

DATA目录包括的部分日志文件具体见 日志管理中日志分类章节描述。

#运行日志目录

YashanDB的运行日志目录,包含数据库运行过程中产生的日志文件,该目录默认为HOME目录/yashandb/版本号/log。

Note:

为避免运行日志跟数据文件IO相互影响,建议将数据库的运行日志与数据文件路径配置到不同的物理盘上。

  • 运行日志路径:由集群配置文件(集群名称.toml)中 group.node.config配置域下的RUN_LOG_FILE_PATH参数决定。

  • 数据文件路径:由执行安装部署时输入的--data-path参数决定,安装完成后可直接修改集群配置文件中 group.node配置域下的data_path参数。共享集群部署的数据文件路径默认配置在共享存储下,无法直接修改,只能通过修改共享存储的路径从而调整数据文件存储的路径。

#绑定LUN(共享集群部署)

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

实际部署环境可能与示例不同,请参考示例调整,请勿将以下配置直接用于生产环境。

YashanDB要求共享存储规划2类磁盘:

  • 系统盘:用于集群管理,仅支持1、3或5块相同大小的磁盘,建议每块磁盘容量至少1G,此类磁盘的绝对路径将作为 yasboot package ce gen命令的 --system-data选项,以 ,分隔多个磁盘,例如 --system-data /dev/yfs/sys0,/dev/yfs/sys1,/dev/yfs/sys2。
  • 数据盘:用于保存集群业务数据,1块或多块相同大小的磁盘,请根据实际业务需求规划其数量和容量,此类磁盘的绝对路径将作为 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绑定操作:

#步骤1:生成配置文件

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

    # cd ~# vi genDevRuleByUUID.sh
    Copied!
  2. 输入如下内容,并根据部署环境,修改 DEVICES各设备路径,修改 TARGETS指定各设备绑定名称,应与 DEVICES参数一一对应,修改 YFS_DISK_DIR为绑定目录,保存退出:

    #/bin/bash# 请修改为各设备路径DEVICES=("/dev/mapper/lun01-data0" "/dev/mapper/lun03-sys0" "/dev/mapper/lun04-sys1" "/dev/mapper/lun05-sys2")# 请按 DEVICES 数组**顺序**指定这些设备绑定的名称,建议名称为与业务相关的名称TARGETS=("data0"                   "sys0"                   "sys1"                   "sys2")# 指定绑定的目录YFS_DISK_DIR="/dev/yfs"# 请保持默认,请确保 yashan 用户已存在USER="yashan"GROUP="yashan"UGROUP="$USER:$GROUP"if [ ${#TARGETS[@]} != ${#DEVICES[@]} ]then
        echo "DEVICES and TARGETS count does not match"
        exit 1fiif [ ${#TARGETS[@]} == 0 ]then
        echo "no targets found"
        exit 1ficurDir=$(cd "$(dirname "$0")";pwd)rm -f $curDir/yashan-device-rule.rulescount=${#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.rulesdone
    Copied!
  3. 执行脚本,生成配置文件:

    # sh ./genDevRuleByUUID.sh
    Copied!

    脚本执行成功后,会在当前路径生成名为 yashan-device-rule.rules的绑定配置文件,内容如下,实际部署时内容可能有差异:

    # cat yashan-device-rule.rulesKERNEL=="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为绑定设备的别名,检查是否为预期绑定目标。

#步骤2:部署配置文件

执行如下命令部署绑定配置文件:

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

#步骤3:重启服务器

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

# systemctl reboot
Copied!

#步骤4:检查绑定结果

  1. 执行如下命令,确认所有绑定已生效,用户和组均为 yashan:

    # ls -l /dev/yfs/*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:

    # ls -l /dev/dm-4brw-rw-rw- 1 yashan yashan 253, 4 Jul 11 14:44 /dev/dm-4# 其他设备类似
    Copied!
  2. 在集群所有服务器上执行以下命令,确认各服务器上 所有绑定的多路径WWID一致。

    # 对比各服务器上的输出结果是否对应一致# /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/data# /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys0# /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys1# /lib/udev/scsi_id --whitelisted  --device=/dev/yfs/sys2
    Copied!

    若各服务器上同一路经所对应的WWID不一致,说明其挂载的磁阵不是同一个LUN,请联系网络管理员处理。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70028812/viewspace-3074666/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统,融入原创理论,支持单机/主备、共享集群、分布式等多种部署方式,覆盖OLTP/HTAP/OLAP交易和分析混合负载场景,为客户提供一站式的企业级融合数据管理解决方案。

注册时间:2023-04-11

  • 博文量
    722
  • 访问量
    640313