ASM(Automatic Storage Management)是Oracle官方推荐的软件存储解决方案。自10g版本正式推出以来,软件架构层面上ASM的地位是在
ASM(Automatic Storage Management)是Oracle官方推荐的软件存储解决方案。自10g版本正式推出以来,软件架构层面上ASM的地位是在不断的提升。首先是11g将ASM从数据库层面剥离出来,并归入Grid Infrastructure进行管理。其次就是ASM Disk成为ACFS(Automatic Cluster File System)的基础组件。原有以RAW Device为基础的软存储机制,正在逐步被边缘化。
在产品政策上,ASM也提出了一些变化。原有的部署环境Linux下,ASM工具包提供三个免费的rpm驱动包。但是自Red Hat 6.x系列之后,Oracle宣布不会再提供高版本的ASM驱动程序包。针对使用Oracle Linux的用户,,只有通过购买官方订阅的方式,才能获得ASM驱动支持。
针对这种商业竞争关系,Red Hat也提出了一定的应对策略。Red Hat推荐使用DM-Multipath这种系统级别支持ASM Diskgroup创建,如果用户一定要使用ASM,官方可以使用kmod工具驱动包,来进行安装工作。
当然,和Oracle一样,kmod只允许购买Red Hat官方订阅的用户才能下载。
本篇介绍kmod模式下如何创建ASM Disk和一些配置步骤,留待需要的朋友们待查。
1、环境介绍
笔者使用Red Hat Linux 6.5作为工作操作系统。
[root@NCR-Standby-Asm ~]# cat /etc/RedHat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
从Oracle官方网站和Red Hat官方网站上下载到ASM驱动文件,用于配置ASM Disk。
[root@NCR-Standby-Asm upload]# ls -l
total 200
-rw-r--r-- 1 root root 35044 May 21 11:23 kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm
-rw-r--r-- 1 root root 35176 May 21 11:23 kmod-oracleasm-2.0.6.rh1-3.el6_5.x86_64.rpm
-rw-r--r-- 1 root root 36248 May 21 11:23 kmod-oracleasm-2.0.8-4.el6_6.x86_64.rpm
-rw-r--r-- 1 root root 13300 May 21 11:23 oracleasmlib-2.0.4-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 74984 May 21 11:23 oracleasm-support-2.1.8-1.el6.x86_64.rpm
注意:目前kmod是必须从Red Hat官方进行下载的,而且只提供了64位版本。同时,针对不同的Linux Kernel版本,可以使用不同的kmod包程序。
另外两个oracle asm支持包是从Oracle官方网站下载得来。
2、安装ASM包和分区配置
依据kmod、oracleasmlib和oracleasm-support的顺序安装驱动程序包。
[root@NCR-Standby-Asm upload]# rpm -ivh kmod-oracleasm-2.0.6.rh1-3.el6_5.x86_64.rpm
warning: kmod-oracleasm-2.0.6.rh1-3.el6_5.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
1:kmod-oracleasm ########################################### [100%]
[root@NCR-Standby-Asm upload]# rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm
warning: oracleasmlib-2.0.4-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ########################################### [100%]
1:oracleasmlib ########################################### [100%]
[root@NCR-Standby-Asm upload]# rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm
warning: oracleasm-support-2.1.8-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing... ########################################### [100%]
1:oracleasm-support ########################################### [100%]
确定ASM Disk Group对应的物理磁盘(或者分区)。
[root@NCR-Standby-Asm profile.d]# fdisk -l
Disk /dev/sda: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders
(篇幅原因,有省略……)
Disk identifier: 0x0da7eb93
Device Boot Start End Blocks Id System
/dev/sdb1 1 2612 20980858 83 Linux
/dev/sdb2 2613 5224 20980890 83 Linux
/dev/sdb3 5225 7836 20980890 83 Linux
/dev/sdb4 7837 13054 41913585 5 扩展
/dev/sdb5 7837 10448 20980858 83 Linux
/dev/sdb6 10449 13054 20932663 83 Linux
说明:投产环境下,请使用单个盘作为ASM Disk,强化HA特性。
3、配置ASM
使用oracleasm配置相关信息。
[root@NCR-Standby-Asm upload]# /usr/sbin/oracleasm configure -i
配置 Oracle ASM 库驱动程序。
这将配置 Oracle ASM 库的启动属性
司机。 以下问题将确定司机是否
在启动时加载以及它将拥有哪些权限。 当前值
将显示在方括号 ('[]') 中。 按
答案将保留当前值。 Ctrl-C 将中止。
拥有驱动程序界面的默认用户[]:grid
拥有驱动程序接口的默认组[]:asmadmin
启动时启动 Oracle ASM 库驱动程序 (y/n) [n]: y
启动时扫描 Oracle ASM 磁盘 (y/n) [y]: y
编写 Oracle ASM 库驱动程序配置:完成
启动ASM组件。
[root@NCR-Standby-Asm upload]# /etc/init.d/oracleasm enable
编写 Oracle ASM 库驱动程序配置:完成
初始化 Oracle ASMLib 驱动程序:[ OK ]
扫描系统中的 Oracle ASMLib 磁盘:[ OK ]
4、创建ASM磁盘
下面进行ASM Disk的创建。
[root@NCR-Standby-Asm dev]# fdisk -l | grep sdb
磁盘 /dev/sdb:107.4 GB,107374182400 字节
/dev/sdb1 1 2612 20980858 83 Linux
/dev/sdb2 2613 5224 20980890 83 Linux
/dev/sdb3 5225 7836 20980890 83 Linux
/dev/sdb4 7837 13054 41913585 5 扩展
/dev/sdb5 7837 10448 20980858 83 Linux
/dev/sdb6 10449 13054 20932663 83 Linux
使用oracleasm createdisk进行创建。
[root@NCR-Standby-Asm upload]# /usr/sbin/oracleasm createdisk DATA1 /dev/sdb1
写入磁盘头:完成
实例化磁盘:完成
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA2 /dev/sdb2
写入磁盘头:完成
实例化磁盘:完成
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA3 /dev/sdb3
写入磁盘头:完成
实例化磁盘:完成
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA5 /dev/sdb5
写入磁盘头:完成
实例化磁盘:完成
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA6 /dev/sdb6
写入磁盘头:完成
实例化磁盘:完成
检查结果:
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm listdisks
数据1
数据2
数据3
数据5
数据6
后续就可以使用GUI asmca进行ASM磁盘组配置。
5、结论
从近几个版本ASM的安装情况来看,在未来相当长的时间内,ASM将是Oracle主要的系统存储解决方案。而Oracle RAC基于的主要是ASM,了解配置方法策略对我们来说非常重要。
如何将ASM中的数据文件复制到网络中
Oracle 11g RAC ASM 磁盘全部丢失后的恢复
Oracle 11g从入门到精通 PDF 宣传册来源代码
RHEL6 ASM方式安装Oracle 11g R2
Oracle 10g 手动创建 ASM 数据库
Oracle 10g R2创建ASM实例分步
本文永久更新链接地址: