QTM - Trong bài viết sau, Quản Trị Mạng sẽ giới thiệu với các bạn cách thức chạy máy ảo với Sun VirtualBox 3.1.x trên hệ thống headless CentOS 5.4 server.
Thông thường, mọi người sử dụng VirtualBox GUI (giao diện) để quản lý hệ thống máy ảo, nhưng đối với những server không có giao diện hoặc môi trường desktop thì phải xử lý thế nào? May mắn thay, VirtualBox có 1 công cụ đi kèm – VboxHeadless, cho phép người sử dụng đến hệ thống máy ảo thông qua remote desktop connection, do đó không cần đến VirtualBox GUI.
1. Lưu ý sơ bộ
Trong bài viết này sử dụng hệ thống CentOS 5.4 server (host system) với địa chỉ IP: 192.168.0.100, đăng nhập với tài khoản người dùng bình thường (tên đăng nhập là admin), nằm trong nhóm root.
Nếu bạn chỉ có 1 tài khoản root, và không có tài khoản người dùng bình thường, thì hãy tạo như sau (tên đăng nhập admin, thuộc nhóm admin):
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin
Tạo mật khẩu cho cho tài khoản vừa tạo:
# passwd admin
Và tiến hành đăng nhập bằng tài khoản đó.
2. Cài đặt VirtualBox
Để cài đặt VirtualBox 3.1.x trên CentOS 5.4 server, chúng ta cần được cấp quyền root, vì vậy chạy lệnh sau:
$ su
Tiếp theo, tải và đăng ký khóa rpm public của Sun:
# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc
# rpm --import sun_vbox.asc
# rm -f sun_vbox.asc
Kích hoạt VirtualBox OpenSUSE repository trên hệ thống của chúng ta:
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo
Sau khi kết thúc, việc cài đặt VirtualBox 3.1.x sẽ đơn giản hơn rất nhiều:
# yum install VirtualBox-3.1
Sau đó, tiến hành thêm tài khoản người dùng sẽ sử dụng VirtualBox (ở đây là admin) vào nhóm vboxusers:
# /usr/sbin/usermod -G vboxusers admin
VirtualBox đã được cài đặt thành công và sẵn sàng sử dụng.
Gõ lệnh:
# exit
để thoát khỏi tài khoản root và trở lại người dùng bình thường (admin).
3. Sử dụng VirtualBox bằng dòng lệnh
Tạo VM: để tạo VM (virtual machine – máy ảo) bằng dòng lệnh, chúng ta cần tìm hiểu về VboxManage. Gõ lệnh:
$ VBoxManage --help
để liệt kê các cú pháp, hoặc có thể xem thêm tại đây.
Tiếp theo, chúng ta sẽ tạo Ubuntu 9.10 Server VM với bộ nhớ 256MB và 10GB dung lượng từ file iso của Ubuntu 9.10 Server (giả sử lưu trữ tại /home/ubuntu-9.10-server-amd64.iso):
$ VBoxManage createvm --name "Ubuntu 9.10 Server" --register
$ VBoxManage modifyvm "Ubuntu 9.10 Server" --memory 256 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_9_10_Server.vdi --size 10000 --register
$ VBoxManage storagectl "Ubuntu 9.10 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_9_10_Server.vdi
$ VBoxManage storageattach "Ubuntu 9.10 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-9.10-server-amd64.iso
Nhập dữ liệu từ VM có sẵn:
Giả sử rằng chúng ta đã có VM với tên gọi examplevm, mà muốn sử dụng nhiều lần trên host này. Trên hệ thống cũ, chúng ta có thư mục lưu trữ Machines/examplevm của VirtualBox, và trong đó có chứa file examplevm.xml. Copy thư mục examplevm (bao gồm cả file examplevm.xml) đến thư mục Machines mới (nếu bạn sử dụng tên đăng nhập admin, đường dẫn đầy đủ sẽ là /home/admin/.VirtualBox/Machines – và kết quả thu được /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).
Bên cạnh đó, copy thêm file examplevm.vdi từ thư mục VDI cũ tới thư mục mới (ở đây là /home/admin/.VirtualBox/VDI/examplevm.vdi):
Sau đó, tiến hành đăng ký chức năng nhập VM:
$ VBoxManage registervm Machines/examplevm/examplevm.xml
Bắt đầu hoạt động VM với VBoxHeadless:
Bất kể rằng nếu bạn tạo mới hay nhập VM từ nguồn có sẵn, đều có thể bắt đầu với lệnh:
$ VBoxHeadless --startvm "Ubuntu 9.10 Server" (thay thế Ubuntu 9.10 Server với tên VM của bạn)
VBoxHeadless sẽ khởi động VM và VRDP (viết tắt của VirtualBox Remote Desktop Protocol) server và cho phép bạn nhìn thấy đầu ra của VM điều khiển trực tiếp trên máy khác.
Các lệnh cơ bản của VM:
$ VBoxManage controlvm "Ubuntu 9.10 Server" poweroff
$ VBoxManage controlvm "Ubuntu 9.10 Server" pause
$ VBoxManage controlvm "Ubuntu 9.10 Server" reset
Hoặc gõ lệnh sau:
$ VBoxHeadless --help
để hiển thị thông tin chi tiết về VM, hoặc các bạn có thể tham khảo thêm tại đây
4. Kết nối tới VM từ liên kết Remote Desktop
Với Windows XP: sử dụng chức năng Remote Desktop Connection để kết nối tới VM:
Gõ giá trị hostname hoặc địa chỉ IP của hệ thống host (không phải guest):
Và kết quả là đây:
Với Linux: trên hệ điều hành Linux desktop, bạn có thể dùng lệnh rdesktop để kết nối tới VM. Ở đây sử dụng Fedora 12 desktop.
Trên Fedora 12, bạn phải cài đặt rdesktop trước tiên. Ở ứng dụng Terminal (Applications > System Tools > Terminal):
và trở thành tài khoản root:
$ su
Sau đó cài đặt rdesktop...
# yum install rdesktop
Thoát khỏi root:
# exit
Tiếp theo gõ lệnh sau:
$ rdesktop -a 16 192.168.0.100
(192.168.0.100 là địa chỉ IP của host, có thể thay thế giá trị này với địa chỉ IP host của bạn, -a 16 nghĩa là hệ màu 16 bit)
Và đây là thành quả:
Tài liệu tham khảo: VirtualBox và CentOS.
Chúc các bạn thành công!