KVM安装配置
2015-06-25 17:51
351 查看
KVM 全称 Kernel-based Virtual Machine
qemu 全称 Quick Emulator
virsh 全称 Virtual Shell
一、安装准备
1.确定机器有VT
终端输入命令:
grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
2. 确保BIOS里开启VT
Intel(R) Virtualization Tech [Enabled]
如有必要,还需在BIOS中开启VT-d
3. 确保内核版本较新,支持KVM
用uname –r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
二、安装KVM
1、 安装 KVM 和 virtinst (一个创建 virtual machines 的工具 )# yum install kvm qemu libvirt python-virtinst -y
2、重启后确认libvirtd是否正常启动
# /etc/init.d/libvirtd restart
3、装完后记的重起,重起后检查模块是否有加载
# lsmod |grep kvm
kvm_intel 53484 0
kvm 316506 1 kvm_intel
4、检查KVM是否成功安装,出现以下信息说明安装成功了
# virsh list --all ##--all关闭的也会显示
Id Name State
----------------------------------------------------
5、安装桥接管理的工具
# yum install bridge-utils
6、安装 GUI 的管理软件
# yum install virt-manager
7、版本信息查询
# virsh --version
8、修改qemu.conf配置
# vim /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0" 修改vnc监听端口
参考资料: http://lvmy.iteye.com/blog/1297409 http://www.server110.com/kvm/201404/10467.html
三、KVM网卡桥接设置
1、关闭 virbr0
安装完成支持虚拟化相关包后,会自动建立一个名称为virbr0的虚拟网卡,在多网卡情况下,此网卡默认与eth1或em1网卡绑定,使用的是 NAT 模式(采用 IP Masquerade)。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。所以说这个virbr0不是必须的,不用的情况下为避免混乱建议关闭。
默认的网络连接是virbr0,它的配置文件在/var/lib/libvirt/network目录下。
# virsh net-list
Name State Autostart
-----------------------------------------
default active yes
# virsh net-destroy default
Network default destroyed
# virsh net-undefine default
Network default has been undefined
# service libvirtd restart
Stopping libvirtd daemon: [ OK ]
Starting libvirtd daemon: [ OK ]
2、另外一种方式是bridge方式,可以使虚拟机成为网络中具有独立IP的主机。创建将要使用的br0虚拟网卡。
#cd /etc/sysconfig/network-scripts/
#cp ifcfg-em1 ifcfg-br0
修改成如下效果:
#cat ifcfg-em1 (IP地址、网关、DNS1等信息移至br0)
DEVICE=em1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
BRIDGE=virbr0
HWADDR=C8:1F:66:F7:29:C8
#cat ifcfg-br0 (HWADDR去除)
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.100.0.3
NETMASK=255.255.255.0
GATEWAY=10.100.0.254
#service network restart
3、查看修改后的网卡桥接信息和路由信息
#brctl show
#route
配置完毕后通过ifconfig命令,em1口则不会显示地址信息,新配置的br0口会代替em1口成为真机网口,装好的虚拟机em1口将与真机br0口互相通信。
四、利用virsh工具管理生成虚拟机,virt-manager是RedHat共享的一个开源虚拟化管理软件,它是用Python编写的GUI程序,底层使用了Libvirt对各类Hypervisor进行管理。
# virsh list //查看现有虚拟机信息
# virt-manager //打开图形化管理窗口
新生成虚拟机硬盘img文件默认位置:/var/lib/libvirt/images/jia.img
新生成虚拟机的配置文件默认位置:/etc/libvirt/qemu/jia.xml 这个文件只能用virsh edit 编辑用vi无效,修改相应的文件即可重新配置虚拟机。
Virsh语法参考:
Autostart 自动开始一个域
Create 从一个 XML 文件创建一个域
Define 从一个 XML 文件定义(但不开始)一个域
edit 编辑某个域的 XML 配置
shutdown 关闭一个域
start 开始一个(以前定义的)非活跃的域
reboot 重新启动一个域
suspend 挂起一个域
resume 重新恢复一个域
vncdisplay vnc 显示
autostart #自动加载指定的一个虚拟机
connect #重新连接到hypervisor
console #连接到客户会话
create #从一个SML文件创建一个虚拟机
start #开始一个非活跃的虚拟机
destroy #删除一个虚拟机
define #从一个XML文件定义一个虚拟机
domid #把一个虚拟机名或UUID转换为ID
domuuid #把一个郁闷或ID转换为UUID
dominfo #查看虚拟机信息
domstate #查看虚拟机状态
domblkstat #获取虚拟机设备快状态
domifstat #获取虚拟机网络接口状态
dumpxml #XML中的虚拟机信息
edit #编辑某个虚拟机的XML文件
list #列出虚拟机
migrate #将虚拟机迁移到另一台主机
quit #退出非交互式终端
reboot #重新启动一个虚拟机
resume #重新恢复一个虚拟机
save #把一个虚拟机的状态保存到一个文件
dump #把一个虚拟机的内核dump到一个文件中以方便分析
shutdown #关闭一个虚拟机
setmem #改变内存的分配
setmaxmem #改变最大内存限制值
suspend #挂起一个虚拟机
vcpuinfo #虚拟机的cpu信息
version #显示virsh版本
1、图形化配置:
从菜单中启动,或者运行virt-manager进入图形管理界面,比较简单,不过img的位置需要注意一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。或者直接硬盘分区时单独给/var分一个区。
2、虚拟机重新配置:
虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。修改相应的文件即可重新配置虚拟机。
3、虚拟机备份及恢复:
备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define 目录下的xml文件路径
virsh # define /etc/libvirt/qemu/winxp.xml
4、开机自动启动虚拟机:
[root@vfeelit qemu]# virsh autostart Winxp
5、克隆KVM虚拟机:
[root@vfeelit ~]# virt-clone -o Winxp -n winxpclong -f /var/lib/libvirt/images/winxpclong.img
(-o 原始客体的名称,-n新客户端的名称,-f作为新客户端磁盘映像的新文件)
6、虚拟机意外关机报下述错误:
[root@vfeelit qemu]# virsh start winxp
错误:开始域 winxp 失败
错误:Unable to read from monitor: Connection reset by peer
解决方法:virsh managedsave-remove winxp
参考资料:
http://blog.51yip.com/linux/1633.html http://blog.51yip.com/linux/1627.html http://www.showerlee.com/archives/309 http://www.server110.com/kvm/201404/10467.html
qemu 全称 Quick Emulator
virsh 全称 Virtual Shell
一、安装准备
1.确定机器有VT
终端输入命令:
grep vmx /proc/cpuinfo (INTEL芯片)
grep svm /proc/cpuinfo (AMD芯片)
不知道芯片的生产厂商则输入:egrep '(vmx|svm)' /proc/cpuinfo
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法成功安装KVM虚拟机。
2. 确保BIOS里开启VT
Intel(R) Virtualization Tech [Enabled]
如有必要,还需在BIOS中开启VT-d
3. 确保内核版本较新,支持KVM
用uname –r查看内核版本,如果在2.6.20以下的linux版本,需升级内核。
二、安装KVM
1、 安装 KVM 和 virtinst (一个创建 virtual machines 的工具 )# yum install kvm qemu libvirt python-virtinst -y
2、重启后确认libvirtd是否正常启动
# /etc/init.d/libvirtd restart
3、装完后记的重起,重起后检查模块是否有加载
# lsmod |grep kvm
kvm_intel 53484 0
kvm 316506 1 kvm_intel
4、检查KVM是否成功安装,出现以下信息说明安装成功了
# virsh list --all ##--all关闭的也会显示
Id Name State
----------------------------------------------------
5、安装桥接管理的工具
# yum install bridge-utils
6、安装 GUI 的管理软件
# yum install virt-manager
7、版本信息查询
# virsh --version
8、修改qemu.conf配置
# vim /etc/libvirt/qemu.conf
vnc_listen = "0.0.0.0" 修改vnc监听端口
参考资料: http://lvmy.iteye.com/blog/1297409 http://www.server110.com/kvm/201404/10467.html
三、KVM网卡桥接设置
1、关闭 virbr0
安装完成支持虚拟化相关包后,会自动建立一个名称为virbr0的虚拟网卡,在多网卡情况下,此网卡默认与eth1或em1网卡绑定,使用的是 NAT 模式(采用 IP Masquerade)。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。所以说这个virbr0不是必须的,不用的情况下为避免混乱建议关闭。
默认的网络连接是virbr0,它的配置文件在/var/lib/libvirt/network目录下。
# virsh net-list
Name State Autostart
-----------------------------------------
default active yes
# virsh net-destroy default
Network default destroyed
# virsh net-undefine default
Network default has been undefined
# service libvirtd restart
Stopping libvirtd daemon: [ OK ]
Starting libvirtd daemon: [ OK ]
2、另外一种方式是bridge方式,可以使虚拟机成为网络中具有独立IP的主机。创建将要使用的br0虚拟网卡。
#cd /etc/sysconfig/network-scripts/
#cp ifcfg-em1 ifcfg-br0
修改成如下效果:
#cat ifcfg-em1 (IP地址、网关、DNS1等信息移至br0)
DEVICE=em1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
BRIDGE=virbr0
HWADDR=C8:1F:66:F7:29:C8
#cat ifcfg-br0 (HWADDR去除)
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.100.0.3
NETMASK=255.255.255.0
GATEWAY=10.100.0.254
#service network restart
3、查看修改后的网卡桥接信息和路由信息
#brctl show
#route
配置完毕后通过ifconfig命令,em1口则不会显示地址信息,新配置的br0口会代替em1口成为真机网口,装好的虚拟机em1口将与真机br0口互相通信。
四、利用virsh工具管理生成虚拟机,virt-manager是RedHat共享的一个开源虚拟化管理软件,它是用Python编写的GUI程序,底层使用了Libvirt对各类Hypervisor进行管理。
# virsh list //查看现有虚拟机信息
# virt-manager //打开图形化管理窗口
新生成虚拟机硬盘img文件默认位置:/var/lib/libvirt/images/jia.img
新生成虚拟机的配置文件默认位置:/etc/libvirt/qemu/jia.xml 这个文件只能用virsh edit 编辑用vi无效,修改相应的文件即可重新配置虚拟机。
Virsh语法参考:
Autostart 自动开始一个域
Create 从一个 XML 文件创建一个域
Define 从一个 XML 文件定义(但不开始)一个域
edit 编辑某个域的 XML 配置
shutdown 关闭一个域
start 开始一个(以前定义的)非活跃的域
reboot 重新启动一个域
suspend 挂起一个域
resume 重新恢复一个域
vncdisplay vnc 显示
autostart #自动加载指定的一个虚拟机
connect #重新连接到hypervisor
console #连接到客户会话
create #从一个SML文件创建一个虚拟机
start #开始一个非活跃的虚拟机
destroy #删除一个虚拟机
define #从一个XML文件定义一个虚拟机
domid #把一个虚拟机名或UUID转换为ID
domuuid #把一个郁闷或ID转换为UUID
dominfo #查看虚拟机信息
domstate #查看虚拟机状态
domblkstat #获取虚拟机设备快状态
domifstat #获取虚拟机网络接口状态
dumpxml #XML中的虚拟机信息
edit #编辑某个虚拟机的XML文件
list #列出虚拟机
migrate #将虚拟机迁移到另一台主机
quit #退出非交互式终端
reboot #重新启动一个虚拟机
resume #重新恢复一个虚拟机
save #把一个虚拟机的状态保存到一个文件
dump #把一个虚拟机的内核dump到一个文件中以方便分析
shutdown #关闭一个虚拟机
setmem #改变内存的分配
setmaxmem #改变最大内存限制值
suspend #挂起一个虚拟机
vcpuinfo #虚拟机的cpu信息
version #显示virsh版本
1、图形化配置:
从菜单中启动,或者运行virt-manager进入图形管理界面,比较简单,不过img的位置需要注意一下,kvm安装后会有一个默认位置,不注意的话容易占满空间。或者直接硬盘分区时单独给/var分一个区。
2、虚拟机重新配置:
虚拟机的配置文件保存在/etc/libvirt/qemu目录下,扩展名是xml。修改相应的文件即可重新配置虚拟机。
3、虚拟机备份及恢复:
备份:拷贝/etc/libvirt/qemu目录下的xml配置文件,以及xml中设置的img文件。
恢复:进入virsh,执行define 目录下的xml文件路径
virsh # define /etc/libvirt/qemu/winxp.xml
4、开机自动启动虚拟机:
[root@vfeelit qemu]# virsh autostart Winxp
5、克隆KVM虚拟机:
[root@vfeelit ~]# virt-clone -o Winxp -n winxpclong -f /var/lib/libvirt/images/winxpclong.img
(-o 原始客体的名称,-n新客户端的名称,-f作为新客户端磁盘映像的新文件)
6、虚拟机意外关机报下述错误:
[root@vfeelit qemu]# virsh start winxp
错误:开始域 winxp 失败
错误:Unable to read from monitor: Connection reset by peer
解决方法:virsh managedsave-remove winxp
参考资料:
http://blog.51yip.com/linux/1633.html http://blog.51yip.com/linux/1627.html http://www.showerlee.com/archives/309 http://www.server110.com/kvm/201404/10467.html
相关文章推荐
- 查看android数据库sqlite3中的表及数据、直接编辑数据库
- python-rrdtool
- Python - 杨辉三角
- 邮件系统postfix AND 抓包工具
- spring mvc接收json参数
- AFNetWorking post body内容
- 利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)
- 社会主义市场经济的的理论与实践一
- SAT历年真题之:作文题目汇总(四)
- 继承、封装、多态
- 使用RecyclerView写树形结构的TreeRecyclerView
- Linux下搭建Android开发环境
- 常量指针与指针常量的区别(转帖)
- 地球人看不到的奇观:夜空同现三个月亮
- 人脸识别特征脸提取PCA算法
- WiFi 802.11 a b g n ac标准总结
- window下安装php的imagick和imagemagick扩展教程
- 新注册,mark一下
- 论华为竞争力的根源
- 利用二级指针删除单向链表