在计算机领域中,热插拔技术普遍用于PC硬件的维护,并且多数 服务器 都具备热插拔功能,因此热插拔技术的作用不容小觑。那么,在Linux操作系统中的硬盘热插拔技术又是如何实现的呢?本文将为大家详细解析Linux硬盘热插拔原理。
一、什么是硬盘热插拔?
硬盘热插拔是指在开机状态下,无需关闭电源,直接在计算机中拔出或插入硬盘。热插拔技术的出现极大地方便了服务器的日常维护和硬件更换,避免了因为插拔硬件带来的机器停机等问题,大大提高了机器的工作效率和安全性。
二、Linux系统支持硬盘热插拔吗?

在Linux操作系统中,对于磁盘的热插拔功能,也是非常完善的。因为Linux支持的磁盘接口种类、磁盘控制器种类、以及PCMIA卡差异性等因素,导致它的热插拔原理会有所不同。但无论是哪种情况,Linux都是可以支持硬盘热插拔的。
三、Linux系统下的硬盘热插拔原理
在众多操作系统中,Linux可以被视作一个中间件。Linux作为中间件,由下至上依次分为硬件(如NIC/硬盘/显卡等)、操作系统和应用程序三个部分组成。下面,我们将会从硬件、操作系统和应用程序这三个方面,详细解析Linux硬盘热插拔的原理。
1、硬件层面上的实现原理
对于热插拔的硬件设备,内核设备驱动程序所收到的事件分为以下几种:
(1)硬盘的拔出
(2)硬盘的插入
(3)硬盘的故障
在收到这些事件后,内核会通过ATA/SCSI接口层通知与此相关联的模块。这种通知通过由模块在识别能力或可以识别的能力属性位中的检测被触发。当内存里的数据出现变化时,硬盘控制器的指令也都要随之变化。因此KAPI将热插拔和中断结合起来管理硬盘。再加上系统的支持,就可以使硬盘插拔更加便捷。
2、操作系统层面上的实现原理
在Linux2.6之前的版本中,内核没有对热插拔设备进行特殊标记。也就是说,无论是热插拔设备还是常规设备都予以同等处理。而在Linux2.6版本中,内核开始特殊标记了可热插拔的设备,这样就可以使得Linux更为智能化、自动化。
在Linux操作系统中,新硬盘的出现会在以下几个方面得到体现:
(1)用fdisk -l命令可以看到新硬盘出现了。
(2)通过cat /proc/partitions命令,可以列出新硬盘的设备号。
(3)使用ls /dev/sd*命令即可得到新硬盘的设备文件和设备文件关联的设备号,从而可以访问磁盘这个物理设备。
此外,在Linux2.6之前的版本中,有可能会出现热插拔设备被自动检测后未自动挂挂载的问题。但是,在对Linux 2.6之后的版本进行良好的适配后,这个问题已经得到了解决。
3、应用程序层面上的实现原理
应用程序是我们最常接触到的层面,Linux提供了快捷而便利的指令让我们可以查询磁盘的状态、运行情况、以及进行调试。在命令行终端中,可以利用命令llk、fdisk、mount等来查询磁盘状态。这些指令清晰明了、方便快捷,能够针对不同的操作系统和硬件平台的不同特性进行适配,实现硬盘热插拔的高效管理。
四、
Linux系统对于硬盘的热插拔功能是可以支持,并且实现也非常成熟。Linux的热插拔功能实现原理共分为三层:硬件层面上的实现原理、操作系统层面上的实现原理、应用程序层面上的实现原理。我们可以通过这三个方面的分析,更全面地了解了Linux系统下的硬盘热插拔原理,为我们在实际运维工作中,提供了更多的有用信息。
相关问题拓展阅读:
u热插拔原理究竟是什么?
这个原理其实没必要了解,因为就好比我吃返手饭未必为要搞清楚碗里的米是从那里种出来的一样。如果想要理论的知识完全可以去百度一下,远比我给你回答要来的方便。 USB它其实是世界上几大电脑公司共同研制的一项技术,主要漏巧嫌为了以后电脑及数据间的交流更为方便和统一化。呵呵,言宽闭至此……
USB设备能够热插拔的原理 原理分析带谈 USB数据线的接口内部共有四根金手指,其中外侧的两根比较长,它们的作用是供电,即电源线。内侧两根较短,是负责传输数据的,即数据线。 当我们安装一件USB设备时,由于USB接口埠内部的金手指长短不同,当插入设备时外侧的电源线首先连接,对设备进行供电,而中间的数据线能够在通电状态下进行数据交换;相反,当拔出设备时则先断开数据传输,保证数碰行御据不会因断电而丢失,然后再将设备电源切断。这样,就可以保证在插拔过程中对电脑系统及USB设备都不产生任何影笑岩响,以实现热插拔功能。
u有四根线,两根电源线,两根信号线,电源线比信号租凯线短一点,所以,电源线总会比信号线迟接好或早断开.这样宽并就支持弊巧唤热插拔了. 参考:
linux 硬盘热插拔原理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 硬盘热插拔原理,Linux硬盘热插拔原理详细解析,u热插拔原理究竟是什么?的信息别忘了在本站进行查找喔。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
Linux系统怎么安装?
Linux安装前的准备工作1.用Windows系统收集硬件信息在安装Linux之前,您需要借助Windows系统了解计算机硬件的基本信息,如内存大小、声卡、显示器、鼠标和显卡型号等。 2.设置从光盘引导系统Linux支持几种安装方式,但直接以光盘开机启动进行安装最方便和快速。 若要机器以光盘启动,需要修改BIOS的设置,将CD-ROM变更至开机顺序的第一位。 3.Linux分区Linux分区的表示方法分区就是将磁盘驱动器分隔成独立的区域,每个区域都如同一个单独的磁盘驱动器,在DOS/Windows系统下磁盘分区可分为C、 D和E盘等。 但Linux则将磁盘视为块设备文件来管理使用,它以 /dev(device的缩写)开头表示。 例: 在Linux用 “/dev/hda1”表示Windows下的C盘其中:hd 表示IDE硬盘(SCSI硬盘用sd);hda 为 第一个IDE 硬盘(第二为 hdb);/dev/hda1 为主分区,逻辑分区 从5 开始,如: /dev/hda5、/dev/hda6、/dev/hda7等。 为Linux准备分区Linux分区和Windows分区不同,不能共用。 所以需要为Linux单独开辟一个空闲的分区,最好是最后一个分区。 如图1中利用Windows下的Partition Magic(分区魔法)软件,在D盘上腾出空间创建新分区E盘(或利用已有的空闲E盘),文件类型暂设为FAT32,作为稍后创建Linux分区使用,RedHat 9.0 大约需4 ~ 5GB的空间。 4.Linux 的文件系统对于不同的操作系统,文件系统也不同。 Windows文件系统为FAT16、FAT32和NTFS。 而Linux的文件系统可分为ext2、ext3、swap和vfat。 ext2支持最多为255 个字符的文件名;ext3 是基于 ext2之上,主要优点是减少系统崩溃后恢复文件系统所花费的时间,RedHat 9.0 默认文件系统为ext3;交换区swap是被用于支持虚拟内存;Windows的FAT分区在Linux下显示为vfat文件类型。 1.用RedHat 9.0第一张安装光盘引导开机,系统在开机后会出现安装菜单。 安装菜单中提供了供用户选择的图形和文本模式的安装方式,按回车选择图形模式进行安装。 在进入图形画面的安装模式前,RedHat 9.0比以往的版本多了一个环节,那就是提示对安装光盘介质进行检测, 也可按“Skip”按钮跳过检测。 2.接着安装程序会自动检测硬件,包括视频卡(显示卡)、显示器和鼠标的配置,然后进入图形画面的安装向导。 在出现“语言选择”的画面中,我们选择“简体中文”,这样接下去的安装过程界面的文字都会改为中文。 在“键盘配置”画面中接受默认的“美国英语式”键盘。 选择“下一步”,在“鼠标配置”窗口,系统自动检测出鼠标的配置。 3.选择安装类型,安装类型包含四种不同的安装方式:个人桌面、工作站、服务器和定制。 “服务器”的安装适用于专职的服务器使用,“个人桌面”和“工作站”适合于初学者,为了让你更多地了解安装过程,我们将选择“定制”类型进行安装。 4.磁盘分区设置:确认了“定制”方式之后,系统会出现“磁盘分区设置”窗口,它提供了两种分区方式:“自动分区”和“用Disk Druid手工分区”。
硬盘的工作原理??(能多详细就多详细)!!
现在的硬盘,无论是IDE还是SCSI,采用的都是温彻思特“技术,都有以下特点: 1。 磁头,盘片及运动机构密封。 2。 固定并高速旋转的镀磁盘片表面平整光滑。 3。 磁头沿盘片径向移动。 4。 磁头对盘片接触式启停,但工作时呈飞行状态不与盘片直接接触。 盘片:硬盘盘片是将磁粉附着在铝合金(新材料也有用玻璃)圆盘片的表面上.这些磁粉 被划分成称为磁道的若干个同心圆,在每个同心圆的磁道上就好像有无数的任意排列的小 磁铁,它们分别代表着0和1的状态。 当这些小磁铁受到来自磁头的磁力影响时,其排列的 方向会随之改变。 利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来 储存信息。 盘体:硬盘的盘体由多个盘片组成,这些盘片重叠在一起放在一个密封的盒中,它们在主 轴电机的带动下以很高的速度旋转,其每分钟转速达3600,4500,5400,7200甚至以上。 磁头:硬盘的磁头用来读取或者修改盘片上磁性物质的状态,一般说来,每一个磁面都会 有一个磁头,从最上面开始,从0开始编号。 磁头在停止工作时,与磁盘是接触的,但是 在工作时呈飞行状态。 磁头采取在盘片的着陆区接触式启停的方式,着陆区不存放任何数 据,磁头在此区域启停,不存在损伤任何数据的问题。 读取数据时,盘片高速旋转,由于 对磁头运动采取了精巧的空气动力学设计,此时磁头处于离盘面数据区0.2---0.5微米高 度的”飞行状态“。 既不与盘面接触造成磨损,又能可*的读取数据。 电机:硬盘内的电机都为无刷电机,在高速轴承支撑下机械磨损很小,可以长时间连续工 作。 高速旋转的盘体产生了明显的陀螺效应,所以工作中的硬盘不宜运动,否则将加重轴 承的工作负荷。 硬盘磁头的寻道饲服电机多采用音圈式旋转或者直线运动步进电机,在饲 服跟踪的调节下精确地跟踪盘片的磁道,所以在硬盘工作时不要有冲击碰撞,搬动时要小 心轻放。 原理说到这里,大家都明白了吧? 首先,磁头和数据区是不会有接触的,所以不存在磨损的问题。 其次,一开机硬盘就处于旋转状态,主轴电机的旋转可以达到4500或者7200转每分钟,这 和你是否使用FLASHGET或者ED都没有关系,只要一通电,它们就在转.它们的磨损也和软 件无关。 再次,寻道电机控制下的磁头的运动,是左右来回移动的,而且幅度很小,从盘片的最内 层(着陆区)启动,慢慢移动到最外层,再慢慢移动回来,一个磁道再到另一个磁道来寻 找数据。 不会有什么大规模跳跃的(又不是青蛙)。 所以它的磨损也是可以忽略不记的。 那么,热量是怎么来的呢? 首先是主轴电机和寻道饲服电机的旋转,硬盘的温度主要是因为这个。 其次,高速旋转的盘体和空气之间的摩擦。 这个也是主要因素。 而硬盘的读写??? 很遗憾,它的发热量可以忽略不记!!!!!!!!!! 硬盘的读操作,是盘片上磁场的变化影响到磁头的电阻值,这个过程中盘片不会发热,磁 头倒是因为电流发生变化,所以会有一点热量产生。 写操作呢?正好反过来,通过磁头的 电流强度不断发生变化,影响到盘片上的磁场,这一过程因为用到电磁感应,所以磁头发 热量较大。 但是盘片本身是不会发热的,因为盘片上的永磁体是冷性的,不会因为磁场变 化而发热。 但是总的来说,磁头的发热量和前面两个比起来,是小巫见大巫了。 热量是可以辐射传导的,那么高热量对盘片上的永磁体会不会有伤害呢?其实伤害是很小 的,永磁体消磁的温度,远远高于硬盘正常情况下产生的温度。 当然,要是你的机箱散热 不好,那可就怪不了别人了。 我这里不得不说一下某人的几个错误: 一。 高温是影响到磁头的电阻感应灵敏度,所以才会产生读写错误,和永磁体没有关系。 二。 所谓的热膨胀,不会拉近盘体和磁头的距离,因为磁头的飞行是空气动力学原理,在 正常情况下始终和盘片保持一定距离。 当然要是你大力打击硬盘,那么这个震动...... 三。 所谓寻道是指硬盘从初使位置移动到指定磁道。 所谓的复位动作,并不是经常发生的 。 因为磁道的物理位置是存放在CMOS里面,硬盘并不需要移动回0磁道再重新出发。 只要 磁头一启动,所谓的复位动作就完成了,除非你重新启动电脑,不然复位动作就不会再发 生。 四。 IDE硬盘和SCSI硬盘的盘体结构是差不多的。 只是SCSI硬盘的接口带宽比同时代的ID E硬盘要大,而且往往SCSI卡往往都会有一个类似CPU的东西来减缓主CPU的占用率。 仅此 而已,所以希捷才会把它的SCSI硬盘的技术用在IDE硬盘上。 五。 硬盘的读写是以柱面的扇区为单位的。 柱面也就是整个盘体中所有磁面的半径相同的 同心磁道,而把每个磁道划分为若干个区就是所谓的扇区了。 硬盘的写操作,是先写满一 个扇区,再写同一柱面的下一个扇区的,在一个柱面完全写满前,磁头是不会移动到别的 磁道上的。 所以文件在硬盘上的存储,并不是像一般人的认为,是连续存放在一起的(从 使用者来看是一起,但是从操作系统底层来看,其存放不是连续的)。 所以FLASHGET或者 ED开了再多的线程,磁头的寻道一般都不会比你一边玩游戏一边听歌大。 当然,这种情况 只是单纯的下载或者上传而已,但是其实在这个过程中,谁能保证自己不会启动其它需要 读写硬盘的软件?可能很多人都喜欢一边下载一边玩游戏或者听歌吧?更不用说WINDOWS 本身就需要频繁读写虚拟内存文件了。 所以,用FG下载也好,ED也好,对硬盘的折磨和平 时相比不会太厉害的。 六。 再说说FLASHGET为什么开太多线程会不好和ED为什么硬盘读写频繁。 首先,线程一多 ,cpu的占用率就高,换页动作也就频繁,从而虚拟内存读写频繁,至于为什么,学过操 作系统原理的应该都知道,我这里就不说了。 ED呢?同时从几个人那里下载一个文件,还 有几个人同时在下载你的文件,这和FG开多线程是类似的。 所以硬盘灯猛闪。 但是,现在 的硬盘是有缓存的,数据不是马上就写到硬盘上,而是先存放在缓存里面,,然后到一定 量了再一次性写入硬盘。 在FG里面再怎么设置都好,其实是先写到缓存里面的。 但是这个 过程也是需要CPU干预的,所以设置时间太短,CPU占用率也高,所以硬盘灯也还是猛闪的 ,因为虚拟文件在读写。 七。 硬盘读写频繁,磁头臂在寻道伺服电机的驱动下移动频繁,但是对机械来说这点耗损 虽有,其实不大。 除非你的硬盘本身就有机械故障比如力臂变形之类的(水货最常见的故 障)。 真正耗损在于磁头,不断变化的电流会造成它的老化,但是和它的寿命相比..... .应该也是在合理范围内的。 除非因为震动,磁头撞击到了盘体。 八。 受高温影响的最严重的是机械的电路,特别是硬盘外面的那块电路板,上面的集成块 在高温下会加速老化的。 所以IBM的某款玻璃硬盘,虽然有坏道,但是一用某个软件,马 上就不见了。 再严重点的,换块线路板,也就正常了。 就是这个原因. 打了这么多字,实在是太累了。 总之,硬盘会因为环境不好和保养不当而影响寿命,但是这绝对不是软件的错。 FLASHGET也好,ED也好,FTP也好,它们虽然对硬盘的读写频繁,但是还不至于比你一般玩游 戏一般听歌对硬盘伤害大.说得更加明白的话,它们对硬盘的所谓耗损,其实可以忽略不记 .不要因为看见硬盘灯猛闪,就在那里瞎担心.不然那些提供WEB服务和FTP服务的服务器, 它们的硬盘读写之大,可绝非平常玩游戏,下软件的硬盘可比的。 硬盘有一个参数叫做连续无故障时间。 它是指硬盘从开始运行到出现故障的最长时间,单 位是小时,英文简写是MTBF。 一般硬盘的MTBF至少在或小时。 具体情况可以看 硬盘厂商的参数说明。 这个连续无故障时间,大家可以自己除一下,看看是多少年。 然而 大家自己想想,自己的硬盘平时连续工作最久是多长时间。 目前我使用的机器,已经连续开机1年了,除了中途有几次关机十几分钟来清理灰尘外, 从来没有停过(使用金转6代40G)。 另外还有三台使用SCSI硬盘的服务器,是连续两年没 有停过了,硬盘的发热量绝非平常IDE硬盘可比(1万转的硬盘啊)。 在这方面,我想我是有发言权的。 最后补充一下若干点: 一。 硬盘最好不要买水货或者返修货。 水货在运输过程中是非常不安全的,虽然从表面上 看来似乎无损伤,但是有可能在运输过程中因为各种因素而对机械体造成损伤。 返修货就 更加不用说了。 老实说,那些埋怨硬盘容易损坏的人,你们应该自己先看看,自己的硬盘 是否就是这些货色。 二。 硬盘的工作环境是需要整洁的,特别是注意不要在频繁断电和灰尘很多的环境下使用 硬盘。 机箱要每隔一两个月清理一下灰尘。 三。 硬盘的机械最怕震动和高温。 所以环境要好,特别是机箱要牢固,以免共震太大。 电 脑桌也不要摇摇晃晃的。 四。 要经常整理硬盘碎片。 这里有一个大多数人的误解,一般人都以为硬盘碎片会加大硬 盘耗损,其实不是这样的。 硬盘碎片的增多本身只是会让硬盘读写所花时间比碎片少的时 候多而已,对硬盘的耗损是可以忽略的(我在这里只说一个事实,目前网络上的服务器, 它们用得最多的操作系统是UNIX,但是在UNIX下面是没有磁盘碎片整理软件的。 就连微软 的NT4,本身也是没有的)。 不过,因为磁头频繁的移动,造成读写时间的加大,所以CPU 的换页动作也就频繁了,而造成虚拟文件(在这里其实准确的说法是换页文件)读写频繁 ,从而加重硬盘磁头寻道的负荷。 这才是硬盘碎片的坏处。 五。 在硬盘读写时尽量避免忽然断电,冷启动和做其他加重CPU负荷的事情(比如在玩游 戏时听歌,或者在下载时玩大型3D游戏),这些对硬盘的伤害比一般人想象中还要大。 原 因我就不说了,打字太累。 总之,只要平常注意使用硬盘,硬盘是不会那么快就和我们说BYEBYE的。 当然,如果是硬 盘本身的质量就不行,那我就无话可说了 1.硬盘的读写原理 硬盘的工作原理可分为读(从硬盘读取数据)与写(将数据写入硬盘)两个方面来进行。 对硬盘而言,不管是读或写都需要下达存取数据的命令,所以,只要CPU接受到来自系统程序发出的读写指令,CPU便开始向内存与硬盘发出命令。 在读的部分,CPU会先下达写入数据的命令,此时内存会经由总线将数据送往硬盘,通过主板I/0芯片(负责传输数字数据的控制芯片,也就是南桥芯片)的居中协调后,数据便会循序送入硬盘的缓冲区中(也就是硬盘的高速缓存),最后再由硬盘控制电路将缓)中区内的数据记录 I至盘片上(这时在硬盘内的机械部分便会进行一连串的读写操作)。 在写的部分,同样也是由CPU先下达读取数据的命令,主板上的 I/O芯片便又开始居中协调,然后硬盘控制芯片便会开始将数据读至缓冲区内,最后才通过主板上的总线将硬盘缓冲区内的数据送至内存,并完成读取硬盘数据的操作。 因此,数据的两个储存地点分别是硬盘与内存;其中,数据会经过缓冲区的暂存,与总线的传输;当然,所有的操作除了CPU的下达命令外,也要经过主板上的I/0芯片与硬盘控制电路的命令才能达成。 2.硬盘的物理存储原理 硬盘是使用硬式的盘片作为记录媒介体,通过磁头的微小电流而中磁盘片磁化成无数磁场,来储存数据。 最常用的材料包括有铝合金、铬合金等材料,IBM还曾经推出玻璃为材料的硬盘。 现在的IDE、SATA和SCSI接口硬盘采用的都是“温彻思特”技术,都有以下特点:1.磁头、盘片及运动机构密封:2.固定并高速旋转的镀磁盘片表面平整光滑;3.磁头沿盘片径向移动:4.磁头对盘片接触式启停,但工作时呈飞行状态不与盘片直接接触。 (1)盘片 硬盘盘片是将磁粉附着在圆盘片的表面上,这些磁粉被划分成称为磁道的若干个同心圆,在每个同心圆的磁道上就好像有无数的任意排列的小磁铁,它们分别代表着0和l的状态。 当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。 利用磁头的磁力控制指定的一些小磁铁方向,使每个小磁铁都可以用来储存信息。 (2)盘体 硬盘的盘体由多个盘片组成,这些盘片重叠在一起放在一个密封的盒中,它们在主轴电机的带动下以很高的速度旋转,其每分钟转速达3600转、4500转、5400转、7200转、转或转。 (3)磁头 硬盘的磁头用来读取或者修改盘片上磁性物质的状态,一般说来,每一个磁面都会有一个磁头,从最上面开始,从0开始编号。 磁头在停止工作时,与磁盘是接触的,但是在工作时呈飞行状态。 磁头采取在盘片的着陆区接触式启停的方式,着陆区不存放任何数据,磁头在此区域启停,不存在损伤任何数据的问题。 读取数据时,盘片高速旋转,由于对磁头运动采取了精巧的空气动力学设计,此时磁头处于离盘面数据区0.2—0.5微米高度的“飞行状态”。 既不与盘面接触造成磨损,又能可靠地读取数据。 (4)电机 硬盘内的电机都为无刷电机,在高速轴承支撑下机械磨损很小,可以长时间连续工作。 高速旋转的盘体产生了明显的陀螺效应,所以工作中的硬盘不宜运动,否则将加重轴承的工作负荷。 硬盘磁头的寻道伺服电机多采用音圈式旋转或者直线运动步进电机,在伺服跟踪的调节下精确地跟踪盘片的磁道,所以在硬盘工作时不要有冲击碰撞,搬动时要小心轻放。
1代表inode数量,也就是内节点的数量 一个文件一般为1,当如果做了一次硬链接就会变成2 内节点可以理解为硬盘存储块和硬盘指针的对应关系,只有当这个inode数量变成0之后,相应的存储块才能被再次读写和利用! 所以,一般很重要的东西,都会选择做一个硬链接,这样可以起到备份数据的作用,而且只是增加一个inode,并不占有其他的磁盘空间,inode信息是保持在父目录上的,在linux世界中,一切都是文件,目录可以看成是两行多列的特殊文件,一行记录inode,一行记录inode对应的文件名;说了这么多,不知道对你有没有帮助,这个是linux的文件系统高级课题的内容! 最后,罗嗦下,硬链接不能跨越分区,不能针对目录做硬链接,因为inode number在一个分区内唯一…
发表评论