這幾天玩了一下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虛擬機就搭建好了。
還有別的玩法,後面我再寫。