挂了 4T 硬盘,只识别 2T?90% 的 Linux 新手都踩过这个坑!
你是否遇到过这种迷惑行为:
明明给服务器分配的是4TB磁盘空间,结果lsblk一看:可用空间只有2TB!,挂载后查看仍然是2TB,见鬼了,剩下的空间去哪了。
一、问题真相
MBR分区格式的“原罪”。在Linux中,大部分用户习惯用fdisk或自动挂载脚本快速格式化硬盘。如果没特别指定分区表格式,系统很可能用的是MBR。
而MBR最大只支持2TiB的磁盘容量。超过部分直接被浪费掉!
我们看一下MBR和GPT的对比就一目了然了。
对比项
MBR
GPT
最大支持容量
2TB
ZB级别(远超4T)
最大主分区数
4个主分区
(或3主+扩展+逻辑)
最多128个分区
引导方式
BIOS
UEFI
分区表容错
无备份,损坏即挂
有主副分区表,自动修复
工具支持
fdisk
、老系统支持更好
parted
、现代系统推荐
是否支持4T硬盘
最多只认2TB
完全支持
二、、正确操作
对于超过2TB的磁盘有两种方式:
直接格式化文件系统,不用分区使用GPT分区下面我就将这两种方式的具体操作分享给大家。
【温馨提示】下面的只适用刚格式化的空盘,里面还没有数据,可以直接卸载后删除分区,重新格式化。
上面已经将MBR分区删除了,下面就直接格式化文件系统。
复制
[root@localhost ~]# lsblk /dev/vdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdc 252:32 0 4T 0 disk
# 强制格式化/dev/vdc磁盘
[root@localhost ~]# mkfs.xfs /dev/vdc -f
# 将格式化后的磁盘挂载到/dataroot目录下
[root@localhost ~]# mount /dev/vdc /dataroot
# 如果想永久挂载就将信息写入fstab文件中1.2.3.4.5.6.7.8.
可以看到有一个4TB的磁盘挂载到 /dataroot目录。直接格式化方式是非常快速的。
2. 使用 parted 创建 GPT 分区表parted 命令创建pgt分区:
复制
[root@dt-oracle-backup ~]# parted /dev/vdc
GNU Parted 3.1
Using /dev/vdc
Welcome to GNU Parted! Type help to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/vdc will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted)
(parted) mkpart primary xfs 0% 100% # 一次性分配全部空间
(parted)
(parted) print1.2.3.4.5.6.7.8.9.10.11.
注意事项:
操作前务必备份数据,分区会清除磁盘所有内容!替换/dev/vdc为你的实际磁盘设备名(通过lsblk确认)格式化文件系统:
复制
[root@localhost ~]# lsblk /dev/vdc
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vdc 252:32 0 4T 0 disk
└─vdc1 252:33 0 4T 0 part
[root@localhost ~]# mkfs.xfs /dev/vdc1 -f1.2.3.4.5.6.
创建挂载点:
复制
mkdir /dataroot1.
挂载磁盘:
复制
mount /dev/vdc1 /dataroot1.
查看挂载效果:
设置开机自动挂载:编辑/etc/fstab添加一行
复制
UUID=你的磁盘UUID /dataroot xfs defaults 0 21.
三、常见误区合集
fdisk默认新建的是MBR分区(除非你指定GPT)把大于2T的硬盘挂到老BIOS机器上(不支持GPT启动)忘记用 mklabel gpt,分完区还是只有2T!阅读剩余
THE END