oracle ASM在线扩容-加盘

本文介绍了如何在Oracle ASM环境中进行在线磁盘组扩容,分别阐述了在AIX和Linux平台上加盘的详细步骤,包括磁盘扫描、属性设置、权限修改及ASM磁盘组的动态添加。

oracle ASM磁盘组在线加盘

很多时候,我们DBA都会遇到ASM磁盘空间问题需要加盘,这个时候我们DBA一般都会申请停机,而很多时候,一些核心业务是不能停机的,但这个时候往往最尴尬。

 

接下来我们以AIX 小机和Linux 平台为例讲解ASM在线加盘。

 

 

AIX小鸡加盘姿势一:

存储工程师通知到我们存储已将lun 划好映射给主机。(注意:这个时候千万不要忘记了,lun有ldev号,一定跟存储工程师确认好,不然出事就是事故)

 

1.扫盘操作:

cfgmgr

2.确定盘已经给扫描到:拿着存储工程师给的LDEV号对比查找

lscfg -vp >/tmp/ldev.txt

cat /tmp/ldev.txt 查看LDEV号

查找ldev号,确认 rdisk 。

在这里我们假如以:

hdisk50

hdisk51

这两块新加盘为例

3.查看hdisk50,hdisk51 属性

lsattr -El hdisk50

lsattr -El hdisk51

需要把reserve_policy 属性设置为:no_reserve

命令如下:

chdev -L hdisk50 -a reserve_policy=no_reserve

chdev -L hdisk51 -a reserve_policy=no_reserve

 

简单的解释:hdisk是块设备,而rhdisk是字符设备。

asm必须使用字符设备

4.修改磁盘权限

chown -R grid:asmadmin  rhdisk50

chown -R grid:asmadmin  rhdisk51

 

同样在节点二也是如此。

注意:若是节点一 节点二 设备盘符不一致 可用下面命令修改:

hdisk60 hdisk61这两个设备标识符不存在。

rendev -l hdisk50 -n hdisk60

rendev -l hdisk51 -n hdisk61

 

接下来就是DBA加盘操作:

grid用户:

sqlplus / as sysasm

select group_number,state,name,path from v$asm_disk order by 1;

 

group_number=0的盘就是你新加上来的盘。

 

添加磁盘到ASM 磁盘组:

ALTER DISKGROUP data ADD DISK  '/dev/rdisk50' REBALANCE POWER 4;

ALTER DISKGROUP data ADD DISK  '/dev/rdisk51' REBALANCE POWER 4;

 

Linux加盘操作:

Linux加盘操作首先介绍一下:rescan-scsi-bus.sh脚本来自sg3_utils包,它可以根据需要自动更新主机的逻辑单元配置(在设备添加到系统后)。

1.安装sg3_utils rpm包

yum -y install sg3_utils*

此安装包会在/usr/bin/ 生成一个脚本:rescan-scsi-bus.sh 脚本。

rescan-scsi-bus.sh - 用于在不重新启动的情况下添加和删除SCSI设备的脚本  

rescan-scsi-bus.sh [ 选项 ] [ 主机 [ 主机 ...]]  

OPTIONS

-a,-- alltargets

扫描所有目标,而不仅仅是现有的[默认:禁用]

-d

启用调试[默认:0]

-l

激活扫描LUN 0 - 7 [默认值:0]

-L NUM

激活扫描LUN 0 - NUM [默认值:0]

-w, - 全

扫描目标设备ID 0--15 [默认值:0 - 7]

-C

启用扫描通道0 1 [默认值:0 /所有检测到的]

-r, - 删除

启用删除设备[默认:禁用]

-f,-- flush

刷新失败的多路径设备[默认:禁用]

-i,- 组织唇

发出FibreChannel LIP重置[默认:禁用]

-m, - 多路径

更新多路径设备[默认:禁用]

-u,-- update

查找已重新映射的现有磁盘

-s,-- resize

查找调整大小的磁盘并重新加载关联的多路径设备(如果适用)

--forcerescan

重新扫描现有设备

--forceremove

删除并读取每个设备(危险)

--nooptscan

如果未找到0,则不要停止查找LUN

- 颜色

使用彩色前缀OLD / NEW / DEL

--hosts = LIST

只扫描LIST中的主机

--channels = LIST

只扫描LIST中的频道

--ids = LIST

只扫描LIST中的目标ID

--luns = LIST

只扫描LIST中的 lun(s)

--sync,-- nosync

发出同步/不同步[默认:同步如果删除]

--attachpq3

告诉内核将sg附加到报告PQ = 3的LUN 0

--reportlun2

告诉内核即使在SCSI2设备上也要尝试REPORT_LUN

--largelun

即使在SCSI2设备上也告诉内核支持> 7的LUN

--sparselun

告诉内核支持稀疏的LUN编号

因此,主机号码可以直接在cmd行(不建议使用)或使用--hosts = LIST参数(建议)指定。

 

一般来说直接运行/usr/bin/rescan-scsi-bus.sh 这个脚本即可。

 

2.根据存储工程师提供的ldev号找到该盘

生产环境绝大多数都会安装multipath 多路径软件。

假设这里的LDEV号是 :07:08,07:09

则我们用以下命令即可:

multipath -ll| grep 0708

multipath -ll| grep 0709

我们找到磁盘UUID 即唯一标示“36006016076f32e00745442a6f862e0708” ,“36006016076f32e00745442a6f862e0709”   一长串数字字母 还有dm-*

 

 

 

3.配置UDEV规则

编辑: 99-oracle-asmdevices.rules 文件

 

ACTION=="add|change", KERNEL==“dm-?*",RESULT=="36006016076f32e00745442a6f862e0708", NAME="asm-disk1", OWNER="grid", GRO UP="asmadmin", MODE="0660"

ACTION=="add|change", KERNEL==“dm-?*",RESULT=="36006016076f32e00745442a6f862e0709", NAME="asm-disk2", OWNER="grid", GRO UP="asmadmin", MODE="0660"

 

ls -lrt   asm-disk1

ls -lrt   asm-disk2

 

UDEV规则配置完毕后,可能权限没有修改过来。

则执行步骤4:

 

4.根据UUID找到dm 设备标识符

udevadm  test --action=change /devices/virtual/block/dm-50

udevadm  test --action=change /devices/virtual/block/dm-51

 

此时我们已经完成在线加盘操作。

添加磁盘到ASM 磁盘组:

ALTER DISKGROUP data ADD DISK  '*' REBALANCE POWER 4;

ALTER DISKGROUP data ADD DISK  '*' REBALANCE POWER 4;

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值