Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >​云主机根分区自动扩容

​云主机根分区自动扩容

原创
作者头像
jiang
发布于 2020-06-27 06:39:01
发布于 2020-06-27 06:39:01
3.9K0
举报
文章被收录于专栏:yuncoderyuncoder

通常在制作云上使用的虚拟机时,如果不进行任何干预,安装出来的虚拟机默认是带有swap分区的,同时采用lvm来管理磁盘,通过这种方式制作出来的虚拟机镜像,直接在云上使用会有很多问题,其中一个就是根分区无法实现自动扩容,只能通过手工操作完成。而且在openstack中,swap分区通常是由一个单独的swap磁盘来提供,而不应该是做镜像的时候提供。

本文的目的是实现在Linux虚拟机(本文采用centos7.6)中自动完成根分区的扩容,而无需人工介入。

1. 启动方式与分区关系:

  • ARM架构的服务器上,虚拟机只能采用UEFI启动,因此对应的磁盘分区必须是GPT分区;
  • X86架构的服务器上,虚拟机通常还是BIOS启动的,因此对应的磁盘分区是MBR分区,当然X86架构上也是支持UEFI的启动方式的;

2. MBR分区与GPT分区:

  • MBR分区仅支持最大2T的磁盘,每个磁盘最多4个主分区或3个主分区加1个扩展分区;
  • GPT分区支持大于2T的磁盘,最大可支持18EB磁盘,每个磁盘最多128个分区;

3. EXT4文件系统与XFS文件系统:

  • EXT4最大文件系统大小为1EB,最大单个文件大小为16TB,最大包含64,000个子目录;
  • XFS最大文件系统大小为8EB,最大单个文件大小为16EB,centos7.0开始作为默认文件系统;

综合前面的分析,本文主要介绍GPT分区+XFS文件系统的根分区扩容,不采用LVM的方式进行磁盘管理。

制作虚拟机模板

安装CentOS操作系统时,选择手动分区,分区信息如下图所示,/boot/efi分区为UEFI启动必须的分区,大小200MB;另外一个分区为根分区,Device Type选择为Standard Partition,File System选择为xfs,系统盘分为几个分区不重要,重要的是必须确保根分区为磁盘的最后一个分区,另外不建议创建swap分区

centos-parted.png
centos-parted.png

系统安装完成后,启动虚拟机,执行命令可以看到如下的分区信息

代码语言:txt
AI代码解释
复制
[root@localhost ~]# parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name                  Flags
1      1049kB  211MB   210MB   fat16        EFI System Partition  boot
2      211MB   21.5GB  21.3GB  xfs

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 1024M  0 rom  
vda    253:0    0   20G  0 disk 
├─vda2 253:2    0 19.8G  0 part /
└─vda1 253:1    0  200M  0 part /boot/efi

按照openstack社区文档 https://docs.openstack.org/image-guide/centos-image.html 对虚拟机进行配置,配置完成不要执行关机操作;

安装GPT分区工具,否则执行growpart命令时会提示“no tools available to resize disk with 'gpt'”:

代码语言:txt
AI代码解释
复制
[root@localhost ~]# yum install gdisk

修改默认语言为英语,否则执行growpart命令会报错

代码语言:txt
AI代码解释
复制
[root@localhost ~]# echo "export LANG=en_US.UTF-8" >> /etc/profile

安装其他需要的工具...

验证磁盘自动扩容

在前面创建的centos7.6虚拟机镜像中,虚拟机系统盘只有20GB。接下来在openstack环境中,利用该镜像创建一个拥有400GB系统盘的虚拟机。虚拟机创建并启动完成后,通过下面的命令可以看出,cloudinit自动完成了根分区的扩容:

代码语言:txt
AI代码解释
复制
[root@centos ~]# parted /dev/vda print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 429GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name                  Flags
 1      1049kB  211MB  210MB  fat16        EFI System Partition  boot
 2      211MB   429GB  429GB  xfs

[root@centos ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda    253:0    0   400G  0 disk 
├─vda2 253:2    0 399.8G  0 part /
└─vda1 253:1    0   200M  0 part /boot/efi

cloudinit会根据根分区的挂载点来查找到实际的根分区磁盘,即上面的/dev/vda2,并对/dev/vda磁盘的第2个分区即/dev/vda2进行扩容。如果采用lvm来管理磁盘的话,查找到的根分区挂载点就是/dev/mapper/centos-root,这个分区是一个逻辑上的分区,因此cloudinit无法对其进行扩容。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
云服务器存储扩容详解
Linux操作系统:CentOS Linux release 7.6.1810 (Core)
HappyLau谈云计算
2020/01/14
31.5K2
云服务器存储扩容详解
Ubuntu 为主分区扩容 – 命令行
事情是这样的,服务器系统盘是块 120GB 的 SSD,当时装系统的时候只给了 50GB,还剩下 70GB 的剩余容量,那么现在由于东西越来越多,需要把剩下的 70GB 容量也用上,先是去百度了一下,奇葩的事情发生了,全是 Ubuntu 图形界面的教程,史上第一次,震撼。
Balliol Chen
2022/04/23
8K0
Linux系统磁盘与分区管理
Linux最传统的磁盘文件系统(filesystem)使用的是EXT4格式,所以要了解文件系统就得要由认识EXT4开始,而文件系统是创建在硬盘上面的,因此我们得了解硬盘的物理组成才行,下面我们回来详细谈一谈磁盘,inode,block还有superblock等文件系统,的理论知识.
王 瑞
2022/12/28
6K0
Linux类型虚拟机磁盘扩容
在虚拟机操作系统内的命令行终端上再次执行“fdisk -l”,发现虚拟磁盘总共有416101个柱面,但只使用了其中的208051个柱面,未被使用的柱面就是扩容之后的磁盘,下面需要为未被使用的柱面创建分区。
匿名用户的日记
2021/12/14
1.9K0
Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解「建议收藏」
  假如你有个大木桶要装东西,如果木桶没有划分层,所有东西全部放入里面,虽然可以装,但是对大木桶的使用就合不合理,造成杂乱无章,寻找东西时候也耗时,甚至还有不同物品之间不能存放在一起而导致危险,那更好的做法自然是给大木桶画一下不同的区域,分成不同的层,每个层放不同的东西,即安全,寻找起来也方便;
全栈程序员站长
2022/09/01
8.4K0
Linux基础篇——Linux磁盘操作(磁盘基础知识、分类、分区、挂载、卸载、扩容)详解「建议收藏」
linux df lsblk parted blkid 查看文件系统信息
ECS信息 规格:2vCPUs | 4GiB | kc1.large.2 镜像:openEuler 20.03 64bit with ARM | 公共镜像 linux 查看文件系统类型 df # df --all --print-type --human-readable Filesystem Type Size Used Avail Use% Mounted on sysfs sysfs 0 0 0 - /sys pro
玖柒的小窝
2021/10/06
2.3K0
kvm-无损扩容磁盘&分区
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
1780
kvm-无损扩容磁盘&分区
Ubuntu根分区使用Lvm扩容
ubuntu 根分区剩余空间不足,影响工作,因此通过lvm工具对根文件系统进行扩容
全栈程序员站长
2022/08/31
4K0
Ubuntu根分区使用Lvm扩容
Parallels Desktop 给Linux增加磁盘大小
现在,你可以使用lvextend命令来扩展根逻辑卷almalinux_almalinux-root,以使用新添加的空间。
IT小马哥
2024/11/01
4570
Parallels Desktop 给Linux增加磁盘大小
RHEL7.X系列及周边Linux发行版中,关于MBR与GPT的选择一些思考与建议
存储的选型、规划与管理等工作一直以来都是日常系统运维工作中的重点。MBR与GPT两种类型的分区表的选择与使用则是在磁盘管理中需要根据应用场景来注或考虑的要点。结合笔者多年的运维工作经验,引发了对这些问题的一些思考,借此文进行一些分享。
耕耘实录
2018/12/20
1K0
linux文件管理与磁盘操作
统问题喔!(例如最容易被灌爆的 /var/spool/mail 这个放置邮件的磁盘)
小柒吃地瓜
2020/04/23
3.2K0
CentOS Linux下的3款分区工具
  伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区,今天来给大家推荐几款CentOS Linux下的分区工具及如何查看分区环境,也会给大家来带一些硬盘的基本知识
py3study
2020/01/07
4K0
Linux下GPT分区扩容
GPT分区不能使用gropwpart进行扩容分区,需要删除源有GPT分区,再次新建分区 1、查看当前分区状态 #查看分区是否是GPT [root@master ~]# fdisk -lu Disk /dev/vda: 64.4 GB, 64424509440 bytes, 125829120 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O siz
用户6792968
2022/08/30
5K0
linux基础命令介绍十二:磁盘与文件系统
本篇讲述磁盘管理相关的命令。计算机中需要持久化存储的数据一般是保存在硬盘等辅助存储器中。硬盘一般容量较大,为了便于管理和使用,可以将硬盘分成一到多个逻辑磁盘,称为分区;为使分区中的文件组织成操作系统能够处理的形式,需要对分区进行格式化(创建文件系统);在linux中,对于格式化后的分区,还必须经过挂载(可简单理解为将分区关联至linux目录树中某个已知目录)之后才能使用。
用户5030870
2019/04/11
5K0
linux基础命令介绍十二:磁盘与文件系统
搞它!!!Linux系统LVM原理及磁盘配额(PV、VG、LV、PE的关系,手把手教你,嘴对嘴的传达)
当你在使用linux系统时,为了满足当时的工作需要你装了一个100G的磁盘,但是你发现随着公司的发展,和需要储存数据的空间的增大,你会不会重新买些磁盘给装到机器上去呢?每装一次重新分配一次磁盘,就复制一次数据,那这样对于工作的你,是不是非常的麻烦?如果我们用LVM就能解决这类的磁盘管理问题。
不吃小白菜
2020/09/03
6.7K0
搞它!!!Linux系统LVM原理及磁盘配额(PV、VG、LV、PE的关系,手把手教你,嘴对嘴的传达)
搞它!!!Linux系统MBR分区和GPT分区的区别
1、最多支持四个主分区, 2、在Linux上使用扩展分区和逻辑分区最多可以创建15个分区, 3、由于分区中的数据以32位存储,使用MBR分区是最大支持2T空间。 4、用fdisk管理工具来创建MBR分区
不吃小白菜
2020/09/03
9.9K0
搞它!!!Linux系统MBR分区和GPT分区的区别
Centos大于2T磁盘如何分区
一、分区工具 分区工具:fdisk 和 parted ,其中大于2T请采取parted进行分区 yum install -y parted 二、MBR和GPT原理: 1、MBR原理: 主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。 通常,我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有
Linux运维技术之路
2022/06/07
2.7K0
Centos大于2T磁盘如何分区
KVM虚拟机下qcow2镜像文件所在虚拟机磁盘扩容方法
之前安装好KVM虚拟机,并做了备份镜像文件,由于当时部署ODOO系统,规划的磁盘空间为100GB,今天由于需要部署ORACLE11g作为数据库服务器,明显磁盘空间不足,于是复制上次镜像的副本,然后在100GB基础上,再增加500GB的磁盘空间。
用户8796132
2021/10/06
2K0
KVM--虚拟机在线扩展磁盘(八)
KVM虚拟机磁盘在线扩容的两种方法: 通过 virsh blockresize 命令扩容当前磁盘 通过 virsh attach-disk 命令在线添加硬盘设备到虚拟机 virsh blockresize 扩容 1,查看虚拟机磁盘信息 [root@kvm-node1 ~]# virsh domblklist win10 Target Source ------------------------------------------------ vda /kvm/img/win10.im
Kevin song
2022/06/07
3.3K0
KVM--虚拟机在线扩展磁盘(八)
Linux磁盘管理完全指南:从分区到逻辑卷的实战攻略
今天咱们来聊聊Linux磁盘管理这个话题。说起磁盘管理,这可是每个运维工程师都绕不开的基本功。不管是新服务器上线、存储扩容,还是系统迁移,都离不开对磁盘的操作。
用户3597170
2025/06/13
2050
推荐阅读
相关推荐
云服务器存储扩容详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档