KVM có thể tạm dừng hoặc tắt máy khách tự động khi tắt máy chủ không?


16

Chúng tôi có máy chủ CentOS 5.5 KVM, chạy khách với các phiên bản khác nhau của CentOS và có thể các hệ điều hành khác sau này.

Chúng tôi muốn có thể (a) tự động gửi tắt máy ACPI cho tất cả khách hoặc (b) đình chỉ tất cả khách vào đĩa, khi tắt máy chủ.

Có một phương pháp tiêu chuẩn để thực hiện một trong hai điều này, hay đó là một tình huống của chính bạn? Cảm ơn!

Câu trả lời:


5

Đúng.

Các virsh shutdownlệnh (hoặc hiện thực khác của "shutdown" sử dụng libvirt, như trong virt-manager) chỉ thị các hệ điều hành khách phải đóng cửa sạch sẽ. Từ trang người đàn ông:

   shutdown domain-id

   Gracefully shuts down a domain.  This coordinates with the domain
   OS to perform graceful shutdown, so there is no guarantee that it
   will succeed, and may take a variable length of time depending on
   what services must be shutdown in the domain.

   The exact behavior of a domain when it shuts down is set by the
   on_shutdown parameter in the domain’s XML definition.

Với KVM, điều này sẽ gửi một sự kiện system_powerdown ACPI.

Trong Fedora và RHEL 6, một libvirt-gueststập lệnh init được đưa ra khỏi hộp được cấu hình để tạm dừng tất cả các khách khi tắt hệ thống. Tuy nhiên, đây không phải là phép thuật đặc biệt, vì vậy người ta có thể sao chép nó sang CentOS 5 với một chút sửa đổi.


Đó là một ý tưởng hay, tôi có một máy Fedora, tôi sẽ chuyển sang sử dụng nó cho CentOS5. Cảm ơn.
Andrew Clegg

Tôi không thể thấy on_shutdown trong tài liệu: libvirt.org/formatdomain.html#elementsLifecycle
Thiago Figueiro

Hừm. Vâng, nó cũng bị thiếu đáng ngờ trong mã . Những gì libvirt-guestskịch bản thực sự làm là chạy virsh managedsave. (Có vẻ như chỉ có trình điều khiển UML hỗ trợ system_powerdown.) Cảm ơn bạn đã nắm bắt! Tôi sẽ cập nhật câu trả lời của mình và báo cáo lỗi đối với tài liệu này.
mattdm


0

Theo như tôi biết thì không có kịch bản tiêu chuẩn nào cho CentOS. Có thể mã hóa, nhưng hơi nguy hiểm, vì bạn cần xử lý những vị khách mất nhiều thời gian để tắt máy. Chỉ cần giết chúng sau khi hết thời gian có thể phá hủy dữ liệu, trong khi chờ đợi chúng có thể khiến bạn tắt máy.

Thay vào đó, tốt hơn hết là tắt máy khách bằng tay trước khi thực hiện khởi động lại. Trong một thời gian, tôi đã có một kịch bản thay thế tắt máy và khởi động lại. Kịch bản đó đã cảnh báo tôi nếu có bất kỳ khách nào đang chạy (lc đơn giản trong danh sách các máy ảo) và chặn lệnh nếu có khách đang chạy.


-2

Khách KVM chỉ là quá trình không gian người dùng. bạn nên có một số giám sát quá trình tại chỗ. phổ biến nhất ngoài kia dường như là libvirt (nó được phát triển bởi RedHat, vì vậy tôi đoán nó nên có sẵn trên CentOS).

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.