设为首页收藏本站

全球主机交流论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: discuz
查看: 1016|回复: 2
打印 上一主题 下一主题

CentOS Linux如何无损调整分区大小(XFS文件系统)

[复制链接]
  • TA的每日心情
    奋斗
    2017-9-16 13:30
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    跳转到指定楼层
    楼主
    发表于 2017-11-21 22:43:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    系统环境: CentOS 7.2 64-bit
    情况:
    /home:873GB
    /:50GB
    / 分区不够用
    思路:
    把home分区的空间划一部分到root分区

    操作:
    1、通过df -h查看分区情况

    [root@localhost ~]# df -h
    Filesystem           Size  Used Avail Use% Mounted on
    /dev/mapper/cl-root   50G   31G   20G  62% /
    devtmpfs             7.8G     0  7.8G   0% /dev
    tmpfs                7.8G     0  7.8G   0% /dev/shm
    tmpfs                7.8G  817M  7.0G  11% /run
    tmpfs                7.8G     0  7.8G   0% /sys/fs/cgroup
    /dev/mapper/cl-home   873G   31M   873G  1% /home
    /dev/sda2           1014M  131M  884M  13% /boot
    /dev/sda1            200M  9.5M  191M   5% /boot/efi
    tmpfs                1.6G     0  1.6G   0% /run/user/0


    2、lvdisplay 查看各分区的信息

    [root@localhost ~]# lvdisplay
      --- Logical volume ---
      LV Path                /dev/cl/swap
      LV Name                swap
      VG Name                cl
      LV UUID                DDpjMZ-SFwL-IVud-cewL-yqeK-TFqe-tAS9b4
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2017-10-17 16:48:55 +0800
      LV Status              available
      # open                 2
      LV Size                7.88 GiB
      Current LE             2016
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:1

      --- Logical volume ---
      LV Path                /dev/cl/home
      LV Name                home
      VG Name                cl
      LV UUID                21q7cu-zJyg-R6W5-gpEt-ctb3-CqH7-TyoGOH
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2017-10-17 16:48:56 +0800
      LV Status              available
      # open                 1
      LV Size                872.43 GiB
      Current LE             223343
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:2

      --- Logical volume ---
      LV Path                /dev/cl/root
      LV Name                root
      VG Name                cl
      LV UUID                paz3dp-GQ9T-VqAT-gPGT-Q2Go-tMro-zSpDLQ
      LV Write Access        read/write
      LV Creation host, time localhost.localdomain, 2017-10-17 16:48:59 +0800
      LV Status              available
      # open                 1
      LV Size                50.00 GiB
      Current LE             12800
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:0



    3、减少/dev/centos/home的空间

    # 命令设置 /dev/centos/home 分区 50G空间
    [root@localhost ~]# lvreduce -L 50G /dev/cl/home
      WARNING: Reducing active logical volume to 50.00 GiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce cl/home? [y/n]: y
      Size of logical volume cl/home changed from 872.43 GiB (223343 extents) to 50.00 GiB (12800 extents).
      Logical volume cl/home successfully resized.

    4、增加/dev/centos/root的空间

    [root@localhost ~]# lvextend -l +100%FREE /dev/cl/root
      Size of logical volume cl/root changed from 50.00 GiB (12800 extents) to 872.44 GiB (223344 extents).
      Logical volume cl/root successfully resized.

    5、扩展XFS文件空间大小

    [root@localhost ~]# xfs_growfs /dev/mapper/cl-root
    meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=3276800 blks
             =                       sectsz=4096  attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=13107200, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=6400, version=2
             =                       sectsz=4096  sunit=1 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 13107200 to 228704256


    到此/dev/centos/root的扩展结束,不过还有一些后遗症,调整后的/dev/mapper/cl-home 显示的大小一直不正常,这样也会导致重启的时候无法根据/etc/fstab里面的规则挂载正确的/home,直接进入紧急模式(welcome to emergency mode),由于我们/home里面没有什么文件,所以我们用格式化的办法,进行了修复。

    [root@localhost ~]# mkfs.xfs /dev/mapper/cl-home
    这样再卸载和挂载就没有问题了
    [root@localhost ~]# umount /home

    [root@localhost ~]# mount /home

    至此整个的调整分区圆满结束。

    留下一个小问题做思考,就是如果同时想保留/dev/mapper/centos-home里面的数据的话,如何无损调整分区?
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-9-16 13:30
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    沙发
     楼主| 发表于 2017-11-27 15:28:55 | 只看该作者
    http://bbs.cuwww.com/thread-17540-1-1.html

    这里是EXT3/EXT4文件系统的分区调整方法
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-9-16 13:30
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    板凳
     楼主| 发表于 2018-1-17 17:46:43 | 只看该作者
    一直没有找到把调整小了的分区(/dev/mapper/centos-home)里面的数据完整保留下来的办法,谁有办法,请在下面留言。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|中国U网    

    GMT+8, 2024-5-2 05:31 , Processed in 0.075197 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表