Tuesday, 22 January 2013

Virtualization - công nghệ ảo hóa

TODO: 
  1. tut cài máy ảo bằng kvm 
  2. tut cài máy ảo bằng  virtualbox
Virtualization không phải là 1 khái niệm mới mẻ, nó đã tồn tại khá lâu, chiếm những vị trí rất quan trọng, thậm chí mang tính sống còn với nhiều doanh nghiệp :D

Virtualization là ảo hóa (trong bài này nói về việc cài đặt các máy ảo để sử dụng). Ở mức người dùng cá nhân, công nghệ này dường như không thực sự thu hút đối với người dùng. Bởi nếu cần có 2 hệ điều hành để chạy song song thì thường người ta sẽ cài luôn cả 2 hệ điều hành ấy để dual-boot. Trên linux cũng có các chương trình giả lập môi trường window để chạy các phần mềm window (wine).

Bài viết này sẽ chỉ ra vài trường hợp mà công nghệ ảo hóa trở nên rất tiện lợi, và quan trọng:
- Bạn muốn thử dùng Ubuntu cho quen rồi mới dám cài thật, máy ảo chính là giải pháp tuyệt vời nhất.
- Một sinh viên muốn trở thành 1 sysadmin, nhưng chỉ có 1 chiếc máy tính duy nhất. Giải pháp chính là ảo hóa, cài 2-3-4 cái máy ảo cùng chạy sẽ giúp công việc học tập nghiên cứu trở nên dễ dàng, trực quan hơn. Chuyện chạy 2-4 server linux trên 1 máy tính cũng không có gì là nặng nề cả (that why I love it )
- Một developer muốn thử nghiệm các môi trường khác nhau cho phần mềm của mình, dựng các máy ảo và việc thử nghiệm của anh ta sẽ nhanh chóng + dễ dàng hơn rất nhiều.
- Các doanh nghiệp sẽ dùng đến công nghệ ảo hóa để phân bổ tài nguyên phần cứng hợp lý. VD: thay vì chạy mỗi máy là server, họ có thể cài lên 3 máy ảo và chạy các dịch vụ khách nhau.
- Các công nghệ ảo hóa hỗ trợ các tính năng như: tạo clone 1 máy, "chụp" lại trạng thái tại 1 thời điểm nhất định của 1 máy. Ảo hóa cũng chính là nền tảng của công  nghệ cloud-computing IaaS, nó có thể cho phép cung cấp tài nguyên lúc cần thiết và thu hồi lúc không cần.

Các giải pháp ảo hóa phổ biến:
  • kvm (tớ đang dùng cái này): đi kèm với kernel từ phiên bản 2.6.20. Hỗ trợ nhiều công cụ quản lý như virsh (CLI) , virt-manager (desktop GUI)... http://www.linux-kvm.org/page/Management_Tools (linux only)
  • virtualbox: sản phẩm của oracle, tớ từng dùng trước khi chuyển sang KVM, rất ok, không có vấn đề gì (Windows,Linux)
  • vmware: vmware có lẽ là cái tên nổi tiếng nhất trong thế giới ảo hóa. (Windows, Linux)
Vài điều hay ho sẽ viết thêm về đề tài này:
Vagrant: tool giúp tự động cài đặt các máy ảo http://docs.vagrantup.com/v1/docs/getting-started/why.html (hiện tại chỉ hỗ trợ virtualbox)

Bài viết này sẽ được update thêm...