홈페이지 » 어떻게 » Ubuntu에서 LVM (Logical Volume Management)을 관리하고 사용하는 방법

    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를 사용해야합니다.

    1. 파일 시스템 크기 조정 (크기를 조정하기 전에 파일을 하드 드라이브의 안전한 영역으로 이동하십시오)
    2. 논리 볼륨을 줄이십시오 (+ 대신에 +를 사용하여 크기를 줄이십시오)
    3. 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을 사용하기 위해 알아야 할 대부분의 것을 다루어야합니다. 주제에 대한 경험이 있다면 의견에 지혜를 말하십시오..