이것은 흥미로운 질문입니다 ...
나는 확실한 대답이 없다고 생각하지만,이 주제를 둘러싼 모범 사례가 시간이 지남에 따라 어떻게 변화했는지에 대한 역사적 맥락을 제시 할 수 있습니다.
2007 년부터 VMware 환경에서 다양한 형태로 배포 된 수천 개의 Linux VM을 지원해야했습니다. 배포 방식이 발전 했으며 다른 엔지니어가 구축 한 시스템 상속 및 리팩토링에 대한 독특하고 ( 불행한 ) 경험 이있었습니다 .
옛날 ...
그 당시 (2007 년) 초기 VMware 시스템은 베어 메탈 시스템처럼 분할되었습니다. VMware 측에서는 2GB 두께의 분할 파일을 사용하여 VM의 데이터를 구성하고 있었으며 가상화가 작동 할 수 있다는 것이 기 뻤기 때문에 여러 VMDK의 개념에 대해서는 생각조차하지 않았습니다!
가상 인프라 ...
ESX 3.5와 초기 ESX / ESXi 4.x 릴리스 (2009-2011)에 의해, 나는 모 놀리 식 Thick 프로비저닝 VMDK 파일 위에 정상으로 분할 된 Linux를 사용하고있었습니다 . 스토리지를 미리 할당해야했기 때문에 실제 하드웨어와 비슷한 방식으로 Linux 디자인에 대해 생각해야했습니다. 운영 체제에 대해 36GB, 72GB, 146GB VMDK를 생성하고 일반적인 /, / boot, / usr, / var, / tmp를 분할 한 다음 "data"또는 "growth"파티션에 다른 VMDK를 추가했습니다 (/ 홈, / opt 또는 응용 프로그램에 따라 다름). 다시 말하지만이 시대의 실제 하드 디스크 크기의 스위트 스팟은 146GB였으며 사전 할당이 필요했기 때문에 (NFS를 사용하지 않는 한) 공간을 보존해야했습니다.
씬 프로비저닝의 출현
VMware 는 이후 ESXi 4.x 릴리스에서 씬 프로비저닝과 관련 하여 더 나은 기능을 개발 했으며 이로 인해 새 시스템을 설치하기 시작했습니다. 전체 기능 세트가 5.0 / 5.1에 추가되면서 새로운 유형의 유연성으로보다 창의적인 디자인이 가능해졌습니다. 이것은 vCPU 수와 개별 VM에 커밋 할 수있는 RAM의 양에 따라 가상 시스템의 기능 향상에 보조를 맞추고있었습니다. 과거보다 더 많은 유형의 서버 및 응용 프로그램을 가상화 할 수 있습니다. 컴퓨팅 환경이 완전히 가상화되기 시작한 것은 맞습니다.
LVM은 끔찍합니다 ...
VM 수준의 완전 핫 추가 기능이 확립되어 있고 일반적인 경우 (2011-2012), 나는 고객의 VM에 대한 가동 시간을 어떤 비용 ( 멍청한 ) 으로 유지하기 위해 노력하는 회사와 협력하고있었습니다 . 따라서 여기에는 온라인 VMware CPU / RAM 증가와 기존 VMDK의 위험한 LVM 디스크 크기 조정 이 포함되었습니다 . 이 환경에서 대부분의 Linux 시스템은 LVM 위에 ext3 파티션이있는 단일 VMDK 설정이었습니다. LVM 계층이 운영에 복잡성과 불필요한 위험 을 추가했기 때문에 이는 끔찍 했습니다. 예를 들어, / usr에 공간이 부족하면 백업에서 시스템을 복원해야하는 잘못된 결정이 발생할 수 있습니다. 이는 부분적으로 프로세스 및 문화 관련 이었지만 여전히 ...
파티션 스노 버 ...
나는 이것을 바꾸려고 노력 했다. 나는 리눅스에서 약간의 파티션 스놉 이며 모니터링과 운영 요구에 따라 파일 시스템을 분리해야한다고 생각합니다. 또한 VMware와 특히 LVM이 마음에 들지 않는 것을 좋아합니다. 따라서 잠재적으로 커질 수있는 파티션에 VMDK 파일 추가를 확장했습니다. / opt, / var, / home은 필요한 경우 자체 가상 머신 파일을 가져올 수 있습니다. 그리고 그것들은 원시 디스크 일 것입니다. 때때로 이것은 특정 소형 파티션을 즉시 확장하는 더 쉬운 방법이었습니다.
오바마 케어 ...
매우 유명한 클라이언트 의 온 보딩을 통해 나는 매우 눈에 띄는 애플리케이션 환경 을 만드는 데 사용되는 Linux VM 참조 템플릿을 설계해야했습니다 . 응용 프로그램의 보안 요구 사항에는 고유 한 마운트 집합이 필요 했기 때문에 개발자와 함께 성장하지 않은 파티션을 하나의 VMDK에 넣은 다음 성장 가능성이 있거나 특정 요구 사항 (암호화, 감사 등) 결국이 VM은 5 개 이상의 VMDK로 구성되었지만 향후 데이터 크기 조정 및 보호에 최고의 유연성을 제공했습니다.
내가 오늘하는 일은 ...
오늘날 Linux 및 기존 파일 시스템에 대한 일반적인 설계는 하나의 가상 VMDK (파티션 된)에 대한 OS이고 다른 모든 것에 대한 별도의 VMDK입니다. 필요에 따라 핫 추가합니다. ZFS와 같은 고급 파일 시스템의 경우 OS 용 VMDK와 ZFS zpool의 역할을하는 다른 VMDK이며 크기를 조정하거나 추가 ZFS 파일 시스템 등에 조각 할 수 있습니다.