设为首页 收藏本站
查看: 386|回复: 0

[经验分享] 硬盘类型和Linux分区

[复制链接]

尚未签到

发表于 2016-1-25 09:16:03 | 显示全部楼层 |阅读模式
  真怪自己知识不够啊,Linux系统倒是安装过几次了,但是一些知识还是不懂……
  
  比如说,/dev/hda,/dev/hdb,/dev/sda,这个hda和sda是什么呢?它们有什么区别?
  
  嗯,百度一下,查到了IDE,SATA,SCSI。这是什么东西啊?
  是硬盘接口名,代指不同类型的硬盘,我的硬盘是“希捷7200转SATA硬盘”,中关村OL上的硬盘分类为:SATA3.0,SATA2.0,SATA1.0,PATA,SAS。目前最流行的当然就是SATA3.0硬盘了,最贵最高档的是企业专用SAS硬盘。
  
  说明:
  IDE,SATA,SCSI是硬盘的三个大类,技术上有较大区别。其中SCSI最先进,当然价格也更贵。
  ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘,PATA估计就是Ultra ATA了。
  SAS即串行连接SCSI,是新一代的SCSI技术。
  
  好了,明白硬盘类型了,接下来分析/dev/hda和/dev/sda。
  hda、sda其实是不同设备的名称,详细情况见下表:
  
  装置
  装置在Linux内的文件名
  IDE硬盘机
  /dev/hd[a-d]
  SCSI/SATA/USB硬盘机
  /dev/sd[a-p]
  USB快闪碟
  /dev/sd[a-p](与SATA不同)
  软盘驱动器
  /dev/fd[0-1]
  打印机
  25针: /dev/lp[0-2]
  USB: /dev/usb/lp[0-15]
  鼠标
  PS2: /dev/psaux
  USB: /dev/usb/mouse[0-15]
  当前CDROM/DVDROM
  /dev/cdrom
  当前的鼠标
  /dev/mouse
  
  其中hda、hdb分别代表第一个IDE、第二个IDE。假如你电脑上插有2个IDE硬盘,就会出现hda、hdb吗?不一定,因为貌似IDE硬盘默认有两个部分,Master和Slave,即主分区和扩展分区,而且a、b是根据IDE接口插槽顺序来分的。这样的话,第一IDE插槽主分区为hda,扩展分区为hdb,第二IDE插槽主分区为hdc,扩展分区为hdd。但是SATA硬盘好像没有扩展分区,而且Linux识别SATA等类型装置的顺序不是按插槽顺序来的,是按照设备被侦测到的顺序来定的,比如SATA的第1、5插槽分别插有硬盘,电脑上还插有一个USB,那么启动Linux的时候,先后侦测到SATA的第1、5插槽的硬盘和USB设备,那么分配的名称就分别是sda,sdb,sdc。
  
  那么sda1、sda2又分别代表什么呢?代表分区(Partition),比如
   P1:/dev/hda1
   P2:/dev/hda2
   L1:/dev/hda5
   L2:/dev/hda6
   L3:/dev/hda7
   L4:/dev/hda8
   L5:/dev/hda9
  为什么没有hda3、4呢?因为P1~4保存给了Primary和Extended分区。一个硬盘的结构如下:
  MBR|主分区1|主分区2|主分区3|主分区4(扩展分区)|
  其中扩展分区可以分为: |逻辑分区1|逻辑分区2|……|逻辑分区n|
  
  所以说上面的P1、2指明系统有两个主分区,L1~5代表有5个逻辑分区。
  
  其中MBR(主引导记录),它有512字节,貌似有些玄机(和启动有关),不过多研究了。
  
  至于Linux的实际分区,本文不作过多研究,我只知道,Linux的分区很有讲究,比如有基于FTP服务器的分区方案,有基于文件服务器的分区方案等等。我们知道Linux系统多被企业用来作服务器,其中包括各种各样的服务器。比如,我所知道的HTTP服务(通常是Apache和Tomcat),文件服务(常用的是NFS服务器,例如一个Team,各个客户端都可以挂载主机的一个目录,方便共享文件),FTP服务(这个不解释,最常用的是VSFTP,Pure-FTP也用得比较多)。
  
  菜鸟的分区方案是:
  swap分区,2048MB=2GB
  /boot分区,200MB
  /(主分区),30GB
  或者
  swap分区,2GB
  /home分区,20GB
  /(主分区),10GB
  
  
  下面给出一个较好的分区方案(自用WIN7+REDHAT9.0双系统)
  swap大小为3GB
  /boot大小为200MB
  /大小为2GB
  /usr大小为15GB
  /home大小为20GB
  /var大小为5GB
  将/usr,/home,/var独立出来分区,便于管理,一般企业级的服务器都会把这几个独立出来。当然这个方案并不是最优的方案。有些情况会把/tmp也独立出来,或者把/tmp和/root都删掉,在/var下重新做链接。
  
  至于格式嘛,ext3还是ext4?我用的ext3,Ubuntu工作站都是用的ext3而非ext4我想还是有一定原因吧,而且我的Linux本来就是老版本的REDHAT9.0。
  
  PS:分区的时候,遇到(hd0,4), (hd1,0)什么的,又把我搞糊涂了……
  GRUB是什么?怎么区分各个分区的编号? (hd0,1)还是(hd1,0)?


  GRUB是一个引导程序,它被安装在MBR(Master Boot Record即“主引导记录”)用于在启动时告诉电脑该启动哪一个OS(Operation System即“操作系统”),包括windows在内,每一个OS都需要引导才能启动,windows的引导程序是MS的ntload(NT内核的系统,如XP,Vista),安装XP 时会自动安装(不需要也不会询问你是否愿意),它只会寻找已被激活的主分区并把控制权交给这个分区的引导区(不是MBR)。而GRUB就要强大得多了,它不但可以完成ntload的动作(即引导windows),而且可以引导linux、MacOS,solaris,free BSD等等,而且可以在出错时报错,并提供简单的用户交互(命令行)。当然由于都要安装到MBR,所以GRUB不能和ntload共存于同一块硬盘(grub4dos除外)。

GRUB会将BIOS检测到的所有硬盘编号,从0开始计数,0,1,2,3……,所以就是hd0,hd1,hd2,hd3……,hd就是hard disk即硬盘(SATA和IDE硬盘都是hd)。


  那么到底那一块硬盘对应hdx呢?
首先,如果你是单硬盘的话,不用想了,只会是hd0。那么如果有两块或更多的硬盘呢?你可以这样:在开机检测出现BIOS画面时,等到全部硬盘的数据出现 时,立即按下“Pause”键(我的位于“Page Up”键的上方),这时启动过程会暂停,然后仔细看看吧。比如我有四块硬盘————两块IDE的,分别是40G、160G,还有两块SATA的,分别是 80G和320G。BIOS检测顺序是这样:IDE40,IDE160,SATA320,SATA80,所以GRUB表示为:IDE40(hd0),IDE160(hd1),SATA320(hd2),SATA80(hd3),就这样啦,赶快记下吧!
注意:这里有一个变数:启动盘顺序。
还是上面的例子,因为我的GRUB安装在SATA320的MBR,并且平时就是用这块硬盘启动电脑,所以这时候SATA320中的GRUB认为我的硬盘应该这样编号:SATA320(hd0),IDE40(hd1),IDE160(hd2),SATA80(hd3)。
呵呵,明白了吧!GRUB编号的原则是这样的:
1.多快硬盘的顺序完全照抄BIOS检测结果;
2.启动盘一定是hd0(不管BIOS如何),其他硬盘依次按BIOS检测结果重排。
3.不管IDE还是SATA,一律认作IDE硬盘!即不使用类似(sd0,0)这样的编号,这个和linux的方式不同喔!


  大家知道同一块硬盘最多只能共存四个主分区,所以对于hd0硬盘,依次是(hd0,0)、(hd0,1)、(hd0,2)、(hd0,3),这是只分出四个主分区的情况,这个编号永远固定不变;不过这样的话,你就无法使用更多的分区了,所以通常应该牺牲掉一个主分区(通常是最后一个)把它转换为扩展分区(extend),以便在其中再细分出更多的逻辑分区(logic)。逻辑分区一律从(hd0,4)开始编号(因为0~3被主分区占据了),依次为(hd0,4)、(hd0,5)、(hd0,6)、(hd0,7)……
ok,对于大多数人来说,两个以上的主分区根本没用,所以惯常的做法是————一个主分区、一个扩展分区(包含若干个逻辑分区)。所以,惯常会使用在同一块硬盘上的编号是:(hd0,0)、(hd0,4)、(hd0,5)、(hd0,6)……。以此类推,第二硬盘是 (hd1,0)、(hd1,4)、(hd1,5)、(hd1,6)……。


  而linux的编号方法又和GRUB不同。是严格按照BIOS检测结果,第一硬盘是sda,第二硬盘是sdb,第三硬盘是sdc……,而不管哪个是启动盘。具体来说,我用第三硬盘启动的系统,GRUB认为它是(hd0),而linux依然认为它是sdc,明白?
  但貌似,Ubuntu自8.04起,所有硬盘都编号为“sdx”,即不管IDE还是SATA,一律认作SCIS硬盘。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-169066-1-1.html 上篇帖子: CentOS 5与6的启动流程 下篇帖子: 使用SSH连接Ubuntu 14主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表