ASMlib与ASM实例是在NODE节点上配置的,而存储设备是靠存储设备的控制器来完成RAID等的组合的!
一般的PC可以根据CPU的型号搜索其具备的特性来确定是否支持emt。
1. [root@ractest1 asmlib]# uname -a
2. Linux rhel1 2.6.18-1.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_ x86_
3. x86_ GNU/Linux
根据本书的环境需要下载如下3个包:
1. oracleasm-2.6.18-1.el5-2.0.5-1.el5.x86_.rpm
2. oracleasmlib-2.0.4-1.el5.x86_.rpm
3. oracleasm-support-2.1.3-1.el5.x86_.rpm
注意 下载的oracleasm版本一定要和系统的版本号完全一致(2.6.18-1.el5)。例如,安装的操作系统内核是Xen的,请下载相应的支持Xen内核的oracleasm包。使用ASMLib管理ASM磁盘,所有的集群节点都需要安装ASMLib包。
步骤2 配置ASMLib驱动。
完成RPM包安装之后,需要在所有节点完成ASMLib的配置工作,如下所示:
1. [root@rhel1 asmlib]# /etc/init.d/oracleasm configure
2. Configuring the Oracle ASM library driver.
3. This will configure the on-boot properties of the Oracle ASM library
4. driver. The following questions will determine whether the driver is
5. loaded on boot and what permissions it will have. The current values
6. will be shown in brackets ('[]'). Hitting 7. answer will keep that current value. Ctrl-C will abort. 8. Default user to own the driver interface []: grid 9. Default group to own the driver interface []: asmadmin 10. Start Oracle ASM library driver on boot (y/n) [n]: y 11. Scan for Oracle ASM disks on boot (y/n) [y]: 12. Writing Oracle ASM library driver configuration: done 13. Initializing the Oracle ASMLib driver: [ OK ] 14. Scanning the system for Oracle ASMLib disks: [ OK ] 15. 这个脚本执行完成了四大任务。 16. 1 、创建了配置文件/etc/sysconfig/oracleasm 17. 2 、创建了挂载点/dev/oracleasm 18. 3 、加载oracleasm 内核模块 19. 、挂载ASM 函数驱动文件系统 注意 在初始化ASMLib驱动的过程中可能会失败,失败的时候查看日志/var/log/ oracleasm查找失败原因。下面举个简单的例子: 1. cat /var/log/oracleasm 2. Creating /dev/oracleasm mount point: /dev/oracleasm 3. Loading module \"oracleasm\": failed 4. Unable to load module \"oracleasm\" 通过上面的日志可以看到在加载oracleasm模块时的错误。通过观察发现,系统运行 在2.6.18-53.el5xen内核上,而下载安装的ASMLib包是oracleasm-2.6.18-53.el5,所以报此错,通过下载安装oracleasm-2.6.18-53.el5-2.0.5-1.el5xen包,成功配置ASMLib驱动。 .6.2 创建ASMLib磁盘(1) ASMLib磁盘是ASM磁盘的一种表现形式,执行以下步骤创建ASMLib磁盘。 步骤1 共享磁盘分区。 将每个共享磁盘划分为一个主分区,只需要在任一节点执行分区即可。操作如下: 1. [root@rhel1 soft]# fdisk /dev/sda 2. The number of cylinders for this disk is set to 30976. 3. There is nothing wrong with that, but this is larger than 1024, 4. and could in certain setups cause problems with: 5. 1) software that runs at boot time (e.g., old versions of LILO) 6. 2) booting and partitioning software from other OSs 7. (e.g., DOS FDISK, OS/2 FDISK) 8. Command (m for help): n 9. Command action 10. e extended 11. p primary partition (1-4) 12. p 13. Partition number (1-4): 1 14. First cylinder (1-30976, default 1): 15. Using default value 1 16. Last cylinder or +size or +sizeM or +sizeK (1-30976, default 30976): 17. Using default value 30976 18. Command (m for help): w 19. The partition table has been altered! 20. Calling ioctl () to re-read partition table. 21. Syncing disks. 22. [root@rhel1 soft]#partprobe 其他的节点服务器需要重启才能生成分区设备文件。 注意 挂载到本地的iSCSI磁盘一定要分区后再使用,而且分区一定要是主分区。如果挂载的单张磁盘大于2TB,使用parted工具创建分区(fdisk不支持在大于2.2TB的磁盘上创建分区)。 前面讨论过由于服务器对挂载的iSCSI扫描顺序的不同,不同节点相同设备文件可能对应不同的存储设备,通过udev解决了这个问题。执行上一步对iSCSI分区以后,udev创建的链接设备文件也会发生相应的变化。变化如下: 1. [root@rhel1 iscsi]# cd /dev/iscsi 2. [root@rhel1 iscsi]# tree 3. . 4. |-- dbfile1 5. | |-- part -> ../../sdf 6. | `-- part1 -> ../../sdf1 7. …… 8. 6 directories, 12 files 从上面的输出可以看出,分区创建之后,udev也新创建了一个链接文件指向分区设备文件, part1链接到sdf1,完整的链接路径是/dev/iscsi/dbfile1/part1链接到设备文件/dev/sdf1。使用/dev/iscsi/dbfile1/part1作为ASM磁盘能够帮助区分具体的iSCSI磁盘。 用同样的方法将其他磁盘都划分一个主磁盘分区。完成后在分区的节点执行partprobe命令,将分区信息写入磁盘分区表,然后在另一个节点执行fdisk -l就可以看到相同的分区信息。如果在另外的节点看不到分区信息,请重启服务器。 在生产环境中,存储设备都有多条路径,对应挂载到节点服务器就有多个设备文件,所以需要在节点服务器安装多路径软件,然后对聚合后的多路径设备文件进行分区;分区完成后应重启其他服务器,确保系统创建了相应的分区设备文件。多路径软件相关的内容将在第15章详细讨论。 步骤2 创建ASMLib磁盘。 ASMLib驱动的安装和磁盘分区完成之后,就可以创建ASMLib磁盘。 使用ASMLib驱动中的oracleasm工具创建ASMLib磁盘: 1. [root@rhel1 soft]# /etc/init.d/oracleasm createdisk OCRVDISK1 /dev/iscsi/ocrvdisk1/part1 2. Marking disk \"OCRVDISK1\" as an ASM disk: [ OK ] 3. [root@rhel1 soft]# /etc/init.d/oracleasm createdisk OCRVDISK2 /dev/iscsi/ocrvdisk2/part1 4. Marking disk \"OCRVDISK2\" as an ASM disk: [ OK ] 5. [root@rhel1 soft]# /etc/init.d/oracleasm createdisk OCRVDISK3 /dev/iscsi/ocrvdisk3/part1 6. Marking disk \"OCRVDISK3\" as an ASM disk: [ OK ] 7. [root@rhel1 soft]# /etc/init.d/oracleasm createdisk DBFILE1 /dev/iscsi/dbfile1/part1 8. Marking disk \"DBFILE1\" as an ASM disk: [ OK ] 9. [root@rhel1 soft]# /etc/init.d/oracleasm createdisk FRA1 /dev/iscsi/fra1/part1 10. Marking disk \"FRA1\" as an ASM disk: [ OK ] 11. [root@rhel1 asmlib]# 12. [****************]#./oracleasmlistdisks 13. DATAFILE1 14. FRA1 15. OCRVDISK1 16. OCRVDISK2 17. OCRVDISK3 2.6.2 创建ASMLib磁盘(2) 注意 这里创建ASMLib磁盘使用的是udev工具生成的磁盘设备文件的链接文件。 ASMLib磁盘不需要在多个节点重复创建,在一个节点创建成功,只需要在其他节点使用oracleasm工具扫描一次,就可以在其他节点看到所有的ASMLib磁盘。这步是必须的,如果没有在其他磁盘扫描创建的ASMLib磁盘,那么在该节点磁盘组则无法加载。在其他节点执行以下命令来扫描配置成功的ASMLib磁盘: 1. [root@rhel2 asmlib]# /etc/init.d/oracleasm scandisks 2. Scanning the system for Oracle ASMLib disks: [ OK ] 3. [****************]#./oracleasmlistdisks 4. DATAFILE1 5. FRA1 6. OCRVDISK1 7. OCRVDISK2 8. OCRVDISK3 ASMLib磁盘创建成功之后,会在/dev/oracleasm目录下产生相应的设备文件,在创建ASMLib磁盘组的时候同样可以使用这些设备文件。执行以下命令,查看/etc/oracleasm/disks目录下的ASM磁盘设备文件: 1. [root@rhel1 oracleasm]# pwd 2. /dev/oracleasm 3. [root@rhel1 oracleasm]# tree disks 4. disks 5. |-- OCRVDISK1 6. |-- OCRVDISK2 7. |-- OCRVDISK3 8. |-- DBFILE1 9. `-- FRA1 确保这些文件的所有者都是grid:oinstall。 注意 ASMLib驱动只存在于Linux平台,强烈推荐在Linux平台使用ASMLib来管理ASM磁盘。Oracle不仅限于使用ASMLib作为ASM磁盘,在Linux平台和其他UNIX平台同样可以使用分区的设备文件作为ASM磁盘。需要注意的是,分区设备文件分为块设备文件和字符设备文件,应使用字符设备文件作为ASM磁盘,字符设备文件也就是通常所说的裸设备文件。 步骤3 使用oracleasm工具。 oracleasm工具是安装ASMLib驱动之后配套的ASMLib管理工具,使用它能够完成ASMLib的配置和管理工作。oracleasm不只在/etc/init.d/目录下存在,系统默认找到的是/usr/sbin/位置下的oracleasm,通过执行/usr/sbin/oracleasm能够获得更为详细的帮助信息。下面是两个不同位置的oracleasm工具的帮助信息: 1. [root@rhel1 bin]# which oracleasm 2. /usr/sbin/oracleasm 3. [root@rhel1 bin]# /usr/sbin/oracleasm 4. Usage: oracleasm [--exec-path= 5. oracleasm --exec-path 6. oracleasm -h 7. oracleasm -V 8. The basic oracleasm commands are: 9. configure Configure the Oracle Linux ASMLib driver 10. init Load and initialize the ASMLib driver 11. exit Stop the ASMLib driver 12. scandisks Scan the system for Oracle ASMLib disks 13. status Display the status of the Oracle ASMLib driver 14. listdisks List known Oracle ASMLib disks 15. querydisk Determine if a disk belongs to Oracle ASMlib 16. createdisk Allocate a device for Oracle ASMLib use 17. deletedisk Return a device to the operating system 18. renamedisk Change the label of an Oracle ASMlib disk 19. update-driver Download the latest ASMLib driver 20. [root@rhel1 bin]# /etc/init.d/oracleasm -h 21. Usage: 22. /etc/init.d/oracleasm 23. {start|stop|restart|enable|disable|configure|createdisk|deletedisk| 24. querydisk|listdisks|scandisks|status} 从上面输出的帮助信息可以看出,不同位置的oracleasm提供的功能是不完全相同的。其中/usr/sbin下的oracleasm能够加载(init)/卸载(exit)ASMLib驱动、重命名ASMLib磁盘标签(renamedisk),以及下载最新的ASMLib驱动(update-driver);而/etc/init.d/下面的oracleasm包含日常维护中的启动、停止、重启、启用、禁用和配置的功能。 两个位置的oracleasm工具实现的功能不完全相同,因此在实际的使用过程中可以配合使用。 2.6.2 创建ASMLib磁盘(3) (1)查看ASM磁盘对应的磁盘设备文件 通过oracleasm querydisk -p可以查看创建的ASM磁盘对应的设备文件名称。 1. [****************]#./oracleasmquerydisk-pOCRVDISK1 2. Disk \"OCRVDISK1\" is a valid ASM disk 3. /dev/sda1: LABEL=\"OCRVDISK1\" TYPE=\"oracleasm\" (2)查看ASMLib的配置信息 配置信息如下: (2)查看ASMLib的配置信息 1. [root@rhel1 bin]# /usr/sbin/oracleasm configure 2. ORACLEASM_ENABLED=true 3. ORACLEASM_UID=grid 4. ORACLEASM_GID=asmadmin 5. ORACLEASM_SCANBOOT=true 6. ORACLEASM_SCANORDER=\"\" 7. ORACLEASM_SCANEXCLUDE=\"\" 如上所示,可以了解ASMLib驱动所属的用户、组和是否自动启动等信息。这与/etc/init. d/oracleasm的执行效果完全不同。 另外,执行/usr/sbin/oracleasm configure-i启动的ASMLib配置向导,同执行/etc/init.d/oracleasm configure命令启动的配置向导是相同的: 1. [root@rhel1 bin]# /usr/sbin/oracleasm configure -i 2. Configuring the Oracle ASM library driver. 3. This will configure the on-boot properties of the Oracle ASM library 4. driver. The following questions will determine whether the driver is 5. loaded on boot and what permissions it will have. The current values 6. will be shown in brackets ('[]'). Hitting 7. answer will keep that current value. Ctrl-C will abort. 8. Default user to own the driver interface [grid]:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务