1、背景: 本文主要记录Oracle数据库的asm磁盘组DATADG扩容步骤 不需要停数据库 2、ASM扩容前检查以及备份 (grid用户)
2.1 检查集群状态 crsctl stat res -t crsctl query css votedisk ocrcheck asmcmd lsdg 2.2 ASM元数据备份 asm元数据备份 ASMCMD > md_backup /tmp/dgbackup20230224 ---备份全部磁盘元数据 2.3 检查系统网卡参数 ---系统网卡配置文件 HOSTPLUG= "no" 未配置HOSTPLUG参数或者HOSTPLUG =YES的情况下,磁盘激活会导致集群服务切换。 注意:如果是使用网卡绑定,比如绑定后的网卡为bond0,则要在bond0的配置文件里添加hotplug配置信息, 在eth0里添加不起作用。 备注:如果这里网卡没有这个参数也没关系,不过后面udev 用在线生效就行
3、ASM扩容
3.1系统层面磁盘检查
在两个节点扫描磁盘命令
# for i in `find /sys/class/scsi_host/host*`; do echo '- - - ' > $i/scan; done
# ll /dev/disk/by-id ---multipath.conf的wwid值取该命令输出scsi-的后缀值
确认2个节点都能识别到新添加的硬盘
3.2 multipath修改(2个节点)
#备份multipath.conf
cp /etc/multipath.conf /etc/multipath.conf.bak20230224
#添加磁盘多路径 /etc/multipath.conf
multipath {
wwid 14f504e46494c455246746c6c34302d61754e422d78454d36
alias asmdata07
path_grouping_policy multibus
path_selector "round-robin 0"
failback immediate
}
3.3 udev修改(2节点)
---备份udev配置文件
cp /etc/udev/rules.d/12-dm-permissions.rules /etc/udev/rules.d/12-dm-permissions.rules.bak20230224
---添加磁盘对应权限条目
# vi /etc/udev/rules.d/12-dm-permissions.rules
ENV{DM_NAME}=="asmdata07", OWNER:="grid", GROUP:="asmadmin", MODE:="660"
3.4 multipath和udev生效
---IO空闲时间操作
# service multipathd status
# service multipathd reload
Or
# service multipathd restart
udev在线生效
udevadm trigger --subsystem-match=block --action=add
3.5验证权限
ls -l /dev/dm*
ls -l /dev/mapper/*
3.6确认ASM实例是否识别
grid用户 sqlplus / as sysasm
#查看磁盘识别路径
show parameter asm_diskstring
#查看磁盘情况
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
set linesize 200
col path for a25
col name for a15
select ad.group_number,ad.name,type,a.name,ad.total_mb d_total_mb,a.path,a.os_mb,a.total_mb,a.free_mb,a.header_status,a.create_date
from v$asm_diskgroup ad,v$asm_disk a
where ad.group_number(+)=a.group_number;
SQL> set pagesize 9999; SQL> / GROUP_NUMBER NAME TYPE NAME D_TOTAL_MB PATH OS_MB TOTAL_MB FREE_MB HEADER_STATU CREATE_DATE ------------ --------------- ------ --------------- ---------- ------------------------- ---------- ---------- ---------- ------------ ------------------- /dev/mapper/asmdata07 20480 0 0 CANDIDATE 1 DATADG EXTERN DATADG_0003 122880 /dev/mapper/asmdata04 20480 20480 19680 MEMBER 2023-02-22 17:29:04 1 DATADG EXTERN DATADG_0004 122880 /dev/mapper/asmdata05 20480 20480 19696 MEMBER 2023-02-23 16:53:18 1 DATADG EXTERN DATADG_0002 122880 /dev/mapper/asmdata03 20480 20480 19696 MEMBER 2021-09-25 09:26:34 1 DATADG EXTERN DATADG_0000 122880 /dev/mapper/asmdata01 20480 20480 19704 MEMBER 2021-09-25 09:26:34 1 DATADG EXTERN DATADG_0001 122880 /dev/mapper/asmdata02 20480 20480 19696 MEMBER 2021-09-25 09:26:34 1 DATADG EXTERN DATADG_0005 122880 /dev/mapper/asmdata06 20480 20480 19704 MEMBER 2023-02-23 17:43:53 2 FRADG EXTERN FRADG_0000 10240 /dev/mapper/asmfra01 10240 10240 10108 MEMBER 2021-09-25 09:27:16 3 MGMTDG EXTERN MGMTDG_0000 30720 /dev/mapper/asmmgmt01 30720 30720 7056 MEMBER 2021-09-25 08:53:56 4 OCRDG NORMAL OCRDG_0001 3072 /dev/mapper/asmvote02 1024 1024 716 MEMBER 2021-09-25 08:48:40 4 OCRDG NORMAL OCRDG_0000 3072 /dev/mapper/asmvote01 1024 1024 720 MEMBER 2021-09-25 08:48:40 4 OCRDG NORMAL OCRDG_0002 3072 /dev/mapper/asmvote03 1024 1024 720 MEMBER 2021-09-25 08:48:40 12 rows selected. SQL> 3.7检查ASM剩余可用空间 asmcmd lsdg #确认磁盘有多余空间做rebalance操作 3.8 ASM扩容 grid sqlplus / as sysasm alter diskgroup DATADG add disk '/dev/mapper/asmdata07' rebalance power 8; 3.9检查rebalance select * from gv$asm_operation;
4、扩容后检查
4.1检查磁盘大小 select name,total_mb,free_mb from v$asm_diskgroup_stat; 4.2检查集群状态 crsctl stat res -t crsctl query css votedisk ocrcheck asmcmd lsdg 4.3检查日志
