LVM을 사용하여 이사/집

LVM을 사용하여 이사/집

현재 작은 96GB SSD가 장착된 시스템에 Ubuntu 16.04 Server가 설치되어 있습니다. 더 이상 서버의 모든 사용자를 위한 공간이 충분하지 않으므로 1TB HDD를 추가하고 폴더를 /home이 1TB 드라이브의 새 파티션으로 명시적으로 이동하고 싶습니다.

원래는 지침을 사용하여 이 작업을 수행할 계획이었습니다.여기. 그러나 시스템을 면밀히 검토한 결과 LVM이 활성화되어 있음을 발견했습니다.

Filesystem                   Size  Used Avail Use% Mounted on
udev                          63G     0   63G   0% /dev
tmpfs                         13G  9.5M   13G   1% /run
/dev/mapper/ubuntu--vg-root   98G   76G   18G  82% /
tmpfs                         63G     0   63G   0% /dev/shm
tmpfs                        5.0M     0  5.0M   0% /run/lock
tmpfs                         63G     0   63G   0% /sys/fs/cgroup
/dev/sda2                    473M  111M  338M  25% /boot
/dev/sda1                    512M  136K  512M   1% /boot/efi
tmpfs                         13G     0   13G   0% /run/user/1001

지금까지 읽은 내용에 따르면 ubuntu-vg볼륨 그룹에 새 드라이브를 추가해야 합니다.이 답변). 하지만 이후에 어떻게 진행해야 할지 잘 모르겠습니다. 계속해야 할까요?4~5단계? 아니면 명시적으로 /home1TB HDD로 이동하고 /SSD를 그대로 두는 다른 방법이 있습니까 ?

답변1

원하는 작업을 수행하는 방법에는 여러 가지가 있지만 제가 추천하는 방법은 다음과 같습니다.

  1. 새 디스크를 파티션합니다. 하나의 큰 LVM 파티션일 수도 있고 다른 목적을 위해 하나 이상의 LVM이 아닌 파티션을 따로 설정할 수도 있습니다. 필요할 경우 나중에 LVM 구성에서 하나 이상을 제거할 수 있도록 때때로 여러 개의 LVM 파티션(물리 볼륨 또는 PV라고도 함)을 생성합니다. 참고로 저는 그렇습니다~ 아니다참조한 LVM 답변에 표시된 대로 PV 데이터 구조를 파티션 없이 디스크에 직접 배치하는 것이 좋습니다. 이는 합법적이지만 일반적으로 하드 디스크가 분할되어 있기 때문에 혼란을 초래할 수 있습니다.
  2. pvcreate와 같이 명령을 사용하여 LVM에서 사용할 PV를 준비합니다 sudo pvcreate /dev/sdb1.
  3. vgextend에서와 같이 를 사용하여 기존 볼륨 그룹(VG)에 새 PV를 추가합니다 sudo vgextend ubuntu--vg /dev/sdb1.
  4. sudo pvdisplay크기를 포함하여 PV에 대한 통계를 표시하려면 입력하세요 .
  5. lvcreate와 같이 를 사용하여 새 논리 볼륨(LV)을 생성합니다 sudo lvcreate -L 900G -n home ubuntu--vg /dev/sdb1. 크기( 를 통해 -L)와 LV가 생성될 PV( /dev/sdb1)를 설정할 수 있는 구문을 지정했습니다.
  6. sudo pvdisplay적절한 크기의 LV를 생성했는지 확인하려면 다시 입력하세요 . 그렇지 않은 경우 로 크기를 조정 lvresize하거나 삭제하고 lvremove다시 시도할 수 있습니다.
  7. 와 같이 LV에 파일 시스템을 생성합니다 sudo mkfs -t ext4 /dev/mapper/ubuntu--vg-home.
  8. 와 같이 편리한 곳에 새 LV를 마운트합니다 sudo mount /dev/mapper/ubuntu--vg-home /mnt.
  9. , , 또는 원하는 도구를 /home사용하여 디렉토리를 복사하십시오 .tarcprsync
  10. /etc/fstab에 새 LV를 마운트하도록 편집합니다 /home.
  11. 현재 이름을 /home다른 이름(예: )으로 바꾸고 마운트 지점으로 사용할 /home-orig새 빈 디렉터리를 만듭니다 ./home
  12. 재부팅하고 작동하길 바랍니다.
  13. 모든 것이 좋아 보인다면 이전 /home-orig디렉토리를 삭제하십시오.

8~11단계는 다음에 설명된 절차의 해당 단계와 매우 유사합니다.당신이 참조하는 위키 페이지,그래서 해당 단계에 대한 세부 사항을 설명했습니다.

비록 제가 이런 종류의 작업을 여러 번 수행했지만 제가 보여드린 예제 명령은 관련 매뉴얼 페이지에서 읽은 내용을 기반으로 하므로 일부 세부 사항을 놓쳤을 수 있습니다. 매뉴얼 페이지를 검토하고 오류가 발생하면 무엇이 잘못되었는지 파악한 후 조정하는 것이 좋습니다. 또한 Ubuntu의 기본 LVM 이름 지정이 혼란스럽기 때문에 해당 세부 사항을 잘못 해석했을 수 있으므로 조정해야 할 수도 있습니다.

이 작업이 완료되면 SSD의 PV에 사용되지 않은 공간이 생깁니다. 루트( /) LV를 이 공간으로 확장하고, /homeLV를 두 디스크에 걸쳐 확장하고, 특별한 목적을 위해 또 다른 LV를 생성하는 등의 작업을 할 수 있습니다.

이 절차의 변형은 현재 /homeLV를 그대로 두고 새 디스크에 새 LV를 생성한 다음 새 LV를 스필오버 공간으로 사용하는 것입니다. 귀하의 컴퓨터는 다중 사용자 서버이므로 이것이 어색할 수 있지만 이렇게 해야 할 이유가 있을 수 있습니다. 예를 들어 한두 명의 사용자가 디스크 공간의 대부분을 소비하고 있다면 다른 서버로 이동할 수 있습니다. 홈 디렉터리만 새 공간으로 이동하거나 새 공간에 디렉터리를 제공하고(더 쉽게 액세스할 수 있도록 마운트 지점이나 기호 링크 포함) 큰 파일을 새 공간으로 이동하도록 지시합니다. 이 접근 방식은 새로운 하드 디스크 저장 공간이 기존 SSD 저장 공간보다 눈에 띄게 느려질 가능성이 높기 때문에 다른 사용자에게 부정적인 영향을 미치지 않는다는 장점이 있습니다.

답변2

새 드라이브를 LVM에 추가하면 시스템이 이를 모두 하나의 드라이브로 처리하거나 두 번째 드라이브로 추가할 수 있습니다. 두 번째 방법을 사용하면 새 드라이브를 /home 전용으로 지정할 수 있습니다.

먼저 시스템에 드라이브를 추가한 다음 원하는 파일 시스템으로 포맷하세요. UUID를 기록한 다음 /home의 모든 항목을 새 드라이브로 이동하세요. /home은 새 드라이브를 마운트하려면 비어 있어야 합니다.

다음으로 /etc/fstab 파일을 편집하세요. 다음 줄을 추가하세요:

UUID=(앞서 언급) /home(사용된 파일 시스템) 기본값 0 2

참고: 장치 이름을 사용할 수 있지만 UUID는 장치 이름이 변경될 경우 올바른 드라이브가 마운트되도록 보장합니다.

저장하고 재부팅하세요.

관련 정보