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.

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Huy Trần

102 bài viết.
1442 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
146 43
Tại sao phải viết blog kĩ thuật? Có rất nhiều bài viết trên mạng nói về vấn đề tại sao một lập trình viên nên thường xuyên viết các bài blog kĩ thu...
Huy Trần viết hơn 2 năm trước
146 43
White
143 37
(Ảnh) Tiếp tục sêri (Link) lần này, chúng ta sẽ cùng tìm hiểu và mô phỏng lại một chức năng mà mọi người đang bắt đầu sử dụng hằng ngày, đó là chứ...
Huy Trần viết hơn 1 năm trước
143 37
White
97 16
Phần 1: Tự truyện Tui và Toán đã từng là hai kẻ thù không đội trời chung trong suốt hơn mười lăm năm ròng rã. Ngay từ ánh nhìn đầu tiên đã ghét nh...
Huy Trần viết gần 2 năm trước
97 16
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
102 bài viết.
1442 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!