假设你的磁盘 /dev/sdb
总容量为 13TB,但分区时发现只能使用 2TB,通常是因为使用了 MBR(Master Boot Record)分区表,而 MBR 的天然限制是单个分区最大仅支持 2TB。要支持超过 2TB 的分区,需改用 GPT(GUID Partition Table) 分区表。
以下是完整的解决方案:
1. 确认磁盘分区表类型
sudo parted /dev/sdb print
• 若输出 Partition Table: msdos
,表示当前是 MBR 分区表。
• 若输出 Partition Table: gpt
,则无需调整,但需要检查其他问题(例如未正确对齐)。
2. 转换为 GPT 分区表
注意:此操作会删除磁盘所有数据!确保磁盘无重要数据或已备份。
步骤:
# 进入 parted 交互模式
sudo parted /dev/sdb
# 输入以下命令(逐行执行):
(parted) mklabel gpt # 创建 GPT 分区表
(parted) mkpart primary 0% 100% # 创建占用全部空间的分区(默认名称为 sdb1)
(parted) align-check optimal 1 # 检查对齐(返回 aligned 表示成功)
(parted) quit # 退出
3. 格式化分区
# 查看新分区名(通常为 /dev/sdb1)
sudo lsblk
# 格式化(推荐 XFS,适合大容量磁盘)
sudo mkfs.xfs /dev/sdb1
# 或使用 EXT4
sudo mkfs.ext4 /dev/sdb1
4. 挂载分区
# 创建挂载点
sudo mkdir -p /opt/mysql
# 临时挂载
sudo mount /dev/sdb1 /opt/mysql
# 永久挂载(编辑 /etc/fstab)
echo "/dev/sdb1 /opt/mysql xfs defaults 0 0" | sudo tee -a /etc/fstab
# 验证挂载
sudo mount -a
df -h /opt/mysql
5. 验证分区容量
# 检查分区是否识别全部 13TB
sudo parted /dev/sdb print
# 应显示类似:
# Number Start End Size File system Name Flags
# 1 1049kB 13.0TB 13.0TB xfs primary
6. 高级优化(可选)
分区对齐优化
确保分区起始位置对齐到 1MiB(避免性能损失):
sudo parted /dev/sdb
(parted) mkpart primary 1MiB 100% # 手动指定起始偏移
文件系统优化(XFS 示例)
# 启用更高效的 inode 和日志配置
sudo mkfs.xfs -f -i size=512 -l size=128m /dev/sdb1
7. 故障排查
问题:转换 GPT 后系统无法启动
• 原因:若 /dev/sdb
是系统盘,转换为 GPT 会导致 BIOS/MBR 引导失败。
• 解决方案:仅对非系统盘(数据盘)使用 GPT。
问题:挂载时报错 mount: unknown filesystem type 'xfs'
• 原因:系统未安装 XFS 工具。
• 修复:
sudo yum install xfsprogs -y
sudo modprobe xfs
关键总结
步骤 | 命令/操作 | 作用 |
---|---|---|
转换分区表 | parted mklabel gpt |
突破 2TB 限制 |
创建分区 | parted mkpart primary 0% 100% |
使用全部空间 |
格式化 | mkfs.xfs /dev/sdb1 |
适配大容量存储 |
挂载 | mount /dev/sdb1 /opt/mysql |
提供存储路径 |
通过以上步骤,你的 13TB 硬盘将能完整使用,无需受限于 2TB 分区。