zoukankan      html  css  js  c++  java
  • ext4和xfs文件系统的扩容和收缩

     

     

    1. LVM逻辑卷管理

    2. ext4文件系统

    2.1 扩容CentOS6的根文件系统(ext4)

    根文件系统在 /dev/VolGroup/lv_root 逻辑卷上,文件系统类型为ext4,大小为10G,现在要将其扩容成20G。

    1)调整分区类型为8e

     
    # 调整分区类型为LVM,也就是8e类型
    fdisk /dev/sdb
        # 选定分区后使用 t 选项,然后选择8e类型
     
    # 通知内核重读分区表
    partx -a /dev/sdb
    
    # 查看
    cat /proc/partitions
    lsblk 

    2)进行扩容

     
    # 1. 创建pv
    pvcreate /dev/sdb7
    
    # 2. 对根 / 所在的vg进行扩容,将/dev/sdb7这个pv添加到VolGroup这个vg中去
    vgextend VolGroup /dev/sdb7
    
    # 3. 对根 / 所在的lv进行扩容
    # 先通过vgdisplay命令查看对应vg中空闲的pe数量,然后再将这些空闲的pe添加到lv中去
    lvextend -l +2194 /dev/VolGroup/lv_root 
    
    # 4. 扩容文件系统
    resize2fs /dev/VolGroup/lv_root  # 自动扩容,将可分配的空间全部分配完
    # 或者扩容成指定的大小 resize2fs /dev/VolGroup/lv_root  15G
    
    # 5. 查看是否扩容成功
    df -hT
    • 注意:LV扩容前最好先卸载挂载的设备,然后再使用 lvextend 进行扩容,这里因为是对根文件系统进行扩容,故而没有卸载

    2.2 收缩ext4文件系统

    /dev/sdb6 和 /dev/sdb4 一共分区大小为5G,分区类型为8e,它们被添加到了卷组VolGroup中,并做成 lv_mnt 逻辑卷挂载在了 /mnt 目录。

    现在要将 lv_mnt 缩小成3G,并且不能损坏其数据

     
    # 1. 卸载设备
    umount /mnt
    
    # 2. 进行磁盘检查
    e2fsck -f /dev/VolGroup/lv_mnt
    
    # 3. 收缩文件系统
    resize2fs /dev/VolGroup/lv_mnt 3G
    
    # 4. 收缩LV
    lvreduce -L -2G /dev/VolGroup/lv_mnt 
    
    # 5. 将PE移动到空闲的地方
    ### 查看哪些PV上有空闲的PE
    pvdisplay | grep 'PV Name| Free'
    ### 将PE移动到有空闲PE的PV上
    pvmove  /dev/sdb6:0-99  /dev/sdb4
    
    # 6. 从VG中移除PV
    vgreduce VolGroup /dev/sdb6
    
    # 7. 移除该PV
    pvremove /dev/sdb6

    3. xfs文件系统

    3.1 扩容CentOS7的根文件系统(xfs)

     
    # 1. 与CentOS6一样,先要创建一个8e格式磁盘分区
    fdisk /dev/sdb
    
    # 2. 创建PV
    pvcreate /dev/sdb5
    
    # 3. 将pv添加到根所在的VG中
    vgextend centos /dev/sdb5
    
    # 4. 扩容LV
    # 特别注意:在扩容LV之前最好要先卸载设备,这里没有卸载是因为扩容的根文件系统
    lvextend -l +2048 /dev/centos/root # 5. 扩容xfs文件系统 xfs_growfs /dev/centos/root # 6. 查看是否扩容成功 df -hT

    3.2 收缩xfs文件系统

    xfs文件系统只能扩容而无法收缩,如果要想收缩,可以先备份,之后再进行减容重建,再恢复数据。

    1)备份

     
    # xfsdump的方式备份
    xfsdump -f /data/home.img /home
        -f 备份保存的位置
    
    # cp直接复制文件的方式备份
    cp -aR /home /data/home

    2)减容重建

     
    # 1. 卸载home目录
    umount /home/
    
    # 2. 删除 lv_home
    ### 删除之前要备份或者将PE移动到空闲的PV中
    lvremove /dev/centos/home
    
    # 3. 扩容根所在的的 lv
    lvresize -L 20G /dev/centos/root
    
    # 4. 扩容根文件系统
    xfs_growfs /dev/centos/root
    
    # 5. 重建home的LV
    lvcreate -L 1G -n home centos
    
    # 6. 格式化并挂载
    mkfs.xfs /dev/centos/home
    mount /dev/centos/home /home
    
    # 7. 还原数据
    xfsrestore -f /data/home.img /home
    • 注意:尽量避免对重要数据所在的文件系统做收缩操作

    本文作者: Praywu

    本文链接:https://www.cnblogs.com/hgzero/p/14193427.html

    版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    java基础部分的一些有意思的东西。
    antdvue按需加载插件babelpluginimport报错
    阿超的烦恼 javaScript篇
    .NET E F(Entity Framework)框架 DataBase First 和 Code First 简单用法。
    JQuery获得input ID相同但是type不同的方法
    gridview的删除,修改,数据绑定处理
    jgGrid数据格式
    Cannot read configuration file due to insufficient permissions
    Invoke action which type of result is JsonResult on controller from view using Ajax or geJSon
    Entity model数据库连接
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/14195518.html
Copyright © 2011-2022 走看看