kvm学习笔记(一,基础概念)
Posted 放在垃圾桶里
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kvm学习笔记(一,基础概念)相关的知识,希望对你有一定的参考价值。
前言
阿里云的云主机,采用的kvm,今天就花了点时间研究了下。
一、安装
官方文档参考:http://www.linux-kvm.org/page/HOWTO
二、快速建立一个基于vnc的虚拟机安装
桥接网卡
命令创建虚拟机
virt-install \\ #--network bridge:br0 如果主机网卡不是桥接模式注释掉,默认走NAT模式 --name vm12 \\ --ram=1024 \\ --vcpus=1 \\ --disk path=./vm12.img,size=10 \\ --graphics vnc,password=123456,port=5930,listen=0.0.0.0 \\ --cdrom ./CentOS-6.8-i386-minimal.iso
用
TightVNC客户端,输入端口5930和密码进入安装画面
三、配置和命令的查看方法
1.virsh list 显示运行的虚拟机
2.virsh list --all 显示所有
3.virsh start vm12 启动vm12虚拟机主机
3.virsh destroy vm12 强制关闭vm12
4.virsh undefine vm12 删除vm12
5.virsh shutdown vm12 友好关闭,一般还是强制吧
6.rpm -ql libvirt 列出包的相关文件
7.通过6
8.更多参数...
virsh define instance-00000015.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh edit instance-00000015 # 编辑配置文件(一般是在刚定义完虚拟机之后)
virsh start instance-00000015 #启动名字为ubuntu的非活动虚拟机
virsh reboot instance-00000015 #重启虚拟机
virsh create instance-00000015.xml #创建虚拟机(创建后,虚拟机立即执行,成为活动主机)
virsh suspend instance-00000015 #暂停虚拟机
virsh resume instance-00000015 #启动暂停的虚拟机
virsh shutdown instance-00000015 #正常关闭虚拟机
virsh destroy instance-00000015 #强制关闭虚拟机
virsh dominfo instance-00000015 #显示虚拟机的基本信息
virsh domname 2 #显示id号为2的虚拟机名
virsh domid instance-00000015 #显示虚拟机id号
virsh domuuid instance-00000015 #显示虚拟机的uuid
virsh domstate instance-00000015 #显示虚拟机的当前状态
virsh dumpxml instance-00000015 #显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)
virsh setmem instance-00000015 512000 #给不活动虚拟机设置内存大小 查看当前内存 virsh dominfo instance-00000015 只能提升 currentMemory,天花板是 memory 值;参考http://jpuyy.com/category/virtualization
virsh setvcpus instance-00000015 4 # 给不活动虚拟机设置cpu个数
virsh save instance-00000015 a #将该instance-00000015虚拟机的运行状态存储到文件a中
virsh restore a #恢复被存储状态的虚拟机的状态,即便虚拟机被删除也可以恢复(如果虚拟机已经被undefine移除,那么恢复的虚拟机也只是一个临时的状态,关闭后自动消失)
9.添加磁盘
qemu-img create -f raw /data/vm/huge.img 500G
virsh attach-disk newphp_104_vnc51044 /data/kvms/php_fuwuhuas/add2.img vdb --cache none #动态添加磁盘,需虚拟机启动状态 才能执行。
四、iptable映射nat模式主机的端口
先看下kvm网络架构
#把目标地址192.168.1.100 端口是8000 的映射到192.168.132.3:80,假设192.168.1.100为外网IP
iptables -t nat -A PREROUTING -d 192.168.1.100 -p tcp --dport 8000 -j DNAT --to-destination 192.168.132.3:80
#源地址转换,-s 192.168.132.0/255.255.255.0 -d 192.168.132.3 -p tcp --dport 80 这串是规则,就是说192.168.132.3 的80端口要投递回去,
把源地址修改成 192.168.1.100
iptables -t nat -A POSTROUTING -s 192.168.132.0/255.255.255.0 -d 192.168.132.3 -p tcp --dport 80 -j SNAT --to-source 192.168.1.100
再干掉这两条规则就可以了
总结:
有了这点基本概念,我们就可以搭建自己的云环境了。
以上是关于kvm学习笔记(一,基础概念)的主要内容,如果未能解决你的问题,请参考以下文章