磁盘管理 - Linux系统磁盘管理

1. 磁盘基本概述

1.1 机械硬盘(HDD)与固态硬盘(SSD)

SSD (Solid State Drive): 采用电子存储介质进行数据存储和读取的一种技术,突破了传统机械硬盘的性能瓶颈,拥有极高的存储性能。

SSD特点:

  • 无查找延迟
  • 存储与读取速度快
  • 防震抗摔
  • 无噪音
  • 易携带

1.2 磁盘大小

磁盘容量通常以GB、TB为单位,常见规格有:

  • 500GB、1TB、2TB、4TB等(机械硬盘)
  • 128GB、256GB、512GB、1TB等(固态硬盘)

1.3 硬盘命名

在设备名称的定义规则如下, 其他的分区可以以此类推:

  • 系统的第一块SCSI接口的硬盘名称为/dev/sda
  • 系统的第二块SCSI接口的硬盘名称为/dev/sdb
  • 系统中分区由数字编号表示, 1~4留给主分区使用和扩展分区, 逻辑分区从5开始

有些存放数据的设备并不是直接硬件对应的设备文件,而是通过软件生成的块设备文件,例如lvm和软raid设备文件。

设备类型 命名规则 示例
物理硬盘 /dev/sd[a-z] /dev/sda, /dev/sdb
KVM虚拟化 /dev/vd[a-z] /dev/vda, /dev/vdb
分区 /dev/sd[a-z][1-9] /dev/sda1, /dev/sdb1

示例:

1
2
3
4
5
6
7
8
# 第一块磁盘
/dev/sda

# 第二块磁盘第一个分区
/dev/sdb1

# 第一块磁盘, 第一个分区(KVM虚拟化)
/dev/vda1

注意:

  • MBR方式只能分4个主分区, GPT可分128个主分区
  • MBR与GPT之间互相转换会导致数据丢失

1.4 GPT磁盘概述

MBR和GPT区别

特性 MBR GPT
最大分区数 4个主分区 128个主分区
最大磁盘容量 2TB 18EB
分区表位置 磁盘开头 磁盘开头和结尾
兼容性 兼容性好 需要UEFI支持
适用场景 小于2TB磁盘 大于2TB磁盘

2. 磁盘容量检查

2.1 使用df命令查看磁盘容量

df命令用于查看文件系统的磁盘空间使用情况。

1
2
3
4
5
# 使用df命令查看磁盘,不加参数以k为单位
[root@linux-node1 ~]# df -h
//设备名称 //磁盘大小 已用大小 可用大小 使用百分比 挂载点
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 62G 1.5G 58G 3% /

df常用选项

选项 功能 示例
-h 以G或者T或者M人性化方式显示 df -h
-i 查看inode使用情况 df -i
-T 查看文件系统类型 df -T
-a 显示所有文件系统 df -a

df命令示例

1
2
3
4
5
6
7
8
9
10
11
# 查看磁盘使用情况(人性化显示)
df -h

# 查看inode使用情况
df -i

# 查看文件系统类型
df -T

# 查看指定挂载点
df -h /

2.2 使用lsblk查看分区情况

lsblk命令用于列出所有可用块设备的信息。

1
2
3
4
5
[root@linux-node1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 20G 0 disk
└─vda1 252:1 0 20G 0 part /

输出说明:

  • NAME: 设备名称
  • MAJ:MIN: 主设备号和次设备号
  • RM: 是否为可移动设备
  • SIZE: 设备大小
  • RO: 是否为只读设备
  • TYPE: 设备类型(disk、part等)
  • MOUNTPOINT: 挂载点

2.3 使用du命令查看目录或文件的容量

du命令用于查看目录或文件占用的磁盘空间。

1
2
3
4
5
# 人性化输出显示大小
du -sh opt

# -s:列出总和
# -h:人性化显示容量信息

du常用选项

选项 功能 示例
-h 人性化显示 du -h /var/log
-s 只显示总和 du -sh /var/log
-a 显示所有文件 du -ah /var/log
--max-depth 指定目录深度 du -h --max-depth=1 /var

du命令示例

1
2
3
4
5
6
7
8
9
10
11
# 查看目录大小
du -sh /var/log

# 查看目录下各子目录大小
du -sh /var/*

# 查看目录深度为1的大小
du -h --max-depth=1 /var

# 查看当前目录总大小
du -sh .

3. 磁盘分区Fdisk

3.1 分区前准备

分区之前, 需要先给虚拟机添加一块磁盘,以便于我们做后续的实验。

VMware虚拟机添加磁盘步骤:

  1. 找到对应虚拟主机点击右键, 选择设置
  2. 在硬件向导里面点击添加按钮, 在硬件类型中选中”硬盘”, 点击下一步
  3. 磁盘类型选择默认, 然后创建新虚拟磁盘, 调整大小(不要勾选立即分配空间)
  4. 最后点击下一步, 完成即可

3.2 fdisk使用说明

小于2TB存储磁盘, 可选分区工具fdisk

生产分区建议: 如无特殊需求, 直接使用整个磁盘即可, 无需分区

学习分区建议: 1P+1E(3L) 2P+1E(2L) 3P+1E(1L) (仅适用于练习)

3.3 fdisk基本操作

1
2
3
4
5
# 查看所有磁盘分区
[root@linux-node1 ~]# fdisk -l

# 对指定磁盘进行分区
[root@linux-node1 ~]# fdisk /dev/sdb

3.4 fdisk常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Command (m for help): m  # 输入m列出常用的命令

Command action
a toggle a bootable flag # 切换分区启动标记
b edit bsd disklabel # 编辑sdb磁盘标签
c toggle the dos compatibility flag # 切换dos兼容模式
d delete a partition # 删除分区
l list known partition types # 显示分区类型
m print this menu # 显示帮助菜单
n add a new partition # 新建分区
o create a new empty DOS partition table # 创建新的空白分区表
p print the partition table # 显示分区表的信息
q quit without saving changes # 不保存退出
s create a new empty Sun disklabel # 创建新的Sun磁盘标签
t change a partition's system id # 修改分区ID,可以通过l查看id
u change display/entry units # 修改容量单位,磁柱或扇区
v verify the partition table # 检验分区表
w write table to disk and exit # 保存退出
x extra functionality (experts only) # 拓展功能

3.5 创建主分区

1
2
3
4
5
6
7
8
9
Command (m for help): n  # 新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) # 主分区
e extended # 扩展分区
Select (default p): p # 选择主分区
Partition number (1-4, default 1): # 默认回车
First sector (2048-2097151, default 2048): # 默认扇区回车
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +50M # 分配50MB

3.6 创建扩展分区

1
2
3
4
5
6
7
8
9
Command (m for help): n  # 新建分区
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e # 创建扩展分区
Partition number (2-4, default 2):
First sector (104448-2097151, default 104448):
Using default value 104448
Last sector, +sectors or +size{K,M,G} (104448-2097151, default 2097151): # 默认划分所有空间给扩展分区

3.7 创建逻辑分区

1
2
3
4
5
6
7
8
9
Command (m for help): n  # 新建分区
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l # 创建逻辑分区
Adding logical partition 5
First sector (106496-2097151, default 106496):
Using default value 106496
Last sector, +sectors or +size{K,M,G} (106496-2097151, default 2097151): +100M # 分配100MB空间

3.8 查看分区创建

1
2
3
4
5
6
Command (m for help): p

Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 2097151 996352 5 Extended
/dev/sdb5 106496 311295 102400 83 Linux

3.9 保存分区

1
2
3
4
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

3.10 刷新分区表

1
2
3
4
5
6
7
# 检查磁盘是否是MBR分区方式
[root@linux-node1 ~]# fdisk /dev/sdb -l|grep type
Disk label type: dos

# 安装parted, 刷新内核立即生效,无需重启
[root@linux-node1 ~]# yum -y install parted
[root@linux-node1 ~]# partprobe /dev/sdb

4. 磁盘分区Gdisk

4.1 gdisk使用说明

大于2TB使用分区工具gdisk

4.2 gdisk基本操作

1
2
3
4
5
# 安装gdisk工具
[root@linux-node1 ~]# yum install gdisk

# 对指定磁盘进行分区
[root@linux-node1 ~]# gdisk /dev/sdb

4.3 gdisk创建分区

1
2
3
4
Command (? for help): n     # 创建新分区
Partition number (1-128, default 1):
First sector (34-2097118, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-2097118, default = 2097118) or {+-}size{KMGTP}: +500M # 分配500M大小

4.4 查看分区

1
2
3
4
Command (? for help): p  # 打印查看

Number Start (sector) End (sector) Size Code Name
1 2048 1026047 500.0 MiB 8300 Linux filesystem

4.5 保存分区

1
2
3
4
Command (? for help): w  # 保存分区
Do you want to proceed? (Y/N): y # 确认
OK; writing new GUID partition table (GPT) to /dev/sdb.
The operation has completed successfully.

4.6 验证GPT格式

1
2
3
4
5
6
7
# 检查磁盘是否是gpt格式
[root@xuliangwei-node1 /]# fdisk /dev/sdb -l|grep type
Disk label type: gpt

# 刷新分区表
[root@linux-node1 ~]# yum -y install parted
[root@linux-node1 ~]# partprobe /dev/sdb

5. 磁盘格式化Mkfs

mkfs格式化磁盘,实质创建文件系统。

5.1 mkfs常用选项

选项 功能 说明
-b 设定数据区块占用空间大小 支持1024、2048、4096 bytes每个块
-t 用来指定什么类型的文件系统 可以是ext4, xfs
-i 设定inode的大小
-N 设定inode数量 防止Inode数量不够导致磁盘不足
-L 预设该分区的标签label

5.2 格式化示例

1
2
3
4
5
6
7
8
9
10
11
# 格式化整个sdb磁盘为ext4文件系统
[root@linux-node1 ~]# mkfs.ext4 /dev/sdb

# 也可以格式化sdb1分区为xfs文件系统
[root@linux-node1 ~]# mkfs.xfs /dev/sdb1

# 格式化并指定标签
[root@linux-node1 ~]# mkfs.ext4 -L DATA /dev/sdb1

# 格式化并指定inode大小
[root@linux-node1 ~]# mkfs.ext4 -i 1024 /dev/sdb1

5.3 文件系统类型

文件系统 命令 特点
ext4 mkfs.ext4 传统Linux文件系统,稳定可靠
xfs mkfs.xfs 高性能,适合大文件
ext3 mkfs.ext3 较老的ext系列文件系统
ext2 mkfs.ext2 最基础的ext文件系统

6. 磁盘挂载Mount

在上面的内容中讲到了磁盘的分区和格式化, 那么格式化完了后, 如何使用, 这就涉及到了挂载这块磁盘。

挂载说明:

  • 挂载分区前需要创建挂载点, 挂载点以目录形式出现
  • 如何往挂载点目录写入数据, 实际上会写入到该分区
  • 挂载点建议是空目录, 不是也不影响挂载分区的使用

6.1 临时挂载磁盘

命令: mount挂载磁盘,实质为文件系统指定访问入口

mount常用选项

选项 功能 示例
-t 指定文件系统挂载分区 mount -t xfs /dev/sdb1 /db1
-a 读取/etc/fstab配置文件的所有分区 mount -a
-o 指定挂载参数 mount -o rw,remount /

临时挂载示例

1
2
3
4
5
6
# 挂载/dev/sdb1至db1目录
[root@linux-node1 ~]# mkdir /db1
[root@linux-node1 ~]# mount -t xfs /dev/sdb1 /db1/

# fstab被损坏情况下,让只读文件系统可写(正常情况下不使用)
[root@linux-node1 ~]# mount -o rw,remount /

6.2 永久挂载磁盘

使用blkid获取UUID

1
2
3
# 使用blkid命令获取各分区的UUID
[root@linux-node1 ~]# blkid |grep "sdb1"
/dev/sdb1: UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" TYPE="xfs"

使用UUID挂载

1
2
# 使用UUID挂载磁盘sdb1分区至/db1, 临时挂载
[root@linux-node1 ~]# mount UUID="e271b5b2-b1ba-4b18-bde5-66e394fb02d9" /db1

配置/etc/fstab永久挂载

1
2
3
# 也可以把下面这行写到/etc/fstab中,永久挂载, 开机自动挂载
[root@linux-node1 ~]# tail -1 /etc/fstab
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs defaults 0 0

fstab配置文件介绍

1
2
3
[root@linux-node1 ~]# vim /etc/fstab
# 分区标识(UUID或设备名) 挂载点 文件类型 挂载参数 不检查 不备份
UUID=e271b5b2-b1ba-4b18-bde5-66e394fb02d9 /db1 xfs defaults 0 0

fstab字段说明:

字段 说明 示例
1 分区标识(UUID或设备名) UUID=xxx/dev/sdb1
2 挂载点 /db1
3 文件系统类型 xfs, ext4
4 挂载参数 defaults
5 是否备份(0=不备份,1=备份) 0
6 是否检查(0=不检查,1=检查) 0

挂载参数说明

参数 参数意义 系统默认值
async 系统每隔一段时间把内存数据写入磁盘中
sync 时时同步内存和磁盘中数据
suid, nosuid 允许/不允许分区有suid属性 suid
rw, ro 可以指定文件系统是只读(ro)或可写(rw) rw
exec, noexec 允许/不允许可执行文件执行,不要挂载根分区 exec
user, nouser 允许/不允许root外的其他用户挂载分区 nouser
auto, noauto 开机自动挂载/不自动挂载 auto
defaults 默认文件系统挂载设置 rw, suid, dev, exec, auto, nouser, async

加载所有配置

1
2
# 加载所有配置
[root@linux-node1 ~]# mount -a

6.3 卸载挂载磁盘

1
2
3
4
5
6
7
8
# 使用挂载点目录卸载
[root@linux-node1 ~]# umount /db1

# 使用设备名卸载/dev/sdb1
[root@linux-node1 ~]# umount /dev/sdb1

# 强制卸载挂载
[root@linux-node1 ~]# umount -lf /db1

umount不能卸载的情况

1
2
3
4
[root@xuliangwei db1]# umount /db1
umount: /db1: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1)

解决方法:

1
2
3
4
5
6
7
8
9
10
# 方法1: 切换至其他目录
cd /
umount /db1

# 方法2: 使用'-l'选项强制卸载
umount -l /db1

# 方法3: 查找占用进程并结束
fuser -km /db1
umount /db1

7. 虚拟磁盘SWAP

分区一般指定虚拟内存的大小为实际内存的1~1.5倍。如果实际内存超过8GB,可以直接划分16GB给虚拟内存即可,如果虚拟内存不够用的情况,须增加一个虚拟磁盘,由于不能给原有的磁盘重新分区,所以可以选择新建。

7.1 使用文件创建SWAP

步骤1: 创建swapfile

1
[root@student ~]# dd if=/dev/zero of=/opt/newdisk bs=40k count=102400

参数说明:

  • if: 指定源 一般写/dev/zero
  • of: 指定目标
  • bs: 定义块大小
  • count: 数量

步骤2: 格式化swap分区

1
2
3
[root@student opt]# mkswap -f /opt/newdisk
Setting up swapspace version 1, size = 1926952 KiB
no label, UUID=69d11824-8d72-4ea5-b383-ddbfd970db3d

步骤3: 检测当前swap分区情况

1
2
3
4
5
[root@student opt]# free -m
total used free shared buffers cached
Mem: 348 343 5 0 1 276
-/+ buffers/cache: 65 283
Swap: 999 8 991 # 原来swap分区1G

步骤4: 启动虚拟磁盘

1
2
3
4
5
6
[root@student opt]# swapon /opt/newdisk
[root@student opt]# free -m
total used free shared buffers cached
Mem: 348 343 5 0 1 274
-/+ buffers/cache: 66 281
Swap: 2881 8 2873 # swap分区多出来了两个G

步骤5: 关闭虚拟磁盘

1
2
3
4
5
6
[root@student opt]# swapoff /opt/newdisk
[root@student opt]# free -m
total used free shared buffers cached
Mem: 348 342 6 0 1 274
-/+ buffers/cache: 65 283
Swap: 999 8 991 # 还原到没有增加虚拟磁盘

7.2 使用分区创建SWAP

步骤1: 新建分区并修改类型为82

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看当前分区
# fdisk -l /dev/vdb

# 新建一个分区,并且把分区类型更改为82
# fdisk /dev/vdb

命令(输入 m 获取帮助):l # 列出所有支持的分区类型对应的id
命令(输入 m 获取帮助):t # 修改分区id
分区号 (1-5,默认 5):2 # 修改第2个分区
Hex 代码(输入 L 列出所有代码):82 # 修改成id为82
已将分区"Linux"的类型更改为"Linux swap / Solaris"

命令(输入 m 获取帮助):p
设备 Boot Start End Blocks Id System
/dev/vdb1 2048 2099199 1048576 83 Linux
/dev/vdb2 2099200 6293503 2097152 82 Linux swap / Solaris # 修改成功

命令(输入 m 获取帮助):w

# 强烈建议:对分区做了修改后都刷新一下
# partprobe /dev/vdb

步骤2: 格式化交换分区

1
2
3
4
# 把vdb2格式化为交换分区
# mkswap /dev/vdb2
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=ba08eb90-2003-44e6-9769-9a9351aebb05

步骤3: 启动交换分区

1
2
3
4
5
6
7
8
9
# 启动交换分区
# swapon /dev/vdb2
# 或者
# swapon -a # 启动所有交换分区

# 查看
# swapon -s
文件名 类型 大小 已用 权限
/dev/vdb2 partition 2097148 0 -1

步骤4: 持久化保存交换分区

1
2
3
4
5
6
7
# 获取UUID
# blkid /dev/vdb2
/dev/vdb2: UUID="ba08eb90-2003-44e6-9769-9a9351aebb05" TYPE="swap"

# 编辑fstab文件
# vim /etc/fstab
UUID=ba08eb90-2003-44e6-9769-9a9351aebb05 swap swap defaults 0 0

7.3 SWAP管理命令

命令 功能 示例
mkswap 格式化swap分区 mkswap /dev/sdb2
swapon 启用swap分区 swapon /dev/sdb2
swapon -a 启用所有swap分区 swapon -a
swapoff 禁用swap分区 swapoff /dev/sdb2
swapon -s 查看swap使用情况 swapon -s
free -m 查看内存和swap free -m

8. 生产磁盘故障案例

8.1 案例1: Inode被占满

Inode被占满,导致磁盘有可用的剩余空间也无法继续使用。

问题重现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 创建测试文件
[root@linux-node1 ~]# dd if=/dev/zero of=/opt/newdisk bs=1k count=1024

# 格式化并指定inode大小
[root@linux-node1 ~]# mkfs.ext4 -i 1024 /opt/newdisk

# 创建挂载点并挂载
[root@linux-node1 ~]# mkdir /data
[root@linux-node1 ~]# mount -t ext4 -o loop /opt/newdisk /data/

# inode被占满
[root@linux-node1 ~]# touch {1..20000}
touch: cannot touch '19997': No space left on device
touch: cannot touch '19998': No space left on device
touch: cannot touch '19999': No space left on device
touch: cannot touch '20000': No space left on device

# inode被占满,剩余block也是无法继续使用
[root@linux-node1 ~]# df -i|grep data
/opt/newdisk 1024 1024 0 100% /data

[root@linux-node1 ~]# df -h|grep data
/opt/newdisk 891K 34K 806K 5% /data

问题分析

  • Inode已满: 虽然还有806K空间,但inode已用完
  • 无法创建新文件: 即使有空间也无法创建文件

解决方案

1
2
3
4
5
6
7
8
# 1. 查找占用inode的文件
find /data -type f |wc -l

# 2. 删除不需要的文件
find /data -type f -delete

# 3. 或删除整个目录重新创建
rm -rf /data/*

8.2 案例2: Block空间被占满,删除大文件未释放空间

假设现在线上正在运行Nginx服务, Nginx产生的日志已经达到了20个G, 磁盘眼看就看占满了, 请问不重启Nginx的方式如何处理。

问题分析

错误做法:

1
2
# 删除文件, 但Nginx持续占用着文件, 所以空间并不会被释放
rm -f access.log

原因: 文件被进程占用时,删除文件只是删除了文件名,文件内容仍然被进程占用,空间不会立即释放。

正确做法

1
2
3
4
5
6
7
8
# 清空该文件即可释放文件内容
> access.log

# 或使用truncate命令
truncate -s 0 access.log

# 或使用echo清空
echo "" > access.log

查找占用文件的进程

1
2
3
4
5
6
7
8
# 方法1: 使用lsof查找
lsof |grep access.log

# 方法2: 使用fuser查找
fuser access.log

# 方法3: 重启服务(如果允许)
systemctl restart nginx

8.3 案例3: 磁盘空间不足处理流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 检查磁盘使用情况
df -h

# 2. 查找大文件
find / -type f -size +100M -exec ls -lh {} \;

# 3. 查找大目录
du -sh /* |sort -hr |head -10

# 4. 清理日志文件
find /var/log -name "*.log" -mtime +7 -delete

# 5. 清理临时文件
find /tmp -type f -mtime +7 -delete

# 6. 清理包缓存
yum clean all

8.4 案例4: 磁盘IO性能问题

1
2
3
4
5
6
7
8
# 1. 检查磁盘IO
iostat -x 1

# 2. 检查磁盘使用率
iotop

# 3. 查找IO密集型进程
pidstat -d 1

9. 磁盘管理最佳实践

9.1 分区建议

  1. 生产环境: 如无特殊需求,直接使用整个磁盘,无需分区
  2. 学习环境: 可以练习分区(1P+1E(3L) 2P+1E(2L) 3P+1E(1L))
  3. 大于2TB: 使用GPT分区表
  4. 小于2TB: 使用MBR分区表

9.2 文件系统选择

文件系统 适用场景 特点
ext4 通用场景 稳定可靠,兼容性好
xfs 大文件、高性能 适合大文件,性能好
ext3 旧系统兼容 较老的系统

9.3 挂载建议

  1. 使用UUID挂载: 避免设备名变化导致挂载失败
  2. 挂载点规范: 使用有意义的目录名(如/data、/backup)
  3. 挂载参数: 根据需求选择合适的挂载参数
  4. 定期检查: 定期检查磁盘使用情况

9.4 监控建议

  1. 定期检查: 使用df -hdf -i定期检查
  2. 设置告警: 当使用率超过80%时告警
  3. 日志轮转: 配置日志轮转,避免日志占满磁盘
  4. 清理策略: 制定清理策略,定期清理临时文件

10. 命令总结

10.1 磁盘查看命令

命令 功能 示例
df -h 查看磁盘使用情况 df -h
df -i 查看inode使用情况 df -i
du -sh 查看目录大小 du -sh /var/log
lsblk 查看块设备 lsblk
fdisk -l 查看分区信息 fdisk -l

10.2 分区命令

命令 功能 示例
fdisk /dev/sdb MBR分区(<2TB) fdisk /dev/sdb
gdisk /dev/sdb GPT分区(>2TB) gdisk /dev/sdb
partprobe 刷新分区表 partprobe /dev/sdb

10.3 格式化命令

命令 功能 示例
mkfs.ext4 格式化为ext4 mkfs.ext4 /dev/sdb1
mkfs.xfs 格式化为xfs mkfs.xfs /dev/sdb1
mkswap 格式化为swap mkswap /dev/sdb2

10.4 挂载命令

命令 功能 示例
mount 挂载文件系统 mount /dev/sdb1 /data
umount 卸载文件系统 umount /data
mount -a 挂载所有fstab配置 mount -a
blkid 查看UUID blkid

10.5 SWAP命令

命令 功能 示例
swapon 启用swap swapon /dev/sdb2
swapoff 禁用swap swapoff /dev/sdb2
swapon -s 查看swap swapon -s
free -m 查看内存和swap free -m