Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
xhyve - Máy ảo 230KB cho Mac OS X
Nếu đã từng xài Vagrant hay Docker, hẳn các bạn sẽ không thể thiếu được VirtualBox hoặc VMWare, nhưng ngoài các công cụ này, vẫn còn rất nhiều những công cụ tạo máy ảo khác, gọn nhẹ hơn nhưng cũng vô cùng lợi hại, thích hợp cho các bạn dùng máy tính hơi yếu một tí nhưng vẫn ham vui học, muốn theo kịp những trào lưu công nghệ nổi tiếng :v
xhyve là gì?
Lời nhà sản xuất: xhyve
là một giải pháp ảo hoá cho Mac OS X, có khả năng chạy Linux và một số hệ điều hành khác. Nó là một bản port của bhyve
- một giải pháp (ảo hoá) thay thế cho KVM + QEMU dành cho FreeBSD.
Tạm dịch: xhyve
là một công cụ tạo máy ảo tương tự như VirtualBox hay VMWare, QEMU, được port từ một công cụ tương tự, tên là bhyve
trên FreeBSD.
xhyve
được port lại bằng framework Hypervisor.framework
chỉ có trên Mac OS X 10.10 (Yosemite) trở lên, vì vậy, bạn cần phải chạy Yosemite trở lên mới dùng được.
Nếu các bạn quan tâm về đến việc lĩnh vực lập trình emulator trên Mac, có thể tham khảo project sau cũng sử dụng Hypervisor.framework
, có codebase siêu nhỏ, thích hợp để làm quen: Giả lập DOS trên Mac (https://github.com/mist64/hvdos)
Ưu điểm của xhyve là gì?
Tại sao phải sử dụng xhyve
? Nó có thay thế được VirtualBox hay VMWare không?
- Mã nguồn mở
- Siêu nhẹ, chỉ có 230KB
- Standalone và không có dependencies nào cả (sau khi build,
xhyve
chỉ có một file binary) - Hỗ trợ nhiều CPU (multi-CPU)
- Hỗ trợ mạng (networking)
- Chạy Linux tốt (hỗ trợ cả GUI)
Và một lưu ý, xhyve
không phải là một giải pháp thay thế Vagrant hay Docker, mà là một giải pháp thay thế cho VirtualBox hoặc VMWare, và có thể sử dụng kèm với Vagrant/Docker.
Build xhyve từ source code
Bạn có thể clone source code của xhyve từ Github về và tự build. Việc này rất đơn giản:
Clone source:
git clone https://github.com/mist64/xhyve
Build với make
:
cd xhyve
make
Sau khi build xong, file binary của xhyve
sẽ nằm trong thư mục build
, các bạn có thể copy hoặc tạo symlink vào /usr/local/bin
để có thể sử dụng ở bất kì đâu trong máy tính:
sudo cp buid/xhyve /usr/local/bin
Việc build diễn ra khá nhanh chóng, và ko hề có lỗi nào. Thành thật mà nói, đây là project open source đầu tiên mình lấy về mà build 1 phát được luôn, không gặp tí trở ngại nào =))
Chạy thử
Trong source code trên Github, tác giả có đóng gói kèm theo một bản Linux rút gọn tên là TinyCore
.
Bản Linux này được đặt trong thư mục test
, nhìn vào đó bạn sẽ thấy 2 file vmlinuz
(kernel) và initrd.gz
(ramdisk), là 2 thành phần quan trọng nhất của một distro Linux.
Để chạy thử, các bạn có thể chạy với lệnh:
./xhyverun.sh
Chờ một lát bạn sẽ kết nối được vào cửa sỏ dòng lệnh của máy ảo vừa tạo.
Để thoát khỏi máy ảo, bạn dùng lệnh:
sudo halt
Sau khi chạy, lệnh này sẽ tắt máy ảo Linux đang chạy và quay trở về cửa sổ dòng lệnh của Mac OS X.
Bạn có thể mở file xhyverun.sh
để xem cách mà xhyve
cấu hình và khởi động một distro Linux lên như thế nào.
Ở bài tiếp theo, chúng ta sẽ cùng tạo một môi trường dev Linux ảo liên kết với một thư mục trên máy host. Tương tự như Vagrant vậy.





