Kvm虚拟化实现
1 什么是KVM
KVM是一种虚拟化的技术,目前一些云计算是通过KVM去实现的
2 实现目的
2.1 为搭建openstack打基础
2.2 Vmware收费啊
3 KVM技术组成部分
KVM技术主要有两个部分组成:KVM驱动和qemu
kvm 驱动,现在已经是linux kernel的一个模块了。其主要负责虚拟机的创建,虚拟内存的分配,VCPU寄存器的读写以及VCPU的运行。
另个组成是Qemu,用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。
4 KVM的搭建
4.1 查看机器本身是否支持KVM (主要是CPU支持)
grep -E '(vmx|svm)' /proc/cpuinfo
4.2 添加安装包:
yum install qemu-kvm qemu-kvm-tools virt-manager libvirt
qemu-kvm qemu-kvm-tools:qemu管理工具
virt-manager: 虚拟机创建
libvirt :virt-manager会调用libvirt
4.3 启动libvirt:/etc/init.d/libvirtd start
4.4 创建虚拟机准备工作(创建硬盘 和 上传镜像 )
创建硬盘:qemu-img create -f raw /opt/Centos-6.6 .raw 5G
-f 指定文件格式
查看硬盘信息:
file raw /opt/Centos-6.6 .raw
qemu-img info /opt/Centos-6.6 .raw
上传镜像:(ISO文件镜像放在宿主机内)
4.5 创建虚拟机
virt-install --name Centos-6.7-x86_64
--virt-type kvm
--ram 1024
--cdrom=/opt/Centos-6.7.iso
--disk path=/opt/Centos-6.6.raw
--network network=default
--graphics vnc,listen=0.0.0.0
--noautoconsole
5 KVM的管理:虚拟化管理工具 libvirt (如果libvirt服务挂掉 虚拟机照常运行 但是管理不了虚拟机)
5.1 查看虚拟机:
virsh list // 正在运行的虚拟机
virsh list --all 所有的虚拟机(运行的和没有运行的)
5.2 启动虚拟机:
virsh start Centos-6.7-x86_64
5.3 停止虚拟机
virsh shutdown Centos-6.7-x86_64
virsh distory Centos-6.7-x86_64
5.4 编辑虚拟机
virsh edit Centos-6.7-x86_64
5.4.1 cpu 热添加: 更改XML (文件位置: /etc/libvirt/qemu/)
virsh shutdown Centos-6.7-x86_64
virsh start Centos-6.7-x86_64
更改CPU个数:
virsh setvcpus Centos-6.7-x86_64 2 –live
进入虚拟机查看CPU个数:
如果没有变:则需要手动激活
cat /sys/devices/system/cpu/cpu1/online 如果为0 设置为1
echo 1 > /sys/devices/system/cpu/cpu1/online // 添加几块设置几个
5.4.2 内存热增加和减少:总数不能超过最大内存
virsh edit Centos-6.7-x86_64 编辑
查看当前内存:
virsh qemu-monitor-command Centos-6.7-x86_64 --hmp --cmd info balloon
减少内存:
virsh qemu-monitor-command Centos-6.7-x86_64 --hmp –cmd balloon 600
增加内存:
virsh qemu-monitor-command Centos-6.7-x86_64 --hmp --cmd balloon 2048
5.4.3 删除虚拟机:
virsh undefine Centos-6.7-x86_64
(删除就永远消失了 除非备份XML文件)
virsh resume Centos-6.7-x86_64 (恢复虚拟机)
6. 网络问题
问题原因:网络配置文件中onboot没有开启
解决办法:vi /etc/sysconfig/network-script/ifcfg-eth0 将onboot设置为yes
重启网络
安装ifconfig : yum install net-tools
妈的!终于起来了。。。。。。。。。。。。。。。。