一次dd磁盘的风波--

本文记录了一次因ASM磁盘组空间不足而进行的加盘操作过程中出现的问题及解决过程。作者误将新磁盘加入到了错误的磁盘组中,并尝试了多种方法最终解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一次dd磁盘的风波

 

本人切身一次经历。

在运维客户数据库(核心库之一)由于ASM磁盘组空间不足需要加盘,存储工程师告诉我盘已经划好了,同时也告诉我了****四位LDEV号我同时也叫做lun ID。

接下来就是我们常规的加盘操作。

加盘操作:由于主机信息涉及敏感信息

1.

扫盘操作我们通过Linux RPM包sg3提供

/usr/bin/rescan-scsi-bus.sh 执行脚本即可。

节点1、2都需要执行

2.编写UDEV配置文件

ACTION=="add|change", KERNEL=="dm-?*", ENV{DM_UUID}=="mpath-3600b3422bbd54a2d66a1d66e0d0000dc", SYMLINK+="oracleasm/disks/vsp_raid1_00dc",GROUP="asmadmin", OWNER="grid", MODE="0660"

ACTION=="add|change", KERNEL=="dm-?*", ENV{DM_UUID}=="mpath-3600b34234c106d2dd4cfd908ed0000da", SYMLINK+="oracleasm/disks/vsp_raid1_00da",GROUP="asmadmin", OWNER="grid", MODE="0660"

 

下图是模版

 

节点1、2都做。

3.修改磁盘的属组

编写脚本如下:Chown_disk.sh

echo $#

if [ $# -lt 1 ]; then

  echo "usage : $0 <dm device>"

  exit 1

fi

if [  -d /sys/devices/virtual/block/$1 ]; then

  echo 2

  udevadm test --action=change /devices/virtual/block/$1/

fi

 

 

OK,执行脚本修改盘的属组。

登录ASM实例检查盘是否存在:

select GROUP_NUMBER,DISK_NUMBER,STATE,OS_MB,TOTAL_MB,FREE_MB,NAME,PATH  from gv$asm_disk   where GROUP_NUMBER=0 order by 5 ;

 

在这里应该看到rows 2则代表我们盘已正确规划。

 

3.开始加盘

alter diskgroup DG7 add disk '/dev/oracleasm/disks/vsp_raid1_00dc' rebalance  power 8 ;

加盘姿势也很标准,报错如下:

Error:

/dev/oracleasm/disks/vsp_raid1_00dc这个盘已经存在于ARCHDG中,但是这块盘是新加上来的,于是我去DG6中查看该盘是否存在?

错误由此产生:没再去检查/etc/udev/rules.d/96-multipath.rules

 

清除磁盘头信息:

dd if=/dev/zero  of=/dev/mapper/mpathcd  bs=1k count=5000

然后再重新加盘

这个时候开始慌了,知道自己那里有问题了。

说不慌其实慌的一逼,那是安慰自己,内心早已凌乱。(这是客户核心库之一,数据量近70T日归档量有8T,众多业务以及边缘业务都依赖与此系统)

值得庆幸的是ARCHDG而不是DATADG,心里还是有把握搞的。

没再多想赶紧理一下思路,整理解决方案:

思路一:提出ARCHDG中坏盘,dd掉重新在加入ARCHDG;

思路二:切换归档路径,删除ARCHDG,重建。(但这种方式就需要删除ARCHDG中所有归档);

 

思路一解析:由于我采用dd方式清除了mpathcd 的盘头信息,ASM实例磁盘组,所以采用drop disk未必能够剔除mpathcd该盘。

思路二解析:切换归档路径,删除ARCHDG重建ASM磁盘组,归档则全部丢失。

“归档丢失”也够让我“颤抖”的,核心库有OGG还有DG备库呢!

检查OGG,抽取进程也没延迟。

检查DG备库:

权衡利弊得失,决定还是删除DG重建来的比较快一些。说时迟那时快,抡起袖子就是干。

第一步切换归档路径

第二步切换日志(每一个节点都要切换)

第三步删除archdg

Sqlplus / as sysasm

我们在删除DG前确保OGG抽取、DG备库日志应用没有延迟!

第四步集群资源中提出archdg

第五步create diskgroup

第六步归档盘切回archdg;

 

到此为止该盘组恢复如初,然而付出的代价却是近2天的归档丢失,值得庆幸的是dd归档盘非数据盘。再不济了,我还有active dataguard 备库呢!

 

通过这件事情需要我们值得注意,我们作为数据库工程师(DBA)在维护业务数据库时小心再小心,三思而后行!!!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值