随着IT产业的不断发展,IT技术的不断革新,近几年虚拟化、云计算技术火热,那我们今天来研究一下虚拟化技术,到底什么是虚拟化技术呢?我们为什么要使用虚拟化呢?
虚拟化是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
目前主流的虚拟化技术主要有:KVM、Xen、VMware、VirtualBox,虚拟化技术也越来越广泛的应用在企业中,今天我们来研究和复习一下KVM虚拟化集群的搭建。
1、系统版本:
CentOS 6.4 x86_64
2、处理器需求:
需要一台可以运行最新linux内核的Intel处理器(含VT虚拟化技术)或AMD处理器(含SVM安全虚拟机技术的AMD处理器,也叫AMD-V)
[root@kvm~]# cat /etc/redhat-release
CentOSrelease 6.4 (Final)
3、CPU 支持需求:
[root@localhost~]# egrep 'vmx|svm' /proc/cpuinfo
如果输出的结果包含VMX,它是Intel处理器虚拟机技术标志:如果包含SVM,它是AMD处理器虚拟机技术的标志,如果你什么都没有得到,那应你的系统并没有支持虚拟化的处理,不能使用KVM,另处linux发行版本必须在64bit环境中才能使用KVM。
4、KVM正式安装:
这里直接使用脚本,比较方便快捷,了解更多可以参官方网站。(仅供参考,后期不断优化)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
#!/bin/sh
#Auto Make KVM Virtualization
#Author wugk 2013-12-06
#Defined Path
cat
<<EOF
++++++++++++++++Welcome To Use Auto Install KVM Scripts ++++++++++++++++++
+++++++++++++++++++++++++This KVM Install Virtual ++++++++++++++++++++++++
+++++++++++++++++++++++++2013-12-06 Author wugk ++++++++++++++++++++++++++
EOF
KVM_SOFT=(
kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools
)
NETWORK=(
HWADDR=`
ifconfig
eth0 |
egrep
"HWaddr|Bcast"
|
tr
"\n"
" "
|
awk
'{print $5,$7,$NF}'
|
sed
-e
's/addr://g'
-e
's/Mask://g'
|
awk
'{print $1}'
`
IPADDR=`
ifconfig
eth0 |
egrep
"HWaddr|Bcast"
|
tr
"\n"
" "
|
awk
'{print $5,$7,$NF}'
|
sed
-e
's/addr://g'
-e
's/Mask://g'
|
awk
'{print $2}'
`
NETMASK=`
ifconfig
eth0 |
egrep
"HWaddr|Bcast"
|
tr
"\n"
" "
|
awk
'{print $5,$7,$NF}'
|
sed
-e
's/addr://g'
-e
's/Mask://g'
|
awk
'{print $3}'
`
GATEWAY=`route -n|
grep
"UG"
|
awk
'{print $2}'
`
)
#Check whether the system supports virtualization
egrep
'vmx|svm'
/proc/cpuinfo
>>
/dev/null
if
[
"$?"
-
eq
"0"
];
then
echo
'Congratulations, your system success supports virtualization !'
else
echo
-e
'OH,your system does not support virtualization !\nPlease modify the BIOS virtualization options (Virtualization Technology)'
exit
0
fi
if
[ -e
/usr/bin/virsh
];
then
echo
"Virtualization is already installed ,Please exit ...."
;
exit
0
fi
yum -y
install
${KVM_SOFT[@]}
/sbin/modprobe
kvm
lsmod |
grep
kvm >>
/dev/null
if
[
"$?"
-
eq
"0"
];
then
echo
'KVM installation is successful !'
else
echo
'KVM installation is falis,Please check ......'
exit
1
fi
cd
/etc/sysconfig/network-scripts/
mkdir
-p
/data/backup/
`
date
+%Y%m%d-%H:%M:%S`
yes
|
cp
ifcfg-eth*
/data/backup/
`
date
+%Y%m%d-%H:%M:%S`/
if
[ -e
/etc/sysconfig/network-scripts/ifcfg-br0
];
then
echo
"The ifcfg-br0 already exist ,Please wait exit ......"
exit
2
else
cat
>ifcfg-eth0 <<EOF
DEVICE=eth0
BOOTPROTO=none
${NETWORK[0]}
NM_CONTROLLED=no
ONBOOT=
yes
TYPE=Ethernet
BRIDGE=
"br0"
${NETWORK[1]}
${NETWORK[2]}
${NETWORK[3]}
USERCTL=no
EOF
cat
>ifcfg-br0 <<EOF
DEVICE=
"br0"
BOOTPROTO=none
${NETWORK[0]}
IPV6INIT=no
NM_CONTROLLED=no
ONBOOT=
yes
TYPE=
"Bridge"
${NETWORK[1]}
${NETWORK[2]}
${NETWORK[3]}
USERCTL=no
EOF
fi
echo
'Your can restart Ethernet Service: /etc/init.d/network restart !'
echo
'---------------------------------------------------------'
sleep
1
echo
'Your can restart KVM Service : /etc/init.d/libvirtd restart !'
echo
echo
-e
"You can create a KVM virtual machine: \nvirt-install --name=centos01 --ram 512 --vcpus=1 --disk path=/data/kvm/centos01.img,size=7,bus=virtio --accelerate --cdrom /data/iso/centos58.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole"
|
自此KVM简单安装到此结束,安装完毕,怎样来创建一个虚拟机并且安装呢,首先我们把需要安装的系统ISO镜像上传到/data/iso目录,然后新建/data/kvm虚拟机安装目录,然后启动如下脚本:
1
|
virt-install --name=centos01 --ram
512
--vcpus=
1
--disk path=/data/kvm/centos01.img,size=
7
,bus=virtio --accelerate --cdrom /data/iso/centos58.iso --vnc --vncport=
5910
--vnclisten=
0.0
.
0.0
--network bridge=br0,model=virtio
|
然后在客户端(PC机)使用VNC客户端连接KVM服务端5910端口,进行安装系统即可。
当安装完一台后,如何快速启动第二台呢,这里只需要复制我们刚安装的第一台的两个文件(/data/kvm/centos01.img /etc/libvirt/qemu/centos01.xml),然后做相应修改即可。
这样就配置完毕,怎样重启两台虚拟机呢?命令如下:
(参数主要有reboot、start、shutdown)
1
2
3
4
|
virsh reboot centos01 (重启)
virsh reboot centos02 (重启)
virsh start centos01 (启动)
virsh start centos02 (启动)
|
KVM简单操作就先介绍到这里,更多功能和维护在后期会更新。
本文参考如下文章,非常感谢:
http://koumm.blog.51cto.com/703525/1290191
http://g.51cto.com/netengineer/216414
转载于:https://blog.51cto.com/zhangyc/1338414