DM8数据库DSC共享集群在linux系统中经过multipath多路径后裸设备实现方式

我们可以看到,在官方文档中,DSC 共享集群需要提供共享存储,而官方文档中关于裸设备的实现方式过于简单,以下是官方文档的步骤

sdb-sde 是需要配置的共享磁盘。

执行以下命令,新建 udev 规则文件:

Copy

vi /etc/udev/rules.d/90-raw.rules

ACTION== "add" ,KERNEL== "sdb" ,RUN+= "/bin/raw /dev/raw/raw1 %N"

ACTION== "add" ,KERNEL== "sdc" ,RUN+= "/bin/raw /dev/raw/raw2 %N"

ACTION== "add" ,KERNEL== "sdd" ,RUN+= "/bin/raw /dev/raw/raw3 %N"

ACTION== "add" ,KERNEL== "sde" ,RUN+= "/bin/raw /dev/raw/raw4 %N"

KERNEL== "raw[1-4]" , OWNER= "dmdba" , GROUP= "dinstall" , MODE= "660"

执行以下命令,使 udev 生效:

udevadm trigger -- type =devices --action=change

而dmdcr_cfg.ini配置文件中,需要指定具体的ASM路径,同时也要指定父目录。如下所示。

DCR_N_GRP             = 3

DCR_VTD_PATH          = /dev/raw/raw2

DCR_OGUID         = 63635  

[GRP]

 DCR_GRP_TYPE         = CSS 

 DCR_GRP_NAME         = CSS

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[CSS]

 DCR_EP_NAME          = CSS1

 DCR_EP_HOST          = 10.0 . 0.11

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 10.0 . 0.12

 DCR_EP_PORT          = 9341

[GRP]

 DCR_GRP_TYPE         = ASM

 DCR_GRP_NAME         = ASM

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[ASM]

 DCR_EP_NAME          = ASM1

 DCR_EP_SHM_KEY       = 93360

 DCR_EP_SHM_SIZE      = 10

 DCR_EP_HOST          = 10.0 . 0.11

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/raw

[ASM]

 DCR_EP_NAME          = ASM2

 DCR_EP_SHM_KEY       = 93361

 DCR_EP_SHM_SIZE      = 10

 DCR_EP_HOST          = 10.0 . 0.12

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/raw

  [GRP]

 DCR_GRP_TYPE         = DB

 DCR_GRP_NAME         = DSC

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[DSC]

 DCR_EP_NAME         = DSC1

 DCR_EP_SEQNO                 = 0

 DCR_EP_PORT         = 5236

 DCR_CHECK_PORT            = 9741  

[DSC]

 DCR_EP_NAME         = DSC2

 DCR_EP_SEQNO                 = 1

 DCR_EP_PORT         = 5236

 DCR_CHECK_PORT            = 9741

 

在生产环境中,共享存储往往经过了 SAN 网络后,通过多路径管理软件聚合后的磁盘。这样一来上面的方式就不太好用了,例如经过 linux 自带的多路径管理软件 multipath

重点参数说明:

DCR_EP_ASM_LOAD_PATH 为ASM 磁盘扫描路径, Linux 下一般为 /dev/raw ,文件模拟情况,必须 是全路径,不能是相对路径 。

DCR_VTD_PATH 为 Voting Disk 路径

了解以上信息后,我们就可以对多路径聚合后的磁盘很方便的管理了。

通常我们把 dcr 和 vote 规划为 200M 以上。此时可以先配置 dcr 和 vote disk 的 UDEV 规则

此处分享几个脚本(适用于通过 multipath 多路径聚合的磁盘,磁盘大小可以根据 fdisk -l 的具体值进行更改)

for i in $(fdisk -l | grep mpath |grep ' 200 MB'| cut -d ' ' -f2 | cut -d' :' -f1 | cut -d'/' -f4); do str1="$i:`udevadm info --query=all --name=/dev/mapper/$i | grep DM_UUID`"; str2=${str1#*=}; echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"asmdisk/asm-${i}\",OWNER=\"dmdba\",GROUP=\"dinstall\",MODE=\"0660\"" >> /etc/udev/rules.d/90-dm.rules; done

再加日志盘,本例中日志盘规划为 21.5G

for i in $(fdisk -l | grep mpath |grep '21.5 GB'| cut -d ' ' -f2 | cut -d' :' -f1 | cut -d'/' -f4); do str1="$i:`udevadm info --query=all --name=/dev/mapper/$i | grep DM_UUID`"; str2=${str1#*=}; echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"asmdisk/asm-${i}\",OWNER=\"dmdba\",GROUP=\"dinstall\",MODE=\"0660\"" >> /etc/udev/rules.d/90-dm.rules; done

再添加数据盘,本例中为数据盘规划为 53.7G

for i in $(fdisk -l | grep mpath |grep '53.7 GB'| cut -d ' ' -f2 | cut -d' :' -f1 | cut -d'/' -f4); do str1="$i:`udevadm info --query=all --name=/dev/mapper/$i | grep DM_UUID`"; str2=${str1#*=}; echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${str2}\",SYMLINK+=\"asmdisk/asm-${i}\",OWNER=\"dmdba\",GROUP=\"dinstall\",MODE=\"0660\"" >> /etc/udev/rules.d/90-dm.rules; done

集群中的每个节点依次添加后,执行以下命令重新加载 ude 规则。

udevadm control --reload-rules

udevadm trigger --type=devices --action=change

验证。

ls -l /dev/asmdisk/

[root@dmdsc2 ~]# ls -l /dev/asmdisk/

总用量 0

lrwxrwxrwx 1 root root 7 10 月 18 13:33 asm-mpatha -> ../dm-3

lrwxrwxrwx 1 root root 7 10 月 18 13:33 asm-mpathb -> ../dm-2

lrwxrwxrwx 1 root root 7 10 月 18 13:33 asm-mpathc -> ../dm-4

lrwxrwxrwx 1 root root 7 10 月 18 13:33 asm-mpathd -> ../dm-5

注意:以上脚本仅仅适用于经过 multipath 聚合,且启用默认友好别名的环境。采用其他自定义的别名,需要根据实际环境调整脚本内容。改完后的 dmdcr_cfg.ini 样例

DCR_N_GRP             = 3

DCR_VTD_PATH          = /dev/asmdisk/asm-mpathb

DCR_OGUID         = 63635  

[GRP]

 DCR_GRP_TYPE         = CSS 

 DCR_GRP_NAME         = CSS

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[CSS]

 DCR_EP_NAME          = CSS1

 DCR_EP_HOST          = 10.0 . 0.11

 DCR_EP_PORT          = 9341

[CSS]

 DCR_EP_NAME          = CSS2

 DCR_EP_HOST          = 10.0 . 0.12

 DCR_EP_PORT          = 9341

[GRP]

 DCR_GRP_TYPE         = ASM

 DCR_GRP_NAME         = ASM

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[ASM]

 DCR_EP_NAME          = ASM1

 DCR_EP_SHM_KEY       = 93360

 DCR_EP_SHM_SIZE      = 10

 DCR_EP_HOST          = 10.0 . 0.11

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/asmdisk

[ASM]

 DCR_EP_NAME          = ASM2

 DCR_EP_SHM_KEY       = 93361

 DCR_EP_SHM_SIZE      = 10

 DCR_EP_HOST          = 10.0 . 0.12

 DCR_EP_PORT          = 9351

 DCR_EP_ASM_LOAD_PATH  = /dev/asmdisk

  [GRP]

 DCR_GRP_TYPE         = DB

 DCR_GRP_NAME         = DSC

 DCR_GRP_N_EP         = 2

 DCR_GRP_DSKCHK_CNT   = 60

[DSC]

 DCR_EP_NAME         = DSC1

 DCR_EP_SEQNO                 = 0

 DCR_EP_PORT         = 5236

 DCR_CHECK_PORT            = 9741  

[DSC]

 DCR_EP_NAME         = DSC2

 DCR_EP_SEQNO                 = 1

 DCR_EP_PORT         = 5236

 DCR_CHECK_PORT            = 9741

在 dmasmcmd 的创建则对应改为

create dcrdisk '/dev/asmdisk/asm-mpatha 'dcr'

create votedisk '/dev/asmdisk/asm-mpathb' 'vote'

create asmdisk '/dev/asmdisk/asm-mpathc' 'LOG0'

create asmdisk '/dev/asmdisk/asm-mpathd' 'DATA0'

dmdcr.ini 的配置文件

DMDCR_PATH     = /dev/asmdisk/asm-mpatha

DMDCR_MAL_PATH =/home/dmdba/config/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO   = 0

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 10

DMDCR_ASM_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmasmsvr  dcr_ini=/home/dmdba/config/dmdcr.ini

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 30

DMDCR_DB_STARTUP_CMD = /home/dmdba/dmdbms/bin/dmserver  path=/home/dmdba/config/dsc1/dm.ini dcr_ini=/home/dmdba/config/dmdcr.ini

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值