oracle rac的磁盘组添加磁盘扩容

本文介绍了如何通过创建共享磁盘组并使用udev规则绑定新磁盘设备来扩展ASM磁盘组的过程。从创建共享磁盘开始,经过udev规则配置、磁盘组添加直至最终确认磁盘空间增加。

asm添加磁盘

1:创建共享磁盘组
2:查看新的磁盘
fdisk -l
显示是/dev/sdi  8G

2:绑定设备
需要添加的为/dev/sdc,/dev/sdd 时,将脚本修改为 for i in c d 即可。这些sdi;

for i in i;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\",PROGRAM==\"/sbin/scsi_id -g -u /dev/\$name\", RESULT==\"`/sbin/scsi_id -g -u --device=/dev/sd$i`\", NAME=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""  
done;

3:添加到rules

cd /etc/udev/rules.d

vi 99-oracle-asmdevices.rules

KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id -g -u /dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB52c42b9d-57498589", NAME="asm-diski", OWNER="grid",GROUP="asmadmin", MODE="0660"

4:重启udev
[root@rac1 rules.d]# /sbin/start_udev
正在启动 udev:[确定]

5:查看新绑定的
[root@rac1 rules.d]#  ls -ltr /dev/asmi
brw-rw----. 1 grid asmadmin 8, 128 3月   1 15:59 /dev/asm-diski

6:查看asm磁盘组
[grid@rac1 ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 1 16:06:29 2018
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options


SQL>  select instance_name from v$instance;


INSTANCE_NAME
--------------------------------
+ASM2


SQL> set pagesize 1000 linesize 500
SQL> select GROUP_NUMBER,NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;


GROUP_NUMBER NAME                                                           TOTAL_MB    FREE_MB
------------ ------------------------------------------------------------ ---------- ----------
           1 DATADG                                                            11264      10956




7:asmca添加磁盘asm-diski到datadg磁盘组

SQL> alter diskgroup datadg add disk '/dev/asm-diski';
Diskgroup altered.

8:核对可用空间

SQL> select GROUP_NUMBER,NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;


GROUP_NUMBER NAME                                                           TOTAL_MB    FREE_MB
------------ ------------------------------------------------------------ ---------- ----------
           1 DATADG                                                            19456      19146

添加成功。
<think>我们正在处理一个Oracle 11g RAC环境中向OCR磁盘组添加磁盘的问题。根据引用内容,我们需要注意OCR磁盘组可能包含OCR和Voting Disk,所以操作需要谨慎。 步骤: 1. 首先,确保新磁盘已经准备好,并且在所有节点上可见(例如,通过ASMLib或udev配置)。 2. 使用root用户在一个节点上执行以下操作。 具体步骤: a. 检查当前磁盘组状态和磁盘路径: 我们可以通过`asmcmd lsdg`查看磁盘组,通过`asmcmd lsdsk`查看磁盘。 b. 添加磁盘到OCR磁盘组(假设OCR磁盘组名为`OCRVOTE`,新磁盘路径为`/dev/oracleasm/disks/NEWDISK`): - 使用`asmcmd`工具添加磁盘: ``` asmcmd ASMCMD> volcreate -G OCRVOTE -s <size> <volume_name> <device_path> 或者 ASMCMD> lsdsk ASMCMD> chdg -add <diskgroup_name> <disk_path> 但是,在11g中,我们通常使用SQL命令来添加磁盘。 ``` 或者使用SQL*Plus连接到ASM实例: ``` sqlplus / as sysasm SQL> ALTER DISKGROUP OCRVOTE ADD DISK '/dev/oracleasm/disks/NEWDISK' NAME NEWDISK; ``` 注意:在RAC环境中,需要确保在ASM实例中执行,并且所有节点都可见该磁盘。 3. 验证磁盘组: ``` SQL> SELECT name, path, group_number FROM v$asm_disk; ``` 4. 重新平衡磁盘组(自动): 添加磁盘后,ASM会自动进行重新平衡操作。可以通过以下视图监控: ``` SQL> SELECT * FROM v$asm_operation; ``` 5. 检查OCR和Voting Disk的冗余是否满足要求: 由于OCR和Voting Disk需要高可用,确保磁盘组有足够的故障组(failgroup)和冗余(例如NORMAL冗余需要至少两个故障组,HIGH冗余需要至少三个)。 如果之前只有两个磁盘(例如两个故障组),现在添加第三个磁盘,我们需要考虑故障组的配置。在添加磁盘时,可以指定故障组: ``` ALTER DISKGROUP OCRVOTE ADD DISK '/dev/oracleasm/disks/NEWDISK' NAME NEWDISK FAILGROUP <failgroup_name>; ``` 如果磁盘组是NORMAL冗余,那么需要至少两个故障组。我们可以将新磁盘添加到已有的故障组或创建一个新的故障组。但是,为了高可用,通常建议每个磁盘一个故障组,并且分布在不同的存储上。 6. 更新OCR和Voting Disk的配置(如果需要): 一般情况下,添加磁盘到OCR磁盘组后,OCR和Voting Disk会自动扩展到新磁盘上。但为了确保,我们可以检查OCR和Voting Disk的状态。 检查OCR: ``` ocrcheck ``` 检查Voting Disk: ``` crsctl query css votedisk ``` 如果发现它们没有使用新添加磁盘,可能需要重新配置Voting Disk(注意:重新配置Voting Disk需要谨慎,最好在Oracle Support指导下进行)。但通常不需要,因为ASM磁盘组会自动管理。 7. 注意事项: - 操作前备份OCR和Voting Disk(如果可能)。 - 确保在维护窗口进行,因为重新平衡可能会影响性能。 - 确保新磁盘的大小和性能与现有磁盘相似。 根据引用[5],在11g中,我们还可以通过添加NFS磁盘作为voting disk来扩展,但这里我们只是添加本地磁盘到现有的OCR磁盘组。 如果遇到问题,可以参考官方文档(如引用[3]和[4])或Oracle Support文档(如引用[5])。 相关问题: 1. 在Oracle RAC中,如何从OCR磁盘组中移除磁盘? 2. 添加磁盘到OCR磁盘组后,如何验证OCR和Voting Disk的完整性? 3. 在Oracle 11g RAC中,如何调整OCR磁盘组的冗余级别?</think>### 向 OCR 磁盘组添加磁盘的步骤(Oracle 11g RAC) 1. **准备工作** - 确保新磁盘已物理连接并配置为 ASM 磁盘(使用 `oracleasm createdisk` 或 `udev` 规则) - 验证所有节点识别新磁盘(`/dev/oracleasm/disks/` 下可见)[^2] - 备份 OCR 和 Voting Disk: ```bash ocrconfig -export /backup/ocr_exp.dmp crsctl query css votedisk ``` 2. **添加磁盘磁盘组** ```sql ALTER DISKGROUP OCRVOTE ADD DISK '/dev/oracleasm/disks/NEWDISK' NAME NEWDISK FAILGROUP NEWFG; /* 指定故障组 */ ``` - 使用 ASM 实例执行(`sqlplus / as sysasm`) - 冗余要求: - **NORMAL 冗余**:至少 3 个故障组 - **HIGH 冗余**:至少 5 个故障组[^5] 3. **验证磁盘组状态** ```sql SELECT name, path, failgroup FROM v$asm_disk; /* 确认新磁盘在线 */ SELECT group_number, name, state FROM v$asm_diskgroup; /* 检查磁盘组状态 */ ``` 4. **重新配置集群资源** ```bash crsctl stop has -f /* 停止集群服务 */ crsctl start has /* 启动集群服务 */ crsctl check cluster -all /* 验证所有节点状态 */ ``` 5. **关键检查点** - OCR 完整性:`ocrcheck` - Voting Disk 状态:`crsctl query css votedisk` - 磁盘组挂载状态:`asmcmd lsdg -g OCRVOTE`[^1][^4] **注意事项**: 1. 操作需在 **root** 和 **grid** 用户下执行 2. 确保新磁盘与现有磁盘 **相同大小和性能** 3. 添加后 ASM 会自动重平衡数据(监控 `v$asm_operation`) 4. 若 OCR/Voting Disk 在独立磁盘组,优先使用 `crsctl replace votedisk` 命令[^5] > 引用官方文档建议:重大变更前需验证存储配置兼容性(参考 [Oracle Support Doc 1421588.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=1421588.1))[^3][^5]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值