Linux平台下:块设备、裸设备、ASMlib、Udev相关关系

对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备);2.块方式访问

Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符、块方式访问。每个磁盘有两个设备文件名:

  1. 一个在/dev/dsk目录下,比如/dev/dsk/c1t1d1s1,当以这个设备名操作时,就是以块的方式操作磁盘;
  2. 一个在/dev/rdsk目录下,比如/dev/rdsk/c1t1d1s1,当以这个设备名操作时,就是以字符方式(裸设备方式r)操作磁盘

Linux平台 : 在linux平台下,缺省只提供了对磁盘设备的块设备访问方式(比如/dev/sda1),没有提供字符访问方式(裸设备方式r).如需使用字符访问方式需要手动配置

配置字符设备(裸设备)访问方式

适用操作系统版本

Udev的作用

/etc/sysconfig/rawdevices + /etc/rc.local

Red Hat AS4

 

/etc/sysconfig/rawdevices + /etc/udev/permissions.d/50-udev.permissions

Red Hat AS4

控制访问权限

60-raw.rules99-oracle-asmdevices.rules

RHEL5 / OEL5

将块设备绑定裸设备上;固定设备文件名称;控制访问权限;

Linux平台下:Oracle在不同版本时创建ASM的不同方式:

  • 11.2版本之前 : ASM可以通过两种方式使用磁盘。一种是裸设备方式;另一种是AMSlib方式,允许在块设备上创建ASM。

         注:(oracle 11.1官当)You can run ASM using ASMLIB, or run ASM using raw devices.

  • 11.2 版本之后 : ASM本身直接支持块设备。

         注:11.2官当上未找到明确说明

  • 11.2版本之前使用udev是将块设备绑定裸设备上,并控制访问权限,本质是在裸设备上创建ASM;11.2 版本及之后使用udev是固定盘符,并控制访问权限,本质是在块设备上创建ASM。对比示例: 

 

使用udev时读取的文件

udev文件内容

11.2版本之前

/etc/udev/rules.d/60-raw.rules

ACTION=="add", KERNEL=="/dev/sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"  
ACTION=="add", KERNEL=="raw1", OWNER="grid", GROUP="asmadmin", MODE="0660"

11.2版本及之后:缺省只提供了对磁盘设备的块设备访问方式(比如/dev/sda1)

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

KERNEL=="sd*1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESULT=="SATA_VBOX_HARDDISK_VBd306dbe0-df3367e3_", NAME="asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
udev脚本晚于服务启动的问题可以通过在udev规则中添加一些条件来解决。可以使用udev的`RUN`指令来运行脚本,并通过添加条件来确保脚本在服务启动之后运行。例如,可以在udev规则中添加一个条件,检查服务是否已经启动,如果已经启动,则运行脚本。这样可以确保脚本在服务启动之后运行。另外,还可以使用`udevadm settle`命令来等待udev事件处理完成后再运行脚本,以确保脚本在所有udev事件处理完成后再运行。这样可以解决udev脚本晚于服务启动的问题。\[2\] #### 引用[.reference_title] - *1* *2* [(建议收藏)nohup详解、利用systemd工具管理程序,并实现(以java为例)服务开机自启动、利用sh脚本实现...](https://blog.csdn.net/qq_40903527/article/details/127670847)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ASMLibudev区别](https://blog.csdn.net/qq_34556414/article/details/76864727)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值