Logical Volume Manager의 장점은 무엇입니까?


11

Wikipedia 페이지에 설명 된 것 이외 의 Logical Volume Manager 의 기능 및 잠재적 이점은 무엇입니까?


1
무엇에 대하여 ?? 실제로 이것은 너무 모호한 질문입니다.
Nandhini Anand

귀하의 옵션을 자세히 설명하십시오.
Ori

1
와우-그 질문을 다시 말하면 Matt Simmons로부터 큰 대답을 얻었습니다!
dunxd 2016 년

1
완전성을 위해 LVM의 위험과 경고를 살펴볼 가치가 있습니다. serverfault.com/questions/279571/lvm-dangers-and-caveats
RichVel

답변:


33

내 블로그 항목에서 직접 가져 왔습니다 : http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

먼저 LVM이없는 삶에 대해 토론 해 보자. 예전에는 하드 드라이브가있었습니다. 이 하드 드라이브에는 파티션이있을 수 있습니다. 이 파티션에 파일 시스템을 설치 한 다음 해당 파일 시스템을 사용할 수 있습니다. 오르막 길. 다음과 같이 많이 보였습니다.

이 경우에는 실제 드라이브가 있습니다.이 경우에는 sda입니다. 해당 드라이브에는 sda1과 sda2의 두 파티션이 있습니다. 사용되지 않은 여유 공간도 있습니다. 각 파티션에는 파일 시스템이 있으며 마운트되어 있습니다. 실제 파일 시스템 유형은 임의적입니다. 당신은 그것을 ext3, reiserfs, 또는 무엇이라고 부를 수 있습니다. 중요한 것은 디스크 파티션과 가능한 파일 시스템간에 직접적인 일대일 코롤 레이션이 있다는 것입니다.

정확히 동일한 구조를 재생성하는 논리 볼륨 관리를 추가 할 수 있습니다.

이제 동일한 파티션이 표시되지만 "볼륨 그룹"이라는 파티션 위에 문자 그대로 볼륨 그룹 (이 경우 디스크 파티션)이라는 계층이 있습니다. 이것을 파티션 할 수있는 일종의 가상 디스크로 생각할 수도 있습니다. 이전 구성과 정확히 일치하므로 시스템의 장점을 아직 알 수 없습니다. 볼륨 그룹 위에는 가상 볼륨으로 생각할 수있는 논리 볼륨이 만들어졌으며 파일 시스템을 구축하는 것이 그 위에 있습니다.

물리적 볼륨을 두 개 이상 추가하면 어떻게되는지 살펴 보겠습니다.

여기에는 세 개의 물리 디스크 인 sda, sdb 및 sdc가 있습니다. 처음 두 디스크 각각에는 전체 공간을 차지하는 하나의 파티션이 있습니다. 마지막 sdc에는 하나의 파티션이 디스크의 절반을 차지하고 나머지 절반은 분할되지 않은 여유 공간이 있습니다.

현재 사용 가능한 모든 볼륨이 포함 된 볼륨 그룹을 볼 수 있습니다. 가장 큰 판매 포인트 중 하나입니다. 디스크 합계만큼 큰 논리 파티션을 구축 할 수 있습니다. 여러 가지면에서 이것은 스트라이핑이 전혀 없다는 점을 제외하고 RAID 레벨 0 작동 방식과 유사합니다. 데이터는 대부분 선형으로 작성됩니다. 중복성이 필요하거나 RAID가 제공하는 성능 향상이 필요한 경우 논리 볼륨을 RAID 어레이 위에 두십시오. 여기서 RAID 슬라이스는 실제 디스크와 동일하게 작동합니다.

이제이 볼륨 그룹에 디스크 2 개와 1/2 개를 차지합니다. 두 개의 논리 볼륨으로 조각되었으며, 첫 번째는 디스크 중 하나보다 큽니다. 논리 볼륨은 실제 물리 디스크의 크기에 상관하지 않습니다. 왜냐하면 모든 볼륨은 myVolumeGroup01에서 조각 처리 되었기 때문입니다. 이 추상화 계층은 우리가 볼 수 있듯이 중요합니다.

더 많은 사용자를 추가했기 때문에 사용하지 않은 공간이 필요하다고 판단되면 어떻게됩니까?

일반적으로 일대일 매핑을 사용하면 논리적 인 볼륨을 사용하여 다음과 같은 작업을 수행 할 수 있습니다.

여기서 우리는 / dev / sdc에서 이전에 사용 가능한 공간을 가져 와서 / dev / sdc2를 만들었습니다. 그런 다음 myVolumeGroup01을 구성하는 볼륨 목록에 추가했습니다. 이 작업이 완료되면 필요에 따라 논리 볼륨 중 하나를 자유롭게 확장 할 수있었습니다. 사용자를 추가 한 후 myLogicalVolume2가 커졌습니다. 이 시점에서 파일 시스템 / home이 지원하는 한 추가 공간을 채우기 위해 파일 시스템을 자유롭게 늘릴 수있었습니다. 스토리지가있는 물리적 디스크에서 스토리지를 추상화했기 때문입니다.

논리 볼륨 관리의 기본 이유를 다룹니다. 자신의 시스템을 준비하고 구축하는 방법에 대해 더 많이 배우고 자하므로 다음과 같은 훌륭한 자료를 참조하십시오.

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html


2
탁월한 설명 및 시각화를 위해 +1
혼돈의 데몬

5

LVM을 사용하여 디스크로 많은 작업을 수행 할 수 있습니다. 주요 이점은 파일 시스템을 즉시 확장 할 수 있다는 것입니다. 로그 서버를 설정한다고 가정하고 앞으로 많은 양의 데이터가있을 것입니다. Ext3는 최대 16TB를 지원합니다 (커널 및 EL 버전에 따라 다름). 그러나 2 년 안에 1PB의 스토리지가 필요하다면 어떻게해야합니까? 글쎄, 이것은 몇 가지 문제를 일으킨다. 먼저, 당신이 상사에게 당신이 그 스토리지 하드웨어의 가격을 말할 때 헤드 라이트 눈으로 사슴으로 당신을 볼 것입니다. 이로 인해 또 다른 문제가 발생합니다. 위쪽으로 확장 할 수있는 작은 솔루션으로 시작해야합니다. LVM은 그 옵션을 제공합니다. 몇 개의 디스크로 시작합니다. 그런 다음 추가하고 논리 그룹으로 바꾸고 첫 번째 논리 볼륨에 추가하고 볼륨 크기를 늘리고 마지막으로 파일 시스템을 키 웁니다. 짜잔

따라서 장치에서 데이터를 옮기고 LUN을 다시 포맷 한 다음 모든 것을 다시 이동하여 업그레이드를 수행 할 필요가 없습니다. 간결함을 유감스럽게 생각합니다.

편집 : 또한 1PB를 다루는 경우 Ext3을 사용하고 싶지 않을 것입니다 ... 아마도 XFS입니다.


저는 실제로 16TB에서 1PB로 확장하는 메커니즘으로 LVM을 구매하지 않습니다. 실제로 "씬 프로비저닝"을 가능하게하는 ZFS 또는 이와 유사한 제품이 필요합니다. 즉, 총 약 1PB의 ZFS 스토리지 풀을 생성하지만 일부만 지원됩니다. 실제 스토리지 블록. 성장함에 따라 동일한 풀 내에 스토리지를 추가하기 만하면됩니다. LVM을 사용하면 스토리지를 추가 할 때마다 FS 크기를 조정하고 fsck를 수행하는 데 많은 시간이 소요됩니다.
RichVel

4

LVM에는 여러 가지 간접적 인 이점이 있습니다. LVM의 주요 기능 은 운영 체제에서 물리 디스크를 추상화하는 것 입니다. 이것의 주요 이점은 단순히 유연성 입니다. LVM의 이점은 대부분 크기 조정을 지원하는 파일 시스템이있는 경우에만 실현됩니다. LVM의 기본 기능은 다음과 같습니다.

시스템 파티션은 디스크 위의 한 계층에 존재합니다

LVM이 없으면 Linux는 디스크에 물리적으로 위치한 파티션을 사용합니다. 파티션은 직접 장치 이름입니다. 파티션 테이블은 MBR에 있으며 일반적으로 (논리 확장 파티션의 경우) 확장 부팅 레코드 (더 많은 수의 파티션을 만들 수 있음)에 있습니다. 파티션은 크기유형을 정의합니다다른 속성 중에서도 (특히, 크기를 본질적으로 정의하는 시작 및 끝 실린더를 정의) 디스크와 밀접하게 연결되어 있기 때문에 설치시 "올바른"파티션 구성표를 설정하는 것이 중요합니다. 갑자기 기계 기능이 변경되거나 초보자이며 파티션의 의미를 이해하지 못하거나 디스크 사용량 또는 어딘가에서 디스크 사용량을 과소 평가하거나 특정 응용 프로그램의 로그를 사용하는 경우 파티션 변경이 번거로울 수 있습니다. 이를위한 도구가 있지만 일반적으로 파티션에서 데이터를 이동하여 변경해야합니다. 분명히 네 개의 파티션이있는 경우 두 번째 파티션 끝 실린더 효과를 변경하면 세 번째 파티션과 네 번째 파티션이 실린더를 시작하므로 지저분한 상황에 처하게됩니다.

순진한 단일 파티션 사용을 옹호 할 수 있지만 할당량을 도입해야하거나 시스템의 일부를 채우는 악성 프로세스 (예 : / var / log, / tmp 등)를 분리해야 할 경우 실행 취소 될 수 있습니다.

이것의 장점은 다음과 같습니다.

스토리지 추가 / 제거

스토리지 추가는 일반적으로 사소합니다. 하드웨어 또는 소프트웨어 RAID를 사용하고 디스크를 더 추가하는 경우, Linux가 원하는 위치에서 새 스토리지를 사용할 수 있도록하려면 RAID 배열을 재 구축하기 위해 심볼릭 링크를 사용해야합니다.

가득 찬 대형 / home 디렉토리를 예로 들어 보겠습니다. 기존의 두 디스크 RAID 1 볼륨에 존재합니다. 디스크를 두 개 더 추가하려고합니다. 하드웨어 RAID 1 구성에서 설정합니다. LVM이 없으면 몇 가지 옵션이 있습니다.

  1. 1 + 0 구성으로 전체 RAID 어레이를 재 구축하십시오. 시스템에서 데이터를 이동하고 재 구축 한 후 다시 이동해야합니다.
  2. 별도의 새 RAID 1 볼륨 그룹을 작성하십시오. Linux에는 이미 첫 번째 RAID 볼륨이 / home에 마운트되어 있으므로 두 번째 RAID 볼륨을 / home1 등에 마운트해야합니다. 이제 첫 번째 사용자와 일치하는 사용자에게 적절한 경로를 얻으려면 동일한 효과를 얻으려면 심볼릭 링크를 사용해야합니다. 또한이 솔루션은 원래 RAID 볼륨을 지속적으로 유지 관리하고 잠재적으로 원래 파티션에서 데이터를 마이그레이션해야합니다.

LVM을 사용하면 새로운 RAID 1 볼륨 그룹을 추가 스토리지 풀에 추가하고 파일 시스템의 크기를 조정하고 (지원하는 경우) / home이 갑자기 커집니다. / home에서 / home1로 또는 그 반대로 잠재적으로 데이터를 이동하는 데 필요한 사항은 심볼릭 링크하거나 유지 관리 할 필요가 없습니다. 향후 디스크 업그레이드를 위해 헹구고 씻고 반복하십시오.

온라인 유지 관리

하드웨어를 지원하는 대부분의 LVM 작업은 컴퓨터를 재부팅하지 않고도 온라인으로 수행 할 수 있습니다. 시스템에서 디스크를 핫 스왑 할 수있는 경우 새 디스크를 추가 한 다음 오래된 (더 작은) 디스크를 제거하여 시스템 스토리지 요구 사항을 높일 수 있습니다.

LVM 볼륨의 주요 문제 중 하나는 용량에 접근함에 따라 조각화가 내 경험에서 문제가 될 수 있다는 것입니다. 볼륨이> 90 %이고 실제로> 95 %이면 디스크 사용 및 파일 유형에 따라 디스크에서 조각화가 잘못 될 수 있습니다. 어떤 종류의 볼륨 / 파티션 관리의 경우에도 지나치게 걱정할 필요는 없지만 여기서는 파티션과는 달리 볼륨 계층의 조각화입니다.


장점에 대한 좋은 대답이지만, 당신의 요점 (2) VG를 만드는 것이 아니라 "새로운 RAID 1 볼륨 생성 ..."을 의미한다고 생각합니다. 이것은 LVM이 아닌 경우이고 아마도 언급 된 것처럼 하드웨어 RAID를 사용하기 때문입니다. .
RichVel

1

당신은 당신이 이것을 적용 할 상황에 대한 더 많은 정보를 제공해야합니다. 그러면 우리는 광범위하게 관련이없는 답변보다는 목표 답변을 줄 수 있습니다 (나는 다른 의견으로는 말할 수 없습니다).

이제 질문 자체에서 볼륨 (일명 파티션)의 생성, 크기 조정 및 삭제가 쉽고, 상황에 따라 다른 좋은 기능은 볼륨의 스냅 샷을 만드는 기능입니다.


1

이미 최선의 답변을 선택했지만이 주제에 대한 의견을 제시하고자합니다. 내 경험상 하나의 물리적 드라이브가 있거나 여러 드라이브가있는 경우 LVM의 유용성에 의문을 제기합니다 (개인적으로 시스템 드라이브에서 LVM을 사용하지 않습니다). 그러나 LVM이 정말로 없어서는 안될 부분은 하드웨어 RAID에 있습니다. 이를 통해 RAID와 LVM의 기능을 명확하게 분리 할 수 ​​있습니다. RAID를 사용하여 스토리지의 안정성과 성능 특성을 관리하고 LVM을 사용하여 실제 볼륨을 시스템에 할당합니다. 때로는이 기능이 겹칩니다. 즉, LVM은 RAID-0 및 RAID-1의 기능을 제공 할 수 있지만 두 가지 중 하나를 심각한 빌드와 함께 사용하지 않는 것이 좋습니다.

기본적으로 RAID와 LVM은 서로 속해 있으며, 다른 하나를 사용하지 않는 것이 일반적으로 차선책입니다.

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