##硬盘类型:SATA##
一般情况下,常用的个人计算机的硬盘(disk)可以根据其接口类型的不同分为SATA硬盘和IDE硬盘。在Linux中SATA硬盘表示为sda, sdb等,而IDE硬盘表示为hda, hdb等,如下列表所示:
- /dev/hd~ ==> IDE
- /dev/sd~ ==> SAS, SCSI, SATA, USB
- /dev/md~ ==> RAID
注:RAID表示磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
现在的个人计算机一般采用的都是SATA接口类型的硬盘。下图展示了硬盘接口类型:
说明如下:
- IDE与SATA接口:不管是IDE或是SATA,其实质上是一种电脑总线,主要功能是用作主板和大量存储设备(如硬盘及光盘驱动器)之间的数据传输之用。IDE是“Integrated Drive Electronics”的缩写,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因此硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE接口也称为ATA(Advanced Technology Attachment)接口,采用并行接口技术,目前几乎完全被串行方式取代,即SATA(Serial ATA)。
- SCSI与SAS:SCSI(Small Computer System Interface),是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准,通常应用与服务器上。SAS表示串行SCSI(Serial Attached SCSI),同样在个人电脑上应用较少。
简单参数对比
接口 | 技术规格 |
---|---|
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。
(2) 查看硬盘其他技术规格
可以使用 haparm
和 samrtctl
命令得到硬盘的更详细技术信息。
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.
smartctl - Control and Monitor Utility for SMART Disks
使用示例如下:
$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文件系统选择,配合搜索某一具体内容来进一步决策是否合适。
参考资料