导航:首页 > 程序命令 > kvm虚拟化命令

kvm虚拟化命令

发布时间:2023-01-27 01:52:04

Ⅰ kvm暂停虚拟机命令

可以退出非交互式终端 reboot #重新启动一个虚拟机 resume #重新恢复一个虚拟机 save #把一个虚拟机的状态保存到一个文件 mp #把一个虚拟机的内核mp到一个文件中以方便分析 shutdown #关闭一个虚拟机 setmem #改变内存的分配 setmaxmem #改变最大内存限制值 suspend #挂起一个虚拟机 vcpuinfo #虚拟机的cpu信息 version #显示virsh版本 3,virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用

Ⅱ 在linux上面如何用命令行创建kvm虚拟机

你好,在centos里面用命令行创建kvm:
virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0

详细的请看以下这篇文章把:http://www.linuxprobe.com/linux-command-management-kvm/

Ⅲ KVM虚拟化技术的内置快照和外置快照

内部磁盘快照使用单个qcow2文件来保存快照和快照之后的改动。这种快照是libvirt默认支持的方式,其缺点是只支持qcow2格式的磁盘镜像,而且过程较慢。

使用 virsh save/restore 命令,可以在虚拟机开机状态下保存内存状态、设备状态、磁盘装套到指定文件中,还原的是后虚拟机关机,使用 virsh restore 还原。(类似于休眠)

外置磁盘快照创建的快照是一个只读文件,成为1个backing-file,快照后改动的内容存放到另一个qcow2文件,成为1个overlay,外置快照可以支持各种格式的磁盘镜像文件,外置快照的结果是形成一个qcow2文件链。快照状态为disk-snapshot的为外置快照。

虚拟机的磁盘磁盘状态被保存到一个文件中,内存和设备状态被保存到另一个文件中。

注意:如果虚拟机存在多硬盘,在创建外置快照时,为保证原子性,需要添加参数atomic

虚拟机的快照链:

外置快照可以用合并的方式缩短快照链,而不能通过删除的方式,因为每个快照中都保存相应的数据。合并快照的方式有2种:blockcommit向下合并和blockpull向上合并。

blockcommit将top镜像合并至低层的base镜像,一旦合并完成,处在最上面的overlay将自动被指向低层的overlay或base,即合并overlay到backing-file。

在创建外置快照时出现 Operation not supported: live disk snapshot not supported with this QEMU binary 的错误提示,需要执行以下操作:

KVM的快照之间存在链式关系,快照链中在未执行合并前,不能删除快照链中的任意一个快照。

Ⅳ KVM:virt-install创建虚拟机

grep -E 'vmx|svm' /proc/cpuinfo

#-E grep的扩展模式

#当前cpu是否支持硬件虚拟化

lsmod | grep kvm

#检查是否加载kvm模块,kvm只是一个linux模块,在kvm安装完成后整个linux系统会变成一个hypervisor(虚拟机管理层)。而qemu和virt、virsh相当于是两个家族,qemu只支持命令行模式(创建、删除、管理等操作),virt-install创建虚拟机,virsh只能管理虚拟机(无法创建),virt-manager提供web界面。

总结来说,libvirt家族和qemu家族都可以实现对虚拟机的生命周期管理,同一个目的不一样的工具而已。

mkdir /home/vm

将CentOS-7-x86_64-Minimal-1810.iso上传到此目录下

virt-install -n centos3 -r 256 --disk /home/vm/ccc.img,format=qcow2,size=2 --network bridge=br0 --os-variant=rhel7.6 --cdrom /home/vm/CentOS-7-x86_64-Minimal-1810.iso --vnc --vncport=6666 --vnclisten=0.0.0.0

-n    虚拟机名字

-r    内存(默认单位MB)

--disk    制定磁盘(可以提前使用qemu-img创建,也可以在此处创建)

    *使用qemu-img创建磁盘    qemu-img create -f qcow2 aaa.img 10G

--network    指定虚拟机使用的网络,这里使用br0,需要提前准备好此桥设备

--cdrom    指定镜像文件

--vnc    设置vnc,指定vnc监听端口和监听地址

#上述命令输入完成后直接回车即可

弹出上述告警框不用理会

此时查看宿主机打开端口,出现我们监听的6666端口

使用vnc客户端新建连接,ip地址填宿主机地址,端口6666,名称就是虚拟机名称

颜色级别设置成rgb222,然后点击OK

双击连接图标,进入安装界面

注意:

1、在执行virt-install时一定要仔细,别漏了任何一个参数。我就是少了--vnc这个参数导致vnc怎么也连不上

2、宿主机要跑虚拟机,确保cpu、内存资源足够,否则安装会出问题

Ⅳ 安卓开启kvm

创建KVM虚拟机_安卓kvm虚拟机可以用两种方法创建kvm虚拟机,一种是virt-manager管理工具创建,一种是命令行的方式。1.命令行方式创建kvm虚拟机。先创建qcow2格式的镜像文件,大小为20G。qemu-imgcreate-fqcow2/data/kvm/images/centos7.6×86.qcow20G输入命令进行虚拟机的安装:virt-install–name=centos7.6×86–vcpus=2–ram=2048–diskpath=/data/kvm/imag

Ⅵ 如何使用KVM libvirt命令管理虚拟机

在Ubuntu系统上安装KVM组件服务
使用如下命令:
$ sudo apt-get install kvm qemu
$ sudo apt-get install virtinst python-libvirt virt-viewer virt-manager
安装桥接网卡
$ sudo apt-get install bridge-utils

使用qemu命令创建虚拟机的虚拟磁盘文件
使用如下命令创建一个10G的磁盘空间用于安装和允许虚拟机
$qemu-img create -f qcow2 lion.disk 10G

创建虚拟机Domain配置文件用于创建虚拟机实例
使用vim命令创建lionServer.xml配置文件,输入如下内容:
<domain type='kvm' id='1'>
<name>lion</name>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
<boot dev='cdrom'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/hxb/image/lion.disk'/>
<backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/home/hxb/iso/ubuntu.iso' />
<target dev='hdb' bus='ide'/>
</disk>
<controller type='usb' index='0'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<controller type='ide' index='0'>
<alias name='ide'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='network'>
<mac address='52:54:00:7d:4d:d1'/>
<source network='br1' bridge='virbr1'/>
<target dev='vnet0'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/3'/>
<target port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/3'>
<source path='/dev/pts/3'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
<listen type='address' address='0.0.0.0'/>
</graphics>
<sound model='ich6'>
<alias name='sound0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='16384' heads='1'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='apparmor' relabel='yes'>
<label>libvirt-d828c766-9826-99a9-f495-67a3a55a5643</label>
<imagelabel>libvirt-d828c766-9826-99a9-f495-67a3a55a5643</imagelabel>
</seclabel>
</domain>

使用virsh命令创建新的虚拟机实例
使用如下命令:
定义虚拟机domain,
$virsh define lionServer.xml
启动虚拟机lion
$virsh start lion

显示系统中的虚拟机列表
$virsh list

在创建的虚拟机实例lion上安装操作系统
打开VirtualManager工具,打开虚拟机管理工具,选择lion虚拟机进行连接。
连接虚拟机lion成功后,进行系统的安装。

完成虚拟机lion的系统安装后,需要进行虚拟机domain的配置修改,将系统引导从cdrom切换到硬盘hd,重启虚拟机后,既可以正常登陆lion虚拟机。
使用如下命令进行boot配置修改:
$ virsh edit lion
...
<os>
<type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
<boot dev='cdrom'/>
</os>
...
将 <boot dev='cdrom'/> 修改为 <boot dev='hd'/>

如何删除创建的lion虚拟机
1)关闭lion虚拟机
$ virsh shutdown lion
2) 删除lion虚拟机
$virsh destroy lion
3) 取消lion domain的定义
$virsh undefine lion

Ⅶ KVM实例总结

{% note success %} poetry

<center style="box-sizing: border-box; margin-top: 0px; margin-bottom: 0px;">往事越千年,魏武挥鞭,东临碣石有遗篇。萧瑟秋风今又是,换了人间。 {% endnote %}</center>

kvm创建虚拟机的根本在于这样一条命令, virsh define vm-template.xml ,这条命令的核心就是创建一个虚拟机,之后或者之前的内容都是围绕着这条命令和这个虚拟机的。

所以,virsh define vm-template.xml 其本质是在安全可靠的前提下,将母机的资源通过kvm虚拟化的形式分配给子机。

所以主要考虑方向有两个

1、保障母机和子机的安全可靠,包括系统安全和网络安全

2、进行资源分配,包括网络资源、存储资源、计算资源等

该脚本考虑了母机分配资源不会超过母机承受范围的资源安全,其他系统层面和网络层面的安全问题还需考虑

完成过程

[0]
刚开始考虑当母机资源超过一定比例则程序退出,比如磁盘使用超过2/3,后来觉得这样不够灵活,改用百分比,默认50%
在设置百分比的时候有几点小问题
1、浮点数运算保留小数
使用scale可以准确保留小数,echo "scale=2;62/3" | bc 结果 20.66
使用printf可以保留小数位,补零填充 printf %.2f 结果20.00
2、浮点数运算不保留小数
echo "123.123"|sed "s/.. //g"
代表0到多个,所以第一个命令中.
只能替换掉小数点变成空
..代表了小数点之后的1到多个
3、除法
echo "2 / 3" | bc 这个结果会显示为0
echo "scale=2 ;2 / 3" | bc 这个结果会显示为.66
printf "%.2f" echo "scale=2;2/3" | bc 这个结果会显示为0.66

[1]
刚开始的时候选择将subvm_configuration.sh这个脚本cat进内存,然后用expect登录到子机的时候echo到文件,然后执行。后来发现expect输出的时候会把subvm_configuration.sh脚本里的内容先执行一遍,而且还存在其他一些问题,比如说echo到文件的时候残缺不全、不换行、文件为空等。
后来采用磁盘共享的方式,在宿主机上创建一块磁盘,然后挂载到/tmp/share/这个目录,再将subvm_configuration.sh脚本和ipinfo配置文件复制到该目录,之后在子机的XML文件中添加一块disk(vdc),登录进子机后,挂载vdc,此时就可以看到母机上/tmp/share/下的内容了。直接执行脚本即可。
磁盘共享也有一个缺点,就是文件内容不能实时刷新,比如在母机上改了ipinfo,只有子机重启后,子机上的ipinfo才可以刷新,鉴于/tmp/share/这个目录每个子机一生只有一次用到,所以这个问题暂时不需要解决。

[2]
创建子机
1、if ( vlanid != 0 && xenbrx not in brctl show ) 会报错网卡未找到导致虚拟机启动失败
2、vm-template模板不正确,包括<emulator>/usr/local/bin/qemu-system-x86_64</emulator>路径不正确,会导致虚拟机无法启动
3、disk的slot卡槽相同会导致虚拟机无法启动
4、需要注意的是,virsh define vm-template 这条命令的执行路径是/usr/local/etc/libvirt/qemu/vm-template,最后会在/usr/local/etc/libvirt/qemu/下生成vm$ipfmt.xml的配置文件。

[3]
expect会有很多问题
1、命令不按顺序执行
2、传入的变量为空,且传入的变量下标是从0开始的;shell传入变量下标从1开始,0代表自身文件
3、set timeout $time 设置的时间不一定准确,设置了300秒延时,但未到300s,程序还是退出了,可以考虑直接设置 timeout 为-1
4、expect有多种写法,有expect << EOF ; expect eof ; 最正常的是上面用的
5、expect文件用的解释器是/usr/bin/expect,这里将login.sh使用cat写在了单独的文件中

[4]
1、subvm_configuration.sh配置了两张网卡,格式化vdb数据盘,配置ssh
2、eth0为连接外网的网卡,使用tunnel,eth1为内网网卡,使用vlan

xenbrX为隧道入口,母机收到从xenbr361口收到的报文,就发给另一端隧道,从而实现连接外网
tunnel network ---- host(default router: subhost -> netowrk , throught interface & sh vlan.sh ) ---- subhost

母机收到vlan的报文,就在指定vlan的广播域内进行路由(不一定是母机进行路由)
vlan network ---- host(broadcast router: subhost ---> broadcast/vlanid throught 802.1Q ) ---- subhost

expect合理用法

Ⅷ CentOS 7上安装qemu kvm进行虚拟化

egrep -o '(vmx|svm)' /proc/cpuinfo

yum groupinstall "Virtualization Host" 

yum install qemu-kvm qemu-img virt-manager libvirt virt-install virt-viewer 

qemu-kvm:qemu模拟器

qemu-img:qemu磁盘image管理器

virt-install:用来创建虚拟机的命令行工具

libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor

virt-viewer:图形控制台

virt-manager:图形实用程序

开机启动libvirt

systemctl enable libvirtd

启动libvirt

systemctl start libvirtd

启动状态

systemctl status libvirtd

yum install virt-install

yum install virt-manager

参考

http://t.zoukankan.com/goldsunshine-p-12668632.html

https://blog.51cto.com/u_7895411/3670804

Ⅸ 安装kvm虚拟机并导入导出

1、确保支持cpu虚拟化

cat /proc/cpuinfo | egrep 'svm|vmx'

2、安装qemu-kvm、libvirt、virt-install包

yum -y install qemu-kvm libvirt virt-install

3、开启libvirtd服务病开机自启

systemctl start libvirtd && systemctl enable libvirtd

4、创建一个磁盘文件

qemu-img create -f qcow2 ./centos7-kvm.qcow2 10G

5、创建虚拟机。类型为kvm,名称随意,内存1G,镜像文件指定位置,磁盘文件就是步骤4中的,网络默认,图形选择vnc

virt-install --virt-type kvm --name centos7-2020 --ram 1024 --cdrom=/home/kvm/CentOS-7-x86_64-Minimal-2003.iso --disk path=/home/kvm/centos7-kvm.qcow2 --network network=default --graphic vnc,listen=0.0.0.0 --noautoconsole

6、宿主机安装vnc server

yum -y install tigervnc-server tigervnc vnc vnc-server

systemctl  daemon-reload

7、执行下述命令设置密码

vncserver 

8、启动服务(我自己的环境这个服务没起来,但还是可以用的)

systemctl start vncserver@gao:1

9、关闭防火墙和selinux

10、vnc客户端连接宿主机5901,然后正常安装虚拟机

导出虚拟机

——本实验是将qcow2格式导出为qcow2

1、一条命令即可

-从表示压缩,-O表示导出格式,111.qcow2位导出后的文件

qemu-img convert -c -O qcow2 centos7-kvm.qcow2 111.qcow2

导入虚拟机

——使用virt-manager工具导入

1、安装virt-manager

yum -y install virt-manager

2、打开

virt-manager

3、新建虚拟机,选择镜像导入

选择对应的111.qcow2文件

配置cpu、内存、网络等信息

完成新的虚拟机创建

ok

阅读全文

与kvm虚拟化命令相关的资料

热点内容
数字加密后被人截取 浏览:847
丹尼尔斯斯托米·丹尼尔斯中出 浏览:151
推荐几部食人族的老电影 浏览:448
怎么看汇编程序运行的结果 浏览:911
怎么算程序员催更 浏览:46
c编程研究前景 浏览:322
电影最全的网站 浏览:918
爱因斯坦电影天才百度云链接 浏览:75
流氓不可以看的视频 浏览:54
代号白雪公主的电影 浏览:388
女主在军校很厉害的小说 浏览:516
米思齐为什么要编译才有效 浏览:283
法人如何用app分配权限 浏览:486
安卓手机游戏怎么导入苹果 浏览:537
什么是配置文件java 浏览:646
男主体质特殊只能和女主 浏览:47
中国算法和别的国家不一样吗 浏览:517
法国电影《狂怒》未删减版 浏览:154
金万维无法pin通服务器地址 浏览:825