本文介绍了两种DSC集群磁盘扩容的方式以供参考。生产环境下,DSC集群磁盘扩容属于高危操作,若有需要可联系达梦技术服务工程师协助处理。
在生产环境下,若进行 DSC 集群扩容操作,则必须做好备份,并验证归档及备份文件有效。
--对数据库进行全备
backup database full to "DB_DSC_FULL_2020_06_19" backupset '/bm6tbk/DB_DSC_FULL_2020_06_19' compressed level 1 parallel 8;
建议在测试环境上利用备份文件进行还原恢复。若使用数据库物理备份还原成功,数据库可正常启动,可进行测试建表,插入记录,则说明备份文件有效。
--进入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');
--归档文件校检可利用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 ';
DMDSC集群在线扩容常见的有两种方式:
UUID方式:即利用磁盘的UUID名进行裸设备绑定;
RAW方式:通过lsblk命令查看的磁盘名进行裸设备绑定。
为避免多位运维人员操作可能造成磁盘名混乱的问题,生产环境中,建议使用uuid方式进行磁盘绑定。以下对这两种方式的使用步骤进行详细介绍。
---查看新增存储的信息,在操作系统确认两个DSC节点都能识别到磁盘信息,共享盘盘符是sdg,大小是10G。
---在两节点查看磁盘是否已经绑定
lsblk
---切换root,在两节点查看新增的盘符的uuid是否一致
[root@localhost ~]$ /usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdg
36000c293d89c5ac5aa7e7ef35022c9f8
编辑/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"
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*
在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'
使用 dmasmtool 工具将新初始化的 ASM 磁盘加入空间不足的磁盘组,本次是加入 DMDATA 磁盘组,步骤如下:
---登录 dmasmtool
[dmdba@gmp-pmc-db~]#./dmasmtool DCR_INI=/dm/dsc_config/DM_DSC0/dmdcr0.ini
1、检查扩容前后的磁盘容量。
---lsdg 查询原来的容量
ASM>lsdg
ASM> alter diskgroup 'DMDATA' add asmdisk '/dev/dmdata1'
---查看新增后的容量
ASM>lsdg
2、在监视器中查看DSC集群运行状态。

3、查看视图V$ASMGROUP和V$ASMDISK,确认ASM磁盘信息。
```language
select * from V$ASMDISK;
select * from V$ASMGROUP;
---查看新增存储的信息,在操作系统确认两个DSC节点都能识别到磁盘信息,共享盘盘符是sdc,大小是5G。
---在两节点查看磁盘是否已经绑定
lsblk
编辑/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"
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
在 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';
使用 dmasmtool 工具将新初始化的 ASM 磁盘加入空间不足的磁盘组,本次是加入 DMDATA 磁盘组,步骤如下:
---登录dmasmtool
[dmdba@gmp-pmc-db~]#./dmasmtool DCR_INI=/dm/dsc_config/DM_DSC0/dmdcr0.ini
1、检查扩容前磁盘容量。
---lsdg查询原来的容量
ASM>lsdg
ASM> alter diskgroup 'DMDATA' add asmdisk '/dev/raw/raw5'
---查看新增后的容量
ASM>lsdg
2、在监视器中查看DSC集群运行状态。
3、查看视图V$ASMGROUP和V$ASMDISK,确认ASM磁盘信息。
select * from V$ASMDISK;
select * from V$ASMGROUP;
扩展盘后,需要重启 dmap 服务。否则基于备份集的备份可能会失败。
/etc/init.d/DmAPService restart
说明:以上为DSC磁盘扩容的步骤参考,生产环境下磁盘扩容须确认每一步实施无误后再进行下一步。
文章
阅读量
获赞