Tại sao ảnh chụp nhanh VM lại ảnh hưởng đến hiệu suất?


27

Tôi đã đọc trong một trong những bài viết về VMware KB rằng ảnh chụp nhanh sẽ ảnh hưởng trực tiếp đến hiệu suất VM.

Nhưng nhóm của tôi tiếp tục hỏi tôi làm thế nào ảnh chụp nhanh có thể ảnh hưởng đến hiệu suất.

Tôi muốn cho họ lý do vững chắc đằng sau tuyên bố những bức ảnh chụp là kẻ giết người hiệu suất.

Bất cứ ai cũng có thể giải thích một chút lý thuyết về cách ảnh chụp nhanh thực sự ảnh hưởng đến hiệu suất? Có phải chỉ vì tốc độ I / O của đĩa cứng sẽ chậm?


2
Không chắc đây có phải là bài viết KB bạn đọc hay không. Tôi nghĩ rằng tôi sẽ thêm nó như là tài liệu tham khảo.
Aaron Copley

Câu trả lời:


28

Khi bạn tạo ảnh chụp nhanh, hình ảnh đĩa gốc bị "đóng băng" ở trạng thái nhất quán và tất cả các truy cập ghi từ đó trở đi sẽ chuyển sang hình ảnh vi sai mới. Thậm chí tệ hơn, như được giải thích ở đâyở đây , hình ảnh vi sai có dạng nhật ký thay đổi, ghi lại mọi thay đổi được thực hiện đối với một tệp kể từ khi ảnh chụp được thực hiện. Điều này có nghĩa là, các truy cập đọc sẽ phải đọc không chỉ một tệp mà còn tất cả dữ liệu khác nhau (dữ liệu gốc cộng với mọi thay đổi được thực hiện đối với dữ liệu gốc). Con số thậm chí còn tăng hơn nữa khi bạn xếp tầng chụp nhanh.


2
Giải thích tốt nhất. Bạn không chỉ nhân đôi IOPS mà còn có chi phí CPU để tính chênh lệch cấp khối.
Aaron Copley

3
Sau khi đọc bài viết này được liên kết bởi Aaron Copley ( kb.vmware.com/'mservice/microsites/, ) có vẻ tồi tệ hơn thế. Ảnh chụp nhanh không phải là hình ảnh khác biệt, đó là nhật ký thay đổi, vì vậy nếu bạn viết cùng một dữ liệu trên cùng một địa điểm 10 lần, ảnh chụp sẽ tăng kích thước của nó lên gấp 10 lần kích thước của dữ liệu bạn đã viết. Thay vào đó, một hình ảnh vi sai sẽ hiệu quả hơn vì nó sẽ ghi đè lên dữ liệu được ghi lại tại cùng một vị trí.
Tối đa

1
@zespri Vấn đề ảnh hưởng đến tất cả các nền tảng ảo hóa sử dụng loại công nghệ chụp nhanh này, bao gồm cả Hyper-V.
Ansgar Wiechers

1
Điều này hoàn toàn sai. Xem bình luận của @Falcon Momot để có câu trả lời chính xác. Ngay cả bài viết được liên kết cũng chỉ nói rằng đĩa "có thể hết dung lượng", rõ ràng khi không gian còn lại trước khi chụp ảnh nhỏ hơn đĩa đã chụp và deltadisk không có đủ dung lượng để mở rộng.
Daniel

2
@AnsgarWiechers Câu trả lời này chắc chắn sai. Các bài viết được liên kết ( kb.vmware.com/s/article/1015180 ) trạng thái; "Đĩa con, được tạo bằng một ảnh chụp nhanh, là một đĩa thưa. Các đĩa thưa sử dụng cơ chế sao chép trên ghi (COW), trong đó đĩa ảo không chứa dữ liệu tại các vị trí, cho đến khi được sao chép ở đó bằng cách ghi." Theo dõi bởi; "Nếu một máy ảo sắp hết ảnh chụp, nó đang thực hiện thay đổi cho một đĩa con hoặc đĩa thưa. Càng nhiều thao tác ghi vào đĩa này, nó càng lớn, đến giới hạn trên của kích thước của đĩa cơ sở cộng với một một lượng nhỏ chi phí. "
Steve365

5

Khi bạn tạo ảnh chụp nhanh trên máy ảo, điều này sẽ tạo ra Đĩa Delta và hệ điều hành ghi vào tệp này thay vì VMDK ban đầu. Tệp này được gọi là VM_Name-Delta.VMDK nhưng nếu hệ thống cần tham chiếu đến một tệp trước ảnh chụp thì nó sẽ đề cập đến VM_Name.VMDK tăng I / O của thao tác này. Nếu bạn chụp nhiều ảnh chụp nhanh, bạn đang đề cập đến tệp delta cuối cùng của ảnh chụp nhanh cuối cùng không phải là VMDK ban đầu, do đó làm tăng I / O.

Thí dụ.

Hệ điều hành ---> Ảnh chụp nhanh (Tệp A đã tạo) ---> (Tệp chụp nhanh B đã tạo)

Nếu tôi cần tham khảo Tệp A, nó sẽ xem qua 3 VMDK để tìm thấy tệp này.

Ngoài ra, nếu bạn bao gồm trạng thái bộ nhớ của VM tại thời điểm chụp nhanh, điều này sẽ tạo lại đây là một tệp delta và tham chiếu đến các tệp bộ nhớ gốc nếu cần.

Một tệp được tạo này liệt kê tất cả các tệp được tạo tại thời điểm của quá trình chụp nhanh


2

Theo như tôi có thể nói, VMWare đang sử dụng logic sao chép khi ghi để thực hiện các ảnh chụp nhanh của họ. Do đó, khi bạn tạo một, mọi thao tác được thực hiện trên VM của bạn (ví dụ: hầu hết mọi thứ trong thời gian chạy) sẽ khiến một chút VM được sao chép cho đến khi toàn bộ mọi thứ về cơ bản được sao chép.

Một vấn đề hiệu suất khác với điều này là các lần đọc sẽ phải xếp tầng cho bản sao gốc nếu bản sao làm việc chưa có dữ liệu (vì không có gì thay đổi để gây ra một bản sao).

Nếu bạn muốn có các ảnh chụp nhanh như một bản sao lưu nhưng không thể chịu được việc giảm hiệu suất nhỏ, thay vào đó hãy xem xét nhân bản VM.


-2

Từ các giá trị co-stop cao (% CSTP) được thấy trong các hoạt động chụp nhanh của máy ảo :

Khi kích thước và số lượng ảnh chụp nhanh trên máy ảo tăng lên, số lượng các hoạt động lệnh lưu trữ trong vmkernel cũng tăng. Đối với mỗi lệnh lưu trữ do hệ điều hành máy khách ảo ban hành, có thể cần nhiều thao tác lệnh lưu trữ để duyệt qua toàn bộ chuỗi ảnh chụp nhanh để đọc khối dữ liệu phù hợp nhất.

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.