硬盘(Hard Disk Drive,简称HDD)是计算机常用的存储设备之一,本文将总体介绍它的基本知识,主要介绍在linux中怎么使用和管理它。
常见的硬盘可以划分为主分区和扩展分区,逻辑分区,主分区只有四个,扩展分区可以看做是特殊的主分区,在扩展分区的基础上创建逻辑分区,例如创建3个主分区,1个扩展分区,而1个扩展分区里又创建了2个逻辑分区,或者4个全部是主分区。
在linux系统中,linux内核读取光驱、硬盘等资源时均通过“设备文件”的形式进行
因此,将硬盘和分区分别表示为不同的文件,具体表述形式如下:
注意:主分区+扩展分区的范围是1-4,逻辑分区始终从5开始
虚拟机系统:CentOS Linux release 8.0.1905 (Core)
因为要用两种方式给硬盘分区,所以为虚拟机添加两块硬盘,100G和2T大小
添加之后需要重启系统,重启之后登陆系统用fdisk -l命令可以看到新硬盘的信息,用lsblk命令也可以查看
fdisk:磁盘及分区管理工具,大多数linux系统自带的工具
要对哪块硬盘进行分区或者管理就使用fdisk后面跟设备名称,如fdisk /dev/sdc
如果不知道怎么用fdisk工具可以借助帮助
一般小于2T的硬盘我们都可以用fdisk来分区就可以了,给sdc创建一个主分区sdc1,分配的大小是50G
fdisk /dev/sdc
n:新建一个分区
w:保存分区并退出
p:打印分区表信息
分区类型e:扩展分区
ID=82 swap分区
分区类型l:逻辑分区
F:查看未分配的空间
q:直接退出不保存
l:列出所有分区类型
t:改变分区类型
什么是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:打印分区表
因为在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文件解读:
注:GPT的硬盘分区格式化和挂载的方式同MBR硬盘分区
当内存不足时,内核会杀死一些进程,为了避免出现OOM,一般有两种方法:
1、提升内存容量
2、把硬盘容量拿来当内存使用,就是虚拟内存,当没有办法提升实际内存容量的时候,就需要用到第二种方法,也就是交换分区了
这里用了一块之前已经分好的硬盘分区来做swap,也可以添加一块新硬盘创建新的分区作为swap,看具体需求,sdc5是逻辑分区,使用mkswap命令格式化分区为swap
mkswap /dev/sdc5
格式化好了之后用blkid查看一下
如果要使用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永久挂载,也是写在/etc/fstab文件里,这里用的是UUID
注:挂载的swap分区使用df -Th是查看不到的,必须要用查看内存的命令才可以看到
总结:磁盘管理这一块操作CentOS 8基本上等同于CentOS 7的版本