1.操作系统安装
本文采用CentOS6.5x86_64操作系统,也可以采用RHEL/CentOS6.x。选择ESXi主机平台上的虚拟机扮演KVM宿主机。
(1)开启ESXI主机网卡的混杂模式,让物理机能够与KVM虚拟机正常通信。
(2)关闭selinux、iptables
1
2
3
|
[root@node1 ~]
# setenforce 0;sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config
[root@node1 ~]
# chkconfig ip6tables off
[root@node1 ~]
# chkconfig iptables off
|
(3)修改主机名
1
2
|
[root@node1 ~]
# sed -i '/HOSTNAME/s/localhost.localdomain/node1/g' /etc/sysconfig/network
[root@node1 ~]
# echo "10.10.172.191 node1" >>/etc/hosts
|
2.虚拟化环境配置
(1)查看是否支持虚拟化
说明1:半虚拟化是不能运行与安装KVM虚拟机的。虚拟机修改.vmx文件追加vhv.enable = "TRUE",物理机需要开启VT功能
1
|
[root@node1 ~]
# egrep '(vmx|svm)' --color=always /proc/cpuinfo
|
(2)配置yum环境(采用系统默认即可)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
[root@node1 ~]
# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]
# ll
total 16
-rw-r--r--. 1 root root 1926 Nov 27 2013 CentOS-Base.repo
-rw-r--r--. 1 root root 638 Nov 27 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 Nov 27 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 Nov 27 2013 CentOS-Vault.repo
[root@node1 yum.repos.d]
# cat CentOS-Base.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[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
#released updates
[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
#additional packages that may be useful
[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
#additional packages that extend functionality of existing packages
[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 - packages by Centos Users
[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@node1 yum.repos.d]
#
|
(3)安装kvm软件包
1
|
#yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
|
安装kvm虚拟化一些管理工具包
1
|
#yum -y install libguestfs-tools
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
Installed:
libvirt.x86_64 0:0.10.2-62.el6 python-virtinst.noarch 0:0.600.0-31.el6 qemu-kvm.x86_64 2:0.12.1.2-2.503.el6_9.3 qemu-kvm-tools.x86_64 2:0.12.1.2-2.503.el6_9.3
tunctl.x86_64 0:1.5-3.el6 virt-manager.x86_64 0:0.9.0-34.el6 virt-v2v.x86_64 0:0.9.1-5.el6_5 virt-viewer.x86_64 0:2.0-18.el6
Dependency Installed:
augeas-libs.x86_64 0:1.0.0-10.el6 btrfs-progs.x86_64 0:0.20-0.2.git91d9eec.el6 celt051.x86_64 0:0.5.1.3-0.el6
cyrus-sasl-md5.x86_64 0:2.1.23-15.el6_6.2 ebtables.x86_64 0:2.0.9-6.el6 febootstrap-supermin-helper.x86_64 0:3.21-4.el6
gdisk.x86_64 0:0.8.10-1.el6 genisoimage.x86_64 0:1.1.9-12.el6 glusterfs.x86_64 0:3.7.9-12.el6
glusterfs-api.x86_64 0:3.7.9-12.el6 glusterfs-client-xlators.x86_64 0:3.7.9-12.el6 glusterfs-libs.x86_64 0:3.7.9-12.el6
gnutls-utils.x86_64 0:2.12.23-21.el6 gpxe-roms-qemu.noarch 0:0.9.7-6.16.el6 gtk-vnc.x86_64 0:0.3.10-3.el6
gtk-vnc-python.x86_64 0:0.3.10-3.el6 hivex.x86_64 0:1.3.3-4.3.el6 iscsi-initiator-utils.x86_64 0:6.2.0.873-27.el6_9
libcacard.x86_64 0:0.15.0-2.el6 libcgroup.x86_64 0:0.40.rc1-24.el6_9 libgovirt.x86_64 0:0.3.2-3.el6
libguestfs.x86_64 1:1.20.11-20.el6 libvirt-client.x86_64 0:0.10.2-62.el6 libvirt-python.x86_64 0:0.10.2-62.el6
lzop.x86_64 0:1.02-0.9.rc1.el6 mailcap.noarch 0:2.1.31-2.el6 nc.x86_64 0:1.84-24.el6
netcf-libs.x86_64 0:0.2.4-4.el6 netpbm.x86_64 0:10.47.05-11.el6 netpbm-progs.x86_64 0:10.47.05-11.el6
numad.x86_64 0:0.5-12.20150602git.el6 perl-Class-MethodMaker.x86_64 0:2.16-6.el6 perl-Class-Singleton.noarch 0:1.4-6.el6
perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6 perl-Compress-Zlib.x86_64 0:2.021-144.el6 perl-Crypt-SSLeay.x86_64 0:0.57-17.el6
perl-DateTime.x86_64 1:0.5300-3.el6 perl-HTML-Parser.x86_64 0:3.64-2.el6 perl-HTML-Tagset.noarch 0:3.20-4.el6
perl-IO-Compress-Base.x86_64 0:2.021-144.el6 perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6 perl-IO-String.noarch 0:1.08-9.el6
perl-List-MoreUtils.x86_64 0:0.22-10.el6 perl-Params-Validate.x86_64 0:0.92-3.el6 perl-Sys-Guestfs.x86_64 1:1.20.11-20.el6
perl-Sys-Virt.x86_64 0:0.10.2-6.el6 perl-Term-ProgressBar.noarch 0:2.09-10.el6 perl-TermReadKey.x86_64 0:2.30-13.el6
perl-URI.noarch 0:1.40-2.el6 perl-XML-DOM.noarch 0:1.44-7.el6 perl-XML-DOM-XPath.noarch 0:0.14-4.el6
perl-XML-Parser.x86_64 0:2.36-7.el6 perl-XML-RegExp.noarch 0:0.03-7.el6 perl-XML-XPath.noarch 0:1.13-10.el6
perl-XML-XPathEngine.noarch 0:0.12-3.el6 perl-YAML-Tiny.noarch 0:1.40-2.el6 perl-hivex.x86_64 0:1.3.3-4.3.el6
perl-libintl.x86_64 0:1.20-1.el6 perl-libwww-perl.noarch 0:5.833-5.el6 qemu-img.x86_64 2:0.12.1.2-2.503.el6_9.3
radvd.x86_64 0:1.6-1.el6 rest.x86_64 0:0.7.92-3.el6 scrub.x86_64 0:2.2-2.el6
seabios.x86_64 0:0.6.1.2-30.el6 sgabios-bin.noarch 0:0-0.3.20110621svn.el6 spice-glib.x86_64 0:0.26-8.el6
spice-gtk.x86_64 0:0.26-8.el6 spice-gtk-python.x86_64 0:0.26-8.el6 spice-server.x86_64 0:0.12.4-16.el6
usbredir.x86_64 0:0.5.1-3.el6 vgabios.noarch 0:0.6b-3.8.el6 yajl.x86_64 0:1.0.7-3.el6
Updated:
lvm2-libs.x86_64 0:2.02.143-12.el6_9.1
Dependency Updated:
cyrus-sasl.x86_64 0:2.1.23-15.el6_6.2 cyrus-sasl-gssapi.x86_64 0:2.1.23-15.el6_6.2 cyrus-sasl-lib.x86_64 0:2.1.23-15.el6_6.2
cyrus-sasl-plain.x86_64 0:2.1.23-15.el6_6.2 device-mapper.x86_64 0:1.02.117-12.el6_9.1 device-mapper-event.x86_64 0:1.02.117-12.el6_9.1
device-mapper-event-libs.x86_64 0:1.02.117-12.el6_9.1 device-mapper-libs.x86_64 0:1.02.117-12.el6_9.1 device-mapper-persistent-data.x86_64 0:0.6.2-0.1.rc7.el6
glib2.x86_64 0:2.28.8-9.el6 gnutls.x86_64 0:2.12.23-21.el6 libdrm.x86_64 0:2.4.65-2.el6
lvm2.x86_64 0:2.02.143-12.el6_9.1 perl.x86_64 4:5.10.1-144.el6 perl-CGI.x86_64 0:3.51-144.el6
perl-ExtUtils-MakeMaker.x86_64 0:6.55-144.el6 perl-ExtUtils-ParseXS.x86_64 1:2.2003.0-144.el6 perl-Module-Pluggable.x86_64 1:3.90-144.el6
perl-Pod-Escapes.x86_64 1:1.04-144.el6 perl-Pod-Simple.x86_64 1:3.13-144.el6 perl-Test-Harness.x86_64 0:3.17-144.el6
perl-Test-Simple.x86_64 0:0.92-144.el6 perl-devel.x86_64 4:5.10.1-144.el6 perl-libs.x86_64 4:5.10.1-144.el6
perl-version.x86_64 3:0.77-144.el6
Complete!
|
3.查看虚拟化环境
(1)查看虚拟机环境
(2)查看kvm模块支持
(3)查看虚拟工具版本
4.手动配置虚拟网桥
(1)关闭NetworkManager服务
(2)创建br0网桥
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
[root@node1 ~]
# cd /etc/sysconfig/network-scripts/
[root@node1 network-scripts]
# cp ifcfg-eth0 ifcfg-br0
[root@node1 network-scripts]
#
[root@node1 network-scripts]
# cat ifcfg-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=
"system eth0"
UUID=799e696b-8596-4106-a8b8-ed7737174ce4
HWADDR=00:50:56:86:7C:86
LAST_CONNECT=1493675713
[root@node1 network-scripts]
# cat ifcfg-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@node1 network-scripts]
#
|
(3)关闭了NetworkManager服务之后,才能通过service network restart管理网络。
(4)查看网桥br0
(5)查看网桥
到此kvm虚拟化环境安装完毕。
本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1982447,如需转载请自行联系原作者