논리 볼륨이 있고,/dev/echohome/home01
여기에는 세 가지 물리적 볼륨이 있습니다./dev/sda1, /dev/sdb1, /dev/sdc1
sda1은 4TB이고 사용 가능한 익스텐트는 0개입니다. sdb1은 4TB이며 사용 가능한 익스텐트는 476930개입니다. sdc1은 1TB이며 사용 가능한 익스텐트는 0개입니다.
현재 ext4 파일 시스템은 3.1TB로 약 45%가 찼습니다. 논리 볼륨 크기는 6.37TB입니다.
모든 데이터를 sda1 또는 sdb1로 이동한 다음 다른 두 PV를 삭제하고 싶습니다. 내가 읽은 내용을 바탕으로 내가 원하는 것을 달성하기 위해 resize2fs pvmove
몇 가지 조합을 시도해 볼 수 있습니다.lvreduce
다른 질문에서 다루지 않은 것 같은 구체적인 세부 사항은 보존하려는 데이터의 물리적 위치입니다. 파일이 물리적으로 어느 PV에 있는지 모르는 경우 어떻게 자신있게 resize2fs
끝낼 수 있습니까 pvremove
?
편집: 가장 간단한 해결책은 전체 파일 시스템을 더 큰 디스크에 백업하고 축소한 다음 재구성된 LV로 다시 옮기는 것일 수 있다고 생각하지만 현재 추가 디스크 공간이 없습니다. :(
답변1
다른 질문에서 다루지 않은 것 같은 구체적인 세부 사항은 보존하려는 데이터의 물리적 위치입니다. 파일이 물리적으로 어느 PV에 있는지 모르는 경우 어떻게 자신있게
resize2fs
끝낼 수 있습니까pvremove
?
이것을 알 필요는 없습니다. 이것이 바로 LVM이 하는 일입니다. resize2fs는 논리 볼륨에서 작동하므로 여러 디스크에 걸쳐 사용할 수 있습니다. 파일 시스템이 하나의 디스크를 수용할 수 있을 만큼 작으면 LVM에 이를 이동하고 다른 디스크를 삭제하도록 지시할 수 있습니다.
이를 수행하는 데는 5가지 단계가 있습니다.
파일 시스템 크기를 4TB 미만으로 줄입니다. (
resize2fs
)논리 볼륨의 크기를 4TB 미만으로 줄입니다. (
lvreduce
)(이 단계는데이터가 손실될 수 있습니다.파일 시스템보다 작게 논리 볼륨을 자르려면 맨페이지를 읽어보세요! )
각 드라이브에서 논리 볼륨을 이동합니다. (
pvmove <source pv> <dest pv>
)(이 작업은 한 번에 하나의 디스크씩 수행해야 합니다.)
디스크를 제거하십시오. (
vgreduce
그 다음에pvremove
)(선택 사항) 2단계에서 논리 볼륨을 파일 시스템보다 크게 만든 경우 공간이 낭비되지 않도록 전체 논리 볼륨을 사용하도록 파일 시스템을 확장합니다. (
resize2fs
)