本文共 3793 字,大约阅读时间需要 12 分钟。
kvm实现方式:
qemu工具:qemu-kvmqemu-imgqemu:处理器模拟器仿真各种IO设备将仿真设备连接至主机的物理设备提供用户接口基本格式:qemu-kvm [选项] 磁盘镜像文件标准选项:-machine [type=]name:用于指定模拟的主机类型-cpu:用于指定模拟的cpu型号-smp [n]:指定虚拟机上vcpu的数量及拓扑-boot order:各设备的引导次序,c表示第一块硬盘 d表示第一个光驱设备 -boot order=dc,once=d-m megs:虚拟机内存大小[单位是兆]-name name:当前虚拟机的名称,要唯一块设备相关选项:-hda/-hdb file:指明IDE总线类型的磁盘映射文件路径,第0和第一个-hdc/-hdd file:第2和第3个-cdrom file:指定要使用光盘映像文件-drive:file=映像文件路径 if=type块设备总线类型{ide|scsi|sd|virtio}media=type :介质类型index=i:设定同一类型设备多个设备的编号cache={writethrough|writeback|none|directsync|unsafe} 换内存方式1 writethrough:通写 数据写在内存的时候立刻同步到磁盘2 writeback:回写 数据到内存中,什么时间同步到磁盘中由磁盘缓存机制管理3 none:不起用4 directsync:直接同步 直接存到缓存然后立刻存磁盘5 unsafe:非安全方式 尽可能存入内存!数据可靠性不高format=f:磁盘映像文件格式显示选项:-display type:显示类型 sdl curses none和vnc-nographic:不使用图形接口-vga [std|cirrus|vmware|qxl|xenfb|none]:模拟出显卡的型号-vnc display :启动一个vnc server来显示虚拟机接口 让qemu进程监听一个vnc接口 display: HOST:N 在HOST主机的第N个桌面号输出vnc unix:文件路径 none option: password:连接词服务所需要的密码-monitor stdio:在标准输出上显示monitior界面 ctrl-a, c:在console和monitor之间切换 ctrl-a,h网络选项: -net nic[vlan=n] [macaddr=mac] [model=type] [name=dir] [add=str] [vectors=v] 为虚拟机创建一个网络接口,并将其添加至指定的vlan model=type:知名模拟出的网卡型号 ne2k_pci i82551 i82557b rtl8559er e1000 pcnet virtio macaddr=mac 指明mac地址 -net tap: 通过物理的tap网络接口连接至vlan script=file:启用虚拟机时要执行的脚本 默认为/etc/qemu-ifup downscript=dfile:关闭虚拟机时要执行的脚本 默认为/etc/qemu-ifdown ifname=name:自定义接口名称脚本示例:#!/bin/bash#bridge=br0if [ -n "$1" ]; then ip link set $1 up sleep 1 brctl addif $bridge $1 [ $? -eq 0 ] && exit 0 || exit 1else echo :Error: no interface specified." exit 2fi其它选项:-daemonize:以守护进程运行方便使用--创建软连接:ln -sv /usr/libexec/qemu-kvm /usr/bin创建虚拟机:1 利用镜像启动虚拟机qemu-kvm -name kvm2 -cpu host -smp 4,socket=2,cores=2,threads=1 -m 128 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio,cache=writeback -net nic,macaddr=52:54:00:00:00:01,model=virtio -net tap,ifname=vnet0,script=/etc/qemu-ifup -vnc :0 -name kvm2 --虚拟机名称-cpu host:型号和宿主机一样-smp 2:给几颗cpu核心 socket=2 --几颗cpu cores=2 --每个cpu几个核心 threads=1 --线程数smp=socket*cores*threads-m 128 ---模拟内存大小-drive file=./centos-text.img,format=qcow2,media=disk,if=virtiofile=./centos-text.img --镜像文件路径format=qcow2 --磁盘格式media=disk --类型if=virtio --半驱动cache=writeback --磁盘缓存类型网络相关:-net nic,macaddr=52:54:00:00:00:01 --指定mac地址model=virtio --指定网卡类型 -net tap,ifname=vnet0,script=/etc/qemu-ifup -vnc :0 指定名称和脚本安装vnc:yum install -y tigervnc实际应用:[root@www21:02:44kvm2]#qemu-kvm -name kvm2 -cpu host -smp 4,sockets=2,cores=2,threads=1 -m 128 -drive file=./centos-text.img,format=qcow2,media=disk,if=virtio,cache=writeback -net nic,macaddr=52:54:00:00:00:01,model=virtio -net tap,ifname=anet0,script=/etc/qemu-ifup -vnc :2 -daemonize使用vnc连接:vncviewer输入虚拟机物理主机IP:2关闭虚拟机:kill [pid]
设置虚拟机开机自启动:virsh info [虚拟机名称] --可以查看虚拟机信息virsh autostart [虚拟机名称] --开机自启动virsh domiflist php --查看虚拟机的网络接口................................................virt-sysprep命令:制作磁盘镜像模板-d:指定虚拟机名--operations:指定移除项 firewall-rules--防火墙规则yum install -y libguestfsyum install -y libguestfs-tools列出支持的所有操作:virt-sysgrep --list-operations如何使用:virt-sysprep -d [虚拟机名称]具体使用:virt-sysprep -d centos7.0虚拟机必须关闭!
kimchi工具:kimchi软件https://github.com/kimchi-projectkimchi-2.5.0-0.el7.centos.noarch.rpmwok-2.5.0-0.el7.centos.noarch.rpm启动服务:systemctl start wokd.service 默认监听在8001端口上!访问方式:https://xxxx用户密码就是操作系统上的用户密码提供物理桥相关的网络:[root@www02:11:11~]#virsh net-dumpxml defaultvim /etc/libvirt/qemu/networks/test0.xmlvirsh net-create /etc/libvirt/qemu/networks/test0.xml test0
转载于:https://blog.51cto.com/13878078/2313723