LVM 250GB 루트 파티션을 새로운 120GB 하드 디스크로 어떻게 이동합니까?


18

다음과 같은 상황이 있습니다.

현재 내부 Ubuntu (12.04) 설치는 새 내장 HDD를 구입하기 위해 게으른 외부 HDD (250GB)에서 실행 중입니다. 이제 새로운 내부 (120GB)가 있는데 모든 것을 내부로 옮기고 싶습니다. Ubuntu new를 설치하는 것은 peronalized 때문에 토론에서 벗어났습니다.

운 좋게도 루트 파티션은 LVM으로 파티션되므로 파티션을 더 작은 내부 HDD로 옮길 수 있기를 바랍니다.

이게 가능해? 어디서 도움을받을 수 있습니까?

편집 :이 질문은 이미 오래되어 구식이 될 수 있습니다. 당시에 사용되었던 Ubuntu 버전을 추가했습니다.


관련 질문 -위의 답변이 충분히 명확하지 않습니다 ...
MeSo2

위의 두 대답은 나에게 명확하지 않습니다. 그래서 새로운 게시물을
MeSo2

답변:


39

당신이 생각하는 것처럼 LVM을 사용하는 것은 매우 우아합니다.

더 작은 디스크에 맞도록 기존 설치를 축소하십시오.

새 하드 디스크를 물리적으로 설치하고 포맷 한 다음 루트 파티션과 동일한 vg에 추가하는 데 pvcreate사용 vgextend하십시오.

pvmove이전 파티션에서 모든 데이터를 투명하게 옮기는 데 사용

vgreducevg에서 외부 HD를 제거하는 데 사용 합니다. 이전 디스크 / dev / sdOLD를 분리하십시오.

아래 예에서 :

  • /dev/sdOLD 이전 파티션을 대체합니다
  • /dev/sdNEW 새 파티션이 대신하는 것을 나타냅니다.
  • vgX 볼륨 그룹을 나타냅니다

예 : 물론, 올바른 장치를 사용하고 있는지 100 % 확신해야합니다. 또한 시스템에서 제거 된 완전한 최신 백업이 있어야합니다.

pvcreate /dev/sdNEW
vgextend vgX /dev/sdNEW
pvmove /dev/sdOLD
vgreduce vgX /dev/sdOLD

update-grub및 사용 grub-install하여 새 루트 디스크를 부팅 가능하게 만들기

끝난.


구체적인 예를 제시하면 좋을 것입니다.
isaaclw

12
아, 유용한 정보가 담긴 유효한 승인 된 게시물을 투표하는 것이 좋습니다. 나는 누군가가 그것을 무의식적으로 복사하여 붙여 넣고 데이터를 파괴 할 위험이 있기 때문에 의도적으로 구체적인 예를 제시하지 않았습니다. lvm으로 무언가를하면, 내가주는 포인터로 베어링을 찾을 수 있어야합니다.
Floyd

2
Cento7에서도 일했습니다. 여기에 제공된 단계는 약간의 학습과 Google의 학습에 충분했습니다. 스팟 -에
terary

centos : grub2-mkconfig -o "$ (readlink -e /etc/grub2.cfg)"... 여기서 사용
terary

21

먼저 현재 설치에 전체 250GB 디스크를 사용한 경우 120GB 디스크에 맞도록 축소해야합니다. 마운트 해제 된 상태에서 ext4 파일 시스템 만 축소 할 수 있으므로 Ubuntu 라이브 시스템 (CD 또는 USB) 또는 GParted live 와 같은 특수 유지 관리 라이브 시스템을 부팅해야합니다 . resize2fs또는 GParted를 사용하여 기존 파일 시스템의 크기를 조정할 수 있습니다 .

기존 설치의 파일 시스템을 새 디스크에 맞게 줄이면 원하는 경우 파일 시스템을 마운트하여 나머지 작업을 수행 할 수 있습니다. 기존 파일 시스템이 새 디스크에 맞으면 마운트를 해제하거나 재부팅하지 않고도 전송할 수 있습니다.

다음 설명에서는 이라는 기존 볼륨 그룹 /dev/sdb1을 사용하여 물리 볼륨 에서 물리 볼륨 으로 이동하는 방법을 보여줍니다 . 시스템과 일치하도록 디스크 문자와 파티션 번호를 조정하십시오./dev/sda1oldvg

실시간 전송을 수행하려면

  1. 당신의 선택의 파티션 도구를 사용하여 새 디스크를 파티션 ( cfdisk, fdisk, parted, ...). 예를 들어 추가 하드 드라이브를 추가하려면 어떻게합니까?를 참조하십시오 .
  2. 새 디스크에 물리 볼륨을 작성하십시오. pvcreate /dev/sda1
  3. 이동하려는 논리 볼륨을 포함하는 기존 볼륨 그룹에이 물리 볼륨을 추가하십시오. vgextend oldvg /dev/sda1
  4. 한 물리 볼륨에서 다른 물리 볼륨으로 논리 볼륨을 이동하십시오. pvmove /dev/sdb1 /dev/sda1
  5. 기존 볼륨 그룹을 두 개로 나누십시오. vgsplit oldvg newvg /dev/sda1

또 다른 방법은 기존 논리 볼륨을로 미러 볼륨 lvconvert --mirror으로 만들고 새 디스크에 미러를 설정 한 다음로 미러를 분할하는 것입니다 lvconvert --splitmirrors. 이렇게하면 데이터 사본이 두 개가되고 분할 후 각 사본이 고유 한 수명을 갖게됩니다.

복사를 마친 후에는 새 디스크를 부팅 가능하게 만들어야합니다. 이를 위해 파일 시스템을 마운트하십시오. 에 마운트되어 있다고 가정하면 /mnt다음 명령을 루트로 실행하십시오.

chroot /mnt
# if the name of the volume group has changed, edit /etc/fstab
update-grub
grub-install /dev/sda

또는 Clonezilla 를 사용할 수 있습니다 . 이것은 강력한 디스크 조작 및 복제 도구이며 귀하의 상황을 다루고 있다고 생각하지만 경험이 없습니다.


1
기본적 pvadd, pvmove, pvremove
ish

너무 복잡하고 그가 필요로하지 않는 것
Floyd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.