美文网首页Linux学习与应用技巧
Ubuntu 不停止服务器的情况下扩容分区

Ubuntu 不停止服务器的情况下扩容分区

作者: HoPGoldy | 来源:发表于2019-10-29 16:28 被阅读0次

    本文介绍一下如何在不停止服务的情况下 通过添加新硬盘来提升根目录分区的容量。注意,本文得以实现的前提是你的根目录分区的类型为Linux LVM

    添加新硬盘

    假设我们新添加的硬盘名称叫做 /dev/vdb。首先使用 fdisk 来创建新分区,

    fdisk /dev/vdb
    

    之后会弹出如下信息,然后我们键入n来新建分区你可以输入m来查看详细命令介绍

    Welcome to fdisk (util-linux 2.27.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): < n
    

    随后键入p来新建主分区

    Partition type
       p   primary (1 primary, 1 extended, 2 free)
       l   logical (numbered from 5)
    Select (default p): p
    

    然后选择盘符,起始扇区和结束扇区,都默认即可

    Partition number (1,5, default 1): 
    First sector (2048-1048575999, default 2048): 
    Last sector, +sectors or +size{K,M,G,T,P} (2048-1048575999, default 1048575999): 
    

    然后就会弹出创建完成的提示,接下来我们键入t来修改分区类型为 LVM

    Created a new partition 1 of type 'Linux' and of size 40 GiB.
    
    Command (m for help): t
    // 选择分区
    Selected partition: 1
    // 选择 LVM 的十六进制码
    Hex code (type L to list codes): 8e
    

    修改完后就会弹出已修改为 Linux LVM 的信息,然后键入w保存并退出即可

    Changed system type of partition 1 to 8e (Linux LVM)
    
    Command (m for help): w
    
    The partition table has been altered!
    Calling ioctl() to re-read partition table.
    
    Syncing disks.
    

    然后我们就可以使用fdisk -l命令查看新建的分区了:

    Disk /dev/vda: 500 GiB, 536870912000 bytes, 1048576000 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xd4bae426
    
    Device     Boot   Start        End    Sectors   Size Id Type
    /dev/vda1  *       2048     999423     997376   487M 83 Linux
    /dev/vda2       1001470 1048573951 1047572482 499.5G  5 Extended
    /dev/vda5       1001472 1048573951 1047572480 499.5G 8e Linux LVM
    
    
    ...
    
    
    Disk /dev/vdb: 500 GiB, 536870912000 bytes, 1048576000 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x7779cca1
    
    Device     Boot Start        End    Sectors  Size Id Type
    /dev/vdb1        2048 1048575999 1048573952  500G 8e Linux LVM // 看这里看这里
    

    接下来我们使用如下命令把新建的分区创建为物理卷:

    pvcreate /dev/vdb1
    

    新建成功提示:

    Writing physical volume data to disk "/dev/vdb1"
    Physical volume "/dev/vdb1" successfully created
    

    至此,新硬盘的准备工作就完成了,接下来我们来把新硬盘加入卷组。

    将新硬盘加入卷组

    首先我们要确定一下根目录的卷组,输入vgdisplay来查看已有的卷组:

    root@server:~# vgdisplay
      --- Volume group ---
      VG Name               firstBlood-vg
      System ID             
      Format                lvm2
      Metadata Areas        2
      Metadata Sequence No  5
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                2
      Open LV               1
      Max PV                0
      Cur PV                2
      Act PV                2
      VG Size               500.52 GiB
      PE Size               4.00 MiB
      Total PE              255876
      Alloc PE / Size       255621 / 998.52 GiB
      Free  PE / Size       255 / 1020.00 MiB
      VG UUID               wZekM0-X7xi-edSz-eQ6X-72q6-pApj-MwnsmB
    

    可以看到只有一个名为firstBlood-vg的卷组,那根目录的挂载卷肯定属于该卷组,可以输入df验证一下:

    root@server:~# df
    Filesystem                      1K-blocks      Used Available Use% Mounted on
    udev                             32966516         0  32966516   0% /dev
    tmpfs                             6597336    280672   6316664   5% /run
    // 注意下面这行
    /dev/mapper/firstBlood--vg-root 964375696 360737788 559860832  40% /
    tmpfs                            32986676         0  32986676   0% /dev/shm
    tmpfs                                5120         0      5120   0% /run/lock
    tmpfs                            32986676         0  32986676   0% /sys/fs/cgroup
    

    可以看到跟目录是从firstBlood--vg-root挂载的。接下来我们使用如下命令将刚才创建的物理卷/dev/vdb1加入firstBlood-vg卷组即可:

    vgextend firstBlood-vg /dev/vdb1
    

    成功提示如下:

    Volume group "firstBlood-v" successfully extended
    

    扩展根目录所在的逻辑卷

    添加完成之后我们就可以使用如下命令来拓展根目录所在的逻辑卷的空间:

    lvextend -L +499G /dev/mapper/firstBlood--vg-root
    

    注意,如果你新硬盘的空间是 500G 的话,直接-L +500G是会报错的,因为实际空间比 500G 要小一个字节,你可以根据报错内容中给出的容量上限进行添加,也可以向我这样只添加 499G (会浪费 1G 的空间 )。

    添加成功提示如下:

    Extending logical volume lv_root to  999.52 GiB
    Logical volume lv_root successfully resized
    

    然后使用如下命令刷新配置即可,你新添加的空间越大,命令执行时间就越长 (10几秒 ):

    resize2fs /dev/mapper/firstBlood--vg-root
    

    输出如下:

    Size of logical volume firstBlood-vg/root changed from 434.49 GiB (42239229 extents) to 934.99 GiB (239357 extents).
    Logical volume root successfully resized.
    

    添加完成

    至此,跟目录的扩容就完成了,你可以使用df -h来查看扩容后的空间:

    root@server:~# df -h
    Filesystem                       Size  Used Avail Use% Mounted on
    udev                              32G     0   32G   0% /dev
    tmpfs                            6.3G  275M  6.1G   5% /run
    //                               扩容成功
    /dev/mapper/firstBlood--vg-root  920G  345G  534G  40% /
    tmpfs                             32G     0   32G   0% /dev/shm
    tmpfs                            5.0M     0  5.0M   0% /run/lock
    tmpfs                             32G     0   32G   0% /sys/fs/cgroup
    /dev/vda1                        472M   58M  391M  13% /boot
    

    参考

    相关文章

      网友评论

        本文标题:Ubuntu 不停止服务器的情况下扩容分区

        本文链接:https://www.haomeiwen.com/subject/mjqgvctx.html