当FRA区或者DATA区磁盘空间不够的时候,我们需要为ASM添加磁盘。
添加磁盘的high level的步骤为:
1. SA分配共享磁盘,要求在多个节点都能看到这些磁盘。
2. 将共享磁盘分区,将分区后的磁盘,创建成asmdisk
3. 将asmdisk加入到asm的diskgroup中
下面是具体的实施步骤:
(一). SA分配共享磁盘,要求在多个节点都能看到这些磁盘。
1. 在SA未加磁盘之前,记下/dev/sd*的磁盘名称,已经到了那个字母,以便识别后续的下一个字母为新加的磁盘。
对于已经加入到asm的磁盘,对应于哪个磁盘,可以先用oracleasm listdisks列出有多少个已经创建的asm磁盘,然后用oracleasm querydisk -p
2. SA加盘之后,需要在多个节点都能看到这些盘,通过ls -l /dev/sd*应该可以看到新增之后的磁盘。
(二). 将共享磁盘分区,将分区后的磁盘,创建成asmdisk
1. 在一个节点上,用fdisk命令,将新建的共享磁盘分区:
fdisk /dev/sdn
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
Partition number (1-4, default 1):
First sector (32768-25165823, default 32768):
Using default value 32768
Last sector, +sectors or +size{K,M,G} (32768-25165823, default 25165823): +50G
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): w
注意,这里分区的大小,必须严格遵守和已经存在盘一致的大小,不然同一个diskgroup中不同大小的盘,会导致rebalance不平衡,引起性能问题。
2. 在一个节点完成分区后,在其他节点观察是否也完成了分区。查看是否存在sd*1,如果没有,可以利用fdisk /dev/sd
3. 在一个节点上,创建对应的asm磁盘:
oracleasm createdisk FRA05 /dev/sdn1
oracleasm createdisk FRA06 /dev/sdo1
oracleasm createdisk FRA07 /dev/sdp1
oracleasm createdisk FRA08 /dev/sdq1
4. 在多个节点上oracleasm listdisks,查看是否创建了新的asmdisk(对比第(一)步的第1点),如果没有看到,用oracleasm scandisks一次之后,再次oracleasm listdisks。如果还是没有看到,说明之前的创建步骤有问题。停止后续操作,检查分析之前步骤的执行情况
5. 登录sqlplus ‘/as sysasm”
select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,name,path from v$asm_disk;
观察上述新加的asm磁盘的HEADER_STATUS状态,应该是PROVISIONED
(三)将asmdisk加入到asm的diskgroup中
1. 先在一个节点创建一个test diskgroup,注意使用的是path name,而不是name。
CREATE DISKGROUP TEST EXTERNAL REDUNDANCY DISK ‘ORCL:FRA05′,’ORCL:FRA06’;
ALTER DISKGROUP TEST ADD DISK ‘ORCL:FRA07′,’ORCL:FRA08′;
2. 在其他节点进行mount该diskgroup,注意mount之前,状态应该是DISMOUNTED
SELECT STATE, NAME FROM V$ASM_DISKGROUP where name=’TEST’;
3.mount磁盘,看是否有报错:
ALTER DISKGROUP TEST MOUNT;
4. mount之后,状态应该是MOUNTED:
SELECT STATE, NAME FROM V$ASM_DISKGROUP where name=’TEST’;
5. 确认上述操作步骤没有失败后。删除测试用的test diskgroup,先在别的节点dismount该磁盘组
alter diskgroup test dismount;
6. 在第一个节点drop diskrgoup:
DROP DISKGROUP TEST;
7. 在第一个节点添加磁盘:
ALTER DISKGROUP FRA ADD DISK ‘ORCL:FRA05′,’ORCL:FRA06′,’ORCL:FRA07′,’ORCL:FRA08’ ;
8. 根据情况,调整rebalance power,(注:白天业务高峰期,禁止使用超过3的power)
alter diskgroup fra rebalance power 8;
9. 观察asm rebalance的情况,直到v$asm_operation返回0行记录,才算变更完成。
select * from v$asm_operation;
4条评论
所有的文章都是有问题的,垃圾文章害死人。生产没有实际操作过,天天虚拟机,不懂就不要发文章了。
所有文章都有问题,什么问题?
上述的操作过程是基于How To Add a New Disk(s) to An Existing Diskgroup on RAC Cluster or Standalone ASM Configuration (Best Practices). (Doc ID 557348.1) ,结合我们的生产环境操作后总结的文档。
荷兄 你理睬这种瘪三干嘛
本文绝对是一线的经验,想当初在QVC没少干这类的加盘的活,支持小荷的分享。