Ubuntu에서 LVM (Logical Volume Management)을 관리하고 사용하는 방법
이전 기사에서 우리는 LVM이 무엇인지, 그리고 LVM이 무엇을 원할지를 말했고, 오늘은 설치를 설정하거나 확장 할 때 확신 할 수 있도록 LVM의 주요 관리 도구 중 일부를 살펴 보겠습니다.
앞서 언급했듯이 LVM은 운영 체제와 실제 하드 드라이브 사이의 추상화 계층입니다. 이것이 의미하는 바는 실제 하드 드라이브와 파티션이 더 이상 하드 드라이브와 파티션에 있지 않다는 것입니다. 오히려 운영 체제에서 볼 수있는 하드 드라이브 및 파티션은 함께 모아진 개별 하드 드라이브 나 소프트웨어 RAID.
LVM을 관리하려면 사용 가능한 GUI 도구가 있지만 LVM 구성에 대해 실제로 이해하려면 명령 줄 도구가 무엇인지 아는 것이 가장 좋습니다. 이것은 GUI 도구를 제공하지 않는 서버 나 배포판에서 LVM을 관리 할 때 특히 유용합니다.
LVM의 명령은 대부분 서로 매우 비슷합니다. 각 유효한 명령 앞에는 다음 중 하나가옵니다.
- 물리적 볼륨 = pv
- 볼륨 그룹 = vg
- 논리 볼륨 = lv
물리 볼륨 명령은 볼륨 그룹에 하드 드라이브를 추가하거나 제거하는 데 사용됩니다. 볼륨 그룹 명령은 논리 볼륨에서 작동하는 추상화 된 물리 파티션 세트를 변경하기위한 것입니다. 논리 볼륨 명령은 운영 체제가 지정된 공간을 사용할 수 있도록 볼륨 그룹을 파티션으로 표시합니다.
다운로드 가능한 LVM 치트 시트
각 접두사에 대해 어떤 명령을 사용할 수 있는지 이해할 수 있도록 LVM 컨닝 페이퍼를 만들었습니다. 이 기사의 명령 중 일부는 다룰 예정이지만 아직 수행 할 수있는 작업은 많습니다. 여기서는 다루지 않습니다..
이 목록의 모든 명령은 전체 시스템에 영향을주는 시스템 전체 설정을 변경하기 때문에 루트로 실행해야합니다..
(전체 크기 이미지를 보려면 썸네일을 클릭하십시오.)
현재 LVM 정보를 보는 방법
맨 처음해야 할 일은 LVM 설정 방법을 확인하는 것입니다. 그만큼 에스
과 디스플레이
명령은 실제 볼륨 (pv), 볼륨 그룹 (vg) 및 논리 볼륨 (lv)에서 작동하므로 현재 설정을 파악할 때 시작하는 것이 좋습니다.
그만큼 디스플레이
명령은 정보를 형식화하여 이해하기 쉽습니다. 에스
명령. 각 명령에 대해 pv / vg의 이름과 경로를 볼 수 있으며 사용 가능한 공간과 사용 가능한 공간에 대한 정보도 제공해야합니다.
가장 중요한 정보는 PV 이름과 VG 이름입니다. 이 두 가지 정보로 LVM 설정 작업을 계속할 수 있습니다..
논리 볼륨 만들기
논리 볼륨은 운영 체제가 LVM에서 사용하는 파티션입니다. 논리 볼륨을 생성하려면 먼저 물리 볼륨과 볼륨 그룹이 있어야합니다. 새로운 논리 볼륨을 만드는 데 필요한 모든 단계가 있습니다..
물리 볼륨 만들기
파티션이나 정보가없는 아주 새로운 하드 드라이브로 처음부터 시작할 것입니다. 어떤 디스크를 사용할 것인지 찾아보십시오. (/ dev / sda, sdb 등)
참고 : 모든 명령은 루트로 실행하거나 명령 시작 부분에 'sudo'를 추가하여 실행해야합니다..
fdisk -l
하드 드라이브가 포맷되거나 파티션이 만들어지기 전에 fdisk 출력에 다음과 같은 내용이 나타날 것입니다. 다음 단계에서 필요한 파티션을 만들려고하기 때문에 이것은 완벽합니다..
새로운 디스크는 / dev / sdb에 있으므로, fdisk를 사용하여 드라이브에 새 파티션을 만들 수 있습니다.
Gparted를 포함하여 GUI로 새로운 파티션을 생성 할 수있는 도구가 많이 있지만, 이미 터미널이 열려 있기 때문에 fdisk를 사용하여 필요한 파티션을 만들 것입니다.
터미널에서 다음 명령을 입력하십시오.
fdisk / dev / sdb
이렇게하면 특별한 fdisk 프롬프트가 나타납니다..
주어진 순서대로 명령을 입력하여 새 하드 드라이브의 100 %를 사용하고 LVM을 사용할 준비가 된 새 주 파티션을 만듭니다. 파티션 크기를 변경하거나 여러 파티션을 원할 경우 GParted를 사용하거나 fdisk에 대해 직접 읽어 보시기 바랍니다..
경고 : 다음 단계는 하드 드라이브를 포맷합니다. 이 단계를 수행하기 전에이 하드 드라이브에 대한 정보가 없는지 확인하십시오..
엔
= 새 파티션을 만듭니다.피
= 기본 파티션을 만듭니다.1
= 파티션을 디스크의 첫 번째 항목으로 만듭니다.
기본 첫 번째 실린더와 마지막 실린더를 사용하려면 Enter를 두 번 누릅니다..
LVM에서 사용할 파티션을 준비하려면 다음 두 명령을 사용하십시오.
티
= 파티션 유형 변경8e
= LVM 파티션 유형 변경
정보를 확인하고 하드 드라이브에 씁니다..
피
= 디스크에 변경 사항을 기록하기 전에 검토 할 수 있도록 파티션 설정보기w
= 변경 사항을 디스크에 씁니다.
이 명령 다음에 fdisk 프롬프트가 종료되고 터미널의 bash 프롬프트로 돌아갑니다..
들어가다 pvcreate / dev / sdb1
방금 생성 한 파티션에 LVM 물리 볼륨을 생성하는 방법.
파일 시스템으로 파티션을 포맷하지 않았지만 걱정하지 않아도되는 이유를 묻는 것일 수 있습니다. 나중에이 단계가 나옵니다..
볼륨 그룹 생성
이제 파티션을 지정하고 물리적 볼륨을 생성 했으므로 볼륨 그룹을 만들어야합니다. 다행히도이 명령은 하나의 명령 만 사용합니다..
vgcreate vgpool / dev / sdb1
Vgpool은 우리가 만든 새 볼륨 그룹의 이름입니다. 원하는 이름을 지정할 수는 있지만 vg를 레이블 앞에 붙여 놓는 것이 좋습니다. 나중에 참조 할 경우 볼륨 그룹이라는 것을 알 수 있습니다..
논리 볼륨 생성
LVM에서 사용할 논리 볼륨을 만들려면 다음을 수행하십시오.
lvcreate -L 3G -n vvpool
-L 명령은 논리 볼륨의 크기를 지정합니다.이 경우 3GB이고, -n 명령은 볼륨의 이름을 지정합니다. Vgpool은 lvcreate 명령이 공간을 확보 할 볼륨을 알 수 있도록 참조됩니다..
논리 볼륨 포맷 및 마운트
마지막 단계는 파일 시스템을 사용하여 새 논리 볼륨을 포맷하는 것입니다. Linux 파일 시스템을 선택하는 데 도움이 필요한 경우, 그 방법을 통해 요구 사항에 맞는 최상의 파일 시스템을 선택할 수 있습니다..
mkfs -t ext3 / dev / vgpool / lvstuff
탑재 지점을 만든 다음 사용할 수있는 볼륨에 마운트합니다..
mkdir / mnt / stuff
마운트 -t ext3 / dev / vgpool / lvstuff / mnt / stuff
논리 볼륨 크기 조정
논리 볼륨의 이점 중 하나는 모든 것을 큰 하드 드라이브로 이동하지 않고도 공유를 물리적으로 더 크게 또는 작게 만들 수 있다는 것입니다. 대신 새 하드 드라이브를 추가하고 볼륨 그룹을 즉시 확장 할 수 있습니다. 또는 하드 드라이브를 사용하지 않은 경우 볼륨 그룹에서 제거하여 논리 볼륨을 축소 할 수 있습니다.
물리 볼륨, 볼륨 그룹 및 논리 볼륨을 더 크게 또는 더 작게 만들기위한 세 가지 기본 도구가 있습니다.
참고 :이 명령들 각각은 함께 일하는 것에 따라 pv, vg 또는 lv가 먼저 나와야합니다..
크기를 조정하다
- 볼륨 및 논리 볼륨을 줄이거 나 늘릴 수 있지만 볼륨 그룹을 축소 또는 확장 할 수는 없습니다.넓히다
- 볼륨 그룹 및 논리 볼륨을 더 크게 만들 수 있지만 작게는 만들 수 없습니다.줄이다
- 볼륨 그룹 및 논리 볼륨을 작게 만들 수 있지만 커지지는 않습니다.
방금 작성한 논리 볼륨 "lvstuff"에 새 하드 드라이브를 추가하는 방법의 예를 살펴 보겠습니다..
새 하드 드라이브 설치 및 포맷
새 하드 드라이브를 설치하려면 위의 단계에 따라 새 파티션을 만들고 해당 파티션 유형을 LVM (8e)에 추가하십시오. 그런 다음 pvcreate를 사용하여 LVM이 인식 할 수있는 물리 볼륨을 만듭니다.
볼륨 그룹에 새 하드 드라이브 추가
볼륨 그룹에 새 하드 드라이브를 추가하려면 새 파티션이 무엇인지 알아야합니다.이 경우에는 / dev / sdc1과 파티션을 추가하려는 볼륨 그룹의 이름.
그러면 기존 볼륨 그룹에 새 물리 볼륨이 추가됩니다..
vgextend vgpool / dev / sdc1
논리 볼륨 확장
논리 볼륨의 크기를 조정하려면 장치 대신 크기로 확장하려는 정도를 말해야합니다. 이 예에서는 3GB vgpool에 8GB 하드 드라이브를 추가했습니다. 사용 가능한 공간을 만들기 위해 lvextend 또는 lvresize를 사용할 수 있습니다..
lvextend -L8G / dev / vgpool / lvstuff
이 명령을 사용하면 원하는대로 기존 볼륨에 8GB를 추가하는 대신 실제로 논리 볼륨을 8GB로 조정할 수 있습니다. 마지막으로 사용 가능한 3 기가 바이트를 추가하려면 다음 명령을 사용해야합니다..
lvextend -L + 3G / dev / vgpool / lvstuff
이제 논리 볼륨의 크기는 11GB입니다..
파일 시스템 확장
논리 볼륨은 11GB이지만 해당 볼륨의 파일 시스템은 여전히 3GB입니다. 파일 시스템이 11 GB 전체를 사용할 수있게하려면 resize2fs 명령을 사용해야합니다. resize2fs를 11GB 논리 볼륨으로 가리키면 마술이 생깁니다..
resize2fs / dev / vgpool / lvstuff
참고 : ext3 / 4 이외의 다른 파일 시스템을 사용하는 경우 파일 시스템 크기 조정 도구를 참조하십시오..
논리 볼륨 축소
볼륨 그룹에서 하드 드라이브를 제거하려면 위의 단계를 역순으로 수행하고 대신 lvreduce 및 vgreduce를 사용해야합니다.
- 파일 시스템 크기 조정 (크기를 조정하기 전에 파일을 하드 드라이브의 안전한 영역으로 이동하십시오)
- 논리 볼륨을 줄이십시오 (+ 대신에 +를 사용하여 크기를 줄이십시오)
- vgreduce로 볼륨 그룹에서 하드 드라이브를 제거하십시오.
논리 볼륨 백업
스냅 샷은 최신 고급 파일 시스템과 함께 제공되는 기능이지만 ext3 / 4는 스냅 샷을 즉시 수행 할 수 없습니다. LVM 스냅 샷에 대한 가장 멋진 점 중 하나는 파일 시스템이 절대로 오프라인 상태가 아니며 추가 하드 드라이브 공간을 차지하지 않고 원하는만큼의 파일 시스템을 가질 수 있다는 점입니다..
LVM이 스냅 샷을 만들 때 논리 볼륨의 모양과 사진을 사용하여 다른 하드 드라이브에 사본을 만들 수 있습니다. 복사가 진행되는 동안 논리적 볼륨에 추가되어야하는 새로운 정보는 일반처럼 디스크에 기록되지만 변경 사항은 원본 그림이 절대로 파손되지 않도록 추적됩니다.
스냅 샷을 만들려면 백업을하는 동안 논리 볼륨에 쓸 새로운 정보를 담을 충분한 여유 공간이있는 새로운 논리 볼륨을 만들어야합니다. 드라이브가 활발히 쓰여지고 있지 않은 경우 매우 적은 양의 저장 공간을 사용할 수 있습니다. 백업이 끝나면 임시 논리 볼륨을 제거하기 만하면 원래 논리 볼륨은 정상적으로 계속됩니다.
새 스냅 샷 만들기
lvstuff의 스냅 샷을 작성하려면 이전과 같이 lvcreate 명령을 사용하십시오. 그러나 -s 플래그를 사용하십시오.
lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff
여기에서는 드라이브가 활발하게 사용되지 않기 때문에 단지 512MB의 논리 볼륨을 생성했습니다. 512MB는 백업을하는 동안 새로운 쓰기를 저장합니다..
새로운 스냅 샷 마운트
전에 마운트 지점을 만들고 새 스냅 샷을 마운트해야 파일에서 파일을 복사 할 수 있습니다..
mkdir / mnt / lvstuffbackup
마운트 / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup
스냅 샷 복사 및 논리 볼륨 삭제
당신이해야 할 일은 / mnt / lvstuffbackup /에있는 모든 파일을 외장 하드 드라이브에 복사하거나 타르 (tar up)하여 하나의 파일에 저장하는 것입니다.
참고 : tar -c는 아카이브를 만들고 -f는 아카이브의 위치와 파일 이름을 말합니다. tar 명령 사용에 대한 도움말은 남자 타르
터미널에.
tar -cf / home / rothgar / Backup / lvstuff-ss / mnt / lvstuffbackup /
백업이 진행되는 동안 lvstuff에 쓰여지는 모든 파일이 이전에 생성 된 임시 논리 볼륨에서 추적되고 있음을 기억하십시오. 백업이 진행되는 동안 충분한 여유 공간이 있는지 확인하십시오..
백업이 완료되면 볼륨을 마운트 해제하고 임시 스냅 샷을 제거하십시오..
umount / mnt / lvstuffbackup
lvremove / dev / vgpool / lvstuffbackup /
논리 볼륨 삭제
논리 볼륨을 삭제하려면 먼저 볼륨이 마운트 해제되었는지 확인한 다음 lvremove를 사용하여 삭제해야합니다. 논리 볼륨이 삭제되고 볼륨 그룹이 삭제 된 후 물리 볼륨이 제거되면 볼륨 그룹을 제거 할 수도 있습니다.
우리가 만든 볼륨과 그룹을 사용하는 모든 명령이 있습니다..
umount / mnt / lvstuff
lvremove / dev / vgpool / lvstuff
vgremove vgpool
pvremove / dev / sdb1 / dev / sdc1
LVM을 사용하기 위해 알아야 할 대부분의 것을 다루어야합니다. 주제에 대한 경험이 있다면 의견에 지혜를 말하십시오..