代码改变世界

ASM磁盘组扩容流程

  AlfredZhao  阅读(11382)  评论(1编辑  收藏  举报

环境:RHEL 6.5 + GI 11.2.0.4 + Oracle 11.2.0.4

1.确认磁盘权限正确

如果是RAC,需要确认各个节点都认出磁盘,且权限正确。 一般磁盘是grid:asmadmin属主,660权限。

2.图形界面配置

直接使用VNC,稳定;

或者使用Secure CRT + Xmanager4 passive模式

需要注意DISPLAY的变量值是否正确
echo $DISPLAY
正确的值应该是:
Secure CRT所在主机的IP地址:passive模式显示的N.N

例如:
export DISPLAY=192.168.56.1:0.0

3.启用asmca配置

asmca

先确认本次需要添加哪些盘,然后创建一个测试磁盘组TESTDG,成功之后,再将测试磁盘组TESTDG及其内容删除;
然后扩容就是右键本次要扩容的ASM磁盘组,选择add disk添加磁盘,一次性添加,最终返回成功添加。

4.修改磁盘组rebalance power级别

添加完磁盘到磁盘组后,需要时间来同步。

alter diskgroup datadg rebalance power 5;
这里rebalance power的级别从1到11中选择一个数值;数值越大,rebalance速度越快,对现有运行系统影响也越大。需要根据当时业务权衡选择适合的级别;
该命令只对本次rebalance操作有效。

如果命令行执行ASM磁盘组扩容操作就是下面这样:

--新建TESTDG 先把本次添加的磁盘测试下可用;
CREATE DISKGROUP TESTDG EXTERNAL REDUNDANCY DISK '/dev/raw/raw26', '/dev/raw/raw27', '/dev/raw/raw28', '/dev/raw/raw29', '/dev/raw/raw30', '/dev/raw/raw31', '/dev/raw/raw32', '/dev/raw/raw33', '/dev/raw/raw34', '/dev/raw/raw35', '/dev/raw/raw36', '/dev/raw/raw37', '/dev/raw/raw38', '/dev/raw/raw39', '/dev/raw/raw40' ATTRIBUTE 'compatible.asm'='11.2';
DROP DISKGROUP TESTDG INCLUDING CONTENTS;

--磁盘组DATADG扩容 (15块一起加,rebalance power 选择5)
SQL> alter diskgroup DATADG add disk '/dev/raw/raw26', '/dev/raw/raw27', '/dev/raw/raw28', '/dev/raw/raw29', '/dev/raw/raw30', '/dev/raw/raw31', '/dev/raw/raw32', '/dev/raw/raw33', '/dev/raw/raw34', '/dev/raw/raw35', '/dev/raw/raw36', '/dev/raw/raw37', '/dev/raw/raw38', '/dev/raw/raw39', '/dev/raw/raw40' rebalance power 5;

但是同事的经验告诉我最好图形界面操作,命令操作之前有人出过问题。
所以对于ASM磁盘组扩容,在能用图形的环境还是用图形来加,既简单又不容易出错。

5.监控磁盘组rebalance完成情况

查看视图v$asm_operation看rebalance进展情况:
select * from v$asm_operation;

当执行上述查询没有结果输出时,证明已经ASM磁盘组已经rebalance完毕。

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示