首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>经验技巧>正文

Linux下磁盘设备文件(sda,sdb,sdc….)变化问题

http://www.oklinux.cn  2009-03-24  51cto.com    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

在Linux下往往会碰到这样的问题,磁盘的设备文件,比如/dev/sda, sdb, sdc等等在某些情况下会混乱掉,比如sda变成了sdb或者sdc变成了sdb等等,这样无形中会导致磁盘设备管理的混乱,最常见的比如Linux文件系统的启动问题。很多人在遇到这种问题的时候都去找磁盘、阵列厂家,怀疑是他们的问题,其实这种底层的磁盘(单个磁盘或者RAID阵列)和Linux下磁盘设备文件的映射并不是磁盘、阵列厂家来决定的,而是Linux内核自身的原因。

目前Linux内核对于这种磁盘设备的映射基本上取决于三个顺序,一是磁盘驱动程序的加载;二是主机PCI插槽的监测;三是磁盘本身的监测,先来的当然是a,以此类推。所以,在出现热插拔了某些设备、重启等特殊情况下,实际磁盘在Linux下映射的设备文件可能由于这种“排队”的原因而发生改变,而这种底层“偷偷的”变化有时候会让管理员犯一些低级错误。

这是Linux Kernel的限制,所以目前还没办法来正面的克服应对,但有两个“迂回战术”的办法来减少可能出现的问题,一个是采用UUID设备唯一识别的方法,另一个是采用对设备卷做Label标识的办法。

一、 UUID (globally unique identifier),唯一的身份识别,是采用SCSI Inquiry命令的Page 83信息来映射磁盘设备的。例如我们可以在Linux下查询一些磁盘设备的UUID标识代码。
bash# ls -la /dev/disk/by-id
total 0
drwxr-xr-x 2 root root 280 Mar 11 12:29 .
drwxr-xr-x 5 root root 100 Mar 11 12:28 ..
lrwxrwxrwx 1 root root 9 Mar 11 12:29 edd-int13_dev80 -> ../../sda
lrwxrwxrwx 1 root root 10 Mar 11 12:29 edd-int13_dev80-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Mar 11 12:29 edd-int13_dev80-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Mar 11 12:29 edd-int13_dev80-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Mar 11 12:29 edd-int13_dev80-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Mar 11 12:29 edd-int13_dev80-part6 -> ../../sda6
lrwxrwxrwx 1 root root 9 Mar 11 12:28 scsi-3600050e03d7c67007bf400009f890000 -
> ../../sda
lrwxrwxrwx 1 root root 10 Mar 11 12:28 scsi-3600050e03d7c67007bf400009f890000-p
art1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Mar 11 12:28 scsi-3600050e03d7c67007bf400009f890000-p
art3 -> ../../sda3
lrwxrwxrwx 1 root root 10 Mar 11 12:28 scsi-3600050e03d7c67007bf400009f890000-p
art4 -> ../../sda4
lrwxrwxrwx 1 root root 10 Mar 11 12:28 scsi-3600050e03d7c67007bf400009f890000-p
art5 -> ../../sda5
lrwxrwxrwx 1 root root 10 Mar 11 12:28 scsi-3600050e03d7c67007bf400009f890000-p
art6 -> ../../sda6
找到了磁盘设备唯一的UUID代码后,就可以加到/etc/grub.conf和/etc/fstab中,这样即使初始的系统盘sda变成了sdb,但Linux和文件系统的启动加载都是按照UUID来的,所以上层也不会受到影响,例如,
在 /etc/grub.conf系统启动入口中做以下更改:
kernel /boot/vmlinuz-2.6.27.7 root=/dev/disk/by-id/scsi-3600050e03d7c67007bf400009f890000-part1
在 /etc/fstab文件系统启动入口中做以下更改:
/dev/disk/by-id/scsi-3600050e03d7c67007bf400009f890000-part1 / ext3 1 1
/dev/disk/by-id/scsi-234892819987c8f828473829becf38289-part2 /home ext3 1 1

二、 第二种算是比较老式的解决方法,即对磁盘卷设置Label标签,同样的道理,系统启动的时候只看标签,不看底层的sda/sdb等设备号,所以也不会影响到系统、文件系统的启动。例如,
使用e2label命令对sda1和sdb1设置标签:
/sbin/e2label /dev/sda1 myroot
/sbin/e2label /dev/sdb1 myhome
之后在 /etc/grub.conf 系统启动入口中做以下更改:
kernel /boot/vmlinuz-2.6.29 ro root=LABEL=myroot
在 /etc/fstab文件系统启动入口中做以下更改:
LABEL=myroot / ext3 defaults 1 1
LABEL=myhome /home ext3 defaults 1 1
当然,以上两种都是为了不影响系统和文件系统的启动采用的变通方法,在实际的系统管理时还是要密切注意底层设备的变化,否则如果出现了磁盘分区误删除的事情罪过可就大了。


版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://songchengyong.blog.51cto.com/688897/139412


上一篇:新手进阶:如何让Linux操作系统听你的调度   下一篇:深度挖掘Linux操作系统命令“textinfo”

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·新手进阶:如何让Linux操作系统听你的调度
·深度挖掘Linux操作系统命令“textinfo”
·为什么要将Linux列入数据中心整合管理策略?
·Ubuntu下不能make menuconfig
·Linux操作系统关机有技巧
·独辟蹊径网络安装Debian/Ubuntu
·如何在不破坏Fedora的情况下重装XP
·jabber在Linux下缺乏功能完善的客户端
·Ubuntu下加源安装Linux版的Google Chrome:Chromium
·Ubuntu技巧建立使用“Windows键”的快捷方式
·Ubuntu技巧之在命令行进行数学计算
·Linux之父10大值得体会的名言名句
·剖析Linux扩展文件系统 ext4
·Linux用户首选:类似xmms的mplayer播放器前端CMMusic
·解决Ubuntu 8.10上网速度慢的问题
·Ubuntu、OpenSuse、Fedora发展前景分析
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·深度挖掘Linux操作系统命令“textinfo
·新手进阶:如何让Linux操作系统听你的
·为什么要将Linux列入数据中心整合管理
·Ubuntu下不能make menuconfig
·Linux操作系统关机有技巧
·独辟蹊径网络安装Debian/Ubuntu
·如何在不破坏Fedora的情况下重装XP
·jabber在Linux下缺乏功能完善的客户端
·Ubuntu下加源安装Linux版的Google Chro
·Ubuntu技巧建立使用“Windows键”的快
·Ubuntu技巧之在命令行进行数学计算
·Linux之父10大值得体会的名言名句
  阅读排行
·安装Ubuntu分区的推荐方案及方法
·Linux爱好者入门教程
·Ubuntu下安装苹果MAC风格主题(图)
·新手看招:调试工具GDB基本知识全接触
·Ubuntu 3D桌面特效展示!超绚目(图)
·Ubuntu下安装MP3播放器Audacious
·红旗Linux桌面版6.0SP1发布及下载
·Windows XP虚拟机vmware中安装Linux步
·Linux下安装tar.gz、rpm、tar.bz2软件
·Fedora 9 配置yum源
·Ubuntu 8.04 硬盘安装过程
·Ubuntu看安装Sopcast看网络电视(配图)
·Ubuntu 8.04如何安装之完美硬盘安装法
·从硬盘安装RHEL 5(Red Hat Enterprise
·新手学堂 Ubuntu中安装bin文件
网摘收藏: