之前在做服务器初始化时,经常要处理“新加一块数据盘”这种需求。流程倒是不复杂,无非是查看磁盘、划分分区、格式化、挂载使用,但网上资料大多只贴命令不讲原理,新手照着敲完,遇到磁盘名对不上、分区表不刷新、格式化报错这种问题就容易卡住。这篇文章以 Linux 磁盘管理为主线,完整拆解 lsblk、fdisk、mkfs.xfs 三个核心命令的使用方法,从查看磁盘信息到格式化文件系统一次讲清楚。文章包含大量可复制的命令和输出示例,Linux 运维新手可以把这篇当作磁盘操作的入门手册,有一定经验的开发者也可以直接跳到第 4 章的完整实战案例和常见问题排查表。
1. 背景与核心概念
1.1 Linux 磁盘管理到底在管理什么
Linux 磁盘管理的本质,是帮助操作系统识别硬件磁盘、规划磁盘上的存储空间,并建立可供文件系统使用的存储结构。整个过程可以拆成三个环节:
第一,识别磁盘。系统通过驱动加载磁盘设备后,会在/dev目录下生成对应的设备文件,例如/dev/sda、/dev/sdb、/dev/nvme0n1等。这一步通常由内核自动完成,但运维人员需要知道系统识别到了哪些磁盘,容量是多少,哪些已经被使用,哪些是空闲的。
第二,划分分区。一块物理磁盘可以整块直接使用,也可以划分成多个分区。分区的意义在于:不同分区可以安装不同文件系统、用于不同业务目录,也能在一定程度上隔离故障和限制容量。MBR 和 GPT 是两种常见分区表格式,fdisk 擅长处理 MBR 格式的分区,也支持 GPT,但超过 2TB 的磁盘更推荐使用 parted 或 gdisk。
第三,格式化文件系统。分区只是把磁盘划分成了一个个“容器”,容器里要存储文件,必须写入文件系统元数据。mkfs.xfs 就是专门用于创建 XFS 文件系统的工具,格式化完成后分区才能挂载使用。
这三个环节对应关系如下:
| 环节 | 常用命令 | 作用 |
|---|---|---|
| 查看磁盘 | lsblk | 查看磁盘与分区树状结构、容量、挂载点 |
| 磁盘分区 | fdisk | 创建、删除、查看分区 |
| 格式化 | mkfs.xfs | 在指定分区上创建 XFS 文件系统 |
1.2 磁盘、分区、文件系统的关系
很多新手会混淆磁盘、分区、文件系统这三个概念,这里用一个比较直观的类比解释。
磁盘相当于一套新房,分区相当于把房子划分成卧室、客厅、厨房,文件系统则相当于在每个房间里安装的收纳系统,用于决定物品(文件)怎么摆放、怎么查找。
举一个实际的设备名例子:
/dev/sda # 第一块 SCSI/SATA 磁盘,也就是整块磁盘 /dev/sda1 # sda 上的第一个分区 /dev/sda2 # sda 上的第二个分区设备名中的数字代表分区号。/dev/sda1并不是一块新磁盘,而是sda这块磁盘上编号为 1 的分区。理解这一点对后面使用 fdisk 和 mkfs.xfs 至关重要,因为格式化时要操作的是“分区设备”,而不是“整块磁盘设备”。
1.3 为什么需要掌握这几个命令
Linux 服务器上新增数据盘、虚拟机扩容磁盘、排查挂载异常,几乎都要用到 lsblk、fdisk、mkfs.xfs。
- llblk 用于快速确认磁盘设备树和挂载关系,是排查“找不到磁盘”“挂载点不对”等问题的第一排查命令。
- fdisk 用于规划分区,虽然日常操作不频繁,但一旦要新增磁盘,就必须掌握它的交互式操作。
- mkfs.xfs 用于创建文件系统,是磁盘投入使用前的最后一步。
它们共同构成了 Linux 磁盘管理的操作闭环,也是运维面试题中非常高频的三个命令。
2. 环境准备与版本说明
2.1 操作系统与权限
本文示例以 CentOS 7.9 / Rocky Linux 9 环境为例。lsblk 来自util-linux软件包,fdisk 来自util-linux,mkfs.xfs 来自xfsprogs,这三者在绝大多数 Linux 发行版中都已默认安装。
官方文档和主流发行版说明如下:
- RHEL / CentOS / Rocky Linux / AlmaLinux:默认自带 xfsprogs,系统盘默认使用 XFS 文件系统。
- Ubuntu / Debian:默认可能没有安装 xfsprogs,需要先执行安装命令。
- 其他发行版:一般可以通过系统软件包管理器安装
xfsprogs。
如果你的环境是 Ubuntu/Debian,可以先执行:
sudo apt update sudo apt install xfsprogs本文涉及的三个命令在 CentOS 和 Ubuntu 上语法完全一致,只有安装方式不同。
2.2 实验环境说明
为了避免误操作生产服务器,强烈建议先在虚拟机中搭建实验环境。本文以下面的环境为演示基础:
| 项目 | 说明 |
|---|---|
| 操作系统 | CentOS 7.9 / Rocky Linux 9(内核版本按镜像默认) |
| 虚拟机软件 | VMware Workstation / VirtualBox |
| 磁盘 | 系统盘/dev/sda,新增数据盘/dev/sdb |
| 操作系统盘文件系统 | XFS |
| 操作权限 | root 用户,或具有 sudo 权限的普通用户 |
下面的实验操作都围绕“新增一块数据盘/dev/sdb,把它分成一个分区并格式化为 XFS 文件系统”这个需求展开。整个过程只涉及数据盘,不触碰系统盘,风险可控。
需要注意,实际操作中磁盘设备名可能因为硬件识别顺序不同而发生变化,例如/dev/sdb在另一台机器上可能显示为/dev/sdc。因此,所有操作前都应该先用 lsblk 确认设备名。
3. 使用 lsblk 查看磁盘信息
3.1 lsblk 命令语法
lsblk(list block devices)用于列出所有可用的块设备信息,输出结果以树状结构展示磁盘和分区之间的依赖关系。
lsblk [选项] [设备名]不加任何参数时,直接查看系统所有块设备:
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part / sdb 8:16 0 20G 0 disk命令输出中,每一列含义如下:
| 列名 | 含义 |
|---|---|
| NAME | 设备名称 |
| MAJ:MIN | 主设备号与次设备号,内核用它们来标识设备 |
| RM | 是否为可移动设备,1 表示可移动 |
| SIZE | 设备容量 |
| RO | 是否为只读设备 |
| TYPE | 设备类型,disk 表示磁盘,part 表示分区 |
| MOUNTPOINT | 挂载点,为空表示未挂载 |
在上面的输出中,sda是一块 50G 的磁盘,下面有sda1和sda2两个分区,分别挂载在/boot和/;sdb是一块 20G 的新磁盘,尚未分区和挂载。
3.2 lsblk 常用选项详解
3.2.1 查看文件系统信息
使用-f参数,可以额外显示文件系统类型、UUID 和挂载点:
[root@localhost ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs a1b2c3d4-... /boot └─sda2 xfs e5f6a7b8-... / sdbFSTYPE 列显示了分区上已创建的文件系统类型。sdb这一行 FSTYPE 为空,说明该磁盘还没有格式化。
3.2.2 查看完整路径
默认不显示/dev/前缀,使用-p参数可以显示完整设备路径,方便与其它命令的输出对齐:
[root@localhost ~]# lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/sda 8:0 0 50G 0 disk ├─/dev/sda1 8:1 0 1G 0 part /boot └─/dev/sda2 8:2 0 49G 0 part / /dev/sdb 8:16 0 20G 0 disk3.2.3 只显示磁盘设备
使用-d参数可以只显示磁盘本身,不显示下面的分区,适合用来快速查看当前系统有哪些磁盘:
[root@localhost ~]# lsblk -d NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk sdb 8:16 0 20G 0 disk3.3 如何确认新磁盘是否被识别
当虚拟机或物理机新添加了一块磁盘后,如果系统没有自动识别,可以先执行 lsblk 确认。建议养成“操作前先 lsblk”的习惯:
lsblk如果新磁盘可以被识别,输出中会多出一个 TYPE 为 disk 的设备节点。如果看不到新磁盘,可能的原因有:
- 虚拟机未正确挂载磁盘,需要在虚拟机设置中添加。
- 物理服务器新插入的磁盘需要重新扫描总线。
- 热插拔场景下需要触发内核重新扫描,可执行
echo "- - -" > /sys/class/scsi_host/host0/scan(需根据实际使用场景谨慎操作)。
3.4 lsblk 与 df 的区别
在很多文章里会看到用 df 查看磁盘的命令,但 df 和 lsblk 关注的重点不同:
| 命令 | 作用 |
|---|---|
| df -hT | 查看已挂载文件系统的使用率、挂载点和文件系统类型 |
| lsblk | 查看块设备、分区结构、挂载点,不管是否已挂载 |
df 只能看到已经挂载的文件系统,新磁盘如果没有格式化、没有挂载,用 df 是看不到的。lsblk 则可以完整展示所有磁盘设备,包括未分区、未挂载的磁盘。
用 df 查看当前主机文件系统使用情况:
[root@localhost ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 xfs 49G 3.5G 46G 8% / /dev/sda1 xfs 1014M 173M 842M 18% /boot排查磁盘问题时,建议先 lsblk 查设备结构,再用 df 查已挂载文件系统的空间使用情况,两者配合使用。
4. 使用 fdisk 进行磁盘分区
4.1 fdisk 的工作原理
fdisk 是一个传统的分区工具,提供交互式命令行界面,使用户可以逐条执行分区命令。它支持创建 MBR 和 GPT 分区表,但更常见的用途是管理 MBR 分区表。
以下情况优先考虑使用 fdisk:
- 磁盘容量小于 2TB。
- 需要创建传统 MBR 分区表。
- 快速创建一两个分区。
如果磁盘容量大于 2TB,fdisk 虽然也支持 GPT,但推荐使用parted或gdisk,处理逻辑更清晰。
4.2 fdisk 交互命令说明
使用 fdisk 对/dev/sdb进行操作:
[root@localhost ~]# fdisk /dev/sdb进入交互模式后,输入m可以查看帮助:
Command (m for help): m常用交互命令如下:
| 命令 | 作用 |
|---|---|
| m | 显示帮助菜单 |
| p | 打印当前分区表 |
| n | 新建分区 |
| d | 删除分区 |
| t | 修改分区类型 |
| w | 保存并退出 |
| q | 不保存退出 |
对新手来说,最容易犯的错误是忘记输入w保存。fdisk 的所有操作在退出前并不会真正写入磁盘,只有输入w才会写入分区表。如果操作错误,可以使用q直接不保存退出,这一点非常实用。
4.3 使用 fdisk 创建分区的完整过程
下面演示如何把/dev/sdb划分为一个分区。
第一步,进入 fdisk 交互模式:
[root@localhost ~]# fdisk /dev/sdb第二步,输入p查看当前分区表:
Command (m for help): p Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors Disk model: VMware Virtual S Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x1a2b3c4d Device Boot Start End Sectors Size Id Type输出中显示磁盘没有分区表,或者分区表为空。
第三步,输入n新建分区:
Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p):直接回车,默认选择主分区。接下来会要求输入分区号:
Partition number (1-4, default 1):直接回车,默认选择 1。
然后是起始扇区:
First sector (2048-41943039, default 2048):直接回车使用默认值。最后是结束扇区,如果要把整个磁盘都作为一个分区,直接回车:
Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): Created a new partition 1 of type 'Linux' and of size 20 GiB.如果只想创建 10G 的分区,可以在这一步输入+10G。
第四步,输入p查看分区是否创建成功:
Command (m for help): p Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 41943039 41940992 20G 83 Linux第五步,输入w保存并退出:
Command (m for help): w The partition table has been altered. Syncing disks.到这里/dev/sdb1分区创建完成。
4.4 分区后刷新分区表
分区创建后,操作系统可能还在使用旧的分区表。此时执行 partprobe 让内核重新读取分区表:
partprobe /dev/sdb然后再次执行 lsblk 确认:
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 49G 0 part / sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 partsdb1已经出现,说明分区表刷新成功。
4.5 fdisk 删除分区的风险提示
fdisk 也支持删除分区。交互模式下输入d,再输入分区号,最后输入w保存,分区就会被删除。
这里必须强调:删除分区会丢失该分区上的所有数据。实际操作中删除分区前,一定要先确认分区上的数据已经备份。生产环境中,建议由有经验的运维人员操作,并且提前在测试环境演练。
5. 使用 mkfs.xfs 格式化分区
5.1 XFS 文件系统简介
XFS 是一款高性能的 64 位日志文件系统,由 SGI 开发,设计目标是支持大文件和大容量存储,是 RHEL/CentOS 7 及之后版本的默认文件系统。
XFS 的主要特点包括:
- 支持超大文件系统,最大文件系统大小受限于操作系统和块设备。
- 支持在线扩容,无需卸载分区就可以扩展文件系统。
- 采用延迟分配机制,写入性能优异,适合大文件和大容量存储场景。
- 崩溃恢复能力较强,日志机制保证文件系统一致性。
如果业务场景是普通 Web 应用、数据库日志、大量小文件,XFS 和 ext4 都是可靠的选择;如果是大规模存储、虚拟化平台等场景,XFS 优势更明显。
5.2 mkfs.xfs 命令语法
mkfs.xfs 的完整语法如下:
mkfs.xfs [选项] 设备名常用选项说明:
| 选项 | 作用 |
|---|---|
| -f | 强制格式化,如果设备上已有文件系统,必须加这个参数 |
| -L label | 设置文件系统卷标 |
| -b size | 指定块大小,单位是字节,默认通常为 4096 |
| -d | 指定数据区域相关参数,一般默认即可 |
| -n | 指定日志区域相关参数,一般默认即可 |
具体使用方式可以查看帮助:
mkfs.xfs --help5.3 格式化sdb1为 XFS 文件系统
在/dev/sdb1分区上创建 XFS 文件系统:
[root@localhost ~]# mkfs.xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0执行完成后,分区就有了 XFS 文件系统。此时用 lsblk -f 验证:
[root@localhost ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 xfs a1b2c3d4-... /boot └─sda2 xfs e5f6a7b8-... / sdb └─sdb1 xfs c9d0e1f2-...FSTYPE 已经变成了 xfs,说明格式化成功。
5.4 配合 blkid 查看分区 UUID
UUID(Universally Unique Identifier)是文件系统的唯一标识。挂载分区时,推荐使用 UUID 而不是设备名,因为设备名可能在系统重启后发生变化,而 UUID 相对稳定。
查看 UUID:
[root@localhost ~]# blkid /dev/sdb1 /dev/sdb1: UUID="c9d0e1f2-..." TYPE="xfs"5.5 mkfs.xfs 格式化后的挂载与开机自动挂载
格式化只是创建了文件系统,要让分区可用,还需要挂载到某个目录。
创建一个挂载目录并手动挂载:
mkdir -p /data mount /dev/sdb1 /data查看挂载结果:
[root@localhost ~]# df -hT /data Filesystem Type Size Used Avail Use% Mounted on /dev/sdb1 xfs 20G 174M 20G 1% /data手动挂载会在系统重启后失效。如果要开机自动挂载,需要把挂载信息写入/etc/fstab。
5.6 写入 /etc/fstab 实现开机自动挂载
编辑/etc/fstab,添加以下行:
# 设备UUID 挂载点 文件系统类型 挂载选项 是否备份 是否自检 UUID="c9d0e1f2-..." /data xfs defaults 0 0编辑完成后,可以用下面的命令验证 fstab 配置是否正确:
mount -a如果输出为空,说明配置正确。如果报错,需要立即检查配置,否则重启后可能进入紧急模式。
这里使用 UUID 而不是/dev/sdb1的好处是:如果系统重启后磁盘顺序发生变化,例如/dev/sdb变成了/dev/sdc,使用设备名挂载会导致失败,而使用 UUID 则不会。
6. 完整实战案例:从查看磁盘到格式化挂载
本章把上面的知识点串起来,模拟一个最常见的场景:服务器新增加了一块 20G 数据盘,需要把它划分为一个分区、格式化为 XFS 文件系统并挂载到/data目录。
6.1 第一步:查看磁盘信息
lsblk确认新磁盘设备名。如下就是本文的目标磁盘/dev/sdb,容量 20G,尚未分区挂载:
sdb 8:16 0 20G 0 disk6.2 第二步:使用 fdisk 分区
fdisk /dev/sdb交互操作完整流程:
Command (m for help): n Select (default p): Partition number (1-4, default 1): First sector (2048-41943039, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): Command (m for help): w退出后用 partprobe 刷新分区表:
partprobe /dev/sdb6.3 第三步:格式化分区
mkfs.xfs /dev/sdb1格式化结束后,可以用 lsblk -f 验证文件系统类型。
6.4 第四步:挂载并验证
mkdir -p /data mount /dev/sdb1 /data df -hT /data输出中能看到/dev/sdb1已挂载到/data,文件系统类型为 xfs。
6.5 第五步:写入 /etc/fstab 实现开机自动挂载
blkid /dev/sdb1把得到的 UUID 写入/etc/fstab:
UUID="c9d0e1f2-..." /data xfs defaults 0 0执行:
mount -a如果没有报错,说明配置正确。
完整命令序列如下,方便直接复制使用:
# 1. 查看磁盘 lsblk # 2. 分区(进入 fdisk 交互界面后依次输入 n、回车、回车、回车、w) fdisk /dev/sdb # 3. 刷新分区表 partprobe /dev/sdb # 4. 格式化 mkfs.xfs /dev/sdb1 # 5. 查看 UUID blkid /dev/sdb1 # 6. 创建挂载目录并临时挂载 mkdir -p /data mount /dev/sdb1 /data # 7. 验证挂载 df -hT /data # 8. 编辑 /etc/fstab,加入 UUID 挂载配置 vim /etc/fstab # 9. 验证 fstab 配置 mount -a7. 常见问题与排查思路
7.1 常见问题速查表
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| lsblk 看不到新磁盘 | 虚拟机未添加磁盘、物理机未识别 | 检查虚拟机磁盘配置,必要时重启或重新扫描总线 |
| fdisk 提示找不到设备 | 设备名输入错误 | 用 lsblk 确认准确设备名,使用/dev/sdX作为参数 |
| 分区创建后 lsblk 不显示新分区 | 分区表未刷新 | 执行partprobe /dev/sdb重新扫描 |
| mkfs.xfs 提示设备忙 | 分区已挂载 | 先 unmount 卸载再格式化,确认没有进程占用 |
| 格式化时提示已有文件系统 | 该分区之前格式过 | 确认数据已备份后,使用mkfs.xfs -f强制格式化 |
| 重启后挂载目录为空 | 未写入 /etc/fstab,或配置错误 | 检查 fstab,使用 mount -a 验证 |
| fdisk 无法处理 2TB 以上磁盘 | MBR 分区表限制 | 使用 parted 或 gdisk 创建 GPT 分区表 |
7.2 重点问题排查详解
7.2.1 分区已经创建,但系统无法识别
现象是 fdisk 中能看到/dev/sdb1,lsblk 中却不存在。
解决办法是执行 partprobe,让内核重新读取分区表:
partprobe /dev/sdb如果 partprobe 无效,可以尝试:
udevadm settle或者重启操作系统。生产环境中,建议在维护窗口执行。
7.2.2 格式化时提示“设备忙”
出现这种提示,通常是因为分区已经被挂载,或者有进程正在使用该分区。可以先卸载再格式化:
umount /data mkfs.xfs /dev/sdb1如果卸载时提示“target is busy”,说明有进程占用该挂载点,可以用 lsof 或 fuser 排查:
lsof /data fuser -vm /data确认占用进程后,再决定是否终止进程,切忌盲目强制卸载。
7.2.3 误格式化系统盘
这是磁盘操作中最严重的事故。必须提前预防:
- 操作前用 lsblk 反复确认磁盘设备名。
- 格式化前执行
blkid查看文件系统类型,系统盘通常已有文件系统。 - 生产中禁止直接对
/dev/sda整盘执行 mkfs.xfs。 - 对不熟悉的环境,先截图或记录原始分区状态,便于回滚确认。
如果不幸误格式化了系统盘,情况会非常复杂,建议联系专业运维团队,从备份中恢复数据。所以平时一定要做好数据备份和操作记录。
8. 最佳实践与工程建议
8.1 操作前先备份数据
磁盘分区和格式化是不可逆操作。任何涉及生产环境的磁盘变更,都必须遵循以下安全底线:
- 提前确认数据已经备份到独立存储。
- 分区表操作前记录当前分区状态。
- 在测试环境完整演练一遍。
- 选择业务低峰期操作。
- 操作过程需要留存日志和变更记录。
8.2 优先使用 UUID 进行挂载
上一章已经提到,设备名可能会因为系统启动顺序变化而变化。工程实践中,强烈推荐在/etc/fstab中使用 UUID,而不是/dev/sdb1这种设备路径。
查看分区 UUID:
blkid /dev/sdb18.3 根据磁盘大小选择分区工具
| 磁盘大小 | 推荐分区表 | 推荐工具 |
|---|---|---|
| 小于 2TB | MBR | fdisk |
| 大于 2TB | GPT | parted / gdisk |
MBR 分区表最大只能支持 2TB 磁盘,超过 2TB 时必须使用 GPT。fdisk 虽然也支持 GPT,但使用 parted 处理大容量磁盘更加直观。
8.4 文件系统的选择要有依据
CentOS/RHEL 系列默认文件系统是 XFS,对于大多数业务来说已经足够。选择文件系统时可以按场景判断:
- 大文件、大容量存储、虚拟化平台:XFS。
- 通用服务器、大量小文件:ext4 也是可靠选择。
- 需要在线扩容文件系统:XFS 的在线扩容能力更强。
需要注意的是,XFS 文件系统不支持缩小容量,这一点在规划分区大小时要提前考虑清楚。
8.5 定期查看磁盘使用情况
磁盘管理不只是“操作一次”的任务,日常运维可以定期执行:
lsblk -f df -hTlsblk -f 用于查看设备结构、文件系统类型;df -hT 用于查看容量使用率。建议结合监控工具设置磁盘空间阈值告警,避免磁盘写满影响业务。
8.6 使用 fdisk 时的注意事项
fdisk 交互式的操作给运维带来便利,也带来了误操作风险。以下几个习惯可以有效降低出错概率:
- 输入
p查看当前分区表,确认操作对象。 - 删除分区时,先记录分区编号和容量。
- 只输入
w才真正写入分区表,不确定时用q退出。 - 对一块新磁盘操作时,使用 fdisk 的整盘模式要格外小心,避免把设备名写错。
9. 总结与下一步学习建议
这篇文章从 Linux 磁盘管理的概念出发,详细讲解了 lsblk、fdisk、mkfs.xfs 三个命令的用法。
- lsblk 用于查看磁盘设备、分区结构、文件系统类型和挂载点。
- fdisk 用于管理分区,包括创建分区、删除分区和查看分区表。
- mkfs.xfs 用于在分区上创建 XFS 文件系统,配合 mount 和 /etc/fstab 实现持久化挂载。
掌握了这些命令,已经可以完成 Linux 磁盘管理中最核心的日常操作。实际项目中,建议先在虚拟机里把整个流程完整走一遍,再处理生产环境,并且时刻记住“操作前备份”这条铁律。
如果你现在正准备给服务器添加数据盘,建议按下面的顺序练习:
- 先用 lsblk 查看当前磁盘结构。
- 在虚拟机中添加一块新磁盘。
- 用 fdisk 创建分区。
- 用 mkfs.xfs 格式化分区。
- 尝试挂载并写入 /etc/fstab。
- 重启虚拟机验证开机自动挂载是否生效。
磁盘管理是 Linux 运维的基本功,多练习几次就能形成肌肉记忆。如果这篇文章对你有帮助,可以收藏备用。后续也可以继续了解 parted 和 gdisk 处理大容量磁盘的方法,以及 XFS 文件系统在线扩容的技巧。