asm 磁盘更换记(asmar)

fangcloud 359 2022-07-06

本文转载自网络公开信息

计划本周做 asm 磁盘的切换准备工作,上周已经做好了lun的划分工作,

sunha5_n 包括两个磁盘组, sunha5_f1, sunha5_f2  ,我们原定的分别跨在两个存储上,

前段时间,因为磁盘空间紧张,临时添加磁盘空间打破了这种格局,对维护带来一 定的难度,需要调整回去,本次操作的目的在于此

删除  sunha5_n_0000 磁盘,添加一个新磁盘代替之。

先 是删除很轻松[code]

1* select name, failgroup ,path from v$asm_disk where name is not null order by name

SYS AS SYSDBA at +ASM > /

NAME                 FAILGROUP       PATH

-------------------- --------------- --------------------------------------------------

SUNHA5_N_0000        SUNHA5_F2       /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6

SUNHA5_N_0001        SUNHA5_F2       /dev/rdsk/c4t6006016023912800BA383E8BACBADF11d0s6

SUNHA5_N_0002        SUNHA5_F2       /dev/rdsk/c4t6006016023912800B02840888FB1DF11d0s6

SUNHA5_N_0003        SUNHA5_F2       /dev/rdsk/c4t60060160239128008E54346EACBADF11d0s6

SUNHA5_N_0004        SUNHA5_F1       /dev/rdsk/c4t6006016010511E00128706D3AABADF11d0s6

SUNHA5_N_0005        SUNHA5_F1       /dev/rdsk/c4t6006016010511E002D5FFF791CB9DF11d0s6

SUNHA5_N_0006        SUNHA5_F1       /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s6

SUNHA5_N_0007        SUNHA5_F1       /dev/rdsk/c4t6006016010511E00E4F60988C0A5DF11d0s6

SUNHA5_N_0008        SUNHA5_F2       /dev/rdsk/c4t6006016023912800CBCB861C1FB9DF11d0s6

SUNHA5_N_0009        SUNHA5_F1       /dev/rdsk/c4t6006016010511E008E4BB66773C4DF11d0s6

[/code][code]

SYS AS SYSDBA at +ASM > alter diskgroup sunha5_n   drop disk SUNHA5_N_0000 ;

Diskgroup altered.

[/code]添加新磁盘[code]

SYS AS SYSDBA at +ASM > alter diskgroup sunha5_n  add  failgroup sunha5_f2 disk '/dev/rdsk/c4t6006016023912800AE557B32B813E011d0s6';

alter diskgroup sunha5_n  add  failgroup sunha5_f2 disk '/dev/rdsk/c4t6006016023912800AE557B32B813E011d0s6'

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15010: name is already used by an existing ASM disk

SYS AS SYSDBA at +ASM > edit

Wrote file afiedt.buf

"afiedt.buf" 2 DD£?110 ×?·?

alter diskgroup sunha5_n  add  failgroup sunha5_f2 disk '/dev/rdsk/c4t6006016023912800AF557B32B813E011d0s6'

/

~

[/code] 系统报错,无法添加磁盘 ,问题出在哪里呢?

这个错误时报 asm   磁盘的 名 被占用,为新加磁盘指定磁盘名,当时,无法确定是什么问题,于是决定先回滚[code]

SYS AS SYSDBA at +ASM > alter diskgroup sunha5_n undrop disks;

Diskgroup altered.

1* select name,failgroup,path from v$asm_disk order by failgroup ,name

SYS AS SYSDBA at +ASM > /

NAME                 FAILGROUP       PATH

-------------------- --------------- --------------------------------------------------

SUNHA5_N_0004        SUNHA5_F1       /dev/rdsk/c4t6006016010511E00128706D3AABADF11d0s6

SUNHA5_N_0005        SUNHA5_F1       /dev/rdsk/c4t6006016010511E002D5FFF791CB9DF11d0s6

SUNHA5_N_0006        SUNHA5_F1       /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s6

SUNHA5_N_0007        SUNHA5_F1       /dev/rdsk/c4t6006016010511E00E4F60988C0A5DF11d0s6

SUNHA5_N_0009        SUNHA5_F1       /dev/rdsk/c4t6006016010511E008E4BB66773C4DF11d0s6

SUNHA5_N_0000        SUNHA5_F2       /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6

SUNHA5_N_0001        SUNHA5_F2       /dev/rdsk/c4t6006016023912800BA383E8BACBADF11d0s6

SUNHA5_N_0002        SUNHA5_F2       /dev/rdsk/c4t6006016023912800B02840888FB1DF11d0s6

SUNHA5_N_0003        SUNHA5_F2       /dev/rdsk/c4t60060160239128008E54346EACBADF11d0s6

SUNHA5_N_0008        SUNHA5_F2       /dev/rdsk/c4t6006016023912800CBCB861C1FB9DF11d0s6

磁 盘又找回来了

[/code]进过确认,发现新增的磁盘是新开的lun 没有使用过,不存在什么问题,权限也够,问题应该是出在asm 上[code]

SYS AS SYSDBA at +ASM > select * from v$asm_operation;

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES

------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------

2 REBAL      RUN               1          1      23154      95589       1470          49

[/code]原来删 除了之后,系统自动发动了rebalance 操作,先前发出的三处的命令,并没有真正的删除磁盘,需要先吧这个磁盘的数据,移动到其他盘上,才会真正的删除磁盘,而asm 分配新加磁盘的命令是指派的asm 磁盘名称总是从最小没有使用的磁盘名开始,

导致  把 sunha5_n-0000  分给了新磁盘  而旧盘还没有从cache中清理掉,导致了冲突。

知道了原因就好办了,为了节省 rebalance 的时间,我们采用了先加盘,然后再删除盘,  有个缺点会导致当前命令窗口阻塞。[code]

SYS AS SYSDBA at +ASM >alter diskgroup  sunha5_n

add failgroup sunha5_f2 disk '/dev/rdsk/c4t6006016023912800AE557B32B813E011d0s6'

name 'SUNHA5_N_0010' reba

lance wait

/

[/code]另开一个窗口 删除磁盘sunha5_n_0000[code]

SYS AS SYSDBA at +ASM > col name for a20

SYS AS SYSDBA at +ASM > col path for a50

SYS AS SYSDBA at +ASM > col failgroup for a10

SYS AS SYSDBA at +ASM > select name ,failgroup ,path from v$asm_disk where name is not null order by failgroup ,name;

NAME                 FAILGROUP  PATH

-------------------- ---------- --------------------------------------------------

SUNHA5_N_0004        SUNHA5_F1  /dev/rdsk/c4t6006016010511E00128706D3AABADF11d0s6

SUNHA5_N_0005        SUNHA5_F1  /dev/rdsk/c4t6006016010511E002D5FFF791CB9DF11d0s6

SUNHA5_N_0006        SUNHA5_F1  /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s6

SUNHA5_N_0007        SUNHA5_F1  /dev/rdsk/c4t6006016010511E00E4F60988C0A5DF11d0s6

SUNHA5_N_0009        SUNHA5_F1  /dev/rdsk/c4t6006016010511E008E4BB66773C4DF11d0s6

SUNHA5_N_0000        SUNHA5_F2  /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6

SUNHA5_N_0001        SUNHA5_F2  /dev/rdsk/c4t6006016023912800BA383E8BACBADF11d0s6

SUNHA5_N_0002        SUNHA5_F2  /dev/rdsk/c4t6006016023912800B02840888FB1DF11d0s6

SUNHA5_N_0003        SUNHA5_F2  /dev/rdsk/c4t60060160239128008E54346EACBADF11d0s6

SUNHA5_N_0008        SUNHA5_F2  /dev/rdsk/c4t6006016023912800CBCB861C1FB9DF11d0s6

SUNHA5_N_0010        SUNHA5_F2  /dev/rdsk/c4t6006016023912800AE557B32B813E011d0s6

新 磁盘已经添加上去了

SYS AS SYSDBA at +ASM > alter diskgroup sunha5_n drop disk SUNHA5_N_0000;

Diskgroup altered.

删掉旧盘

SYS AS SYSDBA at +ASM > select * from v$asm_operation ;

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES

------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------

1 REBAL      RUN               1          1       4802     121171       1850          62

SYS AS SYSDBA at +ASM > alter diskgroup sunha5_n rebalance power 5 ;

Diskgroup altered.

并行rebalance

SYS AS SYSDBA at +ASM > select * from v$asm_operation ;

GROUP_NUMBER OPERATION  STATE         POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES

------------ ---------- -------- ---------- ---------- ---------- ---------- ---------- -----------

1 REBAL      RUN               5          5         72      86286       1993

[/code]运行过程中,我们的asm 磁盘组检查代码成功的检测到asm磁盘故障。

NAME                   STATE        MOUNT_STAT       PATH                                                 TOTAL(GB)   USED%

--------------------   ----------   --------------   --------------------------------------------------   ---------   ----------

SUNHA5_N_0000          DROPPING     CACHED           /dev/rdsk/c4t6006016010511E008C4BB66773C4DF11d0s6        99.75   36.8

SUNHA5_N_0001          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800BA383E8BACBADF11d0s6        99.75   80.49

SUNHA5_N_0002          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800B02840888FB1DF11d0s6        99.75   80.49

SUNHA5_N_0003          NORMAL       CACHED           /dev/rdsk/c4t60060160239128008E54346EACBADF11d0s6        99.75   80.5

SUNHA5_N_0004          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E00128706D3AABADF11d0s6        99.75   80.49

SUNHA5_N_0005          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E002D5FFF791CB9DF11d0s6        99.75   80.49

SUNHA5_N_0006          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s6        99.75   80.49

SUNHA5_N_0007          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E00E4F60988C0A5DF11d0s6        99.75   80.49

SUNHA5_N_0008          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800CBCB861C1FB9DF11d0s6        99.75   80.49

SUNHA5_N_0009          NORMAL       CACHED           /dev/rdsk/c4t6006016010511E008E4BB66773C4DF11d0s6        99.75   80.49

SUNHA5_N_0010          NORMAL       CACHED           /dev/rdsk/c4t6006016023912800AE557B32B813E011d0s6        99.75   43.69

最后终于完成了[code]

1* select name ,failgroup ,path from v$asm_disk where name is not null order by failgroup,name

SYS AS SYSDBA at +ASM > /

NAME                 FAILGROUP  PATH

-------------------- ---------- --------------------------------------------------

SUNHA5_N_0004        SUNHA5_F1  /dev/rdsk/c4t6006016010511E00128706D3AABADF11d0s6

SUNHA5_N_0005        SUNHA5_F1  /dev/rdsk/c4t6006016010511E002D5FFF791CB9DF11d0s6

SUNHA5_N_0006        SUNHA5_F1  /dev/rdsk/c4t6006016010511E007C165A71C0A5DF11d0s6

SUNHA5_N_0007        SUNHA5_F1  /dev/rdsk/c4t6006016010511E00E4F60988C0A5DF11d0s6

SUNHA5_N_0009        SUNHA5_F1  /dev/rdsk/c4t6006016010511E008E4BB66773C4DF11d0s6

SUNHA5_N_0001        SUNHA5_F2  /dev/rdsk/c4t6006016023912800BA383E8BACBADF11d0s6

SUNHA5_N_0002        SUNHA5_F2  /dev/rdsk/c4t6006016023912800B02840888FB1DF11d0s6

SUNHA5_N_0003        SUNHA5_F2  /dev/rdsk/c4t60060160239128008E54346EACBADF11d0s6

SUNHA5_N_0008        SUNHA5_F2  /dev/rdsk/c4t6006016023912800CBCB861C1FB9DF11d0s6

SUNHA5_N_0010        SUNHA5_F2  /dev/rdsk/c4t6006016023912800AE557B32B813E011d0s6

[/code]

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表亿方云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱daifeng@360.cn 处理。
上一篇:ORACLE ASM添加磁盘(oracle limit用法)
下一篇:linux下挂载U盘(linux下挂载u盘详解)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~