Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

16

积分

0

好友

2

主题
1#
发表于 2012-6-26 10:34:18 | 查看: 13039| 回复: 5
centos 6.2 系统安装在存储上,已装好rdac ,为asm建了4个分区,怎么写udev rule呢
自己写的规则不起作用
[root@zhdb rules.d]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="/dev/mapper/mpathap4", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", NAME="oradisk01", SYMLINK="mapper/$name", OWNER="grid",  GROUP="asmadmin", MODE="0660"

[root@zhdb rules.d]# id grid
uid=1100(grid) gid=1000(oinstall) 组=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper)

[root@zhdb rules.d]# parted
GNU Parted 2.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                               
Model: IBM VirtualDisk (scsi)
Disk /dev/sda: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system     Name        标志
1      1049kB  211MB   210MB   ext4                        启动
2      211MB   524GB   524GB   ext4
3      524GB   592GB   67.1GB  linux-swap(v1)
4      592GB   712GB   120GB                   oracleasm1
5      712GB   832GB   120GB                   oracleasm2
6      832GB   952GB   120GB                   oracleasm3
7      952GB   1072GB  120GB                   oracleasm4

(parted) q                                                        

[root@zhdb rules.d]# fdisk -l

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 1099.5 GB, 1099511627776 bytes
255 heads, 63 sectors/track, 133674 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1      133675  1073741823+  ee  GPT

WARNING: GPT (GUID Partition Table) detected on '/dev/mapper/mpatha'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/mapper/mpatha: 1099.5 GB, 1099511627776 bytes
255 heads, 63 sectors/track, 133674 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

             Device Boot      Start         End      Blocks   Id  System
/dev/mapper/mpathap1               1      133675  1073741823+  ee  GPT

Disk /dev/mapper/mpathap1: 209 MB, 209715200 bytes
255 heads, 63 sectors/track, 25 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap1 doesn't contain a valid partition table

Disk /dev/mapper/mpathap2: 524.3 GB, 524288000000 bytes
255 heads, 63 sectors/track, 63741 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap2 doesn't contain a valid partition table

Disk /dev/mapper/mpathap3: 67.1 GB, 67108864000 bytes
255 heads, 63 sectors/track, 8158 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap3 doesn't contain a valid partition table

Disk /dev/mapper/mpathap4: 120.4 GB, 120392253440 bytes
255 heads, 63 sectors/track, 14636 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap4 doesn't contain a valid partition table

Disk /dev/mapper/mpathap5: 120.0 GB, 120000086016 bytes
255 heads, 63 sectors/track, 14589 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap5 doesn't contain a valid partition table

Disk /dev/mapper/mpathap6: 120.0 GB, 120000086016 bytes
255 heads, 63 sectors/track, 14589 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap6 doesn't contain a valid partition table

Disk /dev/mapper/mpathap7: 120.0 GB, 120000086016 bytes
255 heads, 63 sectors/track, 14589 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/mpathap7 doesn't contain a valid partition table
2#
发表于 2012-6-29 10:38:57
楼主请问你,你这个问题最后解决了么?

回复 只看该作者 道具 举报

3#
发表于 2012-6-30 19:50:22
reference  http://www.dbform.com/html/2011/1708.html


大部分在网上可以找到的文档都是在RHEL5或者OEL5中设置udev,udev对于Linux而言最大的作用是防止操作系统重新启动以后,作为ASM磁盘使用的盘符发生变化。
比如说Tim Hall的文章:UDEV SCSI Rules Configuration for ASM in Oracle Linux 5。
比如说Maclean的文章:利用UDEV服务解决RAC ASM存储设备名。

但是在OEL6或者RHEL6中,这一切都有所变化。

主要的变化是:
1. scsi_id的命令语法发生了变化,scsi_id -g -u -s这样的命令不再有效。
2. udevtest命令已经没有了,整合到了udevadm中。

可以参考Redhat的官方文档(这个文档中本身有一些错误,在udev rules中漏了–device=,正确的方法参看下面的第3步):
Configuring persistent storage in Red Hat Enterprise Linux 6。

步骤如下:
1. 编辑/etc/scsi_id.config文件,如果该文件不存在,则创建该文件,添加如下行:

options=--whitelisted --replace-whitespace

备注:在我的测试中,此步骤可以省略。

2. 获取需要绑定为ASM Disk的磁盘uuid,比如我们要使用/dev/sdc和/dev/sdd作为ASM磁盘,那么:

# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
1ATA_VBOX_HARDDISK_VB36a9e548-1838194a
# scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
1ATA_VBOX_HARDDISK_VB9808fc7f-cdf35030

3. 编写udev rules文件,PROGRAM中写scsi_id命令,RESULT中写上面命令中返回的uuid,这跟OEL5中没什么区别,只是scsi_id命令的语法发生变化了。

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB36a9e548-1838194a", NAME="asm-disk1",  OWNER="grid",  GROUP="dba", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB9808fc7f-cdf35030", NAME="asm-disk2",  OWNER="grid",  GROUP="dba", MODE="0660"

4. 用udevadm进行测试,注意udevadm命令不接受/dev/sdc这样的挂载设备名,必须是使用/sys/block/sdc这样的原始设备名。

udevadm test /sys/block/sdc
udevadm info --query=all --path=/sys/block/sdc
udevadm info --query=all --name=asm-disk1

在显示中,有类似如下输出,表示测试正确,/dev/sdc设备在udev启动以后将会绑定为/dev/asm-disk1:

udevadm_test: UDEV_LOG=6
udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:0d.0/host4/target4:0:0/4:0:0:0/block/sdc
udevadm_test: MAJOR=8
udevadm_test: MINOR=32
udevadm_test: DEVNAME=/dev/asm-disk1
udevadm_test: DEVTYPE=disk
udevadm_test: ACTION=add
udevadm_test: SUBSYSTEM=block

5. 启动udev

# /sbin/start_udev

6. 检查设备是否正确绑定

# ls -l /dev/asm*
brw-rw---- 1 grid dba 8, 32 Oct 26 21:24 /dev/asm-disk1
brw-rw---- 1 grid dba 8, 48 Oct 26 21:17 /dev/asm-disk2

回复 只看该作者 道具 举报

4#
发表于 2012-6-30 21:44:56
在Linux 6上使用UDEV解决RAC ASM存储设备名问题 http://www.oracledatabase12g.com ... 97%AE%E9%A2%98.html
应网友的要求 提供Linux 6上可用的自动生成udev rule的脚本

回复 只看该作者 道具 举报

5#
发表于 2013-1-24 17:04:14
Maclean Liu(刘相兵 发表于 2012-6-30 21:44
在Linux 6上使用UDEV解决RAC ASM存储设备名问题 http://www.oracledatabase12g.com/archives/%E5%9C%A8linu ...

请问,如果装了多路径软件 那么99-oracle-asmdevices.rules
中是不是要把
KERNEL=="sd*",
改为
KERNEL=="dm-", 即改为多路径的盘符 ?

回复 只看该作者 道具 举报

6#
发表于 2013-1-25 17:14:35
不了峰 发表于 2013-1-24 17:04
请问,如果装了多路径软件 那么99-oracle-asmdevices.rules
中是不是要把
KERNEL=="sd*",

理论上可行, 实际测试一下吧。

但是多路径本身也能绑定设备,为什么再要udev呢?

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 09:20 , Processed in 0.050954 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569