注册
DSC集群磁盘扩容步骤分享
专栏/培训园地/ 文章详情 /

DSC集群磁盘扩容步骤分享

DM_sms 2024/04/24 671 0 0
摘要

本文介绍了两种DSC集群磁盘扩容的方式以供参考。生产环境下,DSC集群磁盘扩容属于高危操作,若有需要可联系达梦技术服务工程师协助处理。

一、操作前准备

在生产环境下,若进行 DSC 集群扩容操作,则必须做好备份,并验证归档及备份文件有效。

1.1 数据库物理备份

--对数据库进行全备
backup database full to "DB_DSC_FULL_2020_06_19" backupset '/bm6tbk/DB_DSC_FULL_2020_06_19' compressed level 1 parallel 8;

1.2 备份文件校检

建议在测试环境上利用备份文件进行还原恢复。若使用数据库物理备份还原成功,数据库可正常启动,可进行测试建表,插入记录,则说明备份文件有效。

--进入dmrman
./dmrman
RMAN> check backupset 'DB_DSC_FULL_2020_06_19';
---出现check backupset successfully.表示校验正常。
--数据库还原恢复
RMAN>RESTORE DATABASE '/data/DAMENG\dm.ini' FROM BACKUPSET ' /data/bak/DB_DSC_FULL_2020_06_19';
RMAN>RECOVER DATABASE '/data/DAMENG\dm.ini' FROM BACKUPSET ' /data/bak/DB_DSC_FULL_2020_06_19';
RMAN>RECOVER DATABASE '/data/DAMENG\dm.ini' UPDATE DB_MAGIC;
--启动数据库,并插入数据
./DmServiceTEST start
create table test(c1 int,c2 varchar(20));
insert into test values(1,'test');

1.3 归档文件校检

--归档文件校检可利用dmrachk工具
cd /dm8/bin
./dmrachk ARCH_PATH=/dmdata/dmarch check=0

--在测试环境下,利用归档文件还原到任意时刻
RMAN>CHECK BACKUPSET '/home/dm_bak/arch_all_for_restore';
RMAN>RECOVER DATABASE '/dbdata_dm7/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR '/dmdata/dmarch' UNTIL TIME '2023-09-13 11:33:33 ';

二、DSC集群在线扩容

DMDSC集群在线扩容常见的有两种方式:
UUID方式:即利用磁盘的UUID名进行裸设备绑定;
RAW方式:通过lsblk命令查看的磁盘名进行裸设备绑定。
为避免多位运维人员操作可能造成磁盘名混乱的问题,生产环境中,建议使用uuid方式进行磁盘绑定。以下对这两种方式的使用步骤进行详细介绍。

2.1 UUID方式在线扩盘

2.1.1 新增共享磁盘信息确认

---查看新增存储的信息,在操作系统确认两个DSC节点都能识别到磁盘信息,共享盘盘符是sdg,大小是10G。
---在两节点查看磁盘是否已经绑定
lsblk
---切换root,在两节点查看新增的盘符的uuid是否一致
[root@localhost ~]$ /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdg
36000c293d89c5ac5aa7e7ef35022c9f8

2.1.2 修改裸设备绑定文件

编辑/etc/udev/rules.d/60-raw.rules,在原来的基础上,新增共享磁盘的信息。DSC0 和 DSC1 节点均新增如下内容:

[root@gmp-pmc-db ~]#vi /etc/udev/rules.d/60-raw.rules
--新增如下内容:
KERNEL=="sd?",SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="36000c293d89c5ac5aa7e7ef35022c9f8", SYMLINK+="dmdata1",OWNER="dmdba", GROUP="dinstall",MODE="0660"

2.1.3裸设备绑定

DSC0 和 DSC1 节点均分别执行以下命令,完成裸设备的绑定:

---绑定前查看systemd-udev-trigger-no-reload.conf文件
[root@localhost rules.d]# vi /usr/lib/systemd/system/systemd-udev-trigger.service.d/systemd-udev-trigger-no-reload.conf
---执行磁盘绑定
[root@localhost ~]# systemctl daemon-reload
[root@gmp-pmc-db ~]#systemctl restart systemd-udev-trigger.service
---绑定成功后,查看systemd-udev-trigger-no-reload.conf文件,RefuseManualStop变为true
[root@localhost rules.d]#vi /usr/lib/systemd/system/systemd-udev-trigger.service.d/systemd-udev-trigger-no-reload.conf
---查看到新加入的磁盘,此时可查看到新加入的盘sdg
[root@gmp-pmc-db ~]# ll /dev/dm*  

2.1.4创建 ASM 磁盘

在DSC集群其中一个节点使用 DMASMCMD工具初始化磁盘,将新增的裸设备/dev/raw/raw8,初始化为 ASM 磁盘。

[root@localhost ~]# su - dmdba
[dmdba@localhost bin]$cd /dm/bin
[dmdba@gmp-pmc-db~]#./dmasmcmd
ASM> create asmdisk '/dev/dmdata1' 'DMASMDATA1'

2.1.5 将新增的 ASM 磁盘加入 ASM 磁盘组

使用 dmasmtool 工具将新初始化的 ASM 磁盘加入空间不足的磁盘组,本次是加入 DMDATA 磁盘组,步骤如下:

---登录 dmasmtool
[dmdba@gmp-pmc-db~]#./dmasmtool DCR_INI=/dm/dsc_config/DM_DSC0/dmdcr0.ini

2.1.6 结果校验

1、检查扩容前后的磁盘容量。

---lsdg 查询原来的容量
ASM>lsdg
ASM> alter diskgroup 'DMDATA' add asmdisk '/dev/dmdata1'
---查看新增后的容量
ASM>lsdg

image.png


2、在监视器中查看DSC集群运行状态。
![image.png](https://download.dameng.com/eco-file-server/file/eco/preview/20240419143036AYDIXTEZIDDVTO4BYQ)

3、查看视图V$ASMGROUP和V$ASMDISK,确认ASM磁盘信息。
```language
select * from V$ASMDISK;
select * from V$ASMGROUP;

image.png

image.png

2.2 raw 方式在线扩盘

2.2.1 确认新增的共享磁盘

---查看新增存储的信息,在操作系统确认两个DSC节点都能识别到磁盘信息,共享盘盘符是sdc,大小是5G。
---在两节点查看磁盘是否已经绑定
lsblk

image.png

2.2.2 修改裸设备绑定文件

编辑/etc/udev/rules.d/60-raw.rules,在原来的基础上,新增共享磁盘的信息。在 DSC0 和 DSC1 节点均修改如下内容:

[root@gmp-pmc-db ~]#vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" 
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" 
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N" 
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw5 %N" 
ACTION=="add", KERNEL=="raw[1-5]", OWNER="dmdba", GROUP="dinstall", MODE="660"

2.2.3 裸设备绑定

DSC0 和 DSC1 节点均执行以下命令,完成裸设备的绑定:

partprobe /dev/sdc
/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload-rules
start_udev
--命令查看裸设备大小
blockdev --getsize64  /dev/raw/raw5
--查看裸设备绑定是否成功,以及权限属主是否是dmdba,所属组是dinstall
ll /dev/raw

2.2.4 创建 ASM 磁盘

在 DSC 集群其中一个节点使用 DMASMCMD 工具初始化磁盘,将新增的裸设备/dev/raw/raw5,初始化为 ASM 磁盘。

[root@localhost ~]# su - dmdba
[dmdba@localhost bin]$cd /dm/bin
[dmdba@gmp-pmc-db~]#./dmasmcmd
ASM> create asmdisk '/dev/raw/raw5' 'DATA05';

2.2.5 将新增的 ASM 磁盘加入 ASM 磁盘组

使用 dmasmtool 工具将新初始化的 ASM 磁盘加入空间不足的磁盘组,本次是加入 DMDATA 磁盘组,步骤如下:

---登录dmasmtool
[dmdba@gmp-pmc-db~]#./dmasmtool DCR_INI=/dm/dsc_config/DM_DSC0/dmdcr0.ini

2.2.6 结果校检

1、检查扩容前磁盘容量。

---lsdg查询原来的容量
ASM>lsdg
ASM> alter diskgroup 'DMDATA' add asmdisk '/dev/raw/raw5'
---查看新增后的容量
ASM>lsdg

image.png

2、在监视器中查看DSC集群运行状态。
image.png

3、查看视图V$ASMGROUP和V$ASMDISK,确认ASM磁盘信息。

select * from V$ASMDISK;
select * from V$ASMGROUP;

image.png
image.png

2.3 重启 dmap 服务

扩展盘后,需要重启 dmap 服务。否则基于备份集的备份可能会失败。

/etc/init.d/DmAPService restart

说明:以上为DSC磁盘扩容的步骤参考,生产环境下磁盘扩容须确认每一步实施无误后再进行下一步。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服