Đó là định dạng hình ảnh tốt hơn, thô hoặc qcow2, để sử dụng làm cơ sở cho các máy ảo khác?


25

Tôi đang sử dụng một cơ sở và dựa trên đó tạo ra nhiều VM. Và bây giờ tôi muốn biết cái nào tốt hơn, qcow2 hoặc raw để sử dụng cho một cơ sở. Hơn nữa, bạn có thể vui lòng cho tôi biết nếu có bất kỳ lợi thế nào của việc sử dụng điều cơ bản này, thay vì nhân bản toàn bộ đĩa. Tốc độ có thể là một yếu tố nhưng về mặt hiệu quả thì có vấn đề gì trong việc sử dụng cơ sở và sau đó tạo VM bằng cách sử dụng cơ sở đó không?

Chỉnh sửa 1:

Tôi đã thực hiện một số thí nghiệm và nhận được nhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đâynhập mô tả hình ảnh ở đây

Đầu tiên là khi cả hai lớp nền và lớp phủ là qcow2. Thứ hai Khi cơ sở là thô nhưng lớp phủ là qcow2 và trong trường hợp thứ ba, tôi sẽ đưa hình ảnh đĩa thô riêng lẻ cho mỗi VM. Đáng ngạc nhiên, trường hợp cuối cùng là hiệu quả hơn nhiều so với hai người kia.

Thiết lập thử nghiệm: 
Hệ điều hành trong cơ sở: Ubuntu Server 14.04 64 bit.
Hệ điều hành máy chủ: Ubuntu 12.04 64 bit
RAM: 8GB
Bộ xử lý: CPU Intel® Core ™ i5-4440 @ 3.10GHz × 4 
Đĩa: 500 GB 

Trên trục x: Số lượng VM khởi động đồng thời. Bắt đầu từ 1 và tăng lên đến 15.

Trên trục y: Tổng thời gian để khởi động số "x" số máy.

Từ các biểu đồ, có vẻ như việc cung cấp hình ảnh đĩa đầy đủ cho VM hiệu quả hơn nhiều so với các phương pháp khác.

Chỉnh sửa 2: nhập mô tả hình ảnh ở đây

Đây là trường hợp khi chúng ta đưa ra hình ảnh thô riêng lẻ cho mỗi VM. Sau khi thực hiện xóa bộ nhớ cache, đây là biểu đồ. Nó gần như tương tự với lớp nền thô + lớp phủ qcow.

Cảm ơn.


1
Tôi sẽ sử dụng hình ảnh cơ sở thô và lớp phủ QED thay vì qcow2. QED nhanh hơn qcow2 và ít có khả năng bị hỏng bởi thiết kế.
Matt

@Matt hãy bình luận về câu hỏi đã được chỉnh sửa.
AB

Sự khác biệt hiệu suất là thú vị. Bạn có thể thử nó với qed? có thể là một vấn đề tranh chấp / khóa trong việc thực hiện qcow2. Tôi tin rằng nó có một số vấn đề đó là lý do tại sao họ phát minh ra qed.
Matt

1
@Matt Tôi đã kiểm tra với lớp phủ thô cơ sở-qed và lớp phủ thô cơ sở-qcow2. Nhưng qed chậm hơn nhiều so với qcow2 trong cài đặt này.
AB

Câu trả lời:


18

Đối với trường hợp sử dụng cụ thể của bạn (hình ảnh cơ sở + lớp phủ qcow2), nên sử dụng định dạng RAW:

  1. Nó nhanh hơn: vì nó không có siêu dữ liệu liên quan, nên nó càng nhanh càng tốt. Mặt khác, Qcow2 có hai lớp không xác định phải được gạch chéo trước để đánh vào dữ liệu thực tế
  2. Vì lớp phủ phải là tệp Qcow2, bạn không mất khả năng chụp nhanh hữu ích (ảnh RAW không hỗ trợ ảnh chụp nhanh)

Sự lựa chọn giữa hình ảnh cơ sở + lớp phủ qcow2 so với nhiều bản sao đầy đủ tùy thuộc vào mức độ ưu tiên của bạn:

  1. Để có hiệu suất tuyệt đối, hãy sử dụng hình ảnh RAW được phân loại. Điều này có nhược điểm là không hỗ trợ ảnh chụp nhanh, với hầu hết các môi trường là một mức giá quá cao để trả
  2. Để linh hoạt và tiết kiệm không gian, hãy sử dụng hình ảnh cơ sở RAW + lớp phủ Qcow2.

Dù sao, tôi tìm thấy các tập tin Qcow2 hơi mong manh.

Đối với các trình ảo hóa KVM sản xuất của tôi, về cơ bản tôi sử dụng hai thiết lập khác nhau:

  1. trong đó hiệu suất là số 1 Tôi sử dụng khối lượng LVM được gắn trực tiếp vào các máy ảo và tôi sử dụng khả năng chụp nhanh LVM để có các bản sao lưu nhất quán
  2. nơi tôi có thể hy sinh một số hiệu suất để tăng cường tính linh hoạt, tôi sử dụng một hình ảnh LVM Thin được cung cấp mỏng, XFS + RAW

Một khả năng khác là sử dụng âm lượng LVM bình thường + hình ảnh XFS + RAW. Nhược điểm duy nhất là ảnh chụp nhanh LVM bình thường (không mỏng) rất chậm và chụp nhanh một khối LVM bình thường bận rộn sẽ giết chết hiệu suất (trong suốt thời gian của ảnh chụp nhanh). Dù sao, nếu bạn dự định chỉ sử dụng một ảnh chụp nhanh lẻ tẻ, đây có thể là cách đặt cược đơn giản và an toàn hơn.

Một số tài liệu tham khảo:
KVM I / O chậm về
hiệu năng lưu trữ của RHEL 6 KVM và phân chia Qcow2 trên RHEL 6.1 và
hiệu suất lưu trữ của bộ nhớ Fedora 16 KVM trên Red Hat Enterprise Linux 6.2
LVM được giải thích


Như đã nêu ở trên: các hình ảnh RAW riêng lẻ sẽ nhanh hơn do không có các lớp không xác định. Tuy nhiên, hãy nhớ rằng bạn đang từ bỏ ảnh chụp nhanh (ở mức hình ảnh) và hiệu quả không gian. Hơn nữa, tôi có ấn tượng rằng kết quả thứ ba của bạn bị sai lệch bởi bộ đệm máy chủ. Để chắc chắn, hãy làm lại tất cả các thử nghiệm của bạn khi phát hành "sync; echo 3> / Proc / sys / vm / drop_caches" giữa mỗi lần chạy.
shodanshok

Thật ra tôi cũng nghĩ như vậy. Nhưng sau đó tôi nghĩ rằng, trong trường hợp sử dụng thực tế, nó cũng sẽ theo cùng một dòng chảy.
AB

Không thực sự: Trong môi trường thử nghiệm này, bạn chỉ cần khởi động máy ảo của mình mà không cần sử dụng chúng. Trong trường hợp thực tế, sau khi khởi động, các máy ảo sẽ được sử dụng, gây ô nhiễm bộ đệm. Nói chung, tốt nhất là điểm chuẩn với một trường hợp sử dụng hợp lý.
shodanshok

Bạn có biết tại sao bộ nhớ đệm không đóng nhiều vai trò như vậy trong biểu đồ 1 và biểu đồ 2 tức là lớp phủ cơ sở Qcow2 + lớp phủ Qcow2 và lớp phủ hình ảnh thô + lớp phủ Qcow2.
AB

6

Xin lưu ý .... nếu bạn đang sử dụng linux, bạn có thể sử dụng rawvà nhận được các lợi ích tương tự qcow2như về kích thước.

... Nếu hệ thống tệp của bạn hỗ trợ các lỗ hổng (ví dụ như trong ext2 hoặc ext3 trên Linux hoặc NTFS trên Windows), thì chỉ các khu vực bằng văn bản sẽ dành không gian.

https://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Adftime_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html

định dạng hình ảnh đĩa thô (mặc định). Đây có thể là định dạng dựa trên tập tin nhanh nhất. Nếu hệ thống tệp của bạn hỗ trợ các lỗ hổng (ví dụ như trong ext2 hoặc ext3 trên Linux hoặc NTFS trên Windows), thì chỉ các khu vực bằng văn bản sẽ dành không gian. Sử dụng thông tin qemu-img để có được kích thước thực được sử dụng bởi hình ảnh hoặc ls -ls trên Unix / Linux.


Điểm tốt! Nhưng dường như trong sao lưu / sao chép / nén toàn bộ kích thước của tệp hình ảnh thô được sử dụng. Một tệp thô 20 GB chỉ phân bổ 4 MB trên đĩa đã được nén thành 20 MB
MrCalvin

Điều này là hoàn toàn mới đối với tôi. Tôi có một VM trong Proxmox VE với một đĩa ảo 30 GB ... và tôi có thể thấy rằng đĩa có kích thước trong hệ thống tệp máy chủ. Nhưng hệ thống tệp máy chủ có hơn tất cả việc sử dụng << 10GB. Bây giờ, đó là lý do những gì tôi đang tìm kiếm.
cljk
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.