kvm虚拟化学习笔记(一)之kvm虚拟化环境安装

1.操作系统安装

本文采用CentOS6.5x86_64操作系统,也可以采用RHEL/CentOS6.x。选择ESXi主机平台上的虚拟机扮演KVM宿主机。

(1)开启ESXI主机网卡的混杂模式,让物理机能够与KVM虚拟机正常通信。

如果是VMware Workstation虚拟机,则需要在物理机的BIOS中开启VT功能,然后虚拟机的处理器也需要开启虚拟化功能,如下所示:

(2)关闭selinux、iptables

[root@node1~]#setenforce0;sed-i'/SELINUX/s/enforcing/disabled/g'/etc/selinux/config
[root@node1~]#chkconfigip6tablesoff
[root@node1~]#chkconfigiptablesoff

(3)修改主机名

[root@node1~]#sed-i'/HOSTNAME/s/localhost.localdomain/node1/g'/etc/sysconfig/network
[root@node1~]#echo"10.10.172.191node1">>/etc/hosts


2.虚拟化环境配置

(1)查看是否支持虚拟化

说明1:半虚拟化是不能运行与安装KVM虚拟机的。虚拟机修改.vmx文件追加vhv.enable = "TRUE",物理机需要开启VT功能

[root@node1~]#egrep'(vmx|svm)'--color=always/proc/cpuinfo

(2)配置yum环境(采用系统认即可)

[root@node1~]#cd/etc/yum.repos.d/
[root@node1yum.repos.d]#ll
total16
-rw-r--r--.1rootroot1926Nov272013CentOS-Base.repo
-rw-r--r--.1rootroot638Nov272013CentOS-Debuginfo.repo
-rw-r--r--.1rootroot630Nov272013CentOS-Media.repo
-rw-r--r--.1rootroot3664Nov272013CentOS-Vault.repo
[root@node1yum.repos.d]#catCentOS-Base.repo
#CentOS-Base.repo
#
#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe
#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand
#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates
#unlessyouaremanuallypickingothermirrors.
#
#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe
#remarkedoutbaseurl=lineinstead.
#
#

[base]
name=CentOS-$releasever-Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#releasedupdates
[updates]
name=CentOS-$releasever-Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additionalpackagesthatmaybeuseful
[extras]
name=CentOS-$releasever-Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#additionalpackagesthatextendfunctionalityofexistingpackages
[centosplus]
name=CentOS-$releasever-Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#contrib-packagesbyCentosUsers
[contrib]
name=CentOS-$releasever-Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@node1yum.repos.d]#

(3)安装kvm软件包

#yum-yinstallkvmpython-virtinstlibvirttunctlbridge-utilsvirt-managerqemu-kvm-toolsvirt-viewervirt-v2v

安装kvm虚拟化一些管理工具包

#yum-yinstalllibguestfs-tools
Installed:
libvirt.x86_640:0.10.2-62.el6python-virtinst.noarch0:0.600.0-31.el6qemu-kvm.x86_642:0.12.1.2-2.503.el6_9.3qemu-kvm-tools.x86_642:0.12.1.2-2.503.el6_9.3
tunctl.x86_640:1.5-3.el6virt-manager.x86_640:0.9.0-34.el6virt-v2v.x86_640:0.9.1-5.el6_5virt-viewer.x86_640:2.0-18.el6

DependencyInstalled:
augeas-libs.x86_640:1.0.0-10.el6btrfs-progs.x86_640:0.20-0.2.git91d9eec.el6celt051.x86_640:0.5.1.3-0.el6
cyrus-sasl-md5.x86_640:2.1.23-15.el6_6.2ebtables.x86_640:2.0.9-6.el6febootstrap-supermin-helper.x86_640:3.21-4.el6
gdisk.x86_640:0.8.10-1.el6genisoimage.x86_640:1.1.9-12.el6glusterfs.x86_640:3.7.9-12.el6
glusterfs-api.x86_640:3.7.9-12.el6glusterfs-client-xlators.x86_640:3.7.9-12.el6glusterfs-libs.x86_640:3.7.9-12.el6
gnutls-utils.x86_640:2.12.23-21.el6gpxe-roms-qemu.noarch0:0.9.7-6.16.el6gtk-vnc.x86_640:0.3.10-3.el6
gtk-vnc-python.x86_640:0.3.10-3.el6hivex.x86_640:1.3.3-4.3.el6iscsi-initiator-utils.x86_640:6.2.0.873-27.el6_9
libcacard.x86_640:0.15.0-2.el6libcgroup.x86_640:0.40.rc1-24.el6_9libgovirt.x86_640:0.3.2-3.el6
libguestfs.x86_641:1.20.11-20.el6libvirt-client.x86_640:0.10.2-62.el6libvirt-python.x86_640:0.10.2-62.el6
lzop.x86_640:1.02-0.9.rc1.el6mailcap.noarch0:2.1.31-2.el6nc.x86_640:1.84-24.el6
netcf-libs.x86_640:0.2.4-4.el6netpbm.x86_640:10.47.05-11.el6netpbm-progs.x86_640:10.47.05-11.el6
numad.x86_640:0.5-12.20150602git.el6perl-Class-MethodMaker.x86_640:2.16-6.el6perl-Class-Singleton.noarch0:1.4-6.el6
perl-Compress-Raw-Zlib.x86_641:2.021-144.el6perl-Compress-Zlib.x86_640:2.021-144.el6perl-Crypt-SSLeay.x86_640:0.57-17.el6
perl-DateTime.x86_641:0.5300-3.el6perl-HTML-Parser.x86_640:3.64-2.el6perl-HTML-Tagset.noarch0:3.20-4.el6
perl-IO-Compress-Base.x86_640:2.021-144.el6perl-IO-Compress-Zlib.x86_640:2.021-144.el6perl-IO-String.noarch0:1.08-9.el6
perl-List-MoreUtils.x86_640:0.22-10.el6perl-Params-Validate.x86_640:0.92-3.el6perl-Sys-Guestfs.x86_641:1.20.11-20.el6
perl-Sys-Virt.x86_640:0.10.2-6.el6perl-Term-ProgressBar.noarch0:2.09-10.el6perl-TermReadKey.x86_640:2.30-13.el6
perl-URI.noarch0:1.40-2.el6perl-XML-DOM.noarch0:1.44-7.el6perl-XML-DOM-XPath.noarch0:0.14-4.el6
perl-XML-Parser.x86_640:2.36-7.el6perl-XML-RegExp.noarch0:0.03-7.el6perl-XML-XPath.noarch0:1.13-10.el6
perl-XML-XPathEngine.noarch0:0.12-3.el6perl-YAML-Tiny.noarch0:1.40-2.el6perl-hivex.x86_640:1.3.3-4.3.el6
perl-libintl.x86_640:1.20-1.el6perl-libwww-perl.noarch0:5.833-5.el6qemu-img.x86_642:0.12.1.2-2.503.el6_9.3
radvd.x86_640:1.6-1.el6rest.x86_640:0.7.92-3.el6scrub.x86_640:2.2-2.el6
seabios.x86_640:0.6.1.2-30.el6sgabios-bin.noarch0:0-0.3.20110621svn.el6spice-glib.x86_640:0.26-8.el6
spice-gtk.x86_640:0.26-8.el6spice-gtk-python.x86_640:0.26-8.el6spice-server.x86_640:0.12.4-16.el6
usbredir.x86_640:0.5.1-3.el6vgabios.noarch0:0.6b-3.8.el6yajl.x86_640:1.0.7-3.el6

Updated:
lvm2-libs.x86_640:2.02.143-12.el6_9.1

DependencyUpdated:
cyrus-sasl.x86_640:2.1.23-15.el6_6.2cyrus-sasl-gssapi.x86_640:2.1.23-15.el6_6.2cyrus-sasl-lib.x86_640:2.1.23-15.el6_6.2
cyrus-sasl-plain.x86_640:2.1.23-15.el6_6.2device-mapper.x86_640:1.02.117-12.el6_9.1device-mapper-event.x86_640:1.02.117-12.el6_9.1
device-mapper-event-libs.x86_640:1.02.117-12.el6_9.1device-mapper-libs.x86_640:1.02.117-12.el6_9.1device-mapper-persistent-data.x86_640:0.6.2-0.1.rc7.el6
glib2.x86_640:2.28.8-9.el6gnutls.x86_640:2.12.23-21.el6libdrm.x86_640:2.4.65-2.el6
lvm2.x86_640:2.02.143-12.el6_9.1perl.x86_644:5.10.1-144.el6perl-CGI.x86_640:3.51-144.el6
perl-ExtUtils-MakeMaker.x86_640:6.55-144.el6perl-ExtUtils-ParseXS.x86_641:2.2003.0-144.el6perl-Module-Pluggable.x86_641:3.90-144.el6
perl-Pod-Escapes.x86_641:1.04-144.el6perl-Pod-Simple.x86_641:3.13-144.el6perl-Test-Harness.x86_640:3.17-144.el6
perl-Test-Simple.x86_640:0.92-144.el6perl-devel.x86_644:5.10.1-144.el6perl-libs.x86_644:5.10.1-144.el6
perl-version.x86_643:0.77-144.el6

Complete!
注:
CentOS6使用工具virt-install,就是安装python-virtins软件包以及其依赖包libvirt-client、libvirt-python等,而Centos7没有python-virtins这个包,需要安装virt-install软件包(其依赖包含有libvirt-client、libvirt-python)。
CentOS7安装kvm以及需要的依赖包,使用如下命令。
#yuminstallqemu-kvmqemu-kvm-toolsvirt-managerlibvirtvirt-installbridge-utilsvirt-viewervirt-v2vlibguestfs-tools-y

kvm相关安装包及其作用

qemu-kvm主要的KVM程序包,安装kvm就是安装qemu-kvm和qemu-img
python-virtinst创建虚拟机所需要的命令行工具和程序库
virt-managerGUI虚拟机管理工具
virt-top虚拟机统计命令
virt-viewerGUI连接程序,连接到已配置好的虚拟机
libvirtC语言工具包,提供libvirt服务
libvirt-client虚拟客户机提供的C语言工具包
virt-install基于libvirt服务的虚拟机创建命令
bridge-utils创建和管理桥接设备的工具
libguestfs-tools管理工具

3.查看虚拟化环境

(1)查看虚拟机环境

(2)查看kvm模块支持

(3)查看虚拟工具版本

4.手动配置虚拟网桥

(1)关闭NetworkManager服务

(2)创建br0网桥

[root@node1~]#cd/etc/sysconfig/network-scripts/
[root@node1network-scripts]#cpifcfg-eth0ifcfg-br0
[root@node1network-scripts]#

[root@node1network-scripts]#catifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.172.191
PREFIX=24
GATEWAY=10.10.172.1
DNS1=192.168.172.208
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="systemeth0"
UUID=799e696b-8596-4106-a8b8-ed7737174ce4
HWADDR=00:50:56:86:7C:86
LAST_CONNECT=1493675713

[root@node1network-scripts]#catifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.172.191
PREFIX=24
GATEWAY=10.10.172.1
DNS1=192.168.172.208
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
HWADDR=00:50:56:86:7C:86
[root@node1network-scripts]#

(3)关闭了NetworkManager服务之后,才能通过service network restart管理网络。

(4)查看网桥br0

(5)查看网桥

到此kvm虚拟化环境安装完毕。

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native