ASM磁盘组是作为一个逻辑单元管理的一个ASM磁盘池。与其他任何LVM一样,ASM管理大量物理卷并将其作为一个或多个逻辑卷呈交给Oracle。物理卷可以是实际的磁盘或磁盘的分区,或者是隶属操作系统的卷管理器的卷。无论采用哪种方式,都不能使用任何文件系统格式化,必须是裸设备。
在Linux上,ASM能引用磁盘作为裸设备,或通过使用ASMLib软件。
直接使用裸设备的方法:
1. 在RHEL6以前的可以直接通过rawdevices的管理方法,系统安装后默认已存在/etc/init.d/rawdevices和/etc/sysconfig/rawdevices这两个文件。
# cat /etc/redhat-release |
# vi /etc/sysconfig/rawdevices //映射将要绑定的裸设备/dev/raw/raw10 /dev/sda10/dev/raw/raw11 /dev/sda11/dev/raw/raw12 /dev/sda12/dev/raw/raw13 /dev/sda13/dev/raw/raw14 /dev/sda14# chkconfig rawdevices on# service rawdevices startAssigning devices: /dev/raw/raw10 --> /dev/sda10/dev/raw/raw10: bound to major 8, minor 10 /dev/raw/raw11 --> /dev/sda11/dev/raw/raw11: bound to major 8, minor 11 /dev/raw/raw12 --> /dev/sda12/dev/raw/raw12: bound to major 8, minor 12 /dev/raw/raw13 --> /dev/sda13/dev/raw/raw13: bound to major 8, minor 13 /dev/raw/raw14 --> /dev/sda14/dev/raw/raw14: bound to major 8, minor 14done# ls -l /dev/raw/total 0crw-rw----. 1 oracle oinstall 162, 10 May 27 08:37 raw10crw-rw----. 1 oracle oinstall 162, 11 May 27 08:37 raw11crw-rw----. 1 oracle oinstall 162, 12 May 27 08:37 raw12crw-rw----. 1 oracle oinstall 162, 13 May 27 08:37 raw13crw-rw----. 1 oracle oinstall 162, 14 May 27 08:37 raw14crw-rw----. 1 oracle oinstall 162, 0 May 27 08:19 rawctl# raw -qa/dev/raw/raw10: bound to major 8, minor 10/dev/raw/raw11: bound to major 8, minor 11/dev/raw/raw12: bound to major 8, minor 12/dev/raw/raw13: bound to major 8, minor 13/dev/raw/raw14: bound to major 8, minor 14 |
2. 在RHEL6中,系统里面虽然已经不存在/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件了,但是依然支持rawdevices的方式,可以通过如下方法来管理raw文件。
手动创建/etc/sysconfig/rawdevices和/etc/init.d/rawdevices文件,然后依然以rawdevices的方式
通过udev来管理raw,同样也可以通过udev固定磁盘对应的设备名
以下介绍udev的方式:
# fdisk -l /dev/sdbDisk /dev/sdb: 2147 MB, 2147483648 bytes255 heads, 63 sectors/track, 261 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sdb1 1 261 2096451 5 Extended/dev/sdb5 1 25 200749+ 83 Linux/dev/sdb6 26 50 200781 83 Linux/dev/sdb7 51 75 200781 83 Linux/dev/sdb8 76 100 200781 83 Linux/dev/sdb9 101 125 200781 83 Linux# vi /etc/udev/rules.d/60-raw.rulesACTION=="add",KERNEL=="sdb5",RUN+="/bin/raw /dev/raw/raw5 %N",OWNER="oracle", GROUP="oinstall", MODE="660"ACTION=="add",KERNEL=="sdb6",RUN+="/bin/raw /dev/raw/raw6 %N",OWNER="oracle", GROUP="oinstall", MODE="660"ACTION=="add",KERNEL=="sdb7",RUN+="/bin/raw /dev/raw/raw7 %N",OWNER="oracle", GROUP="oinstall", MODE="660"ACTION=="add",KERNEL=="sdb8",RUN+="/bin/raw /dev/raw/raw8 %N",OWNER="oracle", GROUP="oinstall", MODE="660"ACTION=="add",KERNEL=="sdb9",RUN+="/bin/raw /dev/raw/raw9 %N",OWNER="oracle", GROUP="oinstall", MODE="660"# raw -qa# start_udevStarting udev: [ OK ]# raw -qa/dev/raw/raw5: bound to major 8, minor 21/dev/raw/raw6: bound to major 8, minor 22/dev/raw/raw7: bound to major 8, minor 23/dev/raw/raw8: bound to major 8, minor 24/dev/raw/raw9: bound to major 8, minor 25# ls -l /dev/rawtotal 0crw-rw---- 1 oracle oinstall 162, 5 Jun 9 17:15 raw5crw-rw---- 1 oracle oinstall 162, 6 Jun 9 17:15 raw6crw-rw---- 1 oracle oinstall 162, 7 Jun 9 17:15 raw7crw-rw---- 1 oracle oinstall 162, 8 Jun 9 17:15 raw8crw-rw---- 1 oracle oinstall 162, 9 Jun 9 17:15 raw9 |
ASMLib:(非Linux系统只能使用裸设备的方法)
ASMLib是一组可选的位于ASM和硬件之间的一个内核驱动程序工具,也是作为一个应用程序库通过Oracle数据库软件访问ASM磁盘。
它是Oracle 10g和11g单实例数据库以及RAC的ASM特性支持库。ASM和数据库实例可以使用ASMLib作为可替代的磁盘访问接口。
ASMLib有以下三个组件:
内核驱动:oracleasm Linux中支持oracle ASMLib的内核驱动程序(需根据内核版本下载)
支持工具:oracleasm-support 提供用于配置和启动ASM驱动程序的实用工具
应用程序库:oracleasmlib 提供了实际的ASM库
# uname -r2.6.18-308.el5# ls oracleasm*oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpmoracleasm-support-2.1.8-1.el5.x86_64.rpmoracleasmlib-2.0.4-1.el5.x86_64.rpm# rpm -ivh oracleasmlib*warning: oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159Preparing... ########################################### [100%] 1:oracleasm-support ########################################### [100%] 2:oracleasm-2.6.18-308.el########################################### [100%] 3:oracleasmlib ########################################### [100%]# /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets ('[]'). Hitting <ENTER> without typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface []: oracleDefault group to own the driver interface []: oinstallStart Oracle ASM library driver on boot (y/n) [n]: yScan for Oracle ASM disks on boot (y/n) [y]:Writing Oracle ASM library driver configuration: doneInitializing the Oracle ASMLib driver: [ OK ]Scanning the system for Oracle ASMLib disks: [ OK ]# /etc/init.d/oracleasm enableWriting Oracle ASM library driver configuration: [ OK ]Loading module "oracleasm": [ OK ]Mounting ASMlib driver filesystem: [ OK ]Scanning system for ASM disks: [ OK ]# /etc/init.d/oracleasm createdisk VOL1 /dev/sda5Marking disk "VOL2" as an ASM disk: [ OK ]# /etc/init.d/oracleasm createdisk VOL2 /dev/sda6Marking disk "VOL2" as an ASM disk: [ OK ]# /etc/init.d/oracleasm createdisk VOL3 /dev/sda7Marking disk "VOL3" as an ASM disk: [ OK ]# /etc/init.d/oracleasm createdisk VOL4 /dev/sda8Marking disk "VOL4" as an ASM disk: [ OK ]# /etc/init.d/oracleasm createdisk VOL5 /dev/sda9Marking disk "VOL5" as an ASM disk: [ OK ]# /etc/init.d/oracleasm scandisksScanning system for ASM disks:[ OK ]# /etc/init.d/oracleasm listdisksVOL1VOL2VOL3VOL4VOL5# ll /dev/oracleasm/disks/total 0brw-rw---- 1 oracle oinstall 8, 5 Jun 3 09:53 VOL1brw-rw---- 1 oracle oinstall 8, 6 Jun 3 10:00 VOL2brw-rw---- 1 oracle oinstall 8, 7 Jun 3 10:00 VOL3brw-rw---- 1 oracle oinstall 8, 8 Jun 3 10:00 VOL4brw-rw---- 1 oracle oinstall 8, 9 Jun 3 10:00 VOL5//到这里ASM的工作就完成了,这里的磁盘可以被Oracle所使用,使用oracleasm-discover来探测ASM硬盘:# oracleasm-discoverUsing ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so[ASM Library - Generic Linux, version 2.0.4 (KABI_V2)]Discovered disk: ORCL:VOL1 [4899762 blocks (2508678144 bytes), maxio 512]Discovered disk: ORCL:VOL2 [4899762 blocks (2508678144 bytes), maxio 512]Discovered disk: ORCL:VOL3 [4899762 blocks (2508678144 bytes), maxio 512]Discovered disk: ORCL:VOL4 [4899762 blocks (2508678144 bytes), maxio 512]Discovered disk: ORCL:VOL5 [7373772 blocks (3775371264 bytes), maxio 512] |
本文出自 “Vnimos” 博客,请务必保留此出处http://vnimos.blog.51cto.com/2014866/1220666