Hướng dẫn này giải thích cách bạn có thể chạy máy ảo với VirtualBox 5.1trên máy chủ Ubuntu 16.04 không có giao diện người dùng. Thông thường, bạn sử dụng VirtualBox GUI để quản lý máy ảo của mình, nhưng máy chủ không có môi trường máy tính để bàn. May mắn thay, VirtualBox đi kèm một công cụ có tên là VBoxHeadless cho phép bạn kết nối với các máy ảo thông qua kết nối máy tính từ xa, do đó không cần đến VirtualBox GUI.
... và thêm dòng sau vào đó:
Sau đó, chúng tôi tải xuống khóa công khai VirtualBox...
... và cập nhật cơ sở dữ liệu gói của chúng tôi:
Sau đó, chúng tôi cài đặt VirtualBox 5.1 như sau:
(Gói dkms đảm bảo rằng các mô-đun hạt nhân máy chủ VirtualBox được cập nhật đúng cách nếu phiên bản hạt nhân Linux thay đổi.)
Bắt đầu từ phiên bản 4.0, VirtualBox đã giới thiệu cái gọi là "gói mở rộng" và đã thuê ngoài một số chức năng như hỗ trợ kết nối máy tính từ xa (VRDP) vốn là một phần của các gói VirtualBox trước phiên bản 4.0 vào các gói mở rộng này. Vì chúng tôi cần kết nối máy tính từ xa để điều khiển máy ảo của mình, nên chúng tôi cần cài đặt gói mở rộng phù hợp ngay bây giờ. Truy cập http://www.virtualbox.org/wiki/Downloads và bạn sẽ tìm thấy liên kết đến gói mở rộng sau:
Tải xuống và cài đặt gói mở rộng như sau:
(Hãy đảm bảo rằng bạn tải phiên bản mới nhất từ trang web VirtualBox và sử dụng sudo để cài đặt tệp extpack bằng VBoxManage.)
Bây giờ chúng ta phải thêm người dùng sẽ chạy VirtualBox (administrator trong ví dụ này) vào nhóm vboxusers:
VirtualBox hiện đã được cài đặt và sẵn sàng để sử dụng.
để biết danh sách các công tắc khả dụng và (khuyến khích sử dụng!) hãy xem http://www.virtualbox.org/manual/ch08.html.
Bây giờ tôi sẽ tạo một máy ảo Ubuntu 16.04 Server với bộ nhớ 2048MB và ổ cứng 10GB từ ảnh iso Ubuntu 16.04 Server (mà tôi đã lưu trữ trong /home/administrator/iso/ubuntu-16.04-server-amd64.iso):
Bây giờ hãy tiến hành chương 3.3 để khởi động máy ảo và sau đó kết nối với máy ảo bằng máy khách máy tính từ xa như mô tả trong chương 4.
Ngoài ra, hãy sao chép tệp examplevm.vdi từ thư mục VDI cũ sang thư mục mới (ví dụ: /home/administrator/.VirtualBox/VDI/examplevm.vdi).
Sau đó, bạn phải đăng ký VM đã nhập:
(Thay thế Ubuntu 16.04 Server bằng tên VM của bạn.)
VBoxHeadless sẽ khởi động VM và máy chủ VRDP (Giao thức máy tính từ xa VirtualBox) cho phép bạn xem đầu ra của VM từ xa trên một máy khác.
Để dừng VM, hãy chạy
Để tạm dừng VM, hãy chạy
Để đặt lại VM, hãy chạy
Để tìm hiểu thêm về VBoxHeadless, hãy xem
và tại http://www.virtualbox.org/manual/ch07.html#vboxheadless.
Nhập tên máy chủ hoặc địa chỉ IP của máy chủ (không phải máy khách!):
Và voilà, bạn sẽ được kết nối với VM:
Cài đặt máy khách bằng apt:
Chỉ cần tìm kiếm remmina rồi nhấp đúp vào biểu tượng Remmina Client để khởi động RDP ứng dụng.
Trong Remmina Remote Desktop Client, nhấp vào biểu tượng dấu cộng để thêm kết nối máy tính từ xa mới:
Trong cửa sổ Remote Desktop Preference, điền tên cho cấu hình (như Ubuntu 16.04 Server), đảm bảo rằng RDP được chọn làm giao thức (nó sẽ được chọn theo mặc định), sau đó điền địa chỉ IP máy chủ - không phải IP của máy khách VirtualBox! - trong trường Server và chọn Độ sâu màu cao hơn mặc định là 8bpp - 16bpp là được. Sau đó nhấp vào Kết nối:
Và voilà, bạn sẽ được kết nối với VM:
(Nếu gói mở rộng đã được cài đặt khi bạn tạo máy ảo, kết nối máy tính từ xa sẽ tự động được bật.)
Sau đó, khởi động lại máy ảo của bạn.
1 Lưu ý sơ bộ
Tôi đã thử nghiệm điều này trên máy chủ Ubuntu 16.04 (hệ thống máy chủ) với địa chỉ IP 192.168.1.100, nơi tôi đăng nhập với tư cách là người dùng thông thường (tên người dùng administrator trong ví dụ này) thay vì root.2 Cài đặt VirtualBox
Để cài đặt VirtualBox 5.1 trên máy chủ Ubuntu 16.04, chúng tôi mở /etc/apt/sources.list...
Mã:
sudo nano /etc/apt/sources.list
Mã:
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Mã:
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc-O- | sudo apt-key add -
Mã:
sudo apt-get update
Mã:
sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1dkms
Bắt đầu từ phiên bản 4.0, VirtualBox đã giới thiệu cái gọi là "gói mở rộng" và đã thuê ngoài một số chức năng như hỗ trợ kết nối máy tính từ xa (VRDP) vốn là một phần của các gói VirtualBox trước phiên bản 4.0 vào các gói mở rộng này. Vì chúng tôi cần kết nối máy tính từ xa để điều khiển máy ảo của mình, nên chúng tôi cần cài đặt gói mở rộng phù hợp ngay bây giờ. Truy cập http://www.virtualbox.org/wiki/Downloads và bạn sẽ tìm thấy liên kết đến gói mở rộng sau:
Mã:
VirtualBox 5.1 Oracle VM VirtualBox Extension Pack
Mã:
cd /tmp
wgethttp://download.virtualbox.org/virtualbox/5.1.0/Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack
sudo VBoxManage extpack installOracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack
Bây giờ chúng ta phải thêm người dùng sẽ chạy VirtualBox (administrator trong ví dụ này) vào nhóm vboxusers:
Mã:
sudo adduser administrator vboxusers
3 Sử dụng VirtualBox trên Dòng lệnh
3.1 Tạo VM
Để tạo VM trên dòng lệnh, chúng ta có thể sử dụng lệnh VBoxManage. Xem
Mã:
VBoxManage --help
Bây giờ tôi sẽ tạo một máy ảo Ubuntu 16.04 Server với bộ nhớ 2048MB và ổ cứng 10GB từ ảnh iso Ubuntu 16.04 Server (mà tôi đã lưu trữ trong /home/administrator/iso/ubuntu-16.04-server-amd64.iso):
Mã:
VBoxManage createvm --name "Ubuntu 16.04 Server" --register
VBoxManage modifyvm "Ubuntu 16.04 Server" --memory 2048 --acpi trên --boot1 dvd --nic1 bridged --bridgeadapter1ens33
VBoxManage createhd --filename /home/administrator/Ubuntu_16_04_Server.vdi --size 10000
VBoxManage storagectl "Ubuntu 16.04 Server" --name "IDE Controller" --add ide
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium/home/administrator/Ubuntu_16_04_Server.vdi
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/administrator/iso/ubuntu-16.04-server-amd64.iso
VBoxManage modifyvm "Máy chủ Ubuntu 16.04" --vrde trên
3.2 Nhập VM hiện có
Giả sử bạn có VM có tên là examplevm mà bạn muốn sử dụng lại trên máy chủ này. Trên máy chủ cũ, bạn sẽ có một thư mục Machines/examplevm trong thư mục VirtualBox; Machines/examplevm sẽ chứa tệp examplevm.xml. Sao chép thư mục examplevm (bao gồm tệp examplevm.xml) vào thư mục Machines mới của bạn (nếu tên người dùng của bạn là quản trị viên, thì đây là /home/administrator/.VirtualBox/Machines - kết quả sẽ là /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).Ngoài ra, hãy sao chép tệp examplevm.vdi từ thư mục VDI cũ sang thư mục mới (ví dụ: /home/administrator/.VirtualBox/VDI/examplevm.vdi).
Sau đó, bạn phải đăng ký VM đã nhập:
Mã:
VBoxManage registervm Machines/examplevm/examplevm.xml
3.3 Khởi động VM bằng VBoxHeadless
Bất kể bạn tạo VM mới hay nhập VM cũ, bạn đều có thể khởi động VM bằng lệnh:
Mã:
VBoxHeadless --startvm "Ubuntu 16.04 Server"
VBoxHeadless sẽ khởi động VM và máy chủ VRDP (Giao thức máy tính từ xa VirtualBox) cho phép bạn xem đầu ra của VM từ xa trên một máy khác.
Để dừng VM, hãy chạy
Mã:
VBoxManage controlvm "Ubuntu 16.04 Server" poweroff
Mã:
VBoxManage controlvm "Ubuntu 16.04 Server" pause
Mã:
VBoxManage controlvm "Ubuntu 16.04 Server" reset
Mã:
VBoxHeadless --help
4 Kết nối với VM từ Máy tính từ xa
4.1 Windows
Bạn có thể sử dụng tiện ích Remote Desktop Connection tích hợp sẵn để kết nối với VM.Nhập tên máy chủ hoặc địa chỉ IP của máy chủ (không phải máy khách!):
Và voilà, bạn sẽ được kết nối với VM:
4.2 UbuntuDesktop
Trên máy tính để bàn Ubuntu, bạn có thể sử dụng Remmina Remote Desktop Client hoặc gnome-rdp để kết nối với VM.Cài đặt máy khách bằng apt:
Mã:
sudo apt-get install remminaremmina-plugin-rdp
Trong Remmina Remote Desktop Client, nhấp vào biểu tượng dấu cộng để thêm kết nối máy tính từ xa mới:
Trong cửa sổ Remote Desktop Preference, điền tên cho cấu hình (như Ubuntu 16.04 Server), đảm bảo rằng RDP được chọn làm giao thức (nó sẽ được chọn theo mặc định), sau đó điền địa chỉ IP máy chủ - không phải IP của máy khách VirtualBox! - trong trường Server và chọn Độ sâu màu cao hơn mặc định là 8bpp - 16bpp là được. Sau đó nhấp vào Kết nối:
Và voilà, bạn sẽ được kết nối với VM:
4.3 Nếu Kết nối Máy tính Từ xa không hoạt động...
Nếu kết nối máy tính từ xa không hoạt động, có thể bạn đã bỏ lỡ bước tôi cài đặt gói mở rộng VirtualBox trong chương 2. Vui lòng cài đặt gói mở rộng ngay bây giờ, dừng máy ảo của bạn (xem chương 3.3) và sửa đổi máy ảo của bạn để chấp nhận kết nối máy tính từ xa:
Mã:
VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on
Sau đó, khởi động lại máy ảo của bạn.
5 Liên kết
- VirtualBox: http://www.virtualbox.org/
- Ubuntu: http://www.ubuntu.com/