一次dd磁盘的风波

 

本人切身一次经历。

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

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

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

1.

一次dd磁盘的风波--

扫盘操作我们通过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"

 

下图是模版

一次dd磁盘的风波--

 

节点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

 

一次dd磁盘的风波--

 

一次dd磁盘的风波--

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 ;

 

一次dd磁盘的风波--

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

 

3.开始加盘

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

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

一次dd磁盘的风波--

Error:

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

一次dd磁盘的风波--

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

 

清除磁盘头信息:

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

然后再重新加盘

一次dd磁盘的风波--

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

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

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

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

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

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

 

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

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

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

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

一次dd磁盘的风波--

检查DG备库:

一次dd磁盘的风波--

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

第一步切换归档路径

一次dd磁盘的风波--

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

一次dd磁盘的风波--

第三步删除archdg

Sqlplus / as sysasm

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

一次dd磁盘的风波--

第四步集群资源中提出archdg

一次dd磁盘的风波--

第五步create diskgroup

一次dd磁盘的风波--

第六步归档盘切回archdg;

一次dd磁盘的风波--

 

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

 

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

 

 

相关文章:

  • 2022-12-23
  • 2021-07-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-29
猜你喜欢
  • 2021-04-30
  • 2021-05-10
  • 2021-08-12
  • 2021-06-01
  • 2021-11-17
  • 2021-07-06
  • 2022-03-09
相关资源
相似解决方案