| CentOS release 6.3
| 内核版本
| 2.6.32-279.el6.x86_64
| 服务器型号
| Dell R410
| 基本配置
| 32G内存、8核CPU、4T硬盘
|
2)安装KVM软件,加载内核模块
2.1)安装kvm 内核模块(前提:配置好yum源)
[iyunv@project ~]# yum list|grep -i kvm
qemu-kvm.x86_64 2:0.12.1.2-2.415.el6_5.10 updates
qemu-kvm-tools.x86_64 2:0.12.1.2-2.415.el6_5.10 updates
[iyunv@project ~]# yum install qemu-kvm qemu-kvm-tools -y
......
Installing for dependencies: //由于依赖关系需要安装如下的软件
celt051 x86_64 0.5.1.3-0.el6
glusterfs-api x86_64 3.4.0.57rhs-1.el6_5
glusterfs-libs x86_64 3.4.0.57rhs-1.el6_5
gpxe-roms-qemu noarch 0.9.7-6.10.el6
qemu-img x86_64 2:0.12.1.2-2.415.el6_5.10
seabios x86_64 0.6.1.2-28.el6
sgabios-bin noarch 0-0.3.20110621svn.el6
spice-server x86_64 0.12.4-6.el6_5.2
usbredir x86_64 0.5.1-1.el6
vgabios noarch 0.6b-3.7.el6
|
2.2)验证内核加载 kvm 模块
[iyunv@project ~]# lsmod |grep kvm
kvm_intel 52570 0
kvm 314739 1 kvm_intel
|
3)宿主服务器桥接配置
3.1)安装网桥管理工具
[iyunv@project ~]# yum install bridge-utils tunctl -y
|
3.2)新建网桥br0配置文件,将网卡em1加入网桥br0
[iyunv@project ~]# cd /etc/sysconfig/network-scripts
[iyunv@project network-scripts]# vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.10.100.30
NETMASK=255.255.255.0
GATEWAY=10.10.100.254
TYPE=Bridge
[iyunv@project network-scripts]# vim ifcfg-em1
DEVICE="em1"
ONBOOT="yes"
BRIDGE=br0
| 3.3)重启网络服务,查看网桥br0
[iyunv@project ~]# /etc/init.d/network restart
[iyunv@project ~]# ifconfig
br0 Link encap:Ethernet HWaddr 90:B1:1C:0D:80:14
inet addr:10.10.100.30 Bcast:10.10.100.255 Mask:255.255.255.0
inet6 addr: fe80::92b1:1cff:fe0d:8014/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:584 errors:0 dropped:0 overruns:0 frame:0
TX packets:458 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:43198 (42.1 KiB) TX bytes:53755 (52.4 KiB)
em1 Link encap:Ethernet HWaddr 90:B1:1C:0D:80:14
inet6 addr: fe80::92b1:1cff:fe0d:8014/64 Scope:Link
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
RX packets:602 errors:0 dropped:0 overruns:0 frame:0
TX packets:435 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:55634 (54.3 KiB) TX bytes:52012 (50.7 KiB)
Interrupt:36 Memory:da000000-da012800
|
3.4)验证网卡em1 已桥接至 br0
[iyunv@project ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.90b11c0d8014 no em1
|
4)添加虚拟网卡
4.1)为Guest系统新建虚拟网卡tap10,并加入网桥br0
[iyunv@project ~]# tunctl -t tap10
Set 'tap10' persistent and owned by uid 0
[iyunv@project ~]# brctl addif br0 tap10
[iyunv@project ~]# ifconfig tap10 up
[iyunv@project ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.32d37d9e08d3 no em1
tap10
[iyunv@project ~]# ifconfig tap10 //使用ifconfig查看,多出了tap10网卡
tap10 Link encap:Ethernet HWaddr 32:D3:7D:9E:08:D3
inet6 addr: fe80::30d3:7dff:fe9e:8d3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:34 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
|
4.2)为虚拟桥接网卡tap10建立配置文件,重启系统时能随系统启动,并加入网桥 br0
[iyunv@project ~]# cat /etc/sysconfig/network-scripts/ifcfg-tap10
DEVICE=tap10
TYPE=Tap
ONBOOT=yes
BRIDGE=br0
|
5)安装vnc服务软件,客户机可通过宿主机的vnc桌面管理guest系统
[iyunv@project ~]# yum install tigervnc tigervnc-server -y
|
6)使用 qemu-img 建立img映像文件,作为Guest系统的磁盘
[iyunv@project ~]# qemu-img create -f qcow2 /data/KVM_img/mail_server1.img 40G
Formatting '/data/KVM_img/mail_server1.img', fmt=qcow2 size=42949672960 encryption=off cluster_size=65536
[iyunv@project ~]# qemu-img info /data/KVM_img/mail_server1.img
image: /data/KVM_img/mail_server1.img
file format: qcow2
virtual size: 40G (42949672960 bytes)
disk size: 136K
cluster_size: 65536
|
说明:
qemu-img语法:
qemu-img create [-f fmt] [-o options] filename [size]
-f fmt 文件格式,有raw cow qcow vdi vmdk bochs vpc vvfat qcow2等,常用qcow2;
filename 文件名称
size 文件大小,根据需要自己指定
所有上条命令创建了一个格式为qcow2,大小为40G的映像文件mail_server1.img,其中40G为Guest系统的最大可用空间,实际占用宿主空间根据实际使用量计算。
qemu-img info xxx.img 查看img映像的信息,格式,实际大小,创建时指定大小等。
7)安装kvm的Guest系统
7.1)使用/usr/libexec/qemu-kvm 的命令行方式安装
[iyunv@project ~]#/usr/libexec/qemu-kvm -m 1024 -smp 2 -drive file=/data/KVM_img/mail_server1.img -net nic,vlan=2,model=e1000 -net tap,vlan=2,ifname=tap10,script=no -boot d -cdrom /data/CentOS-6.3-x86_64-bin-DVD1.iso -vnc 10.10.100.30:1 --daemonize
[iyunv@project ~]# ps aux|grep kvm //启动后查看kvm进程
root 16231 0.0 0.0 0 0 ? S 10:28 0:00 [kvm-irqfd-clean]
root 18570 15.8 6.5 1425608 1074372 ? Sl 13:21 1:51 /usr/libexec/qemu-kvm -m 1024 -smp 2 -drive file=/data/KVM_img/mail_server1.img -net nic,vlan=2,model=e1000 -net tap,vlan=2,ifname=tap10,script=no -boot d -cdrom /data/CentOS-6.3-x86_64-bin-DVD1.iso -vnc 10.10.100.30:1 --daemonize
[iyunv@project KVM_img]# netstat -tulnp |grep qemu //验证vncserver端口
tcp 0 0 10.10.100.30:5901 0.0.0.0:* LISTEN 3447/qemu-kvm
| 参数详解:
-m 1024分配的内存大小
-smp 2虚拟的cpu核心数
-drive file=xxx.img指定作为虚拟磁盘的映像文件,可添加cache=writeback启用缓存,如 “-drive file=xxx.img,cache=writeback”
-net nic,vlan=2,model=e1000 -net tap,vlan=2,ifname=tap10,script=no
-net nic,vlan=2 初始化网络设备,将网络加入vlan2中,默认为vlan0; model= 指定模拟的网卡类型,主要有“i82551,i82557b,i82559er,rtl8139,e1000,virtio” 等;可以使用“# /usr/libexec/qemu-kvm -net nic,model=? ”查看支持的网卡类型; -net tap 指定了使用桥接模式网络,ifname= 指定了使用的虚拟网卡; script= 初始化桥接网卡的脚本,默认为/etc/qemu-ifup,no为不执行脚本; 还可通过 -net nic,macaddr=52:54:00:DD:56:19 指定网卡的MAC地址
-boot d指定启动介质,a—软盘、c—硬盘、d—光盘、n—网络,默认为硬盘启动。
如果使用网络引导安装,指定 -boot n,查找网络安装源。 -cdrom/xx/xx.iso 使用光盘启动时,指定iso镜像文件
-vnc x.x.x.x:1指定vncserver监听的 地址及端口,默认从5900开始,每个桌面加1,即 x.x.x.x:1 端口为 5900+1=5901
--daemonize 执行命令后,将命令作为守护进程放入后台,不占据终端
7.2)使用vnc客户端远程连接,执行Linux安装(linux与windows客户端都可以),本处使用Linux下客户端 vncviewer
[iyunv@mail Desktop]# vncviewer 10.10.100.30:1
TigerVNC Viewer for X version 1.0.90 - built Dec 8 2011 01:41:17
Copyright (C) 2002-2005 RealVNC Ltd.
Copyright (C) 2000-2006 TightVNC Group
Copyright (C) 2004-2009 Peter Astrand for Cendio AB
See http://www.tigervnc.org for information on TigerVNC.
Tue Aug 5 13:16:02 2014
CConn: connected to host 10.10.100.30 port 5901
CConnection: Server supports RFB protocol version 3.8
CConnection: Using RFB protocol version 3.8
TXImage: Using default colormap and visual, TrueColor, depth 24.
CConn: Using pixel format depth 24 (32bpp) little-endian rgb888
CConn: Using Tight encoding
|
7.3)连接到宿主机的vnc桌面后,显示光盘安装界面。安装方式同本地安装。(过程略)
安装完毕,重启系统后,关闭该Guest系统的进程,修改启动参数为硬盘,不然又会从光盘启动。修改方式如下面步骤。
8)管理Guest虚拟机系统
8.1)启动Guest虚拟机,修改启动方式为硬盘 -boot c ,去除光盘资源
[iyunv@project ~]#/usr/libexec/qemu-kvm -m 1024 -smp 2 -drive file=/data/KVM_img/mail_server1.img -net nic,vlan=2,model=e1000 -net tap,vlan=2,ifname=tap10,script=no -boot c -vnc 10.10.100.30:1 --daemonize
|
8.2)将上面启动Guest系统的命令保存为脚本,如 “start_kvm_mailserver1.sh”,关闭系统后执行该脚本可以直接启动Guest系统。
8.3)再次通过 vncviewer 客户端连接系统,Guest系统已启动到等待登陆状态
8.4)登陆系统,配置好网络地址、iptables 防火墙策略、将SELinux 设置为disabled,重启系统,然后就可以通过ssh方式登陆系统了。
|