Linux 系统硬盘MBR转换为GPT格式并扩容

问题描述
之前创建了一台ubuntu16的服务器虚机,挂载了一块2T的云数据盘,当时文件系统做的是MBR(dos)格式,最近因为存量数据增加,数据盘空间不足就在云平台将2T的数据盘扩容成了4T,结果进入虚机扩容的时候报错MBR格式的硬盘最大支持2T,剩余的空间将不会用到。
需要将硬盘转化为GPT分区格式,来支持2T以上空间的使用才行,但是转化硬盘格式又怕数据丢失,于是又找了一台虚机用来测试。

解决方案
fdisk工具支持MBR分区格式的硬盘操作,查看当前硬盘的信息:

Linux 系统硬盘MBR转换为GPT格式并扩容

可以看到硬盘大小是4T,但是分区里最大只能用2T。

操作对数据做好备份或快照,防止操作失败数据丢失。

将MBR转化为GPT分区格式

使用gdisk工具,将分区表改为gpt格式:

Linux 系统硬盘MBR转换为GPT格式并扩容

使用gdisk 硬盘盘符 命令进入程序后,直接 输入w保存并退出,然后输入y确认。gdisk就会将硬盘改为gpt格式分区。
注意:gdisk命令后面跟的是硬盘设备路径/dev/vdb,不是分区路径/dev/vdb1,如果指定错了会变更失败丢失数据

这个方法在大部分场景下都是可以转mbr为gpt的,只有磁盘开头前33个扇区,或最后34个扇区被分区占用的场景不支持。(如,原来的硬盘已经使用MBR分区占用了全部的空间,即后34个扇区被占用了,那么操作会失败)但是对于扩容的场景,后34个扇区尚未被占用,一般不会出问题。

现在查看硬盘分区信息,就会显示其格式为gpt格式:

Linux 系统硬盘MBR转换为GPT格式并扩容

扩容数据盘及文件系统

扩容数据盘:

Linux 系统硬盘MBR转换为GPT格式并扩容

扩容文件系统:

Linux 系统硬盘MBR转换为GPT格式并扩容

扩容后,数据盘大小变为4T。
对于xfs文件系统格式,需要使用xfs_growfs命令进行扩容文件系统操作。

现在通过gdisk命令来查看数据盘的信息:

Linux 系统硬盘MBR转换为GPT格式并扩容

从图中可以看到,数据盘的分区表信息是由两部分组成的,一部分是MBR: protective,另一部分是GPT: present,这种分区格式成为Hybrid MBR,可以将MBR分区表和GPT分区表混合使用。

将文件系统重新挂在后,查看目录下的文件,没有出现数据丢失的情况。
还可以umount卸载挂载的设备,然后使用e2fsck命令检查文件系统有没有错误。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10206

(0)
凯影的头像凯影
上一篇 2023年11月23日 下午3:09
下一篇 2023年11月24日 下午4:02

相关推荐

  • Ping命令详解

    命令简介 ping 命令是 Linux 系统中一个非常常用的网络命令。ping 命令主要用于测试网络的连通性,也可用于测试网络的性能和主机的响应能力。 日常工作中,我们经常会遇到网页无法打开、网址无法请求的情况。这个时候我们的一般操作是 ping 一下网址,比如 ping baidu.com 使用 …

    2023年1月4日
    93300
  • CentOS7系统下扩容根目录

    利用单一磁盘的剩余空间 在同一块磁盘下,有剩余空间未分配,将该空间合并到根目录中 本文以/dev/sda为例 查看磁盘分区情况 lsblk或者fdisk -l /dev/sda 可以看到 sda 总容量为30G,而 sda1和 sda2 加起来总共使用了10G,因此我们可以将剩余的容量添加到目录中 对剩余空间进行分区格式化操作 fdisk /dev/sda …

    2022年6月9日
    1.6K00
  • nginx快速部署一个网站服务 + 多域名 + 多端口

    一、nginx虚拟主机,部署网站 都是在同一台服务器上部署 二、部署单域名/IP网站服务 1、创建一个普通用户,用户管理nginx网站服务 2、修改nginx主配置文件 3、创建虚拟主机nignx子配置文件 只需要写server{}标签即可。 上面配置文件中配置了index.html的地址,这里可以看到是没有的,我们创建一下; 4、测试nginx配置文件语法…

    2023年12月25日
    1.2K00
  • 二进制安装MySQL

    Yum/rpm包安装,简单、快速、无法定制化、新手推荐使用 二进制安装,解压缩后直接简单配置即可使用,速度较快,专业DBA常用 源码编译安装,特点是可以定制化安装需求,缺点过程较为复杂 二进制安装 创建mysql用户 因为这个用户只是用来进行管理,为了系统安全,配置无登录权限 下载mysql二进制软件包(本案例为mysql5.7.33版本) 创建tools目…

    2022年6月24日
    1.3K00
  • /etc/security/limits.conf配置文件详解

    /etc/security/limits.conf 是一个用于配置用户或用户组资源限制的配置文件。这个文件通常用于设置系统资源的软限制和硬限制,以及一些特殊权限。 一. limits.conf常见配置项详解 下面是一些 /etc/security/limits.conf 文件中可能包含的常见配置项: 描述 第一列表示用户和组(@开头),这里的 * 代表所有用…

    2024年5月14日
    1.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信