在Linux系统中,磁盘是存储数据的核心硬件,无论是服务器部署、日常使用还是开发环境配置,都离不开磁盘管理。常见场景包括:
- 新服务器添加硬盘后,需要分区格式化才能存储数据;
- 系统磁盘空间不足时,需扩展分区或挂载新磁盘;
- 为不同数据类型(如系统文件、数据库、日志)划分独立分区,提升安全性和性能。
磁盘管理的核心流程可概括为:识别磁盘 → 分区 → 格式化 → 挂载,这四个步骤环环相扣。本文将全程以实操为主,带你从零掌握每个环节的具体操作。
2. 磁盘管理基础概念(先搞懂这些再动手)
在动手操作前,先明确几个关键概念,避免踩坑:
2.1 磁盘与分区表
- 磁盘标识:Linux中磁盘以
/dev/sdX(SATA/SCSI接口)或/dev/nvmeXnY(NVMe接口)命名,如/dev/sda(第一块SATA硬盘)、/dev/nvme0n1(第一块NVMe硬盘)。 - 分区表类型:磁盘必须先创建分区表,才能划分分区,主流类型有两种:
| 分区表类型 | 支持最大磁盘容量 | 最大分区数 | 适用场景 |
|---|---|---|---|
| MBR(Master Boot Record) | 2TB | 4个主分区(或3主+1扩展分区) | 旧设备、小容量磁盘 |
| GPT(GUID Partition Table) | 18EB | 理论无限制(默认128个) | 新设备、大容量磁盘(推荐) |
2.2 分区与文件系统
- 分区:将一块物理磁盘划分为多个逻辑区域(如
/dev/sda1是第一块SATA硬盘的第一个分区),每个分区独立使用。 - 文件系统:分区后需格式化(创建文件系统),才能存储文件。Linux主流文件系统:
| 文件系统 | 特点 | 适用场景 |
|---|---|---|
| ext4 | 稳定、兼容好、支持日志 | 系统分区、数据分区(通用首选) |
| XFS | 高性能、支持大容量、适合并行I/O | 服务器数据分区、数据库存储 |
| Btrfs | 支持快照、 RAID、动态扩容 | 需要高级功能的场景(如Docker存储) |
| vfat | 跨平台兼容(Windows/Linux) | U盘、移动硬盘(小文件存储) |
2.3 挂载的核心逻辑
Linux中,分区不会自动被系统识别,需通过“挂载”将分区关联到某个目录(如/data),此后访问该目录即操作对应分区。关键概念:
- 挂载点:用于关联分区的目录(如
/mnt/disk1),必须是空目录; - 临时挂载:重启系统后失效(
mount命令); - 永久挂载:通过
/etc/fstab配置,重启后自动生效(推荐)。
3. 第一步:识别磁盘(查看系统中的磁盘与分区)
在进行任何操作前,先确认系统已识别新磁盘,常用命令如下:
3.1lsblk:直观查看磁盘与分区结构
lsblk(list block devices)是最常用的磁盘查看工具,输出清晰易懂:
1 |
|
输出示例(解读关键信息):
1 2 3 4 5 6 7 |
|
TYPE列:disk表示物理磁盘,part表示分区;MOUNTPOINT列:显示已挂载的目录(空表示未挂载)。
3.2fdisk -l:查看磁盘详细信息(含分区表)
fdisk是传统磁盘工具,可查看磁盘容量、分区表类型等细节:
1 |
|
输出示例(重点关注新磁盘/dev/sdb):
1 2 3 4 5 6 7 |
|
- 若
Disklabel type显示dos,则为MBR分区表; - 新磁盘未分区时,会提示“no partitions”。
4. 第二步:磁盘分区(MBR/GPT分区实操)
分区工具选择:
fdisk:支持MBR和GPT分区表,操作简单(推荐入门);parted:支持大磁盘和GPT,功能更强大(适合高级场景)。
本文以GPT分区表(推荐新磁盘使用)为例,演示分区流程,同时兼顾MBR分区方法。
4.1 用fdisk给新磁盘(/dev/sdb)创建GPT分区
4.1.1 进入fdisk工具(指定目标磁盘)
1 |
|
进入后终端提示Command (m for help):,输入对应命令操作。
4.1.2 关键操作步骤(分步详解)
- 查看帮助:输入
m,查看所有支持的命令(无需记忆,按需查阅); - 转换分区表类型(若为MBR需转换):
若磁盘原是MBR分区表,输入g转换为GPT(新磁盘默认可能无分区表,输入g会创建GPT):
1 2 |
|
(若需创建MBR分区表,输入o即可);
创建分区:输入n新建分区,按提示配置:
1 2 3 4 5 6 |
|
- 分区类型默认是
Linux filesystem(适用于ext4/XFS等); - 若需创建多个分区,重复
n命令即可(如再创建一个50GB分区);
查看分区结果:输入p查看已创建的分区:
1 2 3 4 5 6 |
|
保存分区并退出:输入w保存配置(若想放弃,输入q退出):
1 2 3 4 |
|
验证分区:退出后执行lsblk,确认分区已创建:
1 |
|
输出应显示/dev/sdb1和/dev/sdb2分区。
4.2 用parted工具创建分区(进阶)
parted支持交互式和命令行模式,适合大容量磁盘分区,以创建100GB XFS分区为例:
1 2 3 4 5 |
|