V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
xiaozhu317
V2EX  ›  Linux

有没有 Linux 大佬,目前遇到了一个对我来说比较棘手的问题

  •  
  •   xiaozhu317 · 1 天前 · 2117 次点击

    Linux 如何将同一磁盘的剩余空间扩容到已有分区?

    系统环境如下:

    • 操作系统:麒麟( Kylin )
    • 版本:Kylin SP2
    • 文件系统:ext4
    • 用途/data 目录存放 瀚高数据库 数据
    • 分区方式:普通分区(非 LVM )

    当前磁盘与分区结构:

    vdb                               253:16   0  300G  0 disk
    └─vdb1                            253:17   0  200G  0 part /data
    

    实际情况说明:

    • 最初 vdb 只有 200G,并创建了 vdb1 分区并挂载到 /data
    • 现在在原有磁盘 vdb新增了 100G 存储容量,使磁盘总大小变为 300G
    • 新增的 100G 目前 尚未分配给任何分区

    我希望将这部分 剩余空间扩容到已有的 vdb1 分区,从而扩大 /data 的可用容量,请问各位 V 站大佬们,有什么好的方法吗???

    26 条回复    2025-12-18 18:44:01 +08:00
    n0bin0bita
        1
    n0bin0bita  
       1 天前
    之前扩容云服务器用过,不知道通用不通用,我本地 ubuntu 也用此方式扩容过。
    整理的命令原样复制的,你可以参考,不保证可行。
    yum install cloud-utils-growpart
    ### 云磁盘扩容
    以下面磁盘扩容为例
    /dev/sdc1 600G 557G 44G 93% /data1

    # 步骤 1 华为云腾讯云后台扩容
    后台扩容到 1T

    # 步骤 2 对 sdc1 分区盘扩容 (如果没有分区,忽略这一步)
    growpart 数据盘 分区编号
    growpart /dev/sdc 1

    # 步骤 3 对挂载磁盘扩容
    blkid # 看格式 xfs or ext4
    # xfs 格式扩容命令
    xfs_growfs /data1 # 后面是接的目录
    # ext4 格式扩容命令
    resize2fs /dev/sdc1 # 后面接的是挂载的磁盘
    tanxnative
        2
    tanxnative  
       1 天前
    看起来是云服务器,云盘;
    可以再分一个区即可
    wfhtqp
        3
    wfhtqp  
       1 天前
    umount parted 调整分区表 resize2fs 调整分区大小
    msg7086
        5
    msg7086  
       1 天前
    一楼说的 growpart 最简单,扩展完了以后 resize2fs 就行。
    不想安装 cloud-utils 的话,fdisk 把旧分区删了然后在原来的地址上新建一个更大的分区就行了,完了以后 resize2fs 。
    ilylx2008
        6
    ilylx2008  
       1 天前
    备份数据后随便折腾,有折腾的时间不如重装系统了
    0x42
        7
    0x42  
       1 天前 via Android
    parted -s /dev/vdb resizepart 1 100%
    partprobe /dev/vdb
    resize2fs /dev/vdb1
    huangsen365
        8
    huangsen365  
       1 天前
    建议做法:
    用 U 盘启动而不是在当前系统里直接分区。
    1. 用 dd 把 官方 Ubuntu ISO 写入 U 盘
    2. 从 U 盘启动,选择 “Try Ubuntu (不安装)”
    3. 进入临时系统后:
    4. sudo apt update
    5. sudo apt install gparted
    6. sudo gparted
    7. 用 GParted 的 GUI 图形界面 调整磁盘分区
    核心思路:
    👉 从 U 盘启动,目标磁盘不被挂载,不影响当前 Linux ,分区操作最安全。
    Ipsum
        9
    Ipsum  
       1 天前   ❤️ 1
    记得先备份。不然炸了就 gg
    rrfeng
        10
    rrfeng  
       1 天前
    麒麟真的能跑这些命令?
    yeqizhang
        11
    yeqizhang  
       1 天前 via Android
    最近给 vmware 给虚拟机配置的磁盘加了容量后,到系统里就是用 growpart 和 xfs_growfs (磁盘是 xfs ),没印象还用过其它命令
    Danswerme
        12
    Danswerme  
       1 天前 via iPhone
    @Ipsum +10086 先做好备份吧,接下来怎么折腾都行
    Cusmate
        13
    Cusmate  
       22 小时 35 分钟前
    LVM 可以试试,可以在线对卷调整大小
    guanzhangzhang
        14
    guanzhangzhang  
       15 小时 54 分钟前
    https://zhangguanzhang.github.io/2017/04/20/linux-partition-grow/
    看我博客文章,lvm 和纯分区都写得很清楚了
    guanzhangzhang
        15
    guanzhangzhang  
       15 小时 53 分钟前
    @guanzhangzhang 如果是有进程读写这个分区,需要停止进程或者进 rescue 模式里去操作,你这 ext4 的分区重新识别用 growpart 即可
    xiaozhu317
        16
    xiaozhu317  
    OP
       15 小时 25 分钟前
    @guanzhangzhang 好的,非常感谢老哥,感觉我的场景和你写的博客中的场景有很大重叠,我试试
    xiaozhu317
        17
    xiaozhu317  
    OP
       15 小时 25 分钟前
    @Cusmate 我这个应该是非 lvm 的
    xiaozhu317
        18
    xiaozhu317  
    OP
       15 小时 24 分钟前
    @n0bin0bita 感谢老哥,我们应该不能用 cloud-utils-growpart ,但也学到了你这种方式,感谢
    RobinHuuu
        19
    RobinHuuu  
       15 小时 23 分钟前 via Android
    直接搜索 ext4 在线扩容照着就行了,Linux 上在线扩容很常规的操作,很安全
    xiaozhu317
        20
    xiaozhu317  
    OP
       15 小时 20 分钟前
    @tanxnative 考虑过这样的方式,但是新分配的空间不够大,两个分区,一个 200G (已经使用了 140G ),如果新建一个 100G 的分区临时挂载到/data2/的话,这 140G 无法同步到这个 100G 的分区吧?

    mkdir /data2                  # 创建新挂载点
    mount /dev/vg_data/lv_data /data2  # 临时挂载

    rsync -av /data/ /data2/
    xclimbing
        21
    xclimbing  
       14 小时 47 分钟前
    关键是你这 100G 空间是从哪里来的?这 100G 空间物理上是否是同一块硬盘,是在 vdb1 的前面还是后面,如果是在后面就比较简单,按楼上的指导扩容即可。但如果是在前面,那么我建议还是先备份好数据(最好测试一下备份数据能否正常恢复,其实备份并测试永远是第 1 位的),然后删除并重建 vdb1 。如果有可能,最好做成 lvm 形式,这样以后就可以随意扩容逻辑卷了。
    xiaozhu317
        22
    xiaozhu317  
    OP
       14 小时 1 分钟前
    @xclimbing 是在同一块硬盘上的,佬。关于备份,说句搞笑的(不怕你笑话),服务器没那么多空间去备份已有的数据库数据了。我本地的电脑也没有那么多空间。我们公司实在是太业余了,连个运维都不招,让我这种开发的去搞这些。
    JoeSmith
        23
    JoeSmith  
       10 小时 40 分钟前
    @xiaozhu317 不用这么感慨,这些难道不都是应该会的么。7 楼都给了你详细步骤了,copy paste 一下不就行了。
    shervy
        24
    shervy  
       8 小时 49 分钟前
    我是做磁盘扩容/缩容的小能手,如果还没解决可以加我帮你一下。都是 V 友,举手之劳,不要报酬。 绿色 VHVuZzZi
    xclimbing
        25
    xclimbing  
       8 小时 39 分钟前
    @xiaozhu317 建议佬赶紧换个公司,听你的意思,你这数据库根本就没有任何备份策略,要么它不重要,要么就是这公司离倒闭也不远了。
    xiaozhu317
        26
    xiaozhu317  
    OP
       6 小时 37 分钟前
    @xclimbing 倒闭是不可能倒闭的哈哈,公司性质摆在那里。但我在这工作一年了,真觉得全体上下员工都是挺业余的。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1253 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 17:21 · PVG 01:21 · LAX 09:21 · JFK 12:21
    ♥ Do have faith in what you're doing.