美文网首页
Linux磁盘挂载和扩容(2)

Linux磁盘挂载和扩容(2)

作者: 与君把盏 | 来源:发表于2020-10-21 10:42 被阅读0次

    本章介绍Linux系统磁盘扩容问题

    前言

    想到Linux服务器磁盘扩容我们会想到几种办法

    • 挂载lvm方式,然后扩展逻辑卷
    • 直接用resiz2efs方式进行扩容

    但是一般在云主机上,现在已经很少使用lvm的方式去挂载磁盘,所以这里介绍的是使用resize的方式进行扩容
    扩容最关键的就是保证原有的数据不丢失,当然能做到热扩容最好了,扩容过程中保证要服务不停止。
    那么扩容也分4种情况:

    1. 小于2T的裸盘扩容
    2. 小于2T的分区扩容
    3. 从小于2T的裸盘扩容到大于2T的裸盘
    4. 从小于2T的分区扩容到大于2T的分区

    针对这4种情况,我们下面一一来介绍一下。

    一. 小于2T的裸盘扩容

    首先先将裸盘挂载上去,挂载方式参考第一章Linux磁盘挂载
    现在我们需要做的扩容,将100G的磁盘扩容到200G

    • 先查看一下原先sdc的磁盘大小


      image.png
    • 使用resize2fs /dev/sdc将磁盘在线扩容


      image.png
    • 检查一下磁盘是否扩容


      image.png

      看到这里,磁盘就已经扩容完成

    二. 小于2T的分区扩容

    1)查看分区信息

    使用lsblk命令查看sdc分区,可以看到sdc1分区是100G,现在我们需要扩容到200G


    image.png

    2)扩充分区

    使用growpart命令将分区扩充至200G,如果没有growpart命令,可以先安装

    centos机器:yum install cloud-utils-growpart --y
    ubuntu机器:apt install cloud-initramfs-growroot -y

    growpart /dev/sdc 1
    

    3) 分区扩容

    resize2fs /dev/sdc1
    
    image.png

    到这里分区就扩容完成

    三. 从小于2T的裸盘扩容到大于2T的裸盘

    我们现在从200G裸盘,扩容到3T


    image.png

    其实这种方式和小于2T的裸盘扩容方式一样,可以直接resize,所以不需要过多的介绍了,直接扩容就可以了。


    image.png
    image.png

    四. 从小于2T的分区扩容到大于2T的分区

    使用lsblk命令可以看到/dev/sdc有3T磁盘,但是并未挂载


    image.png

    需要使用gdisk将分区表从MBR转换为GPT,如果没有,请安装gdisk

    centos: yum install gdisk -y
    ubuntu: apt install gdisk -y

    1)卸载挂载点

    这个扩容是需要先将挂载点卸载的,要不然无法新建分区

    umount /dev/sdc1
    

    2) 对齐扇区

    sudo gdisk /dev/xvdb
    

    在提示中输入以下命令,以进入专家模式并设置扇区对齐值。
    注意:确保将扇区对齐值从默认的 8 更改为 1。在创建 GPT 分区时使用 8 字节对齐可能会导致出现问题。

    Command (? for help): x                                          
    Expert command (? for help): l #这个是小写的L,并不是1                                  
    Enter the sector alignment value (1-65536, default = 2048): 1  
    Expert command (? for help): m
    

    3)创建GPT分区

    在提示中输入以下命令,以创建 GPT 分区。在最后一个扇区提示中键入 enter,以使用默认扇区编号 2047。

    Command (? for help): n                                                                                                      
    Partition number (2-128, default 2):                                                                               
    First sector (34-6291455966, default = 4294967296) or {+-}size{KMGTP}: 34                 
    Last sector (34-2047, default = 2047) or {+-}size{KMGTP}:                                                
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300):                                                    
    Changed type of partition to 'BIOS boot partition'
    

    在提示中输入以下命令,以删除根分区:
    注:删除分区不会使磁盘里面的文件丢失

    Command (? for help): d                                                                                                       
    Partition number (1-2): 1
    

    在提示中输入以下命令,以将根分区重新创建为 3TB。在第一个扇区、最后一个扇区和十六进制代码或 GUID 提示中,键入 enter 以使用默认设置。

    Command (? for help): n                                                                                                       
    Partition number (1-128, default 1): 1                                                                                   
    First sector (2048-6291455966, default = 2048) or {+-}size{KMGTP}:                                
    Last sector (2048-6291455966, default = 6291455966) or {+-}size{KMGTP}:                     
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300):                                                           
    Changed type of partition to 'Linux filesystem'
    Command (? for help): w
     
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
     
    Do you want to proceed? (Y/N): y
    OK; writing new GUID partition table (GPT) to /dev/sdc.
    

    4) 检查设备文件系统

    使用 fsck 工具来检查设备 /dev/xvdf1 的文件系统是否正确。有关 fsck 工具的更多信息,请参阅 Ubuntu man 网站上的 fsck

    Command (? for help): n                                                                                                       
    Partition number (1-128, default 1): 1                                                                                   
    First sector (2048-6291455966, default = 2048) or {+-}size{KMGTP}:                                
    Last sector (2048-6291455966, default = 6291455966) or {+-}size{KMGTP}:                     
    Current type is 'Linux filesystem'
    Hex code or GUID (L to show codes, Enter = 8300):                                                           
    Changed type of partition to 'Linux filesystem'
    Command (? for help): w
     
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    PARTITIONS!!
     
    Do you want to proceed? (Y/N): y
    OK; writing new GUID partition table (GPT) to /dev/sdc.
    

    5) 扩展分区

    运行 resize 命令调整文件系统的大小,以将其扩展至 3TB。
    注意:调整文件系统大小可能需要 10-20 秒左右。

    sudo e2fsck -f /dev/sdc1
    e2fsck 1.42.13 (17-May-2015)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
          
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    cloudimg-rootfs: 57524/262144000 files (0.0% non-contiguous), 16648272/536870655 blocks
    

    6)重新挂载分区

    mount /dev/sdc1 /mnt
    

    相关文章

      网友评论

          本文标题:Linux磁盘挂载和扩容(2)

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