fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程
fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程
在Linux服务器运维中,磁盘分区是基础但至关重要的技能。不同于常见的4个主分区方案,本文将带你深入MBR分区表的限制与潜力,通过fdisk工具在一块20GB磁盘上实现3个主分区、1个扩展分区和2个逻辑分区的复杂规划。这种配置既能满足多系统引导需求,又能突破4个主分区的限制,特别适合需要灵活存储管理的生产环境。
1. 环境准备与磁盘识别
首先确认你的Linux服务器已识别到目标磁盘。执行以下命令查看当前磁盘情况:
lsblk输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part /data假设我们的目标磁盘是sda,使用fdisk -l /dev/sda确认磁盘详情:
fdisk -l /dev/sda注意:所有操作将在/dev/sda上进行,请务必确认目标磁盘无误,错误操作可能导致数据丢失。
2. MBR分区表原理与规划
MBR(主引导记录)分区方案有以下核心特性:
- 4个主分区槽位:可直接使用或转换为扩展分区
- 扩展分区:作为一个特殊主分区,可包含多个逻辑分区
- 分区编号规则:
- 主分区:1-4
- 逻辑分区:从5开始编号
我们的20GB磁盘规划如下:
| 分区类型 | 数量 | 大小 | 用途 |
|---|---|---|---|
| 主分区 | 3 | 各5GB | 系统、应用、备份 |
| 扩展分区 | 1 | 5GB | 包含逻辑分区 |
| 逻辑分区 | 2 | 2GB+3GB | 数据存储 |
3. 分区实战操作流程
3.1 进入fdisk交互界面
fdisk /dev/sda出现命令提示符:Command (m for help):
3.2 创建主分区
第一个主分区(5GB):
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): 1 First sector (2048-41943039, default 2048): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G重复上述步骤创建第二、三个主分区(分区号分别选2和3)
3.3 创建扩展分区
Command (m for help): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e Selected partition 4 First sector (31459328-41943039, default 31459328): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (31459328-41943039, default 41943039): [Enter]3.4 创建逻辑分区
第一个逻辑分区(2GB):
Command (m for help): n All primary partitions are in use Adding logical partition 5 First sector (31461376-41943039, default 31461376): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (31461376-41943039, default 41943039): +2G第二个逻辑分区(使用剩余空间):
Command (m for help): n All primary partitions are in use Adding logical partition 6 First sector (35655680-41943039, default 35655680): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (35655680-41943039, default 41943039): [Enter]
3.5 验证分区表
输入p查看完整分区表:
Device Boot Start End Sectors Size Id Type /dev/sda1 2048 10487807 10485760 5G 83 Linux /dev/sda2 10487808 20973567 10485760 5G 83 Linux /dev/sda3 20973568 31459327 10485760 5G 83 Linux /dev/sda4 31459328 41943039 10483712 5G 5 Extended /dev/sda5 31461376 35655679 4194304 2G 83 Linux /dev/sda6 35655680 41943039 6287360 3G 83 Linux3.6 保存并退出
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.4. 分区格式化与挂载
4.1 刷新分区表
partprobe /dev/sda4.2 格式化各分区
mkfs.ext4 /dev/sda1 mkfs.xfs /dev/sda2 mkfs.ext4 /dev/sda3 mkfs.ext4 /dev/sda5 mkfs.xfs /dev/sda64.3 创建挂载点并挂载
mkdir -p /mnt/{system,apps,backup,data1,data2} mount /dev/sda1 /mnt/system mount /dev/sda2 /mnt/apps mount /dev/sda3 /mnt/backup mount /dev/sda5 /mnt/data1 mount /dev/sda6 /mnt/data24.4 配置开机自动挂载
编辑/etc/fstab文件,添加以下内容:
/dev/sda1 /mnt/system ext4 defaults 0 2 /dev/sda2 /mnt/apps xfs defaults 0 2 /dev/sda3 /mnt/backup ext4 defaults 0 2 /dev/sda5 /mnt/data1 ext4 defaults 0 2 /dev/sda6 /mnt/data2 xfs defaults 0 2验证配置是否正确:
mount -a5. 高级技巧与故障处理
5.1 分区对齐优化
现代磁盘性能受分区对齐影响,建议始终使用fdisk的默认起始扇区(2048),该值已针对4K对齐优化。
5.2 常见错误解决
- 设备忙错误:执行
partprobe后仍报错时,需重启系统 - 逻辑分区不可见:确保扩展分区已完全包含逻辑分区空间
- fstab挂载失败:使用
blkid获取UUID替代设备路径更可靠
5.3 分区方案调整策略
当需要修改现有分区时:
- 备份重要数据
- 使用
fdisk删除旧分区(d命令) - 创建新分区时保持相同起始扇区(避免数据丢失)
- 使用
fsck检查文件系统一致性
对于生产环境,建议在非高峰时段操作,并使用screen或tmux防止会话中断。
