原创,转载请注明出处。
我的OS是RHEL6.2,
需要对99块逻辑卷进行raw设备映射,使用udev来对raw进行管理
修改/etc/udev/rules.d/60-raw.rules:
ACTION=="add", KERNEL=="/dev/mapper/oracle_vg01-rlvoracle01", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="253",ENV{MINOR}=="7", RUN+="/bin/raw /dev/raw/raw1 %M %m" //这两行是必须的。
......
ACTION=="add", KERNEL=="/dev/mapper/oracle_vg01-rlvoracle98", RUN+="/bin/raw /dev/raw/raw98 %N"
ACTION=="add", ENV{MAJOR}=="253",ENV{MINOR}=="104", RUN+="/bin/raw /dev/raw/raw98 %M %m"
ACTION=="add", KERNEL=="/dev/mapper/oracle_vg01-rlvoracle99", RUN+="/bin/raw /dev/raw/raw99 %N"
ACTION=="add", ENV{MAJOR}=="253",ENV{MINOR}=="105", RUN+="/bin/raw /dev/raw/raw99 %M %m"
配置完了之后start_udev重启udev。
发现实际只映射成功了94块逻辑卷:
[root@localhost ~]# raw -qa
/dev/raw/raw1: bound to major 253, minor 7
/dev/raw/raw2: bound to major 253, minor 8
/dev/raw/raw3: bound to major 253, minor 9
/dev/raw/raw4: bound to major 253, minor 10
....
/dev/raw/raw90: bound to major 253, minor 96
/dev/raw/raw91: bound to major 253, minor 97
/dev/raw/raw92: bound to major 253, minor 98
/dev/raw/raw93: bound to major 253, minor 99
/dev/raw/raw94: bound to major 253, minor 100
剩余的几块逻辑卷(95,96,97,98,99)却没有映射工程。
手动进行映射:
[root@localhost ~]# raw /dev/raw/raw95 /dev/mapper/oracle_vg01-rlvoracle95
/dev/raw/raw95: bound to major 253, minor 96
[root@localhost ~]# raw /dev/raw/raw96 /dev/mapper/oracle_vg01-rlvoracle96
/dev/raw/raw96: bound to major 253, minor 97
[root@localhost ~]# raw /dev/raw/raw97 /dev/mapper/oracle_vg01-rlvoracle97
/dev/raw/raw97: bound to major 253, minor 98
[root@localhost ~]# raw /dev/raw/raw98 /dev/mapper/oracle_vg01-rlvoracle98
/dev/raw/raw98: bound to major 253, minor 99
发现新的设备的minor号与配置文件中的设备minor居然相同,显然这个是异常的。
那么问题出现在什么地方呢,首先的问题是手动映射的minor号是怎么的分配出来的呢?
我找了调查了2天,偶然发现设备的Block device与raw设备映射的信息一致
[root@localhost ~]# lvdisplay /dev/mapper/oracle_vg01-rlvoracle98
--- Logical volume ---
LV Name /dev/oracle_vg01/rlvoracle98
VG Name oracle_vg01
LV UUID FH4b9q-jccY-6I74-G9CT-apYr-XSU7-RcIqaH
LV Write Access read/write
LV Status available
# open 0
LV Size 12.00 MiB
Current LE 3
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:99
多做了几次比对,得出的结论是:
手动映射的major与minor号就是根据这里的Block device生成的。
而我之前/etc/udev/rules.d/60-raw.rules中人为的指定的minor号与设备自身的Block device不一致,这就导致了udev在管理raw设备的时候出现了问题。
那么此类问题的解决方法:
1./etc/udev/rules.d/60-raw.rules中的要根据设备的Block device(lvdisplay /dev/mapper/oracle_vg01-rlvoracle98)来设置设备的major与minor号。
2.不用udev来管理raw,修改rc.local文件.
参考http://space.itpub.net/?uid-231499-action-viewspace-itemid-63884
需要说明的是,rc.local文件实际上就是raw /dev/raw/rawN /dev/mapper/oracle_vg01-rlvoracleN。
另外一点需要重点说明,
1.major与minor的这种异常,在建立基于raw设备的oracle数据库的表空间的时候,会导致莫名其妙的device busy错误,而这种device busy,即使你使用fuser 或者lsof也查看不到设备的使用者,google上根本就查不到,我也是偶然件发现这个异常以及原因。
SQL> alter tablespace test add datafile '/dev/raw/raw4' size 4090m;
alter tablespace test add datafile '/dev/raw/raw4' size 4090m
*
ERROR at line 1:
ORA-01119: error in creating database file '/dev/raw/raw4'
ORA-27041: unable to open file
Linux-x86_64 Error: 16: Device or resource busy
Additional information: 1
2.使用dd if=/dev/raw/rawN of=/dev/raw/rawM也会出现莫名奇妙的device busy
我把这点宝贵的经验写出来,给自己提个醒,也给大家做个参考。
分享到:
相关推荐
#### 解决方案 1. **检查并修复硬盘**: - 使用磁盘检测工具(如Windows自带的chkdsk命令)检查硬盘是否有错误,并尝试修复。 - 如果是病毒感染引起的,首先使用杀毒软件进行全面扫描,清除病毒后再进行其他操作。...
标题中提到的“raw数据详细解析以及查看软件”指出了文章的核心内容是围绕着Raw数据的解析及其查看方法展开的。Raw数据通常指的是来自图像传感器的原始数据,未经压缩和加工处理。它包含了图像传感器接收到的光线...
本文将详细解析如何在LabVIEW中实现对USB Raw设备的读写功能,以及涉及到的相关知识点。 首先,理解USB Raw设备。USB Raw设备是指可以直接访问USB设备的底层接口,不依赖于特定的设备驱动程序,而是通过直接发送和...
解决这种问题的方法有多种,下面将总结出四种解决方案: 解决方案一:使用chkdsk命令 chkdsk命令是Windows操作系统中的一种磁盘检查工具,可以用来修复磁盘的逻辑错误和坏块。使用chkdsk命令可以将RAW格式的硬盘...
在尝试上述解决方案之前,可以先将SD卡连接到其他设备,看看问题是否依然存在,以排除设备本身的问题。 在修复过程中,一定要注意备份重要数据,因为格式化或修复过程可能会导致数据丢失。同时,保持SD卡的清洁,...
关于C盘文件格式变为RAW解决方法。。。。
电脑硬盘RAW格式无法访问的两种解决办法 ...希望这两种方法能够帮助读者解决硬盘分区访问不了、文件系统显示RAW的问题。但是,需要注意的是,在解决问题时,需要小心操作,避免造成硬盘分区的进一步损坏。
首先提到可以使用各大相机制造商品牌的专业软件如尼康的Capture NX-D以及佳能的Digital Photo Professional等处理RAW图片。接下来讲述了流行的图形编辑器如Adobe的Photoshop及其内置插件Camera Raw或是Lightroom程序...
本次我们将深入探讨Camera Raw 12版本,以及如何在Windows 7系统上安装并升级至Camera Raw 13。 Camera Raw 12版本是Adobe Photoshop的重要插件,它允许用户在原始图像数据上进行非破坏性的编辑。这个版本提供了一...
标题中的“U盘RAW修复工具(U盘RAW格式修复工具)rawtools”指的是专门用于解决U盘出现RAW格式问题的软件工具。RAW格式通常出现在存储设备上,如U盘,当操作系统无法识别其文件系统时,会显示为RAW状态,导致用户无法...
在IT领域,我们经常遇到各种存储设备的问题,其中之一就是U盘突然变为RAW格式。当一个U盘被识别为RAW格式时,意味着操作系统无法读取其文件系统,导致数据无法访问,甚至常规的格式化操作都无法解决。这种情况通常...
在医疗影像领域,RAW格式是一种常见的原始数据格式,它存储未经处理的像素数据,通常由医学成像设备如CT、MRI等产生。然而,为了在不同的医疗机构和系统之间交换这些图像,DICOM(Digital Imaging and ...
本文将详细介绍如何修复硬盘分区格式为RAW的问题,包括各种可能的解决方案和技术要点。 #### 解决方案一:系统权限调整 当硬盘分区格式变为RAW,首先应检查是否为系统权限问题。这一情况常见于原本为NTFS格式的...
RAW文件是一种未经处理的二进制文件格式,通常在各种传感器和数字图像设备中使用,如数码相机或医学成像设备。它包含了相机传感器捕获的原始光信息,没有经过任何处理,比如白平衡、曝光补偿等。由于RAW文件保留了最...
读取raw文件,并对每一帧进行均值处理 对相邻帧进行差分 matalab实现
**其他解决方案:** 除了使用修复工具,还可以尝试通过命令行工具如`chkdsk`来修复RAW格式的U盘。但这需要一定的计算机操作基础,且效果因情况而异。 总结来说,U盘RAW修复工具是解决U盘无法正常工作的重要工具,它...
在X射线衍射(XRD)分析领域,数据处理是一项关键步骤,它涉及到对实验获得的原始数据进行解析和解读。...对于从事XRD数据分析的科研人员和工程师来说,理解并掌握这种解决方案对于日常工作中遇到的类似问题至关重要。
由于缺乏元数据,我们需要知道数据的采样率、波长范围、像素大小等基本信息,这些信息通常来自数据采集设备的说明书或者通过其他软件获取。 MATLAB提供了强大的数据处理能力,可以自定义函数来读取RAW文件。基本...
通过上述详尽的分析和解决方案,可以看出,尽管Longraw类型的限制较多,但在现代数据集成工具如ODI的帮助下,依然可以有效地处理BLOB到Longraw的转换,满足特定场景下的数据迁移需求。这不仅展示了ODI的强大功能,也...
总的来说,"RAW格式修复工具"是一款针对移动存储设备文件系统问题的专业解决方案,能够帮助用户解决由于RAW格式引发的数据访问难题。但同时,也要意识到数据安全的重要性,预防总是优于治疗。定期备份和使用可靠的...