紅帽Linux 6.5上配置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 Extended
/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
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
啟動ASM組件。
[root@NCR-Standby-Asm upload]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
4、建立ASM Disk
下面進行ASM Disk的建立。
[root@NCR-Standby-Asm dev]# fdisk -l | grep sdb
Disk /dev/sdb: 107.4 GB, 107374182400 bytes
/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 Extended
/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
Writing disk header: done
Instantiating disk: done
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA2 /dev/sdb2
Writing disk header: done
Instantiating disk: done
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA3 /dev/sdb3
Writing disk header: done
Instantiating disk: done
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA5 /dev/sdb5
Writing disk header: done
Instantiating disk: done
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm createdisk DATA6 /dev/sdb6
Writing disk header: done
Instantiating disk: done
檢查結果:
[root@NCR-Standby-Asm dev]# /usr/sbin/oracleasm listdisks
DATA1
DATA2
DATA3
DATA5
DATA6
後續就可以使用GUI asmca進行ASM Disk Group配置。
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執行個體Step By Step