虛擬化之KVM

1.KVM概述

KVM是一個開源的系統(tǒng)虛擬化模塊。它使用Linux自身的調度器進行管理,所以相對于Xen,其核心源碼很少。KVM需要一個經(jīng)過修改的QEMU軟件(qemu-kvm),作為虛擬機上層控制和界面。KVM的虛擬機需要硬件支持(如Intel VT技術或者AMD V技術)。是基于硬件的完全虛擬化。

2.KVM相關安裝包及其作用

qemu-kvm??????????主要的KVM程序包

python-virtinst???創(chuàng)建虛擬機所需要的命令行工具和程序庫

virt-manager??????GUI虛擬機管理工具

virt-top??????????虛擬機統(tǒng)計命令

virt-viewer???????GUI連接程序,連接到已配置好的虛擬機

libvirt???????????C語言工具包,提供libvirt服務

libvirt-client????虛擬客戶機提供的C語言工具包

virt-install??????基于libvirt服務的虛擬機創(chuàng)建命令

bridge-utils??????創(chuàng)建和管理橋接設備的工具

3.安裝kvm

1)檢查cpu是否支持虛擬化

# grep vmx /proc/cpuinfo

如果有vmx信息輸出,就說明支持VT;如果沒有任何的輸出,說明你的cpu不支持,將無法使?KVM?????????

2)確保BIOS里開啟虛擬化功能,即查看是否加載KVM模塊

# lsmod | grep kvm

如果沒有加載,運行以下命令:

# modprobe kvm

# modprobe kvm-intel

3)內核模塊導出了一個名為/dev/kvm的設備,這個設備將虛擬機的的地址空間獨立于內核或者任何應用程序的地址空間。

# ll /dev/kvm

4)橋接網(wǎng)絡

如果沒有brctl命令(用來管理網(wǎng)橋的工具),則需要安裝bridge-utils

# yum -y install bridge-utils

# systemctl restart network

配置KVM的網(wǎng)橋模式

# cp??/etc/sysconfig/network-scripts/ifcfg-ens33???/etc/sysconfig/network-scripts/ifcfg-br0

# vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE=Bridge????????????#這一行修改為Bridge

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_AUTOCONF=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

BOOTPROTO=static

DEFROUTE=yes

NAME=br0?????????????#修改設備名稱為br0

DEVICE=br0????????????#修改設備為br0

ONBOOT=yes

IPADDR=192.168.56.254

GATEWAY=192.168.56.2

NETMASK=255.255.255.0

DNS2=8.8.8.8

# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet

BRIDGE=br0??????????#添加這一行

#DEFROUTE=yes???????#以下幾行注釋掉

#PEERDNS=yes

#PEERROUTES=yes

#IPV4_AUTOCONF=yes

#IPV6INIT=yes

#IPV6_AUTOCONF=yes

#IPV6_DEFROUTE=yes

#IPV6_PEERDNS=yes

#IPV6_PEERROUTES=yes

#IPV6_FAILURE_FATAL=no

#BOOTPROTO=static

#DEFROUTE=yes

NAME=ens33

DEVICE=ens33

ONBOOT=yes

#IPADDR=192.168.56.254

#GATEWAY=192.168.56.2

#NETMASK=255.255.255.0

重啟網(wǎng)卡服務

# systemctl restart network

查看網(wǎng)卡

# brctl??show

查看ip信息

# ifconfig |head -20

# ping www.baidu.com

5)安裝libvirt及kvm

libvirt是管理虛擬機的API庫,不僅支持KVM虛擬機,也可以管理Xen等方案下的虛擬機:

# yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64??libvirt.x86_64

libvirt-cim.x86_64??libvirt-client.x86_64??libvirt-java.noarch???libvirt-python.x86_64??

libiscsi-1.7.0-5.el6.x86_64??dbus-devel??virt-clone??tunctl??virt-manager???libvirt

libvirt-python

黃色這個rpm包不在YUM中,需要自行下載

安裝libiscsi從中下載最新的epel-release rpm

http://download-ib01.fedoraproject.org/pub/epel/6/x86_64/

安裝epel-release rpm:

# rpm -Uvh epel-release*rpm

安裝libiscsi rpm包:

# yum??-y??install libiscsi

tunctl的下載地址是http://li.nux.ro/download/nux/misc/el7/x86_64/,然后YUM安裝即可。

安裝中文字符,解決界面亂碼問題

# yum install -y dejavu-lgc-sans-fonts

# yum groupinstall -y "Fonts"

啟用libvirt

# systemctl enable libvirtd

# systemctl start libvirtd

4.使用virt-manager管理kvm

# virt-manager


5.制作一個虛擬機模板

(1)禁用selinux

# vim /etc/selinux/config

SELINUX=disabled

(2)卸載防火墻

# yum -y remove??firewalld-* python-firewall

3. 配置網(wǎng)卡

# cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet

BROWSER_ONLY=no

BOOTPROTO=dhcp

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=eth0

DEVICE=eth0

ONBOOT=yes

(4)禁用空路由

# vim /etc/sysconfig/network

NOZEROCONF="yes"

(5)添加console配置

# vim /etc/default/grub

GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"

GRUB_DISABLE_LINUX_UUID="true"

GRUB_ENABLE_LINUX_LABEL="true"

(6)重新生成grub.cfg

# grub2-mkconfig???-o??/boot/grub2/grub.cfg

(7)安裝擴展分區(qū)軟件

# yum??install??-y??cloud-utils-growpart

(8)安裝常用命令

#??yum -y install net-tools vim

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容