如何在CentOS7上缩小/ home并添加更多空间


28

CentOS 7文件系统为XFS,并且resize2fs不起作用。我需要缩小/home到400G并为添加100G空间/。我该怎么办?

# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   50G   50G  341M 100% /
devtmpfs                 7.8G     0  7.8G   0% /dev
tmpfs                    7.8G   84K  7.8G   1% /dev/shm
tmpfs                    7.8G  778M  7.0G  10% /run
tmpfs                    7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1                497M  241M  257M  49% /boot
tmpfs                    1.6G   16K  1.6G   1% /run/user/42
tmpfs                    1.6G     0  1.6G   0% /run/user/0
/dev/mapper/centos-home  500G   20G  480G   4% /home

lvs,vgs和pvs的输出是:

[root@localhost]~# lvs -v
    Using logical volume(s) on command line.
  LV   VG     #Seg Attr       LSize   Maj Min KMaj KMin Pool Origin Data%  Meta%  Move Cpy%Sync Log Convert LV UUID                                LProfile
  home centos    1 -wi-ao---- 499.38g  -1  -1  253    2                                                     4I53D9-7VSm-HN9H-QsSp-FvFU-5R9D-y5VwsN         
  root centos    1 -wi-ao----  50.00g  -1  -1  253    0                                                     LGRoEL-0EHz-G135-p6vx-Lt2s-RvI5-qdT9Sm         
  swap centos    1 -wi-ao----   7.81g  -1  -1  253    1                                                     UYB5xP-cEyV-lWvn-blIq-8s13-9kVB-ykjIWI         
[root@localhost]~# vgs -v
    Using volume group(s) on command line.
  VG     Attr   Ext   #PV #LV #SN VSize   VFree  VG UUID                                VProfile
  centos wz--n- 4.00m   1   3   0 557.26g 64.00m Gd5c08-ujdQ-fsix-o7z6-Wfsv-C0uW-XzDois         
[root@localhost]~# pvs -v
    Using physical volume(s) on command line.
    Found same device /dev/sda2 with same pvid TCmreQr93apETNoTl8bMc54l57FZ5hut
  PV         VG     Fmt  Attr PSize   PFree  DevSize PV UUID                               
  /dev/sda2  centos lvm2 a--  557.26g 64.00m 557.26g TCmreQ-r93a-pETN-oTl8-bMc5-4l57-FZ5hut
[root@localhost]~# 

我发现了这一点:blog.endpoint.com/2015/01/…这说不可能,但会给出一些答案。
davey

Answers:


47

正如其他人指出的那样,不能缩小XFS文件系统。

因此,最好的选择是备份/ home,删除并重新创建较小的卷,然后将其余部分分配给/ root卷,就像Koen van der Rijt在其帖子中所概述的那样。

•备份/ home的内容

> tar -czvf /root/home.tgz -C /home .

•测试备份

> tar -tvf /root/home.tgz

•回家

> umount /dev/mapper/centos-home

•删除主逻辑卷

> lvremove /dev/mapper/centos-home

•为/ home重新创建一个新的400GB逻辑卷,格式化并挂载它

> lvcreate -L 400GB -n home centos
> mkfs.xfs /dev/centos/home
> mount /dev/mapper/centos-home

•使用所有剩余空间扩展/ root卷,并同时调整文件系统的大小(-r)

> lvextend -r -l +100%FREE /dev/mapper/centos-root

•恢复备份

> tar -xzvf /root/home.tgz -C /home

•检查/ etc / fstab中是否有/ home卷的任何映射。如果使用的是UUID,则应更新UUID部分。(自创建新卷以来,UUID已更改)

而已。

希望这可以帮助。


1
挂载时,可能是目标繁忙错误,umount -l / dev / mapper / centos-home可能会有所帮助。并且可能还会出现另一个错误消息:“逻辑卷centos / home包含正在使用的文件系统”,热熔器-kuc / dev / vg_data / backup可能会有所帮助。
buxizhizhoum

根据@buxizhizhoum的建议,yum install psmisc需要命令fuser才能使用。
mythofechelon

确实有效。谢谢!我已使用ssh登录,并且需要终止ssh连接才能删除“ lvremove”。根据bart用户的建议,我restorecon -R -v /home在完成所有上述步骤后运行。
Ikrom '18

谢谢。在我的场景中,提到的命令对我有很大帮助,因为这只是10分钟的工作。在最坏的情况下,我已经备份了VM,然后继续执行上述命令,然后便可以扩展根卷。
Harsha Vardhana

5

按照我的指示,我无法使用公钥身份验证进行ssh,这是Ari的答案的补充。

启用selinux后,由于重新创建了/ home,可能会在/ var / log / messages中获得此消息(在sshd_config中启用了调试):

SELinux is preventing /usr/sbin/sshd from read access on the file authorized_keys

通过以下方法解决:

restorecon -R -v /home

3

您不能缩小XFS文件系统
您只能使用来成长它们xfs_growfs

请参阅:https : //access.redhat.com/solutions/540013

https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html

当前无法使用xfs文件系统减小分区或逻辑卷的大小。作为某些环境中的一种可能的解决方法,可以将精简配置的LVM卷视为XFS文件系统下方的附加层。


找出占用了太多空间的内容/并将其拆分为自己的文件系统。


或者,您可以备份/ home看到它只有20克,然后杀死该LV,并以适当的尺寸对其进行重新制作
Koen van der Rijt 2016年

谢谢。也许我应该/home根据需要销毁并重新分配空间。
GoingMyWay '16

0

您只能在使用LVM(逻辑卷管理)进行分区的实时系统上执行此操作。什么是输出:

lvs -v
vgs -v
pvs -v

主席先生,我已经更新了问题,并添加了输出。
GoingMyWay '16

见上文,您已将自己描绘在一个角落!
Sum1sAdmin

0

您需要做的第一件事是检查已用完所有可用磁盘空间的内容,否则将来某个时候会再次发生此问题。

如果您真的需要调整大小,我的方法是:

  • 备份/ home的内容。(仅20克)
  • umount /home
  • 销毁本地逻辑卷(lvremove
  • 根据需要分配空间,调整卷大小。(lvextendresize2fs
  • 为/ home重新创建一个新的逻辑卷,格式化并挂载它(lvcreatemkfs.xfs
  • 恢复备份
  • 仔细检查/ etc / fstab的内容,您将为/ home装入正确的卷
  • 运行mount -areboot
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.