[server] CentOS7에서 / home을 축소하고 공간을 늘리는 방법

CentOS 7파일 시스템입니다 XFS, 그리고 resize2fs작동하지 않습니다. /home400G 로 축소 하고에 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]~#



답변

다른 사람들이 지적했듯이 XFS 파일 시스템은 축소 될 수 없습니다.

따라서 가장 좋은 방법은 Koen van der Rijt가 자신의 게시물에서 설명한 것처럼 / home을 백업하고 더 작은 크기로 볼륨을 제거했다가 다시 만들고 나머지를 / root 볼륨에 제공하는 것입니다.

• / 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

• / home 볼륨의 매핑에 대해서는 / etc / fstab을 확인하십시오. UUID를 사용하는 경우 UUID 부분을 업데이트해야합니다. (새 볼륨을 만들었으므로 UUID가 변경되었습니다)

그게 다야.

이것이 도움이되기를 바랍니다.


답변

그의 지시에 따라 공개 키 인증을 사용하여 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


답변

XFS 파일 시스템을 축소 할 수 없습니다 .
당신은 그들과 함께 성장할 수 있습니다xfs_growfs .

https://access.redhat.com/solutions/540013
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/xfsgrow.html을 참조하십시오.

현재 xfs 파일 시스템으로 파티션 또는 논리 볼륨의 크기를 줄일 수 없습니다. 일부 환경에서 가능한 해결 방법으로 씬 프로비저닝 된 LVM 볼륨을 XFS 파일 시스템 아래의 추가 계층으로 간주 할 수 있습니다.


많은 공간을 차지하는 것을 찾아서 /자체 파일 시스템으로 분리하십시오.


답변

LVM (논리 볼륨 관리)으로 파티션 된 경우 라이브 시스템에서만이 작업을 수행 할 수 있습니다. 결과는 무엇입니까?

lvs -v
vgs -v
pvs -v


답변

가장 먼저해야 할 일은 사용 가능한 디스크 공간을 모두 사용한 것을 확인하는 것입니다. 그렇지 않으면 나중에이 문제가 다시 발생합니다.

실제로 크기를 조정 해야하는 경우 다음과 같습니다.

  • / home의 내용을 백업하십시오. (단 20g)
  • umount /home
  • 홈 논리 볼륨을 삭제하십시오 (lvremove )
  • 필요에 따라 공간을 할당하고 볼륨 크기를 조정하십시오. ( lvextend,resize2fs )
  • / home에 대한 새 논리 볼륨을 다시 작성하고 포맷 한 후 마운트하십시오 ( lvcreate,mkfs.xfs )
  • 백업 복원
  • / home에 대한 올바른 볼륨을 마운트 할 / etc / fstab의 내용을 다시 확인하십시오.
  • 달리기 mount -a또는reboot

답변