今天就跟大家聊聊有关suse linux 10 raw裸设备是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
概念解析:
裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个磁盘。
系统环境:SUSE LINUX ENTERPRISE SERVER 64BIT
实验过程:
1、创建裸设备
linux-250:~ # fdisk /dev/sda13(查看分区信息)
he number of cylinders for this disk is set to 26108.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda13: 214.7 GB, 214753803264 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda13p1 1 13 104391 83 Linux
/dev/sda13p2 14 26 104422+ 83 Linux
/dev/sda13p3 27 39 104422+ 83 Linux
/dev/sda13p4 40 26108 209399242+ 5 Extended
/dev/sda13p5 40 76 297171 83 Linux
/dev/sda13p6 77 138 497983+ 83 Linux
/dev/sda13p7 139 145 56196 83 Linux
/dev/sda13p8 146 152 56196 83 Linux
/dev/sda13p9 153 159 56196 83 Linux
/dev/sda13p10 160 161 16033+ 83 Linux
/dev/sda13p11 162 163 16033+ 83 Linux
/dev/sda13p12 164 165 16033+ 83 Linux
/dev/sda13p13 166 167 16033+ 83 Linux
/dev/sda13p14 168 229 497983+ 83 Linux
/dev/sda13p15 230 291 497983+ 83 Linux
2、绑定裸设备
发现在/dev/下没有raw,自己创建raw目录
#mkdir raw
#cd raw
#mknod raw1 c 162 1
#mknod raw2 c 162 2
#mknod raw3 c 162 3
#mknod raw5 c 162 5
#mknod raw6 c 162 6
#mknod raw7 c 162 7
#mknod raw8 c 162 8
#mknod raw9 c 162 9
#raw /dev/raw/raw1 /dev/sda13p1
-------错误
Cannot open master raw device
裸设备配置时raw命令报错
现象描述:SLES10 SP3系统下,利用命令
# raw /dev/raw/raw1 /dev/sda13p1挂接裸设备失败。
3、原因分析:
一、可能的原因有:
1、内核编译错误。
2、相关module未安装。
3、相关module未加载。
二、module查询方法:
# zgrep -i raw /proc/config.gz
若返回类似:
CONFIG_IEEE1394_RAWIO=m
CONFIG_IP_NF_RAW=y
CONFIG_IP6_NF_RAW=y
CONFIG_RAW_DRIVER is not set
则是原因1或原因2导致裸设备挂接失败
建议重新部署操作系统。
若返回类似:
CONFIG_IP_NF_RAW=m
CONFIG_IP6_NF_RAW=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_ARCNET_RAW=m
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_SERIO_RAW=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=4096
CONFIG_SND_RAWMIDI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
则是原因3导致裸设备挂接失败。
4、处理过程:
一、利用命令# raw –qa查询裸设备,返回报错:
Cannot open master raw device '/dev/rawctl' (No such file or directory);
二、利用命令# zgrep -i raw /proc/config.gz查询模组
返回以下结果:
CONFIG_IP_NF_RAW=m
CONFIG_IP6_NF_RAW=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_ARCNET_RAW=m
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_SERIO_RAW=m
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=4096
CONFIG_SND_RAWMIDI=m
CONFIG_USB_SERIAL_SIERRAWIRELESS=m
确定是原因3导致裸设备挂接失败。
3、加载module即可挂接:
# modprobe raw
4、重启之后又会报同样错误,因此需彻底解决。
5、运行Yast配置工具。
# yast2
选择System,选择System Services (Runlevel)。
选择Expert mode,选择raw,勾选B,2,3,5。
配置完成点击Finish保存。
6、总结:建议操作系统部署过程中若有报错,应重新部署。
并且部署好系统后检查必要的module是否加载。
补充:
1. 启动raw方式
/etc/init.d/raw start
2. 设置raw开机自动激活
chkconfig --level 235 raw on
3. 检查raw开机是否自动激活
chkconfig --list | grep raw
复习chkconfig命令:
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
chkconfig --list #列出系统所有的服务启动情况
chkconfig --add httpd #增加httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level httpd 2345 on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
chkconfig --list mysqld #列出mysqld服务设置情况
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操作只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级
--level<等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
需要说明的是,level选项可以指定要查看的运行级而不一定是当前运行级。对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
看完上述内容,你们对suse linux 10 raw裸设备是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。