1、概述
硬盘(Hard Disk Drive,简称HDD)是计算机经常使用的存储设备之一,本文将整体介绍它的基本知识,主要介绍在linux中怎么使用和管理它。linux
一、硬盘结构
(1)数据结构
扇区:磁盘上的每一个磁道被等分为若干个弧段,这些弧段即是硬盘的扇区,硬盘的第一个扇区,叫作引导扇区(sector)
磁道:当磁盘旋转时,磁头若保持在一个位置上,则每一个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫作磁道(Track)
柱面:在有多个盘片构成的盘组中,由不一样盘片的面,但出于同一半径圆的多个磁道组成的一个圆柱面(cylinder)
(2)物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
(3)存储容量
硬盘存储容量=磁头数 x 磁道(柱面)数 x 每道扇区数 x 每扇区字节数
1扇区=512字节
二、硬盘接口
ATA:Advanced Technology Attachment,并口数据线链接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代
SATA:Serial ATA,串口硬盘,是将来和如今PC机硬盘的主流趋势,抗干扰能力强,支持热插拔等功能,速度快,纠错能力强
SCSI:Small Computer System Interface,SCSI接口具备应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优势,但较高的价格使得它很难如IDE硬盘般普及,所以SCSI硬盘主要应用于中、高端服务器和高档工做站中
SAS:Serial Attached SCSI,即串行链接SCSI,是新一代的SCSI技术,和如今流行的SATA硬盘相同,都是采用串行技术以得到更高的传输速度,SAS是并行SCSI接口以后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,而且提供与SATA硬盘的兼容性
光纤通道:Fiber Channel,光纤通道硬盘是为提升多硬盘存储系统的速度和灵活性才开发的,它的出现大大提升了多硬盘系统的通讯速度。光纤通道的主要特性有:热插拔性、高速带宽、远程链接、链接设备数量大等
三、分区表示
常见的硬盘能够划分为主分区和扩展分区,逻辑分区,主分区只有四个,扩展分区能够看作是特殊的主分区,在扩展分区的基础上建立逻辑分区,例如建立3个主分区,1个扩展分区,而1个扩展分区里又建立了2个逻辑分区,或者4个所有是主分区。
在linux系统中,linux内核读取光驱、硬盘等资源时均经过“设备文件”的形式进行
所以,将硬盘和分区分别表示为不一样的文件,具体表述形式以下:
注意:主分区+扩展分区的范围是1-4,逻辑分区始终从5开始web
四、linux中的文件系统类型
EXT4:第四代扩展文件系统,是linux系统中(7版本之前)默认的文件系统,属于日志型文件系统,特色是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色
XFS:一种高性能的日志文件系统,也是linux系统(7版本以后)默认的文件系统,特别擅长处理大文件,可支持上百万T字节的存储空间,可在短期内进行数据恢复
SWAP:交换文件系统,用于为linux系统创建交换分区,至关于虚拟内存,简而言之就是在硬盘上划分一部分容量做为内存来使用,可以在必定程度上缓解物理内存不足的问题,通常建议交换分区的大小设置为物理内存的1.5-2倍。
五、实验环境
虚拟机系统:CentOS Linux release 8.0.1905 (Core)
2、添加新硬盘
由于要用两种方式给硬盘分区,因此为虚拟机添加两块硬盘,100G和2T大小
添加以后须要重启系统,重启以后登录系统用fdisk -l命令能够看到新硬盘的信息,用lsblk命令也能够查看数据结构
fdisk:磁盘及分区管理工具,大多数linux系统自带的工具
要对哪块硬盘进行分区或者管理就使用fdisk后面跟设备名称,如fdisk /dev/sdc
若是不知道怎么用fdisk工具能够借助帮助
3、磁盘分区
一、MBR分区(使用fdisk工具)
通常小于2T的硬盘咱们均可以用fdisk来分区就能够了,给sdc建立一个主分区sdc1,分配的大小是50G
fdisk /dev/sdc
n:新建一个分区
w:保存分区并退出
p:打印分区表信息
分区类型e:扩展分区
ID=82 swap分区
分区类型l:逻辑分区
F:查看未分配的空间
q:直接退出不保存
l:列出全部分区类型
t:改变分区类型
二、GPT分区(使用parted工具)
什么是GPT:与支持最大卷为 2 TB (terabytes) 而且每一个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)的主启动记录 (MBR) 磁盘分区的样式相比,GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB (exabytes) 而且每磁盘最多有 128 个分区。与 MBR 分区的磁盘不一样,相当重要的平台操做数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提升分区数据结构的完整性。性能
咱们新加的第二块硬盘是2TB的,须要用GPT分区方式,即便用parted工具
parted /dev/sdb
mklabel gpt:建立gpt分区表
mkpart primary 0 1T
#mkpart 后面跟名称,随便取,0 1T表示须要指定从多少开始多少结束
mkpart second 1T 1.5T
rm 2:删除分区2设计
print:打印分区表3d
q:保存退出
4、格式化和挂载
一、XFS文件系统
由于在CentOS 7以后的linux系统默认使用的是xfs系统,因此这里以xfs系统为例格式化分区,固然也能够格式化成你须要的文件系统类型,用mkfs.两下tab能够快速看到系统所支持的文件系统类型
mkfs.xfs /dev/sdc1
mkfs -t xfs /dev/sdc1
blkid命令能够查看分区的UUID和文件系统类型,后跟具体分区,若是没有跟参数,默认会列出系统中全部设备的UUID和文件系统类型
格式化后必需要挂载分区,新的分区才能被应用到系统使用,用mount命令挂载分区
mount /dev/sdc1 /opt
若是要永久挂载,随系统启动,请写进/etc/fstab文件里,/dev/sdc1也能够用UUID来代替,UUID每一个设备惟一的,比设备名称稳定
/etc/fstab文件解读:
第一列:设备名称或者UUID
第二列:挂载点
第三列:文件系统(xfs,ext4,iso9660等)
第四列:默认defaults
第五列:是否作dump备份,0不备份,1天天备份,2不按期备份
第六列:开机时是否检查扇区,0不检查,1最先检查(通常是根目录),2在1检查完以后检查
注:GPT的硬盘分区格式化和挂载的方式同MBR硬盘分区
二、SWAP交换分区
一、概述
当内存不足时,内核会杀死一些进程,为了不出现OOM,通常有两种方法:
一、提高内存容量
二、把硬盘容量拿来当内存使用,就是虚拟内存,当没有办法提高实际内存容量的时候,就须要用到第二种方法,也就是交换分区了
二、格式化swap
这里用了一块以前已经分好的硬盘分区来作swap,也能够添加一块新硬盘建立新的分区做为swap,看具体需求,sdc5是逻辑分区,使用mkswap命令格式化分区为swap
mkswap /dev/sdc5
格式化好了以后用blkid查看一下
三、启用、禁用和查询swap
若是要使用swap必需要先开启swap,应用以前先看一下系统现有的swap空间大小,可使用free -m命令(-m表示单位为M)
free -m:查看内存使用状况
用swapon -s查看全部swap分区,如今系统只有一个默认的swap分区sda2(装系统时装的)
用swapon命令后面跟具体的设备名称来启用swap分区
swapon /dev/sdc5
除了free -m能够查看swap之外,也能够查看/proc/meminfo这个文件里面也会实时记录系统的内存的使用量
cat /proc/meminfo | grep “SwapTotal”
四、永久挂载swap分区
若是要让swap永久挂载,也是写在/etc/fstab文件里,这里用的是UUID
注:挂载的swap分区使用df -Th是查看不到的,必需要用查看内存的命令才能够看到
总结:磁盘管理这一块操做CentOS 8基本上等同于CentOS 7的版本