目前硬盘与主机系统的联系主要有几种传输介面规格:
IDE介面插槽所使用的排线较宽,每条排线上面可以接两个IDE装置,由於可以接两个装置,那为了判别两个装置的主/从架构, 因此这种磁碟机上面需要调整跳针(Jump)成为Master或slAVe!这种介面的最高传输速度为Ultra 133规格, 亦即每秒理论传输速度可达133MBytes。
![Linux 磁盘原理与管理 - 朝鲜程序员 - 朝鲜程序员的博客 Linux 磁盘原理与管理 - 朝鲜程序员 - 朝鲜程序员的博客](http://img2.ph.126.net/U-vw1Qc5BO5R1jQvrM6zjw==/6631311857282037920.png)
所示为SATA硬盘的连接介面插槽。 我们可以看到该插槽要比IDE介面的小很多,每条SATA连接线仅能接一个SATA装置。SATA介面除了速度较快之外, 由於其排线较细小所以有利於主机机壳内部的散热与安装!目前SATA已经发展到了第二代, 其速度由SATA-1的每秒150MBytes提升到SATA-2每秒300MBytes的传输速度喔, 也因此目前主流的个人计算机硬盘已经被SATA取代了。SATA的插槽示意图如下所示:
![SATA 介面的排线 (图示取自 Seagate 网站) SATA 介面的排线 (图示取自 Seagate 网站)](http://vbird.dic.ksu.edu.tw/linux_basic/0105computers_files/sata_pin.jpg)
图2.4.5、SATA 介面的排线 (图示取自 Seagate 网站)
由於SATA一条排线仅接一颗硬盘,所以你不需要调整跳针。不过一张主机板上面SATA插槽的数量并不是固定的, 且每个插槽都有编号,在连接SATA硬盘与主机板的时候,还是需要留意一下。
- SCSI介面:
另一种常见於工作站等级以上的硬盘传输介面为SCSI介面,这种介面的硬盘在控制器上含有一颗处理器, 所以除了运转速度快之外,也比较不会耗费CPU资源喔!在个人计算机上面这种介面的硬盘不常见啦!
再说下磁盘原理
编辑
![Linux 磁盘原理与管理 - 朝鲜程序员 - 朝鲜程序员的博客 Linux 磁盘原理与管理 - 朝鲜程序员 - 朝鲜程序员的博客](http://img0.ph.126.net/DosUYjw1eME-91gf1Z4tvw==/6619542684817470513.png)
扇区(磁区) :每个磁道中被分成若干等份的区域.扇区是硬盘数据存储的最小单位,其中磁区每个为512bytes 。
![Linux 磁盘原理与管理 - 朝鲜程序员 - 朝鲜程序员的博客 Linux 磁盘原理与管理 - 朝鲜程序员 - 朝鲜程序员的博客](http://img0.ph.126.net/KTnWYWIf7Y5f6RGSDClmxA==/6630790688771167905.png)
硬盘的容量=柱面*磁头*扇区*512
整颗磁碟的第一个磁区特别的重要,因为他记录了整颗磁碟的重要资讯! 磁碟的第一个磁区主要记录了两个重要的资讯,分别是:
- 主要启动记录区(Master Boot Record, MBR):可以安装启动管理程序的地方,有446 bytes
- 分割表(partition table):记录整颗硬盘分割的状态,有64 bytes
MBR是很重要的,因为当系统在启动的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行启动。 如果你要安装多重启动的系统,MBR这个区块的管理就非常非常的重要了! 一旦MBR物理实体损坏时,则该硬盘就差不多报废了
分割表(partition table) 第二部分有64个字节,用于存放磁盘分区表.其中,每个分区的信息需要用16个字节来记录。因此,一个硬盘最多可以有4个分区,这4个分区称之为主分区和扩展分区(extended)。
扩展分区中可以继续划分逻辑分区。
扩展分区的目的是使用额外的磁区来记录分割资讯,扩展分区本身并不能被拿来格式化。 然后我们可以透过扩展分配所指向的那个区块继续作分割的记录。
在linux中 hda1到 hda4四个号码都是保留给Primary或Extended用的, 所以逻辑分割槽的装置名称号码就由5号开始了。
主要分割、扩展分配与逻辑分割的特性简单定义:
- 主分区与扩展分区最多可以有四个(硬盘的限制)
- 扩展分区最多只能有一个(操作系统的限制)
- 逻辑分区是由扩展分区持续切割出来的分区;
- 能够被格式化后,作为数据存取的分区为主分区与逻辑分区。扩展分区无法格式化;
- 逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号), SATA硬盘则有11个逻辑分割(5号到15号)。
1.Linux磁盘分区格式说明
linux分区不同于windows,
各种接口的磁盘在Linux中的文件名分别为:
- /dev/sd[a-p][1-15]:为SCSI, SATA, U盘, Flash闪盘等接口的磁盘文件名;
- /dev/hd[a-d][1-63]:为 IDE 接口的磁盘文件名;
安装Linux时,默认分为三个区,分别是/boot分区、/根分区和swap分区.这三个分区分别对应的盘符是hda1、hda2、hda3
linux下硬盘设备名为
IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个。
SCSI,SATA,USB硬盘为sdx(x为a—z),硬盘主分区最多为4个,主分区从sdb1开始到sdb4,逻辑分区从sdb5开始, (逻辑分区永远从sdb5开始…)设备名可以使用fdisk –l查看
- df:列出文件系统的整体磁盘使用量;
- du:评估文件系统的磁盘使用量(常用在推估目录所占容量)
- df
[root@www ~]# df [-ahikHTm] [目录或文件名] 选项与参数: -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统; -k :以 KBytes 的容量显示各文件系统; -m :以 MBytes 的容量显示各文件系统; -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;(human read) -H :以 M=1000K 取代 M=1024K 的进位方式; -T :连同该 partition 的 filesystem 名称 (例如 ext3) 也列出; -i :不用硬盘容量,而以 inode 的数量来显示 范例一:将系统内所有的 filesystem 列出来! [root@www ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc2 9920624 3823112 5585444 41% / /dev/hdc3 4956316 141376 4559108 4% /home /dev/hdc1 101086 11126 84741 12% /boot tmpfs 371332 0 371332 0% /dev/shm # 在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的 # (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来! # 至于那个 /dev/shm 是与内存有关的挂载,先不要理他! 范例二:将容量结果以易读的容量格式显示出来 [root@www ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / /dev/hdc3 4.8G 139M 4.4G 4% /home /dev/hdc1 99M 11M 83M 12% /boot tmpfs 363M 0 363M 0% /dev/shm # 不同于范例一,这里会以 G/M 等容量格式显示出来,比较容易看啦! 范例三:将系统内的所有特殊文件格式及名称都列出来 [root@www ~]# df -aT Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/hdc2 ext3 9920624 3823112 5585444 41% / proc proc 0 0 0 - /proc sysfs sysfs 0 0 0 - /sys devpts devpts 0 0 0 - /dev/pts /dev/hdc3 ext3 4956316 141376 4559108 4% /home /dev/hdc1 ext3 101086 11126 84741 12% /boot tmpfs tmpfs 371332 0 371332 0% /dev/shm none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs # 系统里面其实还有很多特殊的文件系统存在的。那些比较特殊的文件系统几乎 # 都是在内存当中,例如 /proc 这个挂载点。因此,这些特殊的文件系统 # 都不会占据硬盘空间喔! 范例四:将 /etc 底下的可用的磁盘容量以易读的容量格式显示 [root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / # 这个范例比较有趣一点啦,在 df 后面加上目录或者是文件时, df # 会自动的分析该目录或文件所在的 partition ,并将该 partition 的容量显示出来, # 所以,您就可以知道某个目录底下还有多少容量可以使用了! ^_^ 范例五:将目前各个 partition 当中可用的 inode 数量列出 [root@www ~]# df -ih Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hdc2 2.5M 147K 2.3M 6% / /dev/hdc3 1.3M 46 1.3M 1% /home /dev/hdc1 26K 34 26K 1% /boot tmpfs 91K 1 91K 1% /dev/shm # 这个范例则主要列出可用的 inode 剩余量与总容量。分析一下与范例一的关系, # 你可以清楚的发现到,通常 inode 的数量剩余都比 block 还要多呢 |
先来说明一下范例一所输出的结果信息为:
- Filesystem:代表该文件系统是在哪个 partition ,所以列出装置名称;
- 1k-blocks:说明底下的数字单位是 1KB 呦!可利用 -h 或 -m 来改变容量;
- Used:顾名思义,就是使用掉的硬盘空间啦!
- Available:也就是剩下的磁盘空间大小;
- Use%:就是磁盘的使用率啦!如果使用率高达 90% 以上时, 最好需要注意一下了,免得容量不足造成系统问题喔!(例如最容易被灌爆的 /var/spool/mail 这个放置邮件的磁盘)
- Mounted on:就是磁盘挂载的目录所在啦!(挂载点啦!)