Centos7利用kvm搭建Windows虛擬機

這幾天玩了一下kvm虛擬化,真的頗有意思,我把這幾天踩的坑,還有收穫,都記錄下來,做爲之後的複習和檢查。python

首先說一下個人基本邏輯,我有一臺win7的筆記本,個人底層虛擬化是使用VMWare構建的Centos7虛擬機,我如今須要在Centos7虛擬機中搭建kvm虛擬機,而且在裏面安裝win2012server系統。windows

物理機:win7筆記本bash

底層虛擬化:VMWare 虛擬化 Centos7 x64ui

上層虛擬化:kvm 虛擬化 win2012spa

首先咱們須要查看本身的物理機和VM機器是否支持虛擬化,這點很重要,由於Kvm須要虛擬化vmx支持。rest

執行code

egrep '(vmx|svm)' --color=always /proc/cpuinfo

 能夠看見帶有vmx,說明支持vmx虛擬化orm

若是沒有這個輸出,說明你沒有開啓vmx虛擬化支持,因此,你須要在VMware虛擬機設置裏,找到虛擬化引擎,勾選虛擬化Intel,就能夠了。server

接下來你須要安一大堆東西,這些東西都是支持kvm運行的,直接複製粘貼而後運行吧。blog

yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools

安裝VNC,這玩意很是重要,是後面鏈接安裝必需要的玩意兒。

yum -y install vnc-server yum -y install tigervnc-server

啓動libvirtd服務

/sbin/service libvirtd restart ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm

接下來是重頭戲,搭配網卡,不然到時候安好了上不去網就抓瞎了

首先,咱們的網卡確認是橋接模式,新建一張網卡br0:

建立網橋touch /etc/sysconfig/network-scripts/ifcfg-br0 vi /etc/sysconfig/network-scripts/ifcfg-br0
在ifcfg-br0添加:
DEVICE=br0 TYPE=Bridge ONBOOT=yes BOOTPROTO=static IPADDR=公網IP NETMASK=公網IP掩碼 GATEWAY=公網IP網關
接下來修改一下你本身的網卡配置,個人網卡是en33
vi /etc/sysconfig/network-scripts/ifcfg-en33
修改幾個地方:
BRIDGE="br0"
ONBOOT="yes"
BOOTPROTO="none"
其餘不變
保存以後重啓network服務
service network restart

若是沒有問題的話,你這裏會顯示

查看一下網橋:brctl show

能夠看見以下,這樣就沒錯了。

 

好了,重頭戲結束了,剩下的難點很少,繼續吧。

在kvm中,安裝windows須要使用virtio驅動,這個驅動是安裝windows中必需要的,不然就會找不到硬盤,咱們先下載驅動。

注意:在配置完網卡之後,你可能會碰見yum install error 的問題,不用擔憂,請執行 vi /etc/resolv.conf,添加 nameserver :8.8.8.8

 

安裝virtio驅動:

wget https://fedorapeople.org/groups/virt/virtio-win/virtio-win.repo -O /etc/yum.repos.d/virtio-win.repo
yum install virtio-win -y

最後就是搭建一個虛擬機:

建立一個虛擬機磁盤:
qemu-img create -f qcow2 win2012.img 40G
建立虛擬機,這是我本身的配置,大家可能要本身修改一下
virt-install -n win2012 --vcpus=2 --ram=1024 --os-type=windows --os-variant=win2k12 \
-c /vm/iso/cn_windows_server_2012_r2_sp1_x64.iso \
--disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy \
--disk path=/vm/win2012.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 \
--noautoconsole

命令解釋:

1 virt-install 
2 -n win2012 3 --vcpus=2      #分配兩個CPU給這臺機器
4 --ram=1024     #分配1024內存
5 --os-type=windows #類型是windows 6 --os-variant=win2k12 -c /vm/iso/cn_windows_server_2012_r2_sp1_x64.iso #指向鏡像 7 --disk path=/usr/share/virtio-win/virtio-win-0.1.126_amd64.vfd,device=floppy #指向驅動virtio-win-0.1.126_amd64 8 --disk path=/vm/win2012.img,format=qcow2,bus=virtio --graphics vnc,listen=0.0.0.0 #指向虛擬磁盤wind012.img,默認端口5900
9 --noautoconsole

查看虛擬機:

執行完上面哪些命令之後,你會看見

執行查看虛擬機的命令:virsh list --all

你已經有了一個虛擬機了,如今你只須要安裝系統。

而後連接機器

接下來就是安裝windows那一套,老樣子,我已經安過,就不展現。

這樣一個kvm虛擬機就搭建好了。

還有別的玩法,後面我再寫。

相關文章
相關標籤/搜索