XFS 파일 시스템을 축소하는 방법? [닫은]

2 개의 디스크 ( sdasdb) 가있는 RHEL 7 서버가 있습니다. 우리의 /, /var/log그리고 swap에있다가 sda, /var에있다 sdb. 우리는 LVM과 XFS를 사용합니다.

sda너무 커서 (160GB) 40GB로 줄이려고합니다. 그런 다음 무료 120GB를 사용하여 확장 할 수 있습니다 sdb.

[root@foo ~]# pvs
  PV         VG        Fmt  Attr PSize   PFree
  /dev/sda2  rhel      lvm2 a--  134.77g 9.77g
  /dev/sdb1  vg_var    lvm2 a--  200.00g    0


[root@foo ~]# lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      rhel      -wi-ao---- 117.19g
  swap      rhel      -wi-ao----   3.91g
  var_log   rhel      -wi-ao----   3.91g
  lv_var    vg_var    -wi-ao---- 200.00g

[root@foo ~]# fdisk -l

Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x3235298e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   8e  Linux LVM

Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x0009b153

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   283656191   141315072   8e  Linux LVM

Disk /dev/mapper/rhel-root: 125.8 GB, 125829120000 bytes, 245760000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/rhel-swap: 4194 MB, 4194304000 bytes, 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/vg_var-lv_var: 214.7 GB, 214744170496 bytes, 419422208 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/rhel-var_log: 4194 MB, 4194304000 bytes, 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

우리는 어떻게 이것을 안전하게 달성 할 수 있습니까? 테스트 머신으로 시도했지만 실패했습니다.

  1. 새 디스크 추가
  2. LVM 파티션 인 pvcreate를 생성하고 새로운 LV를 추가하십시오.
  3. 복구 디스크로 부팅
  4. 마운트 sda/mnt/sysimage와에 새 디스크의 LV를 마운트/mnt/sdb
  5. cp -ax /mnt/sysimage/* /mnt/sdb
  6. /mnt/sysimage/etc/fstab사용하기 위해 업데이트/dev/mapper/rhel-lv_root
  7. 마지막으로 재부팅으로 인해 실패 INT18 boot failure


답변

현재 [2019] XFS 파일 시스템은 축소 할 수 없습니다.

http://xfs.org/index.php/Shrinking_Support

이것이 RH 웹 사이트에 나와 있습니다 :

  • 현재 xfs 파일 시스템으로 파티션 또는 논리 볼륨의 크기를 줄일 수 없습니다. 이 기능에 관심이 있다면 Red Hat 지원에 문의하여 Red Hat bugzilla 1062667을 참조하고 XFS 축소 / 축소가 필요한 사용 사례를 제공하십시오.
  • 일부 환경에서 가능한 해결 방법으로 씬 프로비저닝 된 LVM 볼륨을 XFS 파일 시스템 아래의 추가 계층으로 간주 할 수 있습니다.

https://access.redhat.com/solutions/540013


답변

아래와 같이 LVM의 크기를 조정할 수 있다고 생각합니다

  1. 복구 디스크로 부팅
  2. resize2fs를 사용하여 파일 시스템을 축소하십시오
  3. lvresize를 사용하여 논리 볼륨을 줄입니다.
  4. pvresize를 사용하여 물리적 볼륨을 줄입니다.
  5. 이 단계에서 여유 공간을 만들기 위해 파티션을 줄이기 위해 파티션 도구를 사용해야 할 수도 있습니다
  6. 새 파티션이 생성되면 pvcreate를 사용하여 새 볼륨을 생성하십시오
  7. vgextend를 사용하여 / dev / sdb에서 볼륨을 확장하십시오
  8. lvextend를 사용하여 / var 파일 시스템을 확장하십시오

가능한 데이터 손실을 피하기 위해 시험 시스템에서 시도해 볼 것을 제안합니다.

이 절차가 도움이되었는지 알려주십시오.