Skip to content

Latest commit

 

History

History
277 lines (177 loc) · 10.2 KB

Windows-2012-64bit-2018.md

File metadata and controls

277 lines (177 loc) · 10.2 KB

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

Chú ý:

  • 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

Bước 1: Tạo máy ảo bằng kvm

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

virt-install --connect qemu:///system \

--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.3. Trên máy host KVM, bật giao diện virt-manager và khởi tạo, khai báo tên máy ảo

Create VM 1

1.4. Chọn đường dẫn tới file image tạo ban đầu, và khai báo OS type của máy ảo

Create VM 2

1.5. Khai báo CPU và RAM cho máy ảo

Create VM 3

1.6. Kích vào lựa chọn "Customize configuration before install" sau đó Finish

Create VM 4

1.7.Chỉnh lại "Disk bus" và "Storage Format" của Disk 1

Create VM 5

1.8. Lựa chọn "Add hardware", sau đó add thêm CD ROM với ISO Windows 2012 Standard

Create VM 6

1.9. Lựa chọn "Add hardware", sau đó add thêm 1 CD ROM trống

Create VM 6

1.10. Trong phần "NIC", lựa chọn giải mạng NAT

Create VM 7

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

Create VM 8

1.12. Tắt máy ảo

Create VM 9

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>

1.14. Bật máy ảo để cài đặt OS

Create VM 10

1.15. Lựa chọn phiên bản cài đặt (Windows Server 2012 R2 Standard Evaluation GUI)

Create VM 11 Create VM 12

1.16. Lựa chọn chỉ cài đặt Windows không tự động Upgrade

Create VM 13

1.17. Máy ảo sẽ không tự động load ổ đĩa cứng

Create VM 14

Đưa ISO"virtio-win.iso" vào CD ROM trống đã gắn ban đầu

Create VM 15

Browse tới file ISO vừa đưa vào

Create VM 16

Chọn Driver storage cho Windows 2k12R2

Create VM 17 Create VM 18

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

Create VM 19 Create VM 20

1.19. Sau khi cài xong OS, tắt VM và sửa lại Boot Options, lựa chọn Boot từ Hard Disk và bật máy ảo

Create VM 21

2. Xử lý image sau khi đã cài xong OS

2.1. Tạo password administrator cho máy ảo

Create VM 22

2.1. Vào "Device Manager" để update driver cho NIC, cài đặt Baloon network driver để VM nhận card mạng

Create VM 23 Create VM 24 Create VM 25 Create VM 26 Create VM 27

2.2. Kiểm tra lại việc cài đặt Driver cho NIC

Create VM 28

2.2.1 Cài đặt Baloon driver cho Memory

Copy /virtio-win-0.1.1/Baloon/2k12R2/amd64 từ CD Drive vào C:\ Create VM 29

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

Create VM 30

Kiểm tra trong services.msc

Create VM 31

2.2.2 Cài đặt Baloon driver cho CPU

PCI Others --> Browsers --> Ballon --> Install

2.3. Cài đặt qemu-guest-agent

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

Create VM 32 Create VM 33 Create VM 34

Kiểm tra lại việc cài đặt Driver cho PCI Simple Communication Controller

Create VM 35

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)

Create VM 36

Cài đặt Driver PCI Device để cho có thể nhận được thông số CPU

Create VM 36.2

Kiểm tra lại việc cài đặt qemu-guest-agent

PS C:\Users\Administrator> Get-Service QEMU-GA

Create VM 37

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

qemu-ga version

2.3. Disable Firewall và enable remote desktop

disable FW enable RDP

2.4. 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

Create VM 38

Tiến hành cài đặt

Create VM 39 Create VM 40 Create VM 41 Create VM 42

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

Create VM 43 Create VM 44

3.Thực hiện trên Host KVM

3.1. Dùng lệnh sau để tối ưu kích thước image:

virt-sparsify --compress /var/lib/libvirt/images/win2k12r2.qcow2 Windows-2012-64bit-2018.img

3.2. Upload image lên glance

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

3.3. Kiểm tra việc upload image đã thành công hay chưa

Create VM 45

3.4. Chỉnh sửa metadata của image upload

Create VM 46

Thêm 2 metadata là 'hw_qemu_guest_agent' và 'os_type', với giá trị tương ứng là truewindows, sau đó save lại Create VM 47

Image đã sẵn sàng để launch máy ảo.

Tham khảo:

[1] - http://www.stratoscale.com/blog/storage/deploying-ceph-challenges-solutions/?utm_source=twitter&utm_medium=social&utm_campaign=blog_deploying-ceph-challenges-solutions

[2] - https://pve.proxmox.com/wiki/Qemu-guest-agent

[3] - https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualization_Administration_Guide/sect-QEMU_Guest_Agent-Running_the_QEMU_guest_agent_on_a_Windows_guest.html

[4] - https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/chap-QEMU_Guest_Agent.html