qemu-kvm

作者: why_not_ | 来源:发表于2019-01-04 09:52 被阅读0次

qemu-kvm

kernel-based-virtual

Hypervisor
基于虚拟化扩展的x86硬件的开源linux原生的全虚拟化解决方案

安装kvm

1、确保CPU支持HVM
grep -E --color=auto '(vmx|svm)' /proc/cpuinfo
2、装载模块
modprobe kvm
modprobe kvm-intel
3、验证
/dev/kvm 设备

60%的性能
时间不准确

kvm工具

qemu kvm专用
qemu-kvm
qumu-img
libvirt
GUI:virt-manager virt-viewer
CLI:virtinstall virsh

安装qemu

yum install qemu-kvm
rpm -ql qemu-kvm
ln -sv /usr/libexec/qemu-kvm /usr/bin/

qemu管理功能

Standard options        标准选项*
Block device options    块设备选项*
USB options             usb选项
Display options         控制台选项
i386 target only        x86平台专有
Network options         网络选项*
Character device options    
Device URL Syntax       
Bluetooth(R) options    蓝牙选项
Linux/Multiboot boot specific   多启动设备
Debug/Expert options    专家选项

启动一个简单的虚拟机
http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-i386-disk.img
qemu-img info cirros-0.4.0-i386-disk.img
qemu-kvm -name cirros -m 256 -smp 2 -hda cirros-0.4.0-i386-disk.img
yum install tigervnc -y
rpm -ql tigervnc

标准、块设备选项

-name   虚拟机名称
-M      machice 模拟的主机类型
-m      内存
-cpm    cpu类型
-smp    cpu核心数
    [,cores=cores]      核心数
    [,threads=threads]  线程数
    [,sockets=sockets]  插槽数
    [,maxcpus=maxcpus]  最大热插入cpu
-numa   非一致内存访问
-hda
-hdb
-hdc
-hdd
-cdrom          指定file为cdrom镜像文件

-drive          定义一个硬盘设备
    file=       硬盘映像文件
    if=         硬盘设备接口类型 ide、scsi、sd、virtio(半虚拟化)
    index=      指定同一种控制器不同设备的索引号
    media=      定义介质类型    disk、cdrom
    snapshot=   是否支持快照    on  off
    cache=      定义使用物理机缓存来访问块数据
    format=     指定映像文件的格式

-boot           定义设备的启动次序
    在x86架构上     (默认为硬盘驱动器)
    a、b表示软驱
    c表示第一块硬盘
    d表示第一个光驱设备
    n-p表示网络驱动器
  -boot order=dc once=d
    order   设定引导次序
    once    设定第一次引导的设备

示例
qemu-kvm --name censtos -smp 2 -m 2048 -cpu host -drive file=/data/iso/CentOS-7-x86_64-Minimal-1804.iso,media=cdrom -drive file=/tmp/centos.qcow2,media=disk -boot order=dc,once=d

显示选项

SDL 
    
VNC
 -vnc display [option,option]
    display
        1、host:N           #N为控制台号
            192.168.1.1:1       5900为起始端口
        2、unix                 监听在套接字
        3、none                 不显示
    option
        password                要求密码验证 设定密码要在monitor界面下
        

-monitor stdio  在标准输入输出上显示monitor界面
-nographic      可以在console和monitor界面切换

网络属性选项

nic     #定义网络接口
-net nic [,vlan=n,macaddr=n,model=type,name=name,addr=addr]
    vlan        vlan号
    macaddr     mac地址(mac 默认不变)
    model       e1000 virtio
        qemu-kvm -net nic,model=?   获取当前支持的类型
    name        设备名
    addr        ip地址

tap     #nic管理虚拟机中的接口,tap就是管理宿主机上的对应接口
-net tap[,vlan=n,name=name,fd=h,ifname=name]
user

kvm的网络模型

1、隔离模型
    使用bridge连接各个虚拟机但不关联物理网卡
2、nat模型
    在路由模型上添加nat规则 iptables
3、路由模型
    在隔离模型的基础之上添加一个虚拟网卡,开启路由转发功能。
    需要虚拟机指定虚拟网卡的ip为网关
    需要在要通信的主机或路由添加回复报文的路由条目
4、桥接模型
    在隔离模型的bridge上添加物理网卡
    将物理网卡变为bridge,将原来的IP放到一张虚拟网卡并添加到桥上

dhcp        服务器
namespace   名称空间

手动创建bridge

yum install bridge-utils    #安装工具包
rpm -ql bridge-utils    #查看utils释放的文件
brctl -h                #查看帮助
brctl addbr br0         #添加网桥
ifconfig -a             #查看全部接口
brctl stp br0 off       #关闭生成树
ip link set br0 up      #启动br0设备
ip addr del 192.168.1.50/24 dev ens33   #拆除物理网卡ip
ip addr add 192.168.1.50/24 dev br0     #添加ip
ip a                    #ip是否添加成功
ping 192.168.1.50       #检查ip可用
ip link set dev ens33 master br0        #物理网卡加入桥接设备
brctl show      #查看是否加入桥

查看创建qcow2格式的磁盘支持的选项
qemu-img create -o ? -f qcow2
指定磁盘大小、预分配硬盘装载元数据

qemu-img create -o size=1G,preallocation=metadata -f qcow2 /tmp/cirros.qcow2
    cluster_size            #指定簇大小 默认65536
    encryption              #加密映像
    preallocation           #预分配模式
        off         #不使用预分配
        metadata    #分配元数据,相对于off性能更好
        falloc      #未初始化,创建速度快
        full        #分配所有空间并置零,非稀疏格式,创建较慢
    #falloc、full会立即占用宿主机的空间,相比性能高于非稀疏格式很多

qemu-img info cirros.qcow2  #查看磁盘映像信息

相关文章

网友评论

      本文标题:qemu-kvm

      本文链接:https://www.haomeiwen.com/subject/pwfhrqtx.html