현재 LVM이 없는 2TB 하드 드라이브가 있고 곧 두 번째 하드 드라이브를 추가하여 2 스트라이프 볼륨을 구성할 예정입니다. 그래서 세 번째 하드 드라이브를 추가해야 할 때 향후 확장을 계획하고 있습니다. 따라서 해결해야 할 문제는 데이터로 채워진 2개의 스트라이프 LVM 볼륨을 형성하기 위한 2개의 물리적 드라이브, 3개의 스트라이프 볼륨을 형성하기 위해 3개의 물리적 드라이브를 "병합"해야 한다는 것입니다.
이것일반적으로 대답은 새로운 공간에 3스트라이프 볼륨을 생성해 기존 데이터를 복사한 후 원래 스토리지를 비운 뒤 공간을 모두 다시 차지하는 방식을 추천하는 것이다. 하지만 이 방법은 새로 추가된 공간이 원본 공간보다 작은 설정에서는 작동하지 않는 것 같습니다. 즉, 2TB의 데이터를 새로운 2+2TB의 빈 위치에 복사할 수 있지만 분명히 4TB가 2TB에 들어갈 수는 없습니다.
지금까지 저는 가상 머신에서 실험을 해왔습니다.
- 새로운 단일 "하드 드라이브"를 3개의 물리적 볼륨으로 분할합니다.
- 이를 사용하여 3개의 스트라이프가 있는 LVM 볼륨을 만듭니다.
- 데이터를 그곳으로 이동합니다(50%만 적합).
- 공간을 확보한 후 원본 디스크의 PV 및 LV를 줄입니다.
- 세 번째 드라이브의 PV를 하나씩 원래 드라이브로 이동하고 확장하여 여유 공간을 점차적으로 다시 차지함으로써 3개의 드라이브에 대해 3개의 PV가 포함된 LVM 볼륨이 생성됩니다.
그러나 원래 드라이브의 LVM을 축소하지 않고는 이를 수행할 수 있는 방법이 없습니다. 대부분의 데이터를 삭제한 후에도 모든 공간이 할당된 것처럼 보이기 때문에 이는 실현 가능해 보이지 않습니다.
검색은 스트라이프되지 않은 볼륨이나 모든 데이터를 임시로 저장할 추가 공간이 있는 상황에 대한 답변만 제공합니다.
안전하게 축소할 수 있는 방법이 있나요?줄무늬LVM 볼륨?
아니면 언급된 3개 드라이브 외에 추가 스토리지가 필요하지 않은 이 주제의 작업을 수행하는 다른 방법이 있을까요?
#pvs
PV VG Fmt Attr PSize PFree
/dev/vdb1 lv_s lvm2 a-- 1020.00m 0
/dev/vdc1 lv_s lvm2 a-- 1020.00m 0
/dev/vdd1 lt_t lvm2 a-- 336.00m 0
/dev/vdd2 lt_t lvm2 a-- 336.00m 0
/dev/vdd3 lt_t lvm2 a-- 336.00m 0
#vgs
VG #PV #LV #SN Attr VSize VFree
lt_t 3 1 0 wz--n- 1008.00m 0
lv_s 2 1 0 wz--n- 1.99g 0
작은 크기는 무시하세요. 이는 가상 머신의 샘플 설정일 뿐입니다.
man lvreduce에서는 먼저 PV 크기를 줄이는 것이 좋습니다. 하지만 pvresize는 100% 할당되기 때문에 볼륨을 축소할 수 없습니다.
pvresize --setphysicalvolumesize 700M /dev/vdb1
/dev/vdb1: Requested size 700.00 MiB is less than real size 1022.00 MiB. Proceed? [y/n]: y
WARNING: /dev/vdb1: Pretending size is 1433600 not 2093056 sectors.
/dev/vdb1: cannot resize to 174 extents as 255 are allocated.
0 physical volume(s) resized or updated / 1 physical volume(s) not resized
이 드라이브에서 사용되는 실제 공간을 수동으로 계산할 수 있는 것 같지만(파일 크기의 합을 기준으로) 이는 조언에 어긋납니다. 먼저 LV를 원하는 범위로 축소한 다음 PV를 축소합니다. 그러나 이것은 위험해 보인다.
또한 파일 관리자에서 공간을 열고 파일을 합산하지 않고는 사용된 공간의 정확한 양을 읽는 방법을 알 수 없습니다. 이 테스트 환경에서는 실제로 꽉 찬 매장은 없지만 관계없이 다음과 같은 결과를 얻습니다.
#pvdisplay
--- Physical volume ---
PV Name /dev/vdd1
VG Name lt_t
PV Size 340.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 84
Free PE 0
Allocated PE 84
PV UUID 4vph5m-kReY-yukF-Crre-k2G9-c2UK-2pob7V
--- Physical volume ---
PV Name /dev/vdd2
VG Name lt_t
PV Size 340.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 84
Free PE 0
Allocated PE 84
PV UUID LfE23C-rU4f-N404-5bBa-zstP-qHd8-SbwYru
--- Physical volume ---
PV Name /dev/vdd3
VG Name lt_t
PV Size 340.00 MiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 84
Free PE 0
Allocated PE 84
PV UUID peDK1t-SZW6-VX0x-q0v1-7TUL-QZqq-unBeAV
--- Physical volume ---
PV Name /dev/vdb1
VG Name lv_s
PV Size 1021.00 MiB / not usable 0
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 255
Free PE 0
Allocated PE 255
PV UUID 8sCpwh-2D5S-V5VP-v1N8-sgpd-dyra-xeqNXD
--- Physical volume ---
PV Name /dev/vdc1
VG Name lv_s
PV Size 1022.00 MiB / not usable 2.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 255
Free PE 0
Allocated PE 255
PV UUID OF4fxd-f3eN-keTP-sf8p-ahVc-r35C-x7sb6l