硬盘分区的基本概念

##硬盘类型:SATA##

通常状况下,经常使用的我的计算机的硬盘(disk)能够根据其接口类型的不一样分为SATA硬盘和IDE硬盘。在Linux中SATA硬盘表示为sda, sdb等,而IDE硬盘表示为hda, hdb等,以下列表所示:html

  • /dev/hd~ ==> IDE
  • /dev/sd~ ==> SAS, SCSI, SATA, USB
  • /dev/md~ ==> RAID

注:RAID表示磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具备冗余能力的阵列”之意。服务器

如今的我的计算机通常采用的都是SATA接口类型的硬盘。下图展现了硬盘接口类型:ide

硬盘接口类型

说明以下:工具

  1. IDE与SATA接口:不论是IDE或是SATA,其实质上是一种电脑总线,主要功能是用做主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。IDE是“Integrated Drive Electronics”的缩写,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一块儿的硬盘驱动器。把盘体与控制器集成在一块儿的作法减小了硬盘接口的电缆数目与长度,数据传输的可靠性获得了加强,硬盘制造起来变得更容易,所以硬盘生产厂商不须要再担忧本身的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE接口也称为ATA(Advanced Technology Attachment)接口,采用并行接口技术,目前几乎彻底被串行方式取代,即SATA(Serial ATA)。
  2. SCSI与SAS:SCSI(Small Computer System Interface),是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准,一般应用与服务器上。SAS表示串行SCSI(Serial Attached SCSI),一样在我的电脑上应用较少。

简单参数对比ui

接口 技术规格
IDE ATA66 66MBps; ATA100 100MBps; ATA133 133MBps
SATA 1.5Gbps, 3Gbps
SCSI Ultra160 SCSI 160MBps; Ultra320 SCSI 320MBps; Ultra640 SCSI 640MBps
SAS 3Gbps

###Linux下查看硬盘的硬件相关信息### (1) 查看接口类型
可使用 lspci ( list all PCI devices,列出主板上全部硬件槽的信息) 命令查看硬盘的接口是SATA仍是其余。操作系统

$sudo lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
......
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
......

命令列表中有SATA硬盘控制器,能够说明接口类型为SATA。.net

(2) 查看硬盘其余技术规格
可使用 haparmsamrtctl 命令获得硬盘的更详细技术信息。设计

hdparm - get/set SATA/IDE device parameters. hdparm provides a command line interface to various kernel interfaces supported by the Linux SATA/PATA/SAS "libata" subsystem and the older IDE driver subsystem. Many newer (2008 and later) USB drive enclosures now also support "SAT" (SCSI-ATA Command Translation) and therefore may also work with hdparm.unix

smartctl - Control and Monitor Utility for SMART Diskscode

使用示例以下:

$sudo hdparm -i /dev/sdb
/dev/sdb:

 Model=SAMSUNG MZMTE128HMGR-000H1, FwRev=EXT43H0Q, SerialNo=S1ENNSAF307079
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=250069680
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7

 * signifies the current active mode

$sudo smartctl -a /dev/sda
    === START OF INFORMATION SECTION ===
Model Family:     HGST Travelstar 7K1000
Device Model:     HGST HTS721010A9E630
Serial Number:    JR10046P2T809N
LU WWN Device Id: 5 000cca 7dce735fb
Firmware Version: JB0OA3J0
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS T13/1699-D revision 6
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Dec 29 22:55:28 2016 CST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
......

从以上输出能够看到,硬盘的接口具体类型,扇区数,转数及数据传输速率(设计上)等均可以找到。

##硬盘分区##

当咱们拿到一块崭新的硬盘时,须要在上面建立分区。分区类型有主分区(Primary Partition)和扩展分区(Extension Partition)。在Linux中(对于Windows,状况并不相同),对于一块硬盘来讲,主分区和扩展分区的总数最多只能有4个。扩展分区并不能直接使用,还要在其下面划分逻辑分区(Logical Partition)。逻辑分区的数量并无限制,但操做系统要安装在主分区上。

一种Linux下的分区状况:
/dev/sda --- 表示第一块scsi硬盘
/dev/sda1 --- 表示第一块scsi硬盘的第一个主分区
/dev/sda2 --- 表示第一块scsi硬盘的扩展分区

###Linux下查看硬盘分区信息### 在Linux下可使用简单的lsblk查看,也可使用fdisk详细查看或设置。

lsblk - list block devices. It prints all block devices (except RAM disks) in a tree-like format by default.

fdisk - manipulate disk partition table

查看示例:

$lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0   300G  0 part /home
├─sda2   8:2    0   200G  0 part /var
└─sda3   8:3    0     1K  0 part 
sdb      8:16   0 119.2G  0 disk 
├─sdb1   8:17   0   108G  0 part /
└─sdb2   8:18   0  11.2G  0 part [SWAP]
# fdisk工具可使用`sudo fdisk -l`查看,在此省略

##Linux分区##

能够在安装Linux系统时详细地设置分区,也能够在安装好系统后使用fdisk工具进行设置。 通常须要为Linux根目录设置一个分区用于挂载/根节点,此外还须要设置swap分区。swap分区的通常设置为物理内存大小便可,详细内容可参考 Linux Swap交换分区介绍总结

##Linux文件系统##

传统的Linux系统是ext系列,从ext2/3发展而来的ext4值得一试。而谈到选择文件系统,问题就变得比较复杂:文件系统的选择要根据需求来肯定。如今新的文件系统例如btrfs, XFS等在某些方面有很高的效率,详细内容可参考文章 Linux文件系统选择,配合搜索某一具体内容来进一步决策是否合适。

参考资料


1 Linux硬盘分区详解
2 Linux查看系统硬件信息

相关文章
相关标签/搜索