LV의 모든 데이터를 첫 번째 PV로 이동하고 다른 데이터는 삭제합니다.

LV의 모든 데이터를 첫 번째 PV로 이동하고 다른 데이터는 삭제합니다.

논리 볼륨이 있고,/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가지 단계가 있습니다.

  1. 파일 시스템 크기를 4TB 미만으로 줄입니다. ( resize2fs)

  2. 논리 볼륨의 크기를 4TB 미만으로 줄입니다. ( lvreduce)

    (이 단계는데이터가 손실될 수 있습니다.파일 시스템보다 작게 논리 볼륨을 자르려면 맨페이지를 읽어보세요! )

  3. 각 드라이브에서 논리 볼륨을 이동합니다. ( pvmove <source pv> <dest pv>)

    (이 작업은 한 번에 하나의 디스크씩 수행해야 합니다.)

  4. 디스크를 제거하십시오. ( vgreduce그 다음에 pvremove)

  5. (선택 사항) 2단계에서 논리 볼륨을 파일 시스템보다 크게 만든 경우 공간이 낭비되지 않도록 전체 논리 볼륨을 사용하도록 파일 시스템을 확장합니다. ( resize2fs)

관련 정보