VM 이미지(예: KVM 이미지)를 생성할 때 LVM을 파티션으로 사용해야 합니까? 이미지에 LVM 파티션이 있는 경우 호스트에 qcow2 이미지를 설치하려는 경우 복잡성이 추가되는 것 같습니다.
반면, LVM 파티셔닝의 장점은 VM 이미지에서는 덜 중요해 보입니다. 왜냐하면 VM을 오프라인으로 전환하고 물리적 시스템에서보다 파티션 크기를 조정하는 것이 훨씬 쉽기 때문입니다.
답변1
"때에 따라 다르지."
귀하가 제어하는 환경(vmware, kvm 등)에 있고 디스크 성능 QoS를 직접 결정할 수 있다면 가상 머신에서 LVM을 사용하지 않는 것이 좋습니다. 하이퍼바이저 수준에서 얻을 수 없는 유연성을 제공하지 않습니다.
하이퍼바이저는 이미 이러한 작업을 효과적으로 수행하고 있다는 점을 기억하십시오. 파일 시스템의 크기를 임의로 조정하려면(좋은 생각임) 각 파일 시스템에 대해 별도의 가상 디스크를 생성하면 됩니다.
이 길을 가다 보면 한 가지 생각이 떠오를 것이다. 이런 방식으로 가상 디스크에 파티션을 배치할 필요도 없습니다. 예를 들어, 가상 머신 내에 있는 /home
; 에 대한 가상 디스크를 생성할 수 있습니다 . 파일 시스템을 생성할 때 파티션을 지정하는 대신 /dev/vdc
이렇게 하면 됩니다 .mke2fs -j /dev/vdc
이는 좋은 생각이지만... 대부분의 도구(및 이후의 다른 관리자)는 각 디스크의 파티션을 보고 싶어합니다. 디스크에 파티션을 두고 작업을 완료하는 것이 좋습니다. 하지만 이는 파일 시스템의 크기를 조정할 때 한 단계가 더 필요함을 의미합니다. 그리고 파티션을 올바르게 정렬하는 것을 잊지 마십시오. 첫 번째 파티션의 경우 1MB부터 시작하는 것이 좋은 경험 법칙입니다.
하지만 하이퍼바이저 수준에서 이 모든 작업을 수행하면 파티션 크기를 조정하기 위해 VM을 재부팅해야 할 수도 있습니다. LVM을 사용하면 가상 디스크를 핫 추가하고(하이퍼바이저/OS 조합이 이를 허용한다고 가정) 재부팅하지 않고도 파일 시스템을 확장할 수 있습니다. 이것은 확실히 플러스입니다.
한편, 클라우드 공급자를 사용하는 경우에는 더 미묘합니다.
저는 Azure, GCP 또는 기타 소규모 업체에 대해 잘 알지 못하므로 도움을 드릴 수 없습니다.
AWS를 사용하면 위의 조언을 따를 수 있으며 일반적으로 괜찮을 것입니다. (이제) EBS 볼륨(가상 디스크)의 크기를 즉시 늘리고 파티션 크기를 조정하는 등의 작업을 수행할 수 있습니다.
그러나 일반적인 경우에는 모든 것을 큰 EBS 볼륨에 넣고 LVM(또는 내 생각에는 일반 파티셔닝)을 사용하는 것이 합리적일 수 있습니다. Amazon은 볼륨당 IOPS 제한을 제공합니다. 기본적으로 이 제한은 볼륨 크기에 따라 확장됩니다. 예를 들어 gp2
볼륨의 경우 GiB당 3 IOPS(최소 100 IOPS)를 얻습니다. 바라보다https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
대부분의 워크로드에서는 현재 요구 사항에 따라 사용 가능한 모든 IOPS를 모든 파일 시스템에서 사용할 수 있기를 원할 것입니다. 따라서 대규모 EBS 볼륨을 생성하고 모든 IOPS를 버킷에 넣은 다음 파티션/LVM을 만드는 것이 합리적입니다.
예:
각각 크기가 100GB인 독립적인 파일 시스템/스왑 영역이 있는 디스크 3개. 각각 300 IOPS를 얻으세요. 성능 제한은 디스크당 300IOPS입니다.
디스크 1개, 크기 300GB. 디스크의 LVM 파티션은 각각 100GB입니다. 디스크는 900 IOPS를 얻습니다. 모든 파티션은 전체 900 IOPS를 사용할 수 있습니다.
답변2
논리 볼륨은 동적으로 생성, 크기 조정 및 삭제가 더 쉽습니다.
"LVM을 사용할지 말지"라는 질문에는 항상 같은 대답이 나옵니다.때에 따라 다르지:)
디스크, 파티션 수준 유연성이 필요한 경우 이것이 합리적입니다.
LVM이 제공하는 유연성이 필요하지 않거나 다른 장점을 활용하고 싶지 않다면 별 의미가 없습니다.LVM 기능
답변3
저는 실제로 가상 서버에서 쉽게 액세스할 수 없기 때문에 LV를 사용하는 것을 좋아합니다. 따라서 이러한 파일은 실수로 쉽게 손상/이동될 수 없습니다.
LV의 다른 중요한 기능:
- 스냅샷을 만들 수 있습니다.
iostat
디스크 IO는 LV( ) 를 기준으로 분석 가능- 크기 조정이 용이함
- 스냅샷을 사용하면 실행 중인 시스템의 일관된 복제본을 만들 수 있습니다.
복잡성을 줄이기 위해 파티션 대신 LV를 디스크로 사용합니다. 단점은 "디스크"의 마지막 파티션 크기만 쉽게 조정할 수 있다는 것입니다. 그러나 표준 가상 머신 디스크 레이아웃은 이를 고려합니다(따라서 마지막 파티션에는 중요한 애플리케이션 데이터가 포함됩니다).
답변4
사실 저는 LVM을 하이퍼바이저 수준의 백업 저장소로만 사용하고 이미지 파일은 버디용입니다. 게스트 수준에서도 사용하는 것이 좋습니다. 다양한 스토리지 소스를 풀링하는 것에서 이점을 얻지 못하거나 사용 가능한 총 디스크 공간을 늘리는 것이 더 쉽지 않다는 것은 사실입니다(하이퍼바이저가 제공하는 크기를 조정하여 쉽게 얻을 수 있으므로). 그러나 때로는 너무 많은 공간을 할당합니다. 파일 시스템. 예를 들어 /opt에서 1GB를 가져와 /var에 제공하는 쉬운 방법이 필요할 수 있습니다. 가상 머신 자체 내에서 정기적으로 파티셔닝을 수행하면 크기 조정이 더 어려워집니다.