ASM添加磁盘最佳实践

当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 然后 p参数(p表示print),然后退出。即可看到分区后的硬盘sd1

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条评论

  1. 所有的文章都是有问题的,垃圾文章害死人。生产没有实际操作过,天天虚拟机,不懂就不要发文章了。

    1. 所有文章都有问题,什么问题?
      上述的操作过程是基于How To Add a New Disk(s) to An Existing Diskgroup on RAC Cluster or Standalone ASM Configuration (Best Practices). (Doc ID 557348.1) ,结合我们的生产环境操作后总结的文档。

  2. 本文绝对是一线的经验,想当初在QVC没少干这类的加盘的活,支持小荷的分享。

回复 无为而为 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据