如何添加磁盘到ASM的磁盘组

本文介绍如何在Linux环境下使用fdisk进行磁盘分区,随后通过Oracle ASM工具完成磁盘的标识、验证及添加到磁盘组的过程。具体步骤包括创建分区、使用ASM命令标记磁盘、验证磁盘状态并在集群环境中同步。

1. 在磁盘上建立分区
[root@node1 ~]# fdisk /dev/sdf
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): p

Disk /dev/sdf: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):
Using default value 130

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@node1 ~]# fdisk /dev/sdf

Command (m for help): p

Disk /dev/sdf: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1               1         130     1044193+  83  Linux

Command (m for help): q

2、使用oracleasm标识磁盘
[root@node1 ~]# /etc/init.d/oracleasm deletedisk VOL6
Removing ASM disk "VOL6": [  OK  ]
[root@node1 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdf1
Marking disk "VOL3" as an ASM disk: [  OK  ]
[root@node1 ~]# ls -la /dev/oracleasm/disks
total 0
drwxr-xr-x 1 root   root     0 Mar 19 13:04 .
drwxr-xr-x 2 root   root     0 Mar 19 12:56 ..
brw-rw---- 1 oracle dba  8, 81 Mar 19 13:04 VOL3

3、验证标识结果
[root@node1 ~]# /etc/init.d/oracleasm querydisk VOL3
Disk "VOL3" is a valid ASM disk
[root@node1 ~]# /etc/init.d/oracleasm listdisks
VOL3
[root@node1 ~]#
4.在其他节点上验证结果
[root@node2 ~]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [  OK  ]
[root@node2 ~]# /etc/init.d/oracleasm listdisks
VOL3
5.在Oracle中添加磁盘到DATA磁盘组

[oracle@node1 ~]$ export ORACLE_SID=+ASM1

[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 19 13:13:00 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options

SQL> select path from v$asm_disk; 

PATH
--------------------------------------------------------------------------------
/dev/raw/raw2
ORCL:VOL3
/dev/raw/raw1
/dev/raw/raw4
/dev/raw/raw3

SQL> alter diskgroup RAC_DISK add disk 'ORCL:VOL3' name test_asm;

Diskgroup altered.

 

<think> 首先,用户正在查询在Oracle 12c RAC环境中添加ASM磁盘组的方法。 根据系统指令,我需要使用正确的LaTeX格式,用中文回答,并生成相关问题。 另外,在回答中引用段落时,我必须在末尾添加引用标识,比如[^1]。 我得到的引用是: - 引用[^1]:讨论了在RHEL 7.2上使用EMC Powerpath扩展磁盘空间并添加到12C RAC for ASM。 它提到了添加磁盘的步骤,主机人员通知扩展别名为data_center_16、data_center_17。 - 引用[^2]:讨论了Oracle 12c中RAC功能的新特性,特别是ASM和Grid。 它提到OCR现在可以备份在ASM磁盘组中,并给出了一个设置备份位置的例子。 - 引用[^3]:讨论了Oracle 12c ASM管理,包括在RAC环境中创建一个临时表空间。 用户的查询是关于添加ASM磁盘组,不是扩展现有磁盘或备份OCR。 所以,虽然这些引用相关,但我需要专注于添加磁盘组的通用方法。 结构化我的回答: 1. **介绍**:简要解释在Oracle 12c RAC中添加ASM磁盘组的目的。 2. **步骤**:提供一个清晰的分步指南。 由于引用没有直接提供完整的步骤,我将基于标准Oracle实践进行推断。 引用[^1]提到了添加磁盘,但它是关于扩展现有空间,而不是创建新磁盘组。 引用[^3]涉及在ASM中创建文件,但没有添加磁盘组。 因此,我将使用一般知识。 标准步骤: - 准备物理磁盘。 - 配置ASM实例。 - 使用SQL或ASMCMD创建磁盘组。 在RAC环境中,由于多个节点,需要确保所有节点都能访问磁盘。 3. **包括LaTeX**:在行内使用$...$,例如,用于命令或路径。 对于独立公式(如果适用),使用$$...$$,但在这个上下文中,可能没有数学公式;更多是命令。 所以,我可能使用行内代码块或描述。 4. **中文回答**:整个回答用中文。 5. **生成相关问题**:在最后,添加一个“相关问题”部分。 6. **引用**:如果在回答中使用了引用内容,添加引用标识。 例如,如果我从引用中提取信息。 由于引用[^1]讨论了添加磁盘(尽管是用于扩展),我可以将其纳入准备步骤。 引用[^2]和[^3]可能不直接相关,但我会尽量链接。 关键点: - 添加ASM磁盘组涉及: a. 确保所有节点都能访问共享存储。 b. 使用`asmca`(ASM配置助手)或SQL*Plus命令。 c. 在RAC中,从任一节点操作,因为它会传播。 基于引用[^1]:它提到主机人员告知扩容别名的步骤,所以磁盘必须已经存在并被识别。 步骤大纲: 1. 准备存储:确保所有RAC节点都能看到磁盘。 2. 配置磁盘:可能使用工具如`udev`或ASMLib来标记磁盘。 3. 创建磁盘组:使用`asmca`或SQL命令。 在回答中使用引用: - 参考引用[^1]用于磁盘准备部分。 - 参考引用[^3]用于ASM管理命令。 最终回答结构: - 解释过程。 - 分步指南。 - 代码块用于命令(如SQL或shell命令)。 - 相关问题。 生成相关问题: - 基于主题,比如优化、故障排除等。 确保回答真实可靠: - 基于Oracle文档和标准实践。 </think>### Oracle 12c RAC环境下添加ASM磁盘组的方法 在Oracle 12c Real Application Clusters (RAC) 环境中,添加ASM (Automatic Storage Management) 磁盘组涉及多个步骤,包括物理磁盘准备、共享存储配置和ASM实例操作。以下是基于标准实践的分步指南,确保过程适用于RAC环境(所有节点需协同操作)。引用内容来自站内资料,用于补充关键点[^1][^2][^3]。 #### 1. **准备工作:确保共享存储可用** - **物理磁盘准备**: - 在存储设备上分配新磁盘(例如,通过SAN或NAS),并确保所有RAC节点都能访问这些磁盘磁盘需格式化为裸设备或使用ASMLib标记。 - 参考主机人员提供的别名(如 `data_center_16`、`data_center_17`)来识别磁盘[^1]。 - 使用 `udev` 或 `multipath` 工具配置磁盘路径(例如,在Linux中): ```bash # 查看所有节点识别的磁盘 $ lsblk $ multipath -ll ``` - **验证磁盘权限**: 确保磁盘权限对所有节点一致(通常为 `oracle:oinstall`),避免访问冲突。 #### 2. **配置ASM磁盘(在ASM实例中)** - **登录ASM实例**: 从任一RAC节点,使用SQL*Plus连接到ASM实例(需SYSDBA权限): ```bash $ sqlplus / as sysasm ``` - **发现并标记磁盘**: 使用 `ASM_DISKSTRING` 参数指定磁盘路径,然后查询可用磁盘: ```sql SQL> ALTER SYSTEM SET ASM_DISKSTRING = '/dev/mapper/data_center_*' SCOPE=BOTH; -- 根据实际路径设置[^1] SQL> SELECT name, path, header_status FROM V$ASM_DISK; -- 确认磁盘状态为"CANDIDATE"(可用) ``` 如果磁盘未显示,检查路径权限或重启ASM实例。 #### 3. **创建ASM磁盘组** - **使用SQL命令或ASMCA工具**: - **方法1:SQL*Plus命令(推荐直接操作)**: 在ASM实例中执行 `CREATE DISKGROUP` 命令,指定磁盘组名称、冗余级别(如NORMAL、HIGH)和磁盘列表: ```sql SQL> CREATE DISKGROUP new_dg NORMAL REDUNDANCY DISK '/dev/mapper/data_center_16' NAME disk16, '/dev/mapper/data_center_17' NAME disk17; -- 磁盘别名对应主机提供的信息[^1] ``` - `NORMAL REDUNDANCY` 表示双重镜像(默认),适用于大多数场景。 - 成功创建后,验证磁盘组: ```sql SQL> SELECT name, state, total_mb FROM V$ASM_DISKGROUP; -- 检查状态为"MOUNTED" ``` - **方法2:ASM配置助手(ASMCA,图形化界面)**: 运行 `asmca` 命令启动工具: ```bash $ asmca ``` 在GUI中选择"Create",添加磁盘并设置属性(冗余级别、分配单元大小)。 #### 4. **验证和使磁盘组生效(在所有节点)** - **挂载磁盘组**: 如果未自动挂载,手动挂载到所有节点: ```sql SQL> ALTER DISKGROUP new_dg MOUNT; -- 在ASM实例中执行 ``` - **检查RAC同步**: 使用 `crsctl` 命令确认资源状态: ```bash $ crsctl status resource -t -w "NAME co new_dg" -- 确保所有节点显示"ONLINE" ``` - **测试使用**: 创建测试文件(如表空间)验证功能: ```sql SQL> CREATE TABLESPACE test_ts DATAFILE '+new_dg' SIZE 100M; -- 类似引用中的表空间创建语法[^3] ``` #### 关键注意事项 - **冗余级别选择**: - `EXTERNAL REDUNDANCY`:无镜像(依赖存储硬件)。 - `NORMAL REDUNDANCY`:双副本镜像(推荐用于高可用)。 - `HIGH REDUNDANCY`:三副本镜像(最高容错)。 - **性能影响**:添加磁盘组时,避免在业务高峰操作,以防I/O竞争。 - **OCR备份**:在12c中,OCR可备份到ASM磁盘组,简化恢复(如引用所述)[^2]。 以上步骤基于Oracle 12c最佳实践,结合了共享存储配置和ASM管理原则。如果遇到磁盘识别问题,参考主机提供的别名信息[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值