- Sử dụng công cụ virt-manager hoặc web-virt để kết nối tới console máy ảo
- Phiên bản OpenStack sử dụng là Queens
- Hướng dẫn bao gồm 2 phần chính: thực hiện trên máy ảo cài OS và thực hiện trên KVM Host
Lưu ý: 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 tại đây
Bạn có thể dử dụng virt-manager hoặc virt-install để tạo máy ảo
qemu-img create -f qcow2 /var/lib/libvirt/images/win2k12r2.qcow2 30G
--name ws2008 --ram 4096 --vcpus 4
--network bridge=br0,model=virtio
--disk path=/var/lib/libvirt/images/win2k12r2.qcow2,format=qcow2,device=disk,bus=virtio
--cdrom /var/lib/libvirt/images/EN_Windows_Server_2008_R2-64-SP1.iso
--disk path=/var/lib/libvirt/images/virtio-win-0.1.141.iso,device=cdrom
--vnc --os-type windows --os-variant win2k8
Chú ý: để có thể sử dụng qemu-guest-agent để thay đổi password máy ảo thì phiên bản virio phải >= 0.1.126
1.11. Trong phần "Boot Options", chỉnh lại thứ tự boot, sau đó chọn "Begin Installation" để bắt đầu chạy máy ảo
1.13. Chỉnh sửa file .xml của máy ảo, bổ sung thêm channel trong <devices>
(để máy host giao tiếp với máy ảo sử dụng qemu-guest-agent), sau đó save lại
virsh edit Win2012
với Win2012
là tên máy ảo
...
<devices>
<channel type='unix'>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
</devices>
Đưa ISO"virtio-win.iso" vào CD ROM trống đã gắn ban đầu
Browse tới file ISO vừa đưa vào
Chọn Driver storage cho Windows 2k12R2
1.18. Lúc này máy ảo đã nhận ổ đĩa, tiến hành cài đặt OS, làm theo các hướng dẫn để cài như bình thường
2.1. Vào "Device Manager" để update driver cho NIC, cài đặt Baloon network driver để VM nhận card mạng
Copy /virtio-win-0.1.1/Baloon/2k12R2/amd64
từ CD Drive vào C:\
Chạy CMD, trỏ về thư mục amd64 vừa copy và chạy lệnh:
PS C:\Users\Administrator> cd C:\amd64
PS C:\amd6>. \blnsvr.exe -i
Kiểm tra trong services.msc
PCI Others
--> Browsers --> Ballon --> Install
Chú ý: qemu-guest-agent là một daemon chạy trong máy ảo, giúp quản lý và hỗ trợ máy ảo khi cần (có thể cân nhắc việc cài thành phần này lên máy ảo)
Vào "Device Manager", chọn update driver cho PCI Simple Communication Controller
Kiểm tra lại việc cài đặt Driver cho PCI Simple Communication Controller
Cài đặt qemu-guest-agent cho Windows Server 2k12, vào CD ROM virio và cài đặt phiên bản qemu-ga (ở đây là qemu-ga-x64
)
Cài đặt Driver PCI Device
để cho có thể nhận được thông số CPU
Kiểm tra lại việc cài đặt qemu-guest-agent
PS C:\Users\Administrator> Get-Service QEMU-GA
Kiểm tra lại version của qemu-guest-agent (phải đảm bảo version >= 7.3.2)
Download cloud base init cho Windows bản mới nhất tại đây
Tiến hành cài đặt
Trước khi "Finish" cài đặt, sửa lại file C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf
[DEFAULT]
username=Administrators
groups=Administrators
inject_user_password=true
first_logon_behaviour=no
config_drive_raw_hhd=true
config_drive_cdrom=true
config_drive_vfat=true
bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
verbose=true
debug=true
logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
logfile=cloudbase-init.log
default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
logging_serial_port_settings=COM1,115200,N,8
mtu_use_dhcp_config=true
ntp_use_dhcp_config=true
local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
Enable Sysprep và shutdown máy
virt-sparsify --compress /var/lib/libvirt/images/win2k12r2.qcow2 Windows-2012-64bit-2018.img
glance image-create --name Windows-2012-64bit-2018 \
--disk-format qcow2 \
--container-format bare \
--file /root/Windows-2012-64bit-2018.img \
--visibility=public \
--property hw_qemu_guest_agent=yes \
--progress
Thêm 2 metadata là 'hw_qemu_guest_agent' và 'os_type', với giá trị tương ứng là true
và windows
, sau đó save lại
Image đã sẵn sàng để launch máy ảo.
Tham khảo: