centOS6安装KVM及虚拟机

KVM(Kernel-based Virtual Machine)的简称,是一个开源的全虚拟化的解决方案。自从 Linux2.6.20 之后集成在 Linux 的各个发行版中,KVM 虚拟化运行在 x86 架 构且需要硬件(Intel VT or AMD-V)的支持,它使用 Linux 自身的调度器进行管理,下面是在 centos5.8 上面详细安装 Kvm 虚拟机的详细步骤。

1.查看宿主机的 cpu 是否支持 KVM,vmx 表示 CPU 支持 Intel VT 技术,svm 代表CPU 支持 AMD-v 技术。
centOS6安装KVM及虚拟机

2.安装 KVM 软件包,yum groupinstall KVM。
centOS6安装KVM及虚拟机

3.安装桥接管理工具,yum install bridge-utils tunctl。
centOS6安装KVM及虚拟机

4.设置桥接网卡配置文件,先备份一下原来的配置文件。
centOS6安装KVM及虚拟机
4.1 编辑 ifcfg-eth0 文件.
centOS6安装KVM及虚拟机
4.2 编辑 ifcfg-br0 文件。
centOS6安装KVM及虚拟机

5.安装 gui 管理工具,yum install virt-manager virt-viewer。
centOS6安装KVM及虚拟机

6.1 查看服务器的配置是否生效,KVM 安装完成后需要重启(reboot)服务器后才能被内核加载。
6.2 查看桥接网卡配置是否生效。
centOS6安装KVM及虚拟机

6.3 查看内核是否加载 KVM 模块。
centOS6安装KVM及虚拟机
7.在服务器上面安装 vncserver,以便通过 vncerver 来安装虚拟机。
7.1VNC 环境需要安装 KDE 或者 GNOME 环境,生产环境的服务器都采用最小化安装,用 yum grouplist 可以查看系统安装了那些组件,这里安装 KDE 环境。
centOS6安装KVM及虚拟机
7.2 安装 vnc_server,yum install vnc-server。
centOS6安装KVM及虚拟机
7.3 运行 vncserver 添加客户端 VNC 登录需要的密码。
centOS6安装KVM及虚拟机
7.4 修改配置文件/root/.vnc/xstartup,startkde &表示支持 KDE 组件
centOS6安装KVM及虚拟机
7.5 修改 vncserver 配置文件/etc/sysconfig/vncservers,添加如下两行。
centOS6安装KVM及虚拟机

7.6 重启 VNC 服务,/etc/init.d/vncserver restart。
centOS6安装KVM及虚拟机

8.1 客户端用 VNC_viewer 连接到服务器,在开始-System-terminal 开启终端,
输入 virt-manager 调出虚拟系统管理器新建虚拟机。
centOS6安装KVM及虚拟机
8.2KVM 支持全虚拟化,选择 CPU 架构和 KVM 管理程序。
centOS6安装KVM及虚拟机
8.3 选择安装介质为本地 ISO 文件。
centOS6安装KVM及虚拟机
8.4 选择 ISO 文件路径,此种方法要将 ISO 文件上传服务器上面。
centOS6安装KVM及虚拟机
8.5 选择 KVM 虚拟机的磁盘空间,在新建虚拟机时候自动生成.img 文件,可以用qemu-img 创建。
centOS6安装KVM及虚拟机
8.6 选择网络为共享的物理设备,即桥接。
centOS6安装KVM及虚拟机
8.7 选择创建虚拟机的内存大小和虚拟 cpu 数。
centOS6安装KVM及虚拟机
8.8 虚拟机创建完毕,后面安装系统部分省略了,和 vmware 安装虚拟机完全一致。
centOS6安装KVM及虚拟机
9.系统安装完毕以后,用 virsh 工具开启虚拟机。
centOS6安装KVM及虚拟机
10.然后通过 VNC 或者 SSH 可以远程管理虚拟机了。
centOS6安装KVM及虚拟机

总结:
KVM 虚拟机不仅需要 CPU 的支持,还需要在 BOIS 里面开启 VT 选项。
在终端用 virsh list 可以查看当前正在运行的虚拟机。
在 virsh #模式下面,可以用 start 机器名开启虚拟机,用 shutdown 虚拟机名关闭虚拟机。
创建虚拟机,virt-install --name TEST001 --ram 1024 --vcpus=2 --disk
path=/data/vps/TEST001.img,size=20 --bridge=br0 --accelerate --cdrom
/opt/iso/CentOS-5.8-x86_64-bin-DVD.iso --vnc --vncport=-1。
移除虚拟机 virsh undefine TEST001。
以前一直使用 xen 对 xen 的比较熟悉,现在使用 kvm,对 kvm 的 virsh 的命令做
一个总结
查看虚拟机运行状况
[root@localhost ~]# virsh list
Id 名称 状态

xxx running
yy running
开启虚拟机
[root@localhost ~]# virsh start bi
域 bi 已开始
关闭虚拟机
[root@localhost ~]# virsh shutdown bi
域 bi 被关闭
4.克隆命令
(virt-clone -o centos64-24-02 -n centos64-24-04
-f /var/lib/libvirt/images/centos64-24-04.img)
[root@localhost ~]# virt-clone --connect=qemu:///system -o bi -n nagios
-f /var/lib/libvirt/images/nagios.img
Cloning /var/lib/libvirt/images/bi.img | 49 GB 05:03
Clone 'nagios' created successfully.
常见故障:
1、在 VMware 里克隆出来的 CentOSLinux。
ifconfig...没有看到 eth0.。然后重启网卡又报下面错误。
service network restart
Shutting down loopback insterface:
[ OK ]
Bringing up loopback insterface:
[ OK ]
Bringing up interface eth0: Device eth0 does not seem to be
present,delaying initialization. [FAILED]
解决办法:
首先,打开/etc/udev/rules.d/70-persistent-net.rules 内容如下面例
子所示:
vi /etc/udev/rules.d/70-persistent-net.rules
This file was automatically generated by the
/lib/udev/write_net_rules
program, run by the persistent-net-generator.rules rules file.

You can modify it, as long as you keep each rule on a single
line, and change only the value of the NAME= key.
PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?",
ATTR{address}=="00:0c:29:8f:89:9
, ATTR{type}=="1", KERNEL=="eth
", NAME="eth0"
PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?",
ATTR{address}=="00:0c:29:50:bd:1
, ATTR{type}=="1", KERNEL=="eth
", NAME="eth1"
记录下,eth1 网卡的 mac 地址 00:0c:29:50:bd:17
接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
将 DEVICE="eth0" 改成 DEVICE="eth1" ,
将 HWADDR="00:0c:29:8f:89:97" 改成上面的 mac 地址
HWADDR="00:0c:29:50:bd:17"

最后,重启网络
service network restart
或者
/etc/init.d/network restart

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章