Centos 7 KVM安装win10
KVM架構(gòu):
KVM 是基于虛擬化擴展(Intel VT 或者 AMD-V)的 X86 硬件的開源的 Linux 原生的全虛擬化解決方案。KVM 中,虛擬機被實現(xiàn)為常規(guī)的 Linux 進程,由標(biāo)準(zhǔn) Linux 調(diào)度程序進行調(diào)度;
虛機的每個虛擬 CPU 被實現(xiàn)為一個常規(guī)的 Linux 進程。這使得 KMV 能夠使用 Linux 內(nèi)核的已有功能。
但是,KVM 本身不執(zhí)行任何硬件模擬,需要客戶空間程序通過 /dev/kvm 接口設(shè)置一個客戶機虛擬服務(wù)器的地址空間,向它提供模擬的 I/O,并將它的視頻顯示映射回宿主的顯示屏。
目前這個應(yīng)用程序是 QEMU。
?
KVM 的功能列表
KVM 所支持的功能包括:
支持CPU 和 memory 超分(Overcommit)
支持半虛擬化I/O (virtio)
支持熱插拔 (cpu,塊設(shè)備、網(wǎng)絡(luò)設(shè)備等)
支持對稱多處理(Symmetric Multi-Processing,縮寫為 SMP )
支持實時遷移(Live Migration)
支持 PCI 設(shè)備直接分配和 單根I/O 虛擬化 (SR-IOV)
支持 內(nèi)核同頁合并 (KSM )
支持 NUMA (Non-Uniform Memory Access,非一致存儲訪問結(jié)構(gòu) )
?
KVM 工具集合
libvirt:操作和管理KVM虛機的虛擬化 API,使用 C 語言編寫,可以由 Python,Ruby, Perl, PHP, Java 等語言調(diào)用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等 Hypervisor。
Virsh:基于 libvirt 的 命令行工具 (CLI)
Virt-Manager:基于 libvirt 的 GUI 工具
virt-v2v:虛機格式遷移工具
virt-* 工具:包括 Virt-install (創(chuàng)建KVM虛機的命令行工具), Virt-viewer (連接到虛機屏幕的工具),Virt-clone(虛機克隆工具),virt-top 等
sVirt:安全工具
?
該實驗是用的VMware 12 pro
(每行前面帶 # 號的都是一條命令,沒帶 # 號的都是執(zhí)行帶 # 號的命令后出來的結(jié)果)
開始安裝:
在VMware 12 pro 中裝一個centos 7
在 “編輯虛擬機設(shè)置” --->"處理器"--->勾選"虛擬化 Intel VT-x/EPT 或 AMD-V/RVI" 和 "虛擬化CPU性能計數(shù)器"
--->開啟虛擬機---> 執(zhí)行 cat /proc/cpuinfo |egrep "vmx|svm" # 看系統(tǒng)是否支持虛擬化
# yum -y install vim lrzsz
# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
# uname -a
Linux bogon 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
# mount /dev/sr0 /mnt/usb1 # 掛載光盤
# yum -y install qemu-kvm virt-manager python-virtinst qemu-kvm-tools libvirt virt-install libvirt-python # 其中第2-4個是KVM的管理工具
# lsmod |grep kvm # 確定是否正確加載kvm模塊
# reboot ? # 重啟后下面的命令才管用,否則會出錯
# systemctl enable libvirtd ? ? # 將libvitd服務(wù)加入開機自啟
# systemctl start libvirtd # 啟動libvitd服務(wù)
# systemctl status libvirtd # 查看libvitd服務(wù)的狀態(tài)
# virsh -c qemu:///system list (或者virsh ?list) # 如出現(xiàn)下面的信息則表明kvm成功安裝
Id 名稱 狀態(tài)
----------------------------------------------------
網(wǎng)卡配置:
# cd /etc/sysconfig/network-scripts
# cp ifcfg-ens33 ifcfg-br0
# vim ifcfg-ens33
DEVICE=ens33
BRIDGE=br0
ONBOOT=yes
# vim ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.0.223
NETMASK=255.255.255.0
GATEWAY=192.168.0.2
DNS1=219.xxx.xxx.xx
DNS2=219.xxx.xxx.xx # 我這里是用的centos做的網(wǎng)關(guān)服務(wù)器上的網(wǎng),所以我這里寫的是外網(wǎng)的dns
開啟轉(zhuǎn)發(fā)功能并修改ulimit參數(shù)
# echo 1 > /proc/sys/net/ipv4/ip_forward
# /bin/echo "* soft nproc 65500" >>/etc/security/limits.conf
# /bin/echo "* hard nproc 65500" >>/etc/security/limits.conf
# /bin/echo "* soft nofile 65500" >>/etc/security/limits.conf
# /bin/echo "* hard nofile 65500" >>/etc/security/limits.conf
?
拷貝win10鏡像:
# dd if=/dev/sr0 of=/mnt/usb2/win10.iso
注:如果是centos系統(tǒng),則把centos鏡像掛載上去(sr0里面就是centos的系統(tǒng)),然后 of 時指定位置和名字即可
創(chuàng)建虛擬機硬盤:
# mkdir /kvmdir # 創(chuàng)建虛擬硬盤的存放位置
# qemu-img create -f qcow2 /kvmdir/opop.img 500G # 創(chuàng)建一個500G的qcow2格式并且名為opop的鏡像
輸出:Formatting '/kvmdir/opop.img', fmt=qcow2 size=53687091200 encryption=off cluster_size=65536 lazy_refcounts=off
# ls -al /kvmdir/ # 查看鏡像
-rw-r--r-- 1 root root 197632 5月 2 09:39 opop.img
創(chuàng)建虛擬機:
virt-install --virt-type kvm \
--name win10_64 \ #?指定虛擬機的名稱
--memory 4096 \ #?指定虛擬機的內(nèi)存用量
--cdrom=/mnt/usb2/win10.iso \ ? # 指定cdroom的位置?
--boot cdrom \ # 引導(dǎo)時從cdroom啟動
--disk path=/kvmdir/opop.img,bus='ide' ?\ # 硬盤的位置和硬盤接口的類型
--cpu host-model-only \ # cpu的模式,man virt-install ?可查到該項
--network=default,model='e1000' \ # 網(wǎng)卡的定義和速率
--graphics vnc,listen=0.0.0.0 \ ? ?#?指定圖形界面和指定連接工具(vnc)并監(jiān)聽所有端口
--vnc?--vncport=5900 # 指定VNC的端口
--vcpus 5 \ ?#?指定虛擬機的虛擬 CPU (Virtual CPU,VCPU) 數(shù)量?
--noautoconsole \ ?# 無控制臺
--os-type=windows \ # 指定系統(tǒng)的類型(這里指定為windows)
開始安裝提示信息:
開始安裝......
域安裝仍在進行。您可以重新連接 # 出現(xiàn)這個后才能用VNC進行連接
到控制臺以便完成安裝進程。
-----------------------------------------------------------------------------------------------------------------------------------
創(chuàng)建虛擬機時的提示錯誤和解決辦法:
ERROR internal error: process exited while connecting to monitor: Cannot set up guest memory 'pc.ram': Cannot allocate memory
解決辦法:
# vim /etc/libvirt/qemu.conf
user = “root” ? ?# 該項去星號
group = "root" # 該項去星號
# 這個問題是你的虛擬機的內(nèi)存有點小,虛擬機的內(nèi)存小的同時還來帶一臺機器,所以會報錯。
剛開始我設(shè)置的內(nèi)存是24G(出錯),后來設(shè)置成16G(出錯),后來設(shè)置成10G(也出錯了),后來設(shè)置成2G能起來了
后來我把VMware的內(nèi)存調(diào)到32G后就能正常的創(chuàng)建4G內(nèi)存的虛機了
-----------------------------------------------------------------------------------------------------------------------------------
然后用VNC連接就會看到win10的安裝畫面:
VNC地址:
https://pan.baidu.com/s/15Mtu-il20XxWHkJEYOHaKQ 密碼:l94k
打開VNC客戶端,輸入本機ip:5900(第一個安裝的系統(tǒng)默認(rèn)就是5900,第二個是5901,以此類推)可連接到所通過vmvare創(chuàng)建的kvm虛擬機上
-----------------------------------------------------------------------------------------------------------------------------------
注:上面的 virsh -c qemu:///system list 命令解釋:
-c是--connect的意思
官方:
qemu:///system
For creating KVM and QEMU guests to be run by thesystem libvirtd instance.
This is the default modehat virt-manager uses, and what most KVM users want.
翻譯:
QEMU:///系統(tǒng)
用于創(chuàng)建由KVM和QEMU運行的客人系統(tǒng)libvirtd實例。
這是默認(rèn)模式該virt-manager使用,以及大多數(shù)KVM用戶想要的。
-----------------------------------------------------------------------------------------------------------------------------------
在VMware 12 pro上常見操作命令:
yum -y install numactl
numactl --hardware # 查看主機上的CPU物理情況
-----------------------------------------------------------------------------------------------------------------------------------
客戶機系統(tǒng)三種模式:
Guest 模式: 負(fù)責(zé)將執(zhí)行客戶機系統(tǒng)非 I/O 代碼,并在需要的時候驅(qū)動 CPU 退出該模式
Kernel 模式: 負(fù)責(zé)將 CPU 切換到 Guest mode 執(zhí)行 Guest OS 代碼,并在 CPU 退出 Guest mode 時回到 Kenerl 模式
User 模式: 代表客戶機系統(tǒng)執(zhí)行 I/O 操作
-----------------------------------------------------------------------------------------------------------------------------------
kvm文件默認(rèn)路徑:
cd /etc/libvirt/qemu
磁盤文件默認(rèn)路徑:
cd /var/lib/libvirt/images/
kvm虛擬機開機自啟動目錄:
/etc/libvirt/qemu/autostart
virsh autostart win10_64 # 這個是命令
默認(rèn)情況下virsh工具不能對linux虛擬機進行關(guān)機操作,linux操作系統(tǒng)需要開啟與啟動acpid服務(wù):
chkconfig acpid on
service acpid restart
關(guān)機:
virsh shutdown win10_64 # win10_64是虛擬機的名字
強制關(guān)閉電源
virsh destroy win10_64
導(dǎo)出KVM虛擬機配置文件
virsh dumpxml win10_64 > /etc/libvirt/qemu/wintest02.xml # 可以通過這種方式進行備份
刪除kvm虛擬機
virsh undefine win10_64
編輯KVM虛擬機配置文件:
vim /etc/libvirt/qemu/win10_64.xml 或者 virsh edit win10_64
掛起虛擬機:
virsh suspend win10_64
恢復(fù)服務(wù)器
virsh resume win10_64
-----------------------------------------------------------------------------------------------------------------------------------
轉(zhuǎn)載于:https://www.cnblogs.com/smlile-you-me/p/8980599.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Centos 7 KVM安装win10的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中的三目运算符可能出现的问题
- 下一篇: shell脚本if条件总结