Saturday, September 28, 2024

[KVM] Hướng dẫn đóng image Windows Server 2012 R2 Standard với cloud-init và QEMU Guest Agent

-

Bạn cần tải ISO của OS tại trang chủ của Microsoft và file virio driver phiên bản stable theo link dưới.

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.141-1/virtio-win-0.1.141.iso

Đầu tiên bạn hãy tạo 1 ổ đĩa để chứa OS theo lệnh sau.

qemu-img create -f qcow2 /kvm-volumes-ssd/win2k12r2.qcow2 30G

Hãy verify lại ổ đĩa đã tạo.

$ qemu-img info /kvm-volumes-ssd/win2k12r2.qcow2
image: /kvm-volumes-ssd/win2k12r2.qcow2
file format: qcow2
virtual size: 30 GiB (32212254720 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

Hãy chạy đoạn cli dưới để khởi tạo máy ảo.

qemu-img info /kvm-volumes-ssd/win2k12r2.qcow2
virt-install --connect qemu:///system \
--name win2k12 --ram 4096 --vcpus 4 \
--network network:bridged-network,model=virtio \
--disk path=/kvm-volumes-ssd/win2k12r2.qcow2,format=qcow2,device=disk,bus=virtio \
--cdrom /kvm-volumes-hdd/images/windows_server_2012r2.iso \
--disk path=/kvm-volumes-hdd/images/virtio-win-0.1.141.iso,device=cdrom \
--vnc --os-type windows --os-variant win2k8 \
--console pty,target_type=serial

Bạn sẽ nhận được output như vậy trên màn hình cli.

WARNING  Graphics requested but DISPLAY is not set. Not running virt-viewer.
WARNING  No console to launch for the guest, defaulting to --wait -1

Starting install...
Domain installation still in progress.
Waiting for installation to complete.

Để cài đặt mới hệ điều hành win2k12, bạn cần một màn hình console và ở đây mình sử dụng cockpit để console vào VM. Bạn nhìn dưới sẽ thấy máy ảo win2k12 của mình đã tạo bằng cli đã xuất hiện.

Hãy bấm vào tab consoles để kết nối console vào máy ảo.

Bấm next để qua trang cài đặt mới, chọn bản GUI Standard.

Do mình đang sử dụng disk loại virtio nên win2k12 không thấy được disk dạng này, để làm cho nó thấy disk chúng ta cài đặt drive cho nó bằng cách click vào Load Driver.

Chọn vào ổ CD virtio-win-0.1.141.iso mà chúng ta đã mount ở bước trên.

Tìm đến thư mục viostor-> 2k12R2 – > amd64 và bấm ok.

Bạn sẽ thấy hệ thống load 1 file inf như dưới, hãy bấm next để tiếp tục.

Bây giờ bạn đã thấy ổ đĩa xuất hiện, hãy bấm new để tạo disk mới hoặc bạn muốn cài luôn thì bấm next để tiếp tục.

Quá trình cài đặt win2k12 bắt đầu.

Sau khi cài xong, hãy tạo password cho tài khoản administrator.

Sau khi login được vào windows hãy vào phần Computer Management -> Device Manager. Tại phần Other devices bấm chuột phải vào Ethernet Controller và chọn Update Driver Software.

Bấm vào Browse my computer for driver software

Bạn hãy tìm đến ổ đĩa CD virtio-win-0.1.141.iso đã mount như phần trên.

Tìm đến NetKVM -> 2k12R2 -> amd64 và bấm ok.

Bấm next để tiếp tục.

Bấm Install để tiếp tục cài đặt.

Sau khi cài đặt xong, mạng đã kết nối. Bạn có thể bấm yes để tiếp tục.

Sau khi cài đặt xong networt, bạn sẽ thấy thông tin network như dưới.

Cài đặt Baloon driver cho Memory

Hãy vào ổ đĩa mount CD virtio-win-0.1.141.iso và tìm đến Baloon/2k12R2/amd64, sao chép thư muc amd64 sang ổ đĩa C:/

Sao chép xong bạn sẽ có thư mục như dưới.

Tại thư mục này bạn hãy vào PowerShell bằng các bước như mình chỉ để powershell vào thẳng thư mục hiện tại bạn đang đứng luôn (cụ thể là thư mục C:/amd64).

Từ thư mục C:/amd64 hãy chạy lệnh dưới.

.\blnsvr.exe -i

Bạn sẽ có kết quả như dưới.

Bạn có thể vào kiểm tra service Balloon đã xuất hiện.

Bây giờ bạn hãy cài đặt Baloon driver cho CPU.

Chọn Browse my computer for driver software.

Hãy tìm đến ổ đĩa CD virtio-win-0.1.141.iso như các bước ở trên và tìm tới thư mục E:\Balloon\2k12R2\amd64

Sau khi cài đặt nó xong, bạn sẽ thấy Driver Balloon đã xuất hiện.

Kết quả.

Giờ hãy vào ổ đĩa CD virtio-win-0.1.141.iso, tìm đến thư mục guest-agent.

Sao chép qemu-ga-x64 vào đĩa C:/ và tiến hành chạy để cài đặt nó.

Hộp thoại cài đặt sẽ biến mất khi hệ thống cài đặt xong. Để xác nhận kết quả cài đặt thành công, bạn hãy vào powershell và chạy lệnh Get-Service QEMU-GA. Nếu đầu ra xuất hiện như dưới là quá trình cài đặt thành công.

Kiểm tra lại version của qemu-guest-agent (phải đảm bảo version >= 7.3.2).

Hãy cài đặt một số cài đặt ví dụ như off firewall.

Hoặc enable remote desktop.

Cài đặt cloud-init bản mới nhất.

Download cloud base init cho Windows bản mới nhất tại đây. Sau khi tải xong, hãy cài đặt bằng cách chạy nó.

Chọn I accept the terms in the License Agrmement.

Giờ nguyên config và bấm next.

Phần username điền vào user administrator, phần Serial chọn COM1 và bấm Next.

Chọn Install.

Tích vào Run Sysprep… Shutdown …

Bấm Finish, quá trình Sysprep bắt đầu.

File cloudbase nằm theo đường dẫn như dưới.

C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf

Convert *.qcow2 sang định dạng *.img để sử dụng. Đầu tiên hãy cài đặt tool dưới để có thể convert.

sudo apt install libguestfs-tools -y

Sau khi cài đặt xong, hãy chạy lệnh dưới đến convert (bạn hãy thay các trường đúng với môi trường của bạn nhé).

$ virt-sparsify --compress /kvm-volumes-ssd/win2k12r2.qcow2 /kvm-volumes-hdd/images/windows-2012-64bit.img
[   0.6] Create overlay file in /tmp to protect source disk
[   0.7] Examine source disk
◓ 25% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════⟧ --:--
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--
[   9.5] Fill free space in /dev/sda1 with zero
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ --:--
[  15.2] Fill free space in /dev/sda2 with zero
 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
[ 320.5] Copy to destination and make sparse

Sau khi quá trình convert hoàn thành, bạn sẽ có file image mới windows-2012-64bit.img để sử dụng.

Chúc các bạn thành công.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories