VMware: “Quiesce hay không quiesce?”

Sao lưu máy ảo của bạn theo cách đúng

Đã có rất nhiều bài viết được viết về việc tạo bản snapshot cho máy ảo, nhưng hầu hết chúng quá trừu tượng và chung chung. Bài viết này sẽ thảo luận về mặt thực tế của việc tạo bản snapshot máy ảo trên nền tảng VMware vSphere® để sử dụng như bản sao lưu.

Chúng tôi sẽ trả lời các câu hỏi:

  • Bản snapshot được quiesce là gì?
  • Tại sao sử dụng nó?
  • Gặp phải các vấn đề gì khi bạn quiesce?

Sử dụng Snapshot cho việc sao lưu

Trong môi trường VMware vSphere, bạn có thể tạo một bản snapshot theo hai cách: một bản snapshot

  • Bao gồm trạng thái bộ nhớ của máy ảo
  • Với quá trình quiesce hệ thống tệp tin khách

Khi sao lưu một máy ảo bằng cách sử dụng VMware vStorage API for Data Protection, không bao giờ sử dụng tùy chọn đầu tiên bao gồm trạng thái bộ nhớ của máy ảo. Nếu máy ảo có 8-16 GB RAM hoặc nhiều hơn, nó mất rất nhiều thời gian để tạo một bản sao lưu tăng tiến vì nó quá lớn (mỗi bản sao lưu tăng tiến cũng bao gồm kích thước RAM). Ngoài ra, bạn cũng có thể gặp phải các vấn đề kỹ thuật khác.

Lựa chọn thay thế là sử dụng quiesce. Đây là một lựa chọn khả thi hơn vì nó liên quan đến việc chuẩn bị hệ điều hành khách (chủ yếu là hệ thống tệp tin) cho việc sao lưu.

Quiescing là gì?

Theo một bài viết trên Cơ sở kiến thức của VMware®, “Quiescing một hệ thống tệp tin là quá trình đưa dữ liệu trên đĩa của một máy tính vật lý hoặc ảo vào trạng thái phù hợp cho việc sao lưu. Quá trình này có thể bao gồm các hoạt động như xả các bộ đệm bẩn từ bộ nhớ cache trong hệ điều hành đến đĩa, hoặc các tác vụ cụ thể khác liên quan đến ứng dụng ở mức cao hơn.”

Rất tiếc, mô tả này không làm rõ điều gì xảy ra với máy ảo trong quá trình này. Đây là điều chúng ta muốn khám phá.

Trước tiên, khi sử dụng dịch vụ VMware Snapshot Provider trong VMware Tools, bạn bắt đầu quá trình tạo một bản snapshot mới cho dịch vụ Volume Snapshot Service (VSS) bên trong hệ điều hành khách (OS). Tất cả các VSS writers đã đăng ký – mà bạn có thể xem bằng cách sử dụng lệnh “vssadmin list writers” – nhận yêu cầu và chuẩn bị các ứng dụng cho việc sao lưu bằng cách ghi các giao dịch từ bộ nhớ vào đĩa. Khi các VSS writers hoàn thành hoạt động này, họ báo cáo cho Dịch vụ VMware Tools – thông qua VMware Snapshot Provider – rằng công việc đã hoàn tất và hệ thống đã sẵn sàng cho một bản snapshot.

Khi chuẩn bị cho một bản snapshot VMware, phần mềm sao lưu cho VMware vSphere sử dụng các cài đặt sau:

Quiesced = ON, Memory = OFF
Quiesced = OFF, Memory = OFF
Lưu ý rằng VMware hoàn toàn điều khiển quá trình tạo bản snapshot. Chúng tôi sẽ xem xét tùy chọn đầu tiên khi Quiesced được đặt thành ON.

Tại sao chúng ta cần Quiescing?

Có nhiều lý do để đặt Quiesced thành ON. Ví dụ, bạn sẽ tránh vấn đề rollback số thứ tự cập nhật (USN) khi khôi phục một Active Directory® – sau khi điều khiển miền được khôi phục từ bản sao lưu có hỗ trợ VSS, InvocationID được thiết lập lại chính xác và bạn có một mục nhập lành mạnh trong Sự kiện Log:

Event ID 1109: Active Directory đã được khôi phục từ phương tiện sao lưu hoặc đã được cấu hình để lưu trữ một phân vùng ứng dụng. Thuộc tính invocationID cho điều khiển miền này đã được thay đổi.

Bạn cũng sẽ tránh các vấn đề khi khôi phục SQL Server® hoặc các ứng dụng khác.

Phần mềm sao lưu của Acronis, chẳng hạn như Acronis Backup 12, thực hiện đúng các hoạt động sao lưu này cho tất cả các loại hệ điều hành, máy chủ và ứng dụng chạy trong một máy ảo.

Làm thế nào để đảm bảo rằng một bản snapshot đã được tạo chính xác bằng cách sử dụng VSS?

Có một số cách để đảm bảo rằng một bản snapshot đã được tạo chính xác bằng cách sử dụng VSS. Bạn có thể kiểm tra điều này cho đến cấp ứng dụng.

Đầu tiên, kiểm tra Event Viewer. Khi một bản snapshot được tạo với các tùy chọn quiesced=ON, snapshot memory=OFF (xem ảnh chụp màn hình ở đầu bài viết này), các nhật ký ứng dụng hiển thị sự kiện sau từ các VSS writers:

Ghi chú: Lỗi VSS với Event ID 12289 mà chúng ta thấy trên ảnh chụp màn hình không phải là một vấn đề. Nó liên quan đến ổ đĩa mềm 3.5”. Để loại bỏ vấn đề này, chỉ cần loại bỏ ổ đĩa mềm từ cấu hình VM:

Một phương pháp thay thế để xác định xem bản snapshot đã được tạo chính xác là sử dụng thành phần Datastore Browser trong trình duyệt vSphere. Sau khi tạo bản snapshot quiesced, bạn nên thấy một tệp **vss_manifests.zip trong thư mục VM trên data store. Bên trong tệp nén đó, có một tệp backup.xml chứa các mô tả về tất cả các VSS writers được tìm thấy trên hệ thống guest, cùng với siêu dữ liệu về mỗi writer trong writerX.xml.

Lưu ý quan trọng là nếu tệp vss_manifests.zip chỉ chứa một tệp backup.xml, thông thường điều đó có nghĩa là bản snapshot được tạo bằng cách sử dụng VSS. Tuy nhiên, đó là một bản snapshot gặp vấn đề. Các bản snapshot thất bại dễ dàng phát hiện, nhưng quan trọng là nhận ra khi bạn có một bản snapshot mà VMware báo cáo là thành công, nhưng thực tế nó không thành công.

Trong các phần tiếp theo, chúng tôi sẽ thảo luận về những nguyên nhân gây lỗi cho một bản snapshot.

Yêu cầu môi trường

Rõ ràng rằng việc sử dụng tùy chọn quiescing là có lợi, nhưng trong thực tế, bạn thường gặp các vấn đề liên quan đến cấu hình không chính xác của môi trường ban đầu. Yêu cầu cấu hình chính thức được tìm thấy tại đây.

Hãy thảo luận về những gì cần kiểm tra để xác định xem bạn có những vấn đề này hay không. Đầu tiên, hãy đảm bảo rằng hệ thống của bạn hỗ trợ các bản snapshot ổn định với ứng dụng.

Thứ hai, để quiescing hoạt động, bạn phải cài đặt các thành phần VSS trong VMware Tools và cập nhật nó lên phiên bản mới nhất.

Các phiên bản vSphere 3.5 và trước đó sử dụng Legato Sync Driver để thực hiện quiescing. Nó đảm bảo tính nhất quán ở cấp độ hệ thống tập tin nhưng không ở cấp độ ứng dụng, chính vì vậy chúng ta cần các thành phần VSS. Legato đã được thay thế bằng VMware Snapshot Provider. Bạn có thể xác minh rằng nó đã được cài đặt bằng cách tìm kiếm Dịch vụ VMware Snapshot Provider và các thành phần COM+ liên quan bên trong máy ảo.

Bạn có thể gặp những vấn đề gì ở giai đoạn này? Nếu dịch vụ VMware Snapshot Provider bị tắt hoặc không được cài đặt, VMware vẫn sẽ báo cáo thành công khi tạo một bản snapshot với tùy chọn quiescing = ON, memory = OFF. Tuy nhiên, bản snapshot sẽ được tạo mà không sử dụng VSS và thay vào đó sử dụng trình điều khiển Legato Sync.

Hành vi này khác nhau trên Windows® 2008 và các phiên bản sau – không có sự kiện nào được ghi lại trong các nhật ký. Thay vào đó, VSS bắt đầu và sau đó dừng lại. Thứ ba, một trong những vấn đề điển hình của việc thiết lập quiescing là tham số disk.EnableUUID=true trong các tham số .vmx cho máy ảo. Thiết lập tham số này chỉ có ý nghĩa đối với các hệ thống khách dựa trên Windows 2008 và các phiên bản sau (tùy chọn này bị bỏ qua trong Windows 2003). Tham số này chỉ tồn tại trong vSphere 4.1 hoặc phiên bản sau. Nói cách khác, nếu bạn di chuyển một máy ảo cũ sang một máy mới hơn, bạn có thể không có cài đặt này.

Khi tham số này bị thiếu hoặc được đặt thành false, bản snapshot sẽ được tạo thành công nhưng không có sử dụng VSS. Điều này có thể dẫn đến một bản sao lưu không nhất quán. Nếu tệp backup.xml trống rỗng (thường chứa thông tin về hoạt động VSS) trong tệp vss_manifests.zip, điều này cho thấy rằng tham số này đã bị tắt. Thứ tư, hãy đảm bảo không có ổ đĩa động trong máy ảo. VSS sẽ không hoạt động với các ổ đĩa động – cho dù đó là ổ đĩa hệ thống hay ổ đĩa lưu trữ. Bản snapshot sẽ được tạo, nhưng tệp vss_manifests.zip sẽ trống rỗng, tương tự như nhật ký sự kiện bên trong hệ điều hành khách. Điều này xảy ra với Windows 2008 và các phiên bản sau. Cùng áp dụng cho các ổ đĩa IDE (trừ ổ CD-ROM IDE, không ảnh hưởng đến bản snapshot). Hãy đảm bảo số khe cắm SCSI có sẵn trên một điều khiển SCSI là số lượng ổ đĩa. Ví dụ, nếu đã có 8 ổ đĩa SCSI trên SCSI1, bạn sẽ không có đủ khe cắm. Thứ năm: Một VSS bị hỏng bên trong máy khách là nguyên nhân khiến nhiều người dùng phàn nàn đến hỗ trợ của VMware. Những người dùng này cho rằng việc thất bại của snapshot là do VMware gây ra, trong khi sự cố nằm ở mức độ của hệ điều hành khách. Đây là một bức ảnh chụp màn hình về những gì xảy ra khi bạn cố gắng tạo một bản snapshot được quiesced sau khi cài đặt không thành công cơ sở dữ liệu SQL mới. Ổ đĩa ảo .iso đã được gỡ bỏ trong quá trình cài đặt và chương trình cài đặt không thích điều đó.

Vấn đề cụ thể này được giải quyết bằng cách đơn giản là khởi động lại máy ảo.

Trong khi việc khởi động lại có thể giúp giải quyết các trường hợp khác, đôi khi VSS bị hỏng quá nặng và khởi động lại cũng không giúp. Để kiểm tra VSS, chạy Sao lưu Windows và thử sao lưu Trạng thái hệ thống. Nếu thất bại, vấn đề nằm ở VSS. Nếu thành công, vấn đề nằm ở phía hypervisor. VMware đã đăng nhiều bài viết về vấn đề này trong Cơ sở Kiến thức của họ, bao gồm Vấn đề liên quan đến VSS và Snapshot bị lỗi của Máy ảo Windows 2008 R2. Thực tế, một trong số những bài viết này gợi ý đặt disk.EnableUUID thành false. Điều này hiệu quả từ chối việc sử dụng VSS khi tạo một snapshot được quiết định. Mặc dù đây không phải là một giải pháp lý tưởng, bạn có thể sử dụng nó như một biện pháp tạm thời. Tuy nhiên, hãy cẩn thận vì nó có thể gây ra vấn đề khi khôi phục các hệ thống cần tính nhất quán ứng dụng, chẳng hạn như USN rollback.

Hãy Tóm tắt

Vấn đề số 2, số 3 và số 5 gây ra hầu hết các vấn đề liên quan đến tính nhất quán của snapshot. Ngoài ra, cũng có những trường hợp khi không tạo được snapshot. Bất kể những khó khăn với snapshot, có một điều quan trọng cần nhớ — chỉ sao lưu không đủ, bạn cần kiểm tra xem bạn có thể khôi phục được không. Chúng tôi có một số bài viết trên blog giải thích tầm quan trọng và các phương pháp tốt nhất để sao lưu doanh nghiệp của bạn.

Kiểm tra máy chủ của bạn ngay hôm nay. Đảm bảo rằng các máy ảo của bạn đã được sao lưu. Xem lại kế hoạch phục hồi thảm họa của bạn. Nếu bạn cần trợ giúp, hãy gọi cho chúng tôi hoặc thử Acronis Backup 12. Đây là giải pháp sao lưu nhanh nhất, hoàn chỉnh nhất và dễ sử dụng nhất trên thị trường hiện nay. Với Acronis Backup 12, “To quiesce or not to quiesce?” sẽ không còn là một câu hỏi.

(Bài viết này được xuất bản ban đầu bằng tiếng Nga tại https://habrahabr.ru/company/acronis/blog/207472/) ↗)

Leave a Reply

Your email address will not be published. Required fields are marked *