精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-11-18
最后修改:2010-11-18
环境:
CentOS5.5 桌面环境:CentOS5.5(可以为Ubuntu桌面) 2安装 KVMCentOS 5.2 KVM主机: 运行 system-config-securitylevel 并且开启SELinux(如果你的SELinux被禁用,virt-install将不会正常工作)。 然后检查CPU是否支持硬件虚拟化-运行命令 egrep ‘(vmx|svm)’ –color=always /proc/cpuinfo 应该会显示如下信息: [root@server1 ~]# egrep ’(vmx|svm)’ –color=always /proc/cpuinfo 如果什么也没有显示的话,就说明你的处理器不支持硬件虚拟化技术,下面的内容就不适合你了。 下面我们为软件包导入GPG key rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY* 然后安装KVM和virtinst(一个创建虚拟机的工具),我们运行 yum install kvm kmod-kvm qemu libvirt python-virtinst 然后重新启动系统: reboot 启动过后, KVM的内核模块将会被加载: lsmod | grep kvm [root@server1 ~]# lsmod | grep kvm (这个输出结果是一台拥有AMD-V处理器的系统,如果你的电脑使用的是Intel VT的CPU,将会显示类似kvm_intel字符) 使用下列命令检查KVM是否成功安装 virsh -c qemu:///system list 将会显示如下结果: [root@server1 ~]# virsh -c qemu:///system list [root@server1 ~]#
如果在这里显示的是一个错误的信息,说明有些东西出现了问题。 下面我们需要在我们的服务器上设置一个网桥,就可以使我们的虚拟机从其他主机中读取数据。 要做到这一点,我们安装bridge-utils工具。。。。。。 yum install bridge-utils … 并且配置一个网桥从/etc/sysconfig/network-scripts/ifcfg-eth0参考BOOTPROTO, BROADCAST, IPADDR, NETMASK和NETWORK等值来创建文件/etc/sysconfig/network-scripts/ifcfg-br0 : vi /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0 TYPE=Bridge BOOTPROTO=static BROADCAST=192.168.0.255 IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes 修改/etc/sysconfig/network-scripts/ifcfg-eth0 as follows (取消注释BOOTPROTO, BROADCAST, IPADDR, NETMASK, 和NETWORK 最后添加 BRIDGE=br0): vi /etc/sysconfig/network-scripts/ifcfg-eth0 # Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ DEVICE=eth0 #BOOTPROTO=static #BROADCAST=192.168.0.255 HWADDR=00:10:A7:05:AF:EB #IPADDR=192.168.0.100 #NETMASK=255.255.255.0 #NETWORK=192.168.0.0 ONBOOT=yes BRIDGE=br0 重新启动网络… /etc/init.d/network restart … 运行 ifconfig 现在应该显示网桥(br0): [root@server1 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:10:A7:05:AF:EB lo Link encap:Local Loopback virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00 [root@server1 ~]#
3 创建虚拟机:(kvm ,img based)
首先wget 下载你想要安装的镜像 下载下来后,执行安装,利用virt-install 指令:
virt-install qemu:///system --name CentOS --ram 512 --cpuset=1,3,5 and 7 --accelerate --disk path=/docin/VirtualCentOS/CentOS.img,size=50 --network bridge:br0 --cdrom /home/houzhaowei/centosISO/CentOS-5.5-x86_64-bin-DVD-1of2.iso --vnc
其中都有哪些指令 输入man virt-install 可查看,说的非常清楚。 如果用光盘安装, 把 --cdrom 指向cdrom 即可。
输出结果如下所示: [root@server1 ~]# virt-install –connect qemu:///system -n vm10 -r 512 –vcpus=2 -f ~/vm10.qcow2 -s 12 -c ~/debian-500-amd64-netinst.iso –vnc –noautoconsole –os-type linux –os-variant generic26 –accelerate –network=bridge:br0 –hvm Starting install… 表示镜像和域创建完毕,可以准备安装。 此时问题就出来了:本机linux 没有图形界面,该怎么进行安装?解决方案是:用另一台图形化机器的virt-manager 来连接客户机的kvm。
4 在你的CentOS Desktop上安装virt-manager
如果你安装了qemu 和libvirt 则执行: virt-manager 会出现: 选择文件->新建连接 选择qemu 并在主机名上输入你想连接主机的ip。 连接上后会发现有一个主机在running 然后在上面点右键选择“打开”
会看到控制台: 会出现安装界面(由于我的已经安装完了,所以进去的直接是系统界面。) 从概况 和 硬件 选项中可以看到当前虚拟机的信息。 okay 图形出来了 ,接着就按照安装CentOS的图形界面提示进行安装吧(和真实机安装一样。)
5 管理KVM客户机CentOS 5.5 KVM 主机: 可以通过 virsh命令管理KVM客户机,”virtual shell”。连接到virtual shell,运行 virsh –connect qemu:///system 下面就是virtual shell的显示界面: [root@server1 ~]# virsh –connect qemu:///system Type: ’help’ for help with commands virsh # 现在你可以在virtual shell中输入命令来管理你的客户机,运行: help 获得更多的命令: virsh # help
会出现命令列表,很通俗易懂。
virsh # list 显示所有正在运行的客户机; list –all 显示所有客户机,正在运行的和没有运行的: virsh # list –all virsh # 如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机: define /etc/libvirt/qemu/vm10.xml 请注意,无论你何时在/etc/libvirt/qemu/ 中修改了客户机的XML文件,你必须重新运行define 命令! 启动和停止客户机,运行: start CentOS 停止一个客户机,运行 shutdown CentOS 立即中断一个客户机(类似直接关电源),运行 destroy CentOS 挂起一个客户机: suspend CentOS 恢复客户机: resume CentOS
编辑客户机: edit CentOS 会出席那关于该虚拟机配置的xml 文件,在里面可以修改所有属性,cpu,内存等。。。 保存后重启虚拟机即可。
这些都是最重要的命令. 输入 quit 退出virtual shell.
6 复制虚拟机
此时产生了个新需求,需要在多台服务器上搭建虚拟的Centos 怎么办?都重新安装一遍? 答案是:不用。
把本机器已经安装好的CentOS.img copy 到另一台服务器,当然这台机器上必须已经安装好了kvm qemu和libvirt。
然后在新服务器上执行:
virt-install qemu:///system --name CentOS1 --ram 4096 --cpuset=1,3,5 and 7 --accelerate --disk path=/docin/VirtualCentOS/CentOS.img --import --network bridge:br0 注意 ,这里使用了 --import 具体描述 可以用 virt-install -h 来查看 --import 的作用。
ps: 有一个virt-clone 指令,貌似只能本机clone。没详细研究过。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-11-18
|
|
返回顶楼 | |
发表时间:2010-11-18
BT
|
|
返回顶楼 | |
浏览 15361 次