libvirt

您所在的位置:网站首页 virtio和e1000 libvirt

libvirt

#libvirt| 来源: 网络整理| 查看: 265

libvirt

支持的虚拟化KVM XEN Qemu LXC OpenVZ

安装 yum install libvirt libvirt-client libvirt-manager (python-virtinst or virt-install) yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm systemctl restart libvirtd.service /etc/libvirt/qemu/networks/default.xml #被链接到启动目录的脚本 /etc/libvirt/qemu/networks/autostart/ #libvirtd服务启动时运行的脚本 virt-install 一般选项 -n NAME --name=NAME #指定虚拟机名称 -r MEMORY --ram=MEMORY #指定虚机内存大小MB --vcpus=VCPUS[,maxvcpus=MAX][,sockets=][,cores=][,threads=] 最大cpu个数,套接字数,核心数,线程数 --cpu=CPU #cpu模式及特性 安装方法 -c --cdrom=CDROM #指定安装介质为光盘 -l --location=URL #支持FTP,http,nfs --pxe #网络装机 --livecd #不依赖磁盘的操作系统 --os-type= #操作系统类型 --os-variant= #操作系统版本 --boot=BOOTS #指定引导次序 存储配置 --disk=DISKOPTIS #指定存储设备及其属性 device 设备类型 cdrom、disk、floppy 默认disk bus 磁盘总线类型 ide scsi usb virtio perms 访问权限 rw ro sh 默认rw size 新建磁盘大小GB cache 缓存模型 format 磁盘映像格式 raw qcow2 vmdk sparse 使用稀疏格式 --nodisks #不使用本地磁盘在livecd模式中使用 网络配置 -w NETWORK --network=NETWORK,opt1=xx #网络接口及其属性 bridge=BRIDGE #指定连接到那个桥接设备 network=NAME #连接至指定网络 model #网络设备驱动 virtio、e1000 mac #52:54:00 手动指定mac 否则自动生成 --nonetworks #不使用网络功能 图形配置 --graphics TYPE,opt=xx #指定虚机启动后访问接口及其属性 TYPE #vnc、sdl port #监听的端口 listen #监听在那个ip 默认127.0.0.1 可以修改/etc/libvirt/qemu.conf调整默认值 设备选项 虚拟化选项 -v --hvm #指定完全虚拟化 -p #指定使用半虚拟化 --virt-type #指定是使用hypervisor 查看可以使用的# virsh capabilities 其他 --autostart #是否随物理机启动启动 --print-xml #创建不需要安装过程的虚机,显示生成的xml文件 --force #禁止命令进入交互模式 --dry-run # -d --debug #显示debug信息 --import #使用现有磁盘印象构建 /etc/libvirt/qemu #虚拟机xml配置文件 bridge配置 #!/bin/bash #添加网桥到物理网络 ip a | grep br0 && echo yes >> /dev/null || brctl addbr br0 ip addr del 192.168.150.15/24 dev em1 ip link set dev em1 master br0 ip addr add 192.168.150.15/24 dev br0 ip link set br0 up || ip link set br0 up route add default gw 192.168.150.253 dev br0 创建虚拟机示例 virt-install --name cirros034-2 --vcpu 2 --ram 512 \ --disk=/var/image/cirros-0.3.4-x86_64-disk.img,bus=virtio,size=5,format=qcow2,sparse \ --vnc --vnclisten 0.0.0.0 \ --autostart --import \ --network bridge=br0 virt-install --name cirros --vcpu 2 --ram 2048 \ --network bridge=br0,model=virtio \ --disk=/var/image/cirros-0.3.4-x86_64-disk.img,format=qcow2,size=5,perms=rw,bus=virtio \ --disk=/var/image/cirros.img,size=10,format=qcow2,perms=rw,bus=virtio,sparse \ --vnc --vnclisten 0.0.0.0 --import --autostart --force #cpu virt-install --name centos1810 --vcpus=2,maxvcpus=6 --ram 4096 \ --network bridge=br0,model=virtio,mac=52:54:00:00:00:00 \ --disk=/var/image/centos_1810.img,format=qcow2,bus=virtio,size=10,sparse \ --cdrom /data/CentOS-7-x86_64-DVD-1810.iso \ --vnc --vnclisten 0.0.0.0 \ --autostart --force 基础管理命令 virsh list --all #查看所有虚拟机 virsh shutdown cirros #关闭指定虚拟机 virsh destroy cirros #强制关闭 virsh start cirros #开启虚拟机 virsh undefine cirros #取消定义域 删除虚拟机 --storage #删除关联的卷 --remove-all-storage #删除所有存储卷 --delete-snapshot #删除所有卷的快照 --snapshots-metadata #删除快照元数据 virsh autostart cirros #设置虚拟机跟随物理机启动 virsh dominfo cirros #查看虚拟机基本信息 virsh vncdisplay cirros #查看虚拟机vnc端口 virsh edit cirros #编辑虚拟机xml配置 域的基本管理 # virsh help domain # 查看domain的命令liebiao

1、附加磁盘设备

qemu-img create -f qcow2 -o size=20G,preallocation=metadata /var/image/centos_1810_20G.qcow2 #创建磁盘 qemu-img info /var/image/centos_1810.img virsh attach-disk --help #附加磁盘命令 --persistent 永久生效 --config 下一次启动生效 --type 指定磁盘类型 --driver 指定磁盘驱动 --print-xml 显示xml配置,命令不生效 virsh attach-disk --domain centos1810 --source /var/image/centos_1810_20G.qcow2 --target vdb --targetbus virtio #添加磁盘并指定总线类型 virsh detach-disk --help #拆除磁盘命令 --persistent 永久生效 --config 下一次启动生效 virsh detach-disk centos1810 --target vdb

2、附加新的网络

virsh attach-interface --help #附加网络命令 --config --model #接口模块 --persistent virsh attach-interface --domain centos-2004-database01 --type bridge --source br0 --model virtio --persistent virsh detach-interface --help #分离网络 --config --persistent --mac #指定卸载网卡的mac virsh detach-interface --domain centos-2004-database01 --type bridge --mac 52\:54\:00\:14\:ac\:37 --persistent

3、运行状态相关

virsh cpu-stats cirros #域占用物理cpu的状态 virsh dumpxml cirros #域xml信息 --migratable #提供一个适合迁移的xml virsh reboot cirros #重启一个域 virsh save cirros /var/image/cirros.save #保存一个正在运行的域的ram状态到指定文件 virsh restore /var/image/cirros.save #从文件保存的状态中还原域 virsh suspend --domain cirros #挂起域,暂停在内存中 virsh resume cirros #恢复域 virsh vcpucount cirros #域cpu数 virsh vcpuinfo cirros #域cpu基本信息 virsh vcpupin --help #控制域cpu亲和性 绑定vcpu到cpu virsh setvcpus --help #改变vcpu的数量,被最大CPU数限制 virsh setvcpu --help #连接或分离vcpu virsh blkiotune cirros #获取或设置virtio参数 virsh domiflist cirros #列出所有虚拟接口网卡 virsh dominfo cirros #域信息 virsh nodeinfo #节点信息 virsh sysinfo #hypervisor信息 virsh uri #访问接口 virsh version #版本信息 virsh iface-list --all #列出宿主机物理网络接口 virsh iface-bridge --help #创建网桥设备并连接至物理网络设备 virsh iface-unbridge --help #拆下接口,删除桥 virsh nwfilter-list #filter网络过滤 virsh net-list #用户空间网络

snapshot

virsh snapshot-create-as --domain cirros --name null --disk-only --name --disk-only #只对磁盘快照 virsh snapshot-list --domain cirros virsh snapshot-revert --domain cirros --snapshotname null --children #删除快照和子集 --children-only #只删除子集 --metadata #只删除元数据 storage volume #指外部的网络存储 一般为ISCSI virsh vol-list --help virtio

kvm使用了硬件辅助虚拟化所以cpu的效率很高,不过在I/O方面是通过qemu纯软件的方式模拟io,每次虚拟机发起io请求时,kvm内核模块会拦截此次请求,处理请求后将其放入io共享页,后通知用户空间的qemu进程。 qemu获得io操作结果之后,模拟出本次的io操作再次将结果放回io共享页,同时通知kvm模块。 kvm模块读取qemu模拟的io操作返回给虚拟机

virtio是一个运行在hypervisor上的一个api接口,让虚机知道自己运行在虚拟环境中,进行io操作时通过virtio与hypervisor通信,从而拥有更好的性能

磁盘快照 指定数据集合的一个完全可用拷贝,改拷贝包括相应数据在某个时间点的映像。快照可以是所表示的数据的一个副本,也可以是数据的复制品。 快照是指保存在存储设备中的数据的引用标记和指针。 在建立磁盘快照时,并不需要拷贝数据本身,只是通知文件系统将目前有数据的磁盘区块全部保留起来,不被覆写。这个通知只需要很短的时间。 接下来的文件的修改或任何新增、删除动作,均不会覆写数据原来所在的磁盘区块,而是将修改的部分写入其他可用磁盘区块中。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3