AnyVM: trình bọc QEMU một tệp cho máy ảo nhanh chóng giữa các hệ điều hành
Khởi động hình ảnh khách đã được xây dựng trước bằng một lệnh duy nhất: AnyVM tự động tải xuống hình ảnh, chọn firmware, thiết lập mạng và SSH để khởi động FreeBSD, OpenBSD, Plan 9 và các khách khác. Được phát triển bởi anyvm.org, công cụ này là một tập lệnh Python duy nhất tự động cấu hình QEMU và lưu trữ hình ảnh để sử dụng lại. Nó nhắm đến các nhà phát triển, kỹ sư DevOps và quản trị viên hệ thống cần truy cập nhẹ nhàng, có thể lập trình vào các hệ điều hành ngách để thử nghiệm và quy trình CI.
AnyVM làm gì?
AnyVM điều khiển QEMU để khởi động các hình ảnh hệ điều hành đã được xây dựng sẵn chỉ với một lệnh, và công cụ tự động lấy và lưu trữ những hình ảnh đó từ các kho chính thức. Kịch bản thiết lập firmware, CPU và các tham số mạng cho kiến trúc khách và cung cấp đồng bộ hóa thư mục cùng với chuyển tiếp cổng tự động và cấu hình SSH để máy chủ có thể thực hiện các lệnh bên trong VM và nhận lại trạng thái thoát.
AnyVM ảnh hưởng đến tài nguyên hệ thống máy chủ như thế nào trong quá trình sử dụng?
AnyVM bản thân nó là một tệp Python đơn lẻ không có phụ thuộc bên thứ ba, vì vậy dấu chân thời gian chạy của nó là tối thiểu; việc sử dụng CPU và RAM thực tế đến từ QEMU, mà AnyVM yêu cầu phải có trên máy chủ. Bởi vì AnyVM không gói QEMU, công cụ này ủy thác công việc nặng nề cho động cơ ảo hóa đã được cài đặt và chỉ xây dựng các dòng lệnh QEMU và các bước thiết lập đi kèm.
AnyVM có an toàn để sử dụng trong kiểm tra tự động và môi trường CI không?
AnyVM được thiết kế cho tích hợp CI/CD: nó có thể thực hiện các lệnh bên trong khách và trả về mã thoát cho máy chủ, điều này phù hợp với quy trình kiểm tra tự động. Đóng gói của dự án và thiết kế tệp đơn giản giúp nó dễ dàng chạy trong các trình chạy tạm thời, và hành vi lưu trữ giảm thiểu việc tải xuống lặp lại khi nhiều công việc tái sử dụng cùng một hình ảnh.
Tôi có cần kiến thức kỹ thuật để vận hành AnyVM một cách chính xác không?
Một chút quen thuộc với QEMU, các khái niệm firmware (ví dụ EDK2), và môi trường chạy Python là cần thiết vì AnyVM xây dựng các lệnh gọi QEMU cấp thấp và mong đợi QEMU đã được cài đặt. Các phương pháp cài đặt bao gồm Trình quản lý gói Windows, pip, hoặc chạy tệp Python độc lập, vì vậy người vận hành phải đảm bảo máy chủ có một môi trường QEMU và Python tương thích trước khi chạy các lệnh.
Ai nên sử dụng AnyVM và tại sao điều đó quan trọng
AnyVM phù hợp với các nhà phát triển và quản trị hệ thống cần truy cập nhanh, có thể lập trình vào các hệ điều hành không chính thống trong các ngữ cảnh thử nghiệm hoặc CI; thiết kế tệp đơn của nó và cấu hình QEMU tự động giảm thời gian thiết lập cho các khách hàng ngách. Sự đánh đổi là nó phụ thuộc vào một QEMU được cài đặt bên ngoài và một môi trường chạy Python, vì vậy người dùng phải cung cấp các thành phần máy chủ đó trước khi AnyVM có thể chạy. Được khuyến nghị.