"Nó phụ thuộc."
Nếu bạn đang ở trong môi trường mà bạn kiểm soát (vmware hoặc kvm hoặc bất cứ điều gì) và có thể tự đưa ra quyết định về QoS hiệu suất đĩa, thì tôi khuyên bạn không nên sử dụng LVM trong máy ảo của mình. Nó không mua cho bạn nhiều sự linh hoạt mà bạn không thể có được ở cấp độ ảo hóa.
Hãy nhớ rằng, trình ảo hóa đã thực hiện hiệu quả các tác vụ này. Nếu bạn muốn có thể tùy ý thay đổi kích thước các hệ thống tệp (một ý tưởng tốt), chỉ cần tạo một đĩa ảo riêng cho mỗi hệ thống tệp.
Một điều bạn có thể nghĩ đến khi bạn đi trên con đường này. Bạn thậm chí không nhất thiết phải đặt phân vùng trên đĩa ảo của mình theo cách này. Ví dụ, bạn có thể tạo một đĩa ảo cho /home
; nó /dev/vdc
ở trong vm của bạn Khi tạo hệ thống tập tin, chỉ cần làm một cái gì đó như mke2fs -j /dev/vdc
thay vì chỉ định một phân vùng.
Đây là một ý tưởng tốt, nhưng ... hầu hết các công cụ (và các quản trị viên khác đến sau bạn) sẽ mong đợi thấy các phân vùng trên mỗi đĩa. Tôi khuyên bạn chỉ nên đặt một phân vùng duy nhất trên đĩa và được thực hiện với nó. Nó có nghĩa là một bước nữa khi thay đổi kích thước hệ thống tập tin. Và đừng quên căn chỉnh đúng các phân vùng của bạn - bắt đầu phân vùng đầu tiên ở mức 1MB là một quy tắc tốt.
Tất cả những gì đã nói - Thực hiện tất cả điều này ở cấp độ ảo hóa có nghĩa là bạn có thể phải khởi động lại VM để thay đổi kích thước phân vùng. Sử dụng LVM sẽ cho phép bạn thêm nóng một đĩa ảo (giả sử tổ hợp hệ thống ảo hóa / hệ điều hành của bạn cho phép điều này) và mở rộng hệ thống tệp mà không cần khởi động lại. Đây chắc chắn là một điểm cộng.
Trong khi đó, nếu bạn đang sử dụng nhà cung cấp đám mây, điều đó sẽ tinh tế hơn.
Tôi không biết nhiều về Azure, GCP hoặc bất kỳ người chơi nhỏ nào, vì vậy tôi không thể giúp đỡ ở đó.
Với AWS, bạn có thể làm theo lời khuyên của tôi ở trên và bạn sẽ thường ổn. Bạn có thể (ngay bây giờ) tăng kích thước của khối EBS (đĩa ảo) khi đang di chuyển và thay đổi kích thước phân vùng, v.v.
Tuy nhiên, trong trường hợp chung, có thể có ý nghĩa khi đặt mọi thứ vào một khối EBS lớn duy nhất và sử dụng LVM (hoặc, tôi cho rằng, phân vùng đơn giản). Amazon cung cấp cho bạn giới hạn IOPS trên mỗi khối lượng. Theo mặc định, giới hạn này chia tỷ lệ với kích thước của âm lượng. ví dụ: đối với gp2
khối lượng bạn nhận được 3 IOPS mỗi GiB (tối thiểu 100 IOPS). Xem https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
Đối với hầu hết các khối lượng công việc, bạn sẽ muốn tất cả các IOPS có sẵn của mình có sẵn cho bất kỳ hệ thống tệp nào, tùy thuộc vào nhu cầu tại thời điểm này. Vì vậy, thật hợp lý khi tạo một khối EBS lớn, lấy tất cả IOPS của bạn trong một nhóm và phân vùng / LVM lên.
Thí dụ:
3 đĩa với hệ thống tập tin / vùng trao đổi độc lập, mỗi kích thước 100 GB. Mỗi người được 300 IOPS. Hiệu suất được giới hạn ở 300 IOPS trên mỗi đĩa.
1 đĩa, dung lượng 300GB. Phân vùng LVM trên đĩa 100GB mỗi cái. Đĩa được 900 IOPS. Bất kỳ phân vùng có thể sử dụng tất cả 900 IOPS.