热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.364bit安装KVM虚拟机过程总结

1.[root@kvmtest~]#egrepvmx|svm/proc/cpuinfo//首先确定你的cpu是否支持vmx或者svm虚拟化,vmx属于inter处理器,svm属于amd处理器,或者用cpu-z查看你的处理器是否支持vt-x虚拟化,bios中开启vt支持。2.系统安装利用kickstart安装KVM,最主

1.[root@kvmtest ~]#egrep 'vmx|svm' /proc/cpuinfo//首先确定你的cpu是否支持vmx或者svm虚拟化,vmx属于inter处理器,svm属于amd处理器,或者用cpu-z查看你的处理器是否支持vt-x虚拟化,bios中开启vt支持。
2.系统安装利用kickstart安装KVM,最主要是添加4个组包
 @virtualization //提供虚拟机的环境,主要包含qumu-kvm
 @virtualization-client//管理和安装虚拟机实例的客户端,主要有python-virtinst,virt-manager,virt-viewer
 @virtualization-platform//提供访问和控制虚拟客户端的接口,主要有libvirt,libvirt-client
 @virtualization-tools //管理离线虚拟机镜像的工具,主要有libguestfs根据需求选择软件包,一般都安装1,2,3 利用yum groupinstall "Virtualization" "Virtualization Client""Virtualization Platform"
3.[root@kvmtest ~]# lsmod|grep kvm //以下说明已经加载了kvm和kvm_intel的模块。
 kvm_intel              52570  3
kvm                  314739  1 kvm_intel
4.使用下列命令检查KVM是否成功安装
 [root@kvmtest ~]#virsh -c qemu:///system list  //以下表示正常
 将会显示如下结果:
Id Name                State
 -------
5.[root@kvmtest ~]# service libvirtd status //查看libvirtd API工具是否启动
 libvirtd (pid  1607) is running...
 [root@kvmtest ~]# chkconfig --list libvirtd //查看libvirtd 开机启动runlevel为3,4,5级别
 libvirtd        0:off  1:off  2:off  3:on    4:on    5:on    6:off
6.KVM Bridge上网配置
桥模式简介
 关于桥的模式:
 其实我们在虚拟机搭建的时候,我们最终关心的网卡是: eth0, br0, vnet0,vnet1… 其中,我们的eth0是原来的物理网卡,br0是我们虚拟出来的桥设备,而vnetXXX就是桥接映射到虚拟机里面用到的网
卡。当配置完了之后,我们使用ifconfig,查看起来的话,eth0是没有ip地址的,而br0仿佛是虚拟出来的一个原来eth0的访问接口,它具有ip地址,可以代替原来的eth0被访问,而vnetXX的地址可以在
建立虚拟机之后在虚拟机里面配置,桥接后可以被外部访问。
虽然不知道我的表述是否的标准,但是大概就是这么个意思。
注意:将已有的物理网卡添加到网桥,此时物理网卡工作于混杂模式,所以不需要IP了,因为网桥是工作在链路层的。br0就提供了IP地址,来模拟原来的物理网卡的访问接口.关于混杂模式:查了一些
资料,原因是根据以太网的原理,包是在整个子网里面广播发送的,当网卡发现这个数据帧不是发给自己的也不是广播包的时候,就直接把它丢掉,而不传送到上层内核去处理;而当网卡处于混杂模式
的时候,网卡就不会丢掉帧,而是全部向上提交到内核,让内核处理这些帧结构。通常的,混杂模式使用来进行网络调试的,不是正常的工作状态。
目标:
 让虚拟机和物理机有相同的网段,使得办公局域网内能访问虚拟机。
这样可以在一台性能较好的台式机上虚拟出kvmtest1,kvmtest2,kvmtest3,kvmtest4等服务器 各种服务之间不会相互干扰,只要物理机不down掉,虚拟机之间相对独立,已经安装桥接bridge-utils和
虚拟机接口创建工具tunctl,添加修改配置文件来更简单,eth0为物理接口br0为桥接网口,使用下列同样的方法配置eth1为第二块物理接口br1为桥接网口。
7. [root@kvmtest ~]#cat ifcfg-br0 //查看ifcfg-br0配置文件
 DEVICE=br0 //网卡接口名称
 TYPE=Bridge //网卡类型
 BOOTPROTO=static //启动地址协议static静态,bootp协议和dhcp协议
 NM_COnTROLLED=no //是否允许networkManager管理
 OnBOOT=yes //启动系统是否自动加载
 IPADDR=192.168.xx.xxx //网卡ip地址
 NETMASK=255.255.255.0  //网卡网络地址
 GATEWAY=192.168.xx.xx  //网卡网关地址
8. [root@kvmtest ~]##cat ifcfg-eth0 //查看ifcfg-eth0配置文件
 DEVICE=eth0  //网卡接口名称
 TYPE=Ethernet //网卡类型
 BOOTPROTO=none //启动地址协议static静态,bootp协议和dhcp协议
 HWADDR=8C:89:A5:65:B8:3D  //网卡mac物理地址
 NM_COnTROLLED=no //是否启动networkmanager管理
 OnBOOT=yes //启动系统是否自动加载
 BRIDGE=br0 //桥接为br0名字可以自定
9. [root@kvmtest ~]#service network restart //重启网络让br0 和br1桥生效。
 Shutting down interface br0:            [  OK  ]
 Shut Shutting down interface br0:        [  OK  ]
 Shutting down interface eth1:            [  OK  ]
 Shutting down interface eth1:            [  OK  ]
 Shutting down loopback interface:        [  OK  ]
 Bringing up loopback interface:          [  OK  ]
 Bringing up interface eth0:              [  OK  ]
 Bringing up interface br0:              [  OK  ]
 Bringing up interface eth1:              [  OK  ]
 Bringing up interface br1:              [  OK  ]
10. [root@kvmtest ~]# brctl show //查看全部桥接信息
 bridge name    bridge id              STP enabled    interfaces
 br0            8000.8c89a565b83d      no              eth0
 br1            8000.00e04cefb385      no              eth1
 virbr0          8000.5254001daa20      yes      virbr0-nicvirbr0//系统默认生成接口主要用于NAT,如果要删除可以先ifconfig virbr0 down接口,然后利用brctl delbr virbr0删除掉
即可。    
11.安装宿主机host中的guest系统

virt-install是一个使用“libvirt” hypervisor 管理库构建新虚拟机的命令行工具,此工具使用串行控制台,SDL(Simple DirectMedia Layer)图形或者VNC客户端/服务器,支持基于命令行和图形

安装。

所建立的客户机(在虚拟化中,把运行运行虚拟机服务器称为host,把虚拟机称为guest)能够配置使用一个或多个虚拟磁盘、网卡、音频设备和物理安装媒介可以本地或基于NFS、HTTP、FTP服务器远程

连接,基于后者,virt-install将提取必要的最小限度的文件开始安装过程,在安装过程中,允许客户机根据需要提取其他的文件,也支持PXE引导和导入已有的磁盘映像(此操作跳过安装阶段)。

给予适合的命令行变量,“virt-install”具有完全无人值守安装的能力,这允许更容易的客户机自动化安装。本工具也支持,互模式通过提供 --prompt选项,但是这种方式只要求最小的必要选项。安

装guest系统默认使用virt-install工具创建磁盘为raw格式,利用virt-install工具来安装.无GUI使用virt-install安装guest,有图形界面用virt-manager工具当你的CentOS没有桌面环境时,可以使用

virt-install命令安装,如:

1、输入虚拟机名称
2、分配多少内存
3、处理器的个数
4、此步可以直接输入iso的位置或是url
5、虚拟机类型KVM
6、定义虚拟机磁盘映像的位置
7、磁盘的大小
6、指定哪个桥或者可以指定多个桥
7、额外的控制台和KS文件
8、连接到系统参数

12.[root@localhost ~]#virt-install -v -n kvmtest1 -r 512 --vcpus=1 -l http://mirrors.163.com/centos/6.3/os/x86_64/ --nographics --virt-type=kvm -f /home/vmimages/kvmtest1.img -s

10 -w bridge:br0 ?w bridge:br1 --extra-args='cOnsole=tty0cOnsole=ttyS0,115200n8 ks=http://192.168.xx.xx/test1.cfg' --connect qemu:///system

参数说明注意每行都要空格
-n 虚拟机名称
-r 分配虚拟机内存大小
--vcpus 分配虚拟cpu个数
-c 镜像文件位置
--vnc --vncport=5901 --vnclisten=0.0.0.0 启动图形安装界面
--virt-type 虚拟机模式
-f 虚拟机系统文件存储目录
-s 分配磁盘大小(GB)
-w 联网方式(birdge bridge:br0/nat bridge:virbr0)
--os-type='windows' --os-variant=win2k3 安装windows最好加上这个否则会报错
virt-install工具安装虚拟机后,在目录/etc/libvirt/qemu/下生成xml配置文件
-s 用来指定虚拟磁盘的大小单位为GB
-m 指定虚拟网卡的硬件地址默认virt-install自动产生
-p 以半虚拟化方式建立虚拟机
-l 指定安装来源
-x EXTRA, --extra-args=EXTRA当执行从"--location"选项指定位置的客户机安装时,附加内核命令行参数到安装程序。
-v, --hvm 设置全虚拟化

13.利用virsh工具管理生成虚拟机,virt-manager是RedHat共享的一个开源虚拟化管理软件,它是用Python编写的GUI程序,底层使用了Libvirt对各类Hypervisor进行管理。

[root@kvmtest kvmks]# virsh list //查看虚拟机信息
Id Name State
----------------------------------------------------
1 kvmtest1 running
2 kvmtest2 running
3 kvmtest3 running
4 kvmtest4 running

14.[root@kvmtest ~]# virsh destroy kvmtest1 //virsh destroy ID/NAME删除虚拟机
Domain kvmtest1 destroyed

15.[root@kvmtest ~]# virsh start kvmtest1 //virsh start NAME启动虚拟机
Domain kvmtest1 started

16.[root@kvmtest ~]# virsh console kvmtest1 //virsh console ID/NAME控制台连接虚拟机
Connected to domain kvmtest1
Escape character is ^]
CentOS release 5.8 (Final)
Kernel 2.6.18-308.el5 on an x86_64
kvm1 login:
//利用ctrl+]切换到host主机,host主机利用virsh console ID/NAME切换到guest系统。

help 显示该命令的说明
quit 结束 virsh,回到 Shell
connect 连接到指定的虚拟机服务器
create 启动一个新的虚拟机
destroy 删除一个虚拟机
start 开启(已定义的)非启动的虚拟机
define 从 XML 定义一个虚拟机
undefine 取消定义的虚拟机
dumpxml 转储虚拟机的设置值
list 列出虚拟机
reboot 重新启动虚拟机
save 存储虚拟机的状态
restore 回复虚拟机的状态
suspend 暂停虚拟机的执行
resume 继续执行该虚拟机
dump 将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown 关闭虚拟机
setmem 修改内存的大小
setmaxmem 设置内存的最大值
setvcpus 修改虚拟处理器的数量

17.虚拟机重新配置
虚拟机的配置文件保存在/etc/libvert/qemu目录下,扩展名是xml,这文件只能用virsh edit来编辑用vi无效,修改相应的文件即可重新配置虚拟机。

-
-
kvmtest1
1e29c67f-2d4f-ecaf-4eed-c1727fea6fbc
524288
524288
1
-
hvm


-





destroy
restart
restart
-
/usr/libexec/qemu-kvm
-

//这里主要是guest系统磁盘的路径



-


- //桥接地址br0对应eth0





- //桥接br1对应eth1





-


-


-



18. 虚拟机备份及恢复
备份:拷贝/etc/libvert/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define

原文:http://www.linuxidc.com/Linux/2012-11/74318.htm


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 解决网站乱码问题的综合指南
    本文总结了导致网站乱码的常见原因,并提供了详细的解决方案,包括文件编码、HTML元标签设置、服务器响应头配置、数据库字符集调整以及PHP与MySQL交互时的编码处理。 ... [详细]
  • 在Ubuntu 8.04中安装美观的Cairo-Dock桌面增强工具
    本文介绍如何在Ubuntu 8.04系统中安装和配置Cairo-Dock,这款桌面增强工具以其精美的界面和高效的功能备受用户青睐。文章将指导您通过简单的步骤完成安装,并提供一些实用的配置建议。 ... [详细]
author-avatar
妮子爱笨蛋
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有