目录

  • ​​目录​​
  • ​​磁盘管理命令​​
  • ​​向服务器添加硬盘​​
  • ​磁盘分区​
  • ​​分区模式之MBR分区​​
  • ​​分区模式之GPT分区​​
  • ​分区操作​
  • ​​Linux中的MBR分区​​
  • ​​Linux中的GPT分区​​
  • ​​分区格式化操作​​
  • ​​挂载分区​​
  • ​​Linux中的swap分区​​


磁盘管理命令

(1)查看磁盘分区使用状况
​​​df​​​命令
选项:
  l 仅显示本地磁盘(默认)
  a 显示所有文件系统的磁盘使用情况,包含比如​​​/proc/​​​
  h 以1024进制计算最合适的单位显示磁盘容量
  H 以1000进制计算最合适的单位显示磁盘容量
  T 显示磁盘分区类型
  t 显示指定类型文件系统的磁盘分区
  x 不显示指定类型文件系统的磁盘分区
(2)统计磁盘上的文件大小
​​​du​​​命令
选项:
  b 以byte为单位统计文件
  k 以KB为单位统计文件
  m 以MB为单位统计文件
  h 按照1024进制以最适合的单位统计文件
  H 按照1000进制以最适合的单位统计文件
  s 指定统计目标
如:

du -h /etc

向服务器添加硬盘

  在实际生产中,我们可能会遇到服务器硬盘空间不够用的问题,较好的解决方案是我们向服务器添加一块或多块新的硬盘,增加存储空间。
  一般情况下,我们需要关闭服务器后才可以新增新的硬盘。但是如果支持热插拔,即可带电添加新的硬盘。
  当我们添加完新的硬盘,开机进入Linux系统后,此时还不能使用新的硬盘空间,我们必须对硬盘进行分区、格式化、挂载后才能使用。

磁盘分区

分区模式之MBR分区

  • 主分区和扩展分区总数不能超过4个
  • 扩展分区最多只能有一个
  • 扩展分区不能直接存取数据
  • 单个分区容量最大2TB

分区模式之GPT分区

  • 主分区个数“几乎”没有限制(在GPT的分区表中最多可以支持128个主分区,但是由于我们一般不会分这么多个分区,且相对于MBR分区来说,所以可以看成是“几乎”没有限制)
  • 单个分区容量“几乎”没有限制(在GPT的分区模式中,每个分区的大小突破了MBR分区的2TB限制。单个分区的容器的限制为18EB。其中 ​​1EB = 1024PB,1PB = 1024TB,1TB = 1024GB​​,可想而知18EB是有多大,几乎可以看成是没有限制呀!)
  • GPT分区不适合安装在X86架构的系统(32位系统)

分区操作

Linux中的MBR分区

  • ​fdisk -l​​命令可以查看当前各硬盘的分区情况。然后针对新加入的硬盘进行分区。(GPT分区表类型的分区是无法通过fdisk -l命令查看分区情况的,需要使用​parted​分区工具中的​print​命令。下面将提到。)
  • ​fdisk 需要分区的设备文件名​​ 执行该命令对硬盘进行分区。如:
fdisk /dev/sdb

  执行该命令后进入操作的交互界面。通过输入:

n 表示增加新的分区,根据提示进一步输入新增分区的类型,如 p表示主分区;e表示扩展分区;l表示逻辑分区。
p 表示查看硬盘的分区情况。
d 删除某个分区。
w 通过n命令新增的分区实际上还未生效,最后还需要输入w命令进行保存,保存当前的分区方案。

Linux中的GPT分区

  • GPT分区无法采用​​fdisk​​​命令实现分区操作,需要使用​​parted​​分区工具。
  • 输入​​parted​​​命令,进入分区操作。默认分区目标硬盘是第一块硬盘,需要通过​​select​​命令选择新的分区目标硬盘。
  • 通过​​select 需要分区的设备文件名称​​,对某个新添加的硬盘进行分区。
  • 指定分区表类型为GPT:​​mklabel gpt​​​(如果是MBR类型分区的话,是命令​​mklabel msdoc​​)。
  • 使用​​print​​​命令可以查看当前硬盘的分区类型和分区情况,使用​​print all​​命令可以查看所有硬盘的分区类型和分区情况。
  • 直接使用​​mkpart​​命令,可以进入交互形式的分区操作,根据提示进行分区。
  • 或者采用如​​mkpart test 2000 3000​​,一次性以参数的形式指定分区的命令,分区的开始位置(指第几MB位置开始),分区的结束位置(指第几MB位置结束,不包括这个第几MB)。
  • 通过​​rm 分区的Number值(可以通过print命令查看到)​​删除指定分区。
  • 分区完毕后,可以使用​​quit​​命令退出分区工具。

分区格式化操作

​mkfs​​​命令,如:
​​​mkfs.文件系统 设备文件名​

mkfs.ext4 /dev/sdb1

或者 ​​mkfs -t 文件系统 设备文件名​​,如:

mkfs -t ext4 /dev/sdb2

挂载分区

  分区默认的挂载目录是​​/mnt​​​目录。
  通过​​​mount​​​命令进行分区的挂载,前提是挂载点存在(即作为挂载点的目录被创建)。​​mount 设备文件名 挂载点​​,如:

mount /dev/sdb1 /mnt/doc

  可以使用​​umount /mnt/doc​​​卸载已挂载的分区。
  需要注意的是通过​​​mount​​​进行的挂载只是临时生效,重启计算机后将不会自动重新挂载。如果需要计算机在重启之后自动挂载,需要在​​/etc/fstab​​文件中进行配置。

vim + /etc/fstab

  在文件的最后插入:

设备文件名 挂载点 文件系统类型 defaults 0 0

如:

/dev/sdb1 /mnt/doc ext4 defaults 0 0

Linux中的swap分区

  额外补充:在Linux中我们还可以添加swap分区(相当于虚拟内存。交换分区,在生产环境下电脑内存不超过4个G时,swap分区的大小应该是内存2倍,电脑内存超过4个G,swap分区的大小跟内存大小一致就可以了;在实验环境下swap分区不超过2GB就足够了)。
  那么如何为硬盘添加swap交换分区呢?
1. 建立一个普通的Linux分区;
2. 修改分区类型的16进制编号;(一个普通Linux分区的分区类型为83,而交换分区的16进制编号为82)
3. 格式化交换分区;
4. 启用交换分区。
  注:swap分区不需要被挂载。因为这不是给用户使用的分区。我们没必要提供一个“入口”(或者盘符)给用户。
具体操作如下:(这里以MBR分区类型为例)

  • ​fdisk 设备文件名​​,如:这里表示选择了第二块硬盘。
fdisk /dev/sdb
  • 输入命令​​t​​​进行分区类型编号的修改操作,选择第几块分区,再设置类型编号为82。如这里设置第6个分区为swap分区。(输入命令​​L​​可以查看所有16进制的类型编号。)
  • 输入命令​​w​​保存退出fdisk。
  • ​mkswap 设备文件名​​:格式化swap分区。如:
mkswap /dev/sdb6
  • ​swapon 设备文件名​​:启用该swap分区,如:
swapon /dev/sdb6
  • 通过​​free​​命令可以查看swap分区的加载情况。
  • ​swapoff 设备文件名​​可以停止某个swap分区,如:
swapoff /dev/sdb6