频道栏目
首页 > 资讯 > 云计算 > 正文

云计算虚拟化kvm的知识点总结

18-05-10        来源:[db:作者]  
收藏   我要投稿

第一部分:kvm简介
是 Kernel-based Virtual Machine 的简称,KVM 要求 CPU 支持硬件虚拟化技术(如 intel VT 或 AMD-V),是 Linux 下的全虚拟化解决方案。
KVM 由处于内核态的 KVM 模块和用户态的 QEMU 两部分构成。
KVM 虚拟化技术是当前云计算中计算虚拟化的主流技术,是云计算的核心底层能力,使用 KVM 把多台物理机虚拟化后,组成一个大的虚拟资源池,方便用户从资源池中按需分配计算能力,提升资源的使用效率,同时保证多用户资源之间的隔离性、安全性

第二部分:kvm的使用
备:操作节点node03

一、CPU检查
提前设置虚拟机的支持虚拟化。如下图所示:
这里写图片描述

二、kvm的组成部分

这里写图片描述
kvm有Qemu用户模块和内核模块组成,内核模块主要处理模拟CPU,而Qemu则是模拟除了CPU以外的部分,比如I/O。
由于内核模块在linux内核中已经包含,所以只需要安装用户空间的QemuKvm即可。

egrep -c ‘(vmx|svm)’ /proc/cpuinfo
大于0就说明CPU支持虚拟化 。

三、kvm的安装。

安装命令kvm:

yum install qemu-kvm (用户模块的安装)
安装虚拟化管理工具:
yum install -y virt_manager libvirt libvirt-python python-virtinst bridge-utils
检查内核模块是否备激活:
lsmod | grep kvm
若有返回如:
kvm_intel 54285 0
kvm 333172 1 kvm_intel
说明被激活。
若未被激活可使用:modprode kvm以及modprode kvm-intel 激活。

libvirt 操作

service iptables stop
chkconfig iptables off
然后,service libvirtd restart
chkconfig libvirtd on

以上的准备工作完成后,下面是主要的操作。

四、创建虚拟机硬盘

qemu-img create -f qcow2 /kvmtest/centos-6.5.qcow2 10G

五、默认网络配置文件

/etc/libvirt/qemu/networks

六、创建虚拟机

virt-install –virt-type kvm –name centos-6.5 –ram 1024 \
–vcpus 1 \
–cdrom=/kvmtest/CentOS-6.5-x86_64-minimal.iso \
–disk /kvmtest/centos-6.5.qcow2,format=qcow2 \
–network network=default \
–graphics vnc,listen=0.0.0.0 –noautoconsole \
–os-type=linux –os-variant=rhel6

查看安装后的情况,使用libvirt的shell即可。

virsh
通过help查看命令。
比如可使用:
1.list 查看当前虚拟机使用情况,
2.查看全部的虚拟机,使用list –all 查看。
3.开启某台虚拟机,start domainName/domainID (使用list显示的虚拟机的id或名称均可)
4.关闭虚拟机,shoutdown domainName/domainI
5.查看端口可通过:dumpxml domainID

七、使用vnc远程桌面工具的方式安装虚拟机镜像并连接访问虚拟机:
备:vnc连接的端口是宿主机的端口,而非虚拟机的端口
操作如下图所示:
a.vmware的vnc连接如图:
这里写图片描述
b.这里写图片描述
。。。。。。
安装过程参见此

安装完成下次启动vnc就可以访问虚拟机了 。
注意通过dumxml命令查看需要安装的虚拟机的port。然后连接。
完成所有的操作后,创建虚拟机的时候新建的centos-6.5.qcow2的文件会变成真实的数据文件。然后进入 /etc/libvirt/qemu下寻找centos-6.5.xml的文件,备份其修改其配置。
需要删除的项有:、中的(网卡中mac地址,删后会自动创建 )
需要修改的项有:、(磁盘位置)、
最后在virsh下define centos-6.5-new.xml 加载配置到libvirt .然后在list –all 便可显示新增的虚拟机。

八、网络连接
一台linux宿主机上有不同的虚拟机时候,需要把系统内核下的/proc/sys/net/ipv4/ip _forward的0改成1。既echo 1>/proc/sys/net/ipv4/ip _forward,把ip_forward包转发的机制,操作系统默认是0:关闭的。现在打开即可。因为这个宿主机了有不同虚拟机了,有不同的ip地址,需要要开启包转发的机制。让新安装的虚拟机可以上网。
【proc是内核的映射,能和内核交互的只有2种途径,一个是发起API系统调用,一个改系统下的文件。】

安装完成后,查看接口情况,ipconfig,可发现会多出来virbr0,以及vnet0,如果开启2个则还有vnet1。如果关闭其中一个虚拟机,则会少一个vnet,它是动态根据虚拟机的启动情况创建的。他是宿主机的eth0网卡关联的。一个映射关系。
在virsh下可通过domiflist 主机号查看此虚拟机在宿主机使用的是那个接口。
其中显示的source下的default是对应着/etc/libvirt/qemu/networks下的default.xml。

  1 
  2   default
  3   6edb41a6-8099-48dc-8915-44b1dee8336b
      4    // 桥接器(类似交换机,把凡是选择此中类型的虚拟机插在这一个接口上,在ifconfig里所见,验证通过命令:brctl show )
  5   
  6   
  7   
  8     
  9       
 10     
 11   
 12 

桥接器部分分析,yum install tcpdump -y (抓包的小工具)
tcpdump -n -i vnet0 icmp // 只抓取ping命令的信息 ,前提是在vnc上ping一个地址,比如ping百度。
brctl控制桥接设备用的。

总结来说创建虚拟机的过程主要:

1.创建虚拟机
a.创建磁盘(见:四)qemu-img create -f qcow2 /kvmtest/centos-6.5.qcow2 10G
b.定义虚拟机的配置(见:六)
2.新的虚拟机(备份虚拟机)
a.通过拷贝磁盘镜像:包括了安装过的操作系统的数据,
b.应用新的配置。(复制的过程其实就是复制了配置,关联数据后最后才是一台完整的机器)
3.配置文件
a.物理磁盘路径:/etc/libvirt/qemu/damain.xml
b.通过运行时候查看,virsh 然后 dumpxml -domainID
修改配置的方式:edit domainID
4.virsh下define /etc/libvirt/qemu/domain.xml

相关TAG标签
上一篇:三大未来主宰数据中心网络的技术
下一篇:tibco spotfire 下载需知
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站