2 개의 디스크 ( sda
및 sdb
) 가있는 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
우리는 어떻게 이것을 안전하게 달성 할 수 있습니까? 테스트 머신으로 시도했지만 실패했습니다.
- 새 디스크 추가
- LVM 파티션 인 pvcreate를 생성하고 새로운 LV를 추가하십시오.
- 복구 디스크로 부팅
- 마운트
sda
에/mnt/sysimage
와에 새 디스크의 LV를 마운트/mnt/sdb
cp -ax /mnt/sysimage/* /mnt/sdb
/mnt/sysimage/etc/fstab
사용하기 위해 업데이트/dev/mapper/rhel-lv_root
- 마지막으로 재부팅으로 인해 실패
INT18 boot failure
답변
현재 [2019] XFS 파일 시스템은 축소 할 수 없습니다.
http://xfs.org/index.php/Shrinking_Support
이것이 RH 웹 사이트에 나와 있습니다 :
- 현재 xfs 파일 시스템으로 파티션 또는 논리 볼륨의 크기를 줄일 수 없습니다. 이 기능에 관심이 있다면 Red Hat 지원에 문의하여 Red Hat bugzilla 1062667을 참조하고 XFS 축소 / 축소가 필요한 사용 사례를 제공하십시오.
- 일부 환경에서 가능한 해결 방법으로 씬 프로비저닝 된 LVM 볼륨을 XFS 파일 시스템 아래의 추가 계층으로 간주 할 수 있습니다.
답변
아래와 같이 LVM의 크기를 조정할 수 있다고 생각합니다
- 복구 디스크로 부팅
- resize2fs를 사용하여 파일 시스템을 축소하십시오
- lvresize를 사용하여 논리 볼륨을 줄입니다.
- pvresize를 사용하여 물리적 볼륨을 줄입니다.
- 이 단계에서 여유 공간을 만들기 위해 파티션을 줄이기 위해 파티션 도구를 사용해야 할 수도 있습니다
- 새 파티션이 생성되면 pvcreate를 사용하여 새 볼륨을 생성하십시오
- vgextend를 사용하여 / dev / sdb에서 볼륨을 확장하십시오
- lvextend를 사용하여 / var 파일 시스템을 확장하십시오
가능한 데이터 손실을 피하기 위해 시험 시스템에서 시도해 볼 것을 제안합니다.
이 절차가 도움이되었는지 알려주십시오.