您所请求的网址(url)无法获取-vss下载
2023年4月4日发(作者:磁盘被写保护怎么去掉)
kvm--virsh命令⾏下管理虚拟机
virsh既有命令⾏模式,也有交互模式,在命令⾏直接输⼊virsh就进⼊交互模式,virsh后⾯跟命令参数,则是命令⾏模式;
(1)基础操作---命令⾏下管理虚拟机
virshlist 列出当前宿主机上处于运⾏状态的虚拟机
virshlist--all 列出当前宿主机上所有的虚拟机
virshstartvm1 (虚拟机name)开启某⼀台虚拟机
virshshutdownvm1(虚拟机name)正常关闭⼀台虚拟机
virshdestroyvm1强制关闭某⼀台虚拟机
virshautostartvm1开机⾃启动虚拟机vm1
virshautostart--disablevm1关闭开机⾃启动
virsheditvm1 编辑某个虚拟机的配置⽂件
virshpool-list 列出存储池
2)创建新磁盘
qemu-imgcreate-fqcow2(指定磁盘格式)-osize=9G(指定⼤⼩)/var/lib/libvirt/images/2(路径和名称)
/var/lib/libvirt/image/为磁盘镜像的默认路径。
注意注定磁盘⼤⼩的时候不能有空格,否则报错
[root@localhostimages]#qemu-imgcreate-fqcow2-osize=9G/var/lib/libvirt/images/2
qemu-img:Invalidimagesizespecified!Youmayusek,M,G,T,PorEsuffixesfor
qemu-img:kilobytes,megabytes,gigabytes,terabytes,petabytesandexabytes.
[root@localhostimages]#qemu-imgcreate-fqcow2-osize=9G/var/lib/libvirt/images/2
Formatting'/var/lib/libvirt/images/2',fmt=qcow2size=9663676416encryption=offcluster_size=65536lazy_refcounts=off
[root@localhostimages]#2
3)查看磁盘情况
qemu-imginfo磁盘名
[root@localhostimages]#qemu-imginfo/var/lib/libvirt/images/2
image:2
fileformat:qcow2
virtualsize:9.0G(9663676416bytes)
disksize:196K #实际占⽤磁盘196k,最⾼可⽤9G
cluster_size:65536
Formatspecificinformation:
compat:1.1
lazyrefcounts:false
4)命令⾏下创建&&管理虚拟机
Virt-install: 命令⾏下创建虚拟机的命令,不过在它后⾯需要跟上很多的参数
--name: 虚拟机的名字。
--diskLocation: 磁盘映像的位置。
--graphics: 怎样连接VM,通常是SPICE。
--vcpu: 虚拟CPU的数量。
--ram: 以兆字节计算的已分配内存⼤⼩。
--location: 指定安装源路径
--network: 指定虚拟⽹络,通常是virbr0或者⾃⼰设定的br0
例如:创建⼀个磁盘
路径为/var/lib/libvirt/image/
指定cpu内存为1g
cpu数量为1
以spice⽅式连接vm
执⾏虚拟⽹络为⾃设⽹桥br0
virt-install--name=test--diskpath=/var/lib/libvirt/image/2--ram=1024--vcpus=1--graphicsspice--location=/export/download/software/iso/CentOS-7.3-x86_-
注意磁盘路径与磁盘安装源路径的区别。
由于使⽤virsh命令创建虚拟机同样还需要在图形化界⾯操作,所以⽤的不多,了解就⾏。
5)其余重要的⼀些virsh命令
从⼀个XML⽂件定义、恢复(但不开始)⼀个域
virshundefinexx删除⼀个虚机域
KVM通过virshconsole连⼊虚拟机
定义:在宿主机上直接能够连通创建的虚拟机并执⾏操作,功能类似于ssh。
前提:新安装⼀台虚拟机后,是⽆法通过virshconsole命令连⼊虚拟机中的,这时我们需要开启虚拟机的console功能。
我们这⾥以centos7以上的版本做说明:
(1)在被连接的虚机⾥执⾏
[root@localhost~]#grubby--update-kernel=ALL--args="console=ttyS0"
(2)重启此机
[root@localhost~]#reboot
3)在宿主机上执⾏
[root@localhost~]#virshconsolevm5
连接到域vm5
换码符为^] #ctrl]退出
1、⼀直hang在这个状态⽆法连接上虚拟机,这是因为宿主机通过ttyss0连接虚拟机,但被连接主机没有设置或者没有设置成功。
2、或者grubby命令没有下载,yum安装后再次尝试
3、VNCViewer远程管理kvm主机
前提是宿主机内的虚拟机状态为开启
(1)在window中安装VNCViewer软件,⼀直点下⼀步就⾏。
2)输⼊宿主机的ip地址。
点击Continue,即可连接⾥⾯的虚机
五、KVM虚拟化透传
KVM虚拟化需要处理器对虚拟化技术的⽀持,当我们需要进⾏虚拟机嵌套虚拟机时,我们需要让虚拟机中处理器对VT功能的⽀持达到透传的效果。
nested虚拟机嵌套(kvmonkvm):nested技术,简单的说,就是在虚拟机上跑虚拟机。
KVM虚拟机嵌套和VMWare原理不同,VMWare第⼀层是⽤的硬件虚拟化技术,第⼆层就是完全软件模拟出来的,所以VMWare只能做两层嵌套。KVM
是将物理CPU的特性全部传给虚拟机,所有理论上可以嵌套N多层。
1、查看⼀层客户端是否⽀持VT
grepvmx(svm)/proc/cpuinfo
如果查询未果,证明⼀层KVM的虚拟机,并未将宿主机处理器的VT功能成功透传。
因此我们需要透传。
2、在物理服务器上(宿主机)为嵌套虚拟机做准备---CPU虚拟化透传
注意查看你的虚拟机架构⽀持的是amd还是intel
[root@localhost~]#cat/etc/modprobe.d/
optionskvm_amdnested=1
3、在宿主机启⽤kvm_amd模块的嵌套虚拟化功能,并且使透传永久有效
(2)重新加载kvm模块
#modprobe-rkvm_amd-r参数:remove掉kvm_amd模块
#modprobekvm_amd加载kvm_amd模块
4、验证是否加载成功
#cat/sys/module/kvm_intel/parameters/nested
1或者y证明加载成功。
0和N或者没有返回值证明没加载成功。
重新加载modprobe模块或者查看架构是⽀持intel还是amd来稍微更改下模块和⽬录。
[root@localhost~]#cat/sys/module/kvm_amd/parameters/nested
1
5、编辑需要做虚拟化透传的虚拟机的配置⽂件
更改下⾯绿绿的⼀⾏即可。
host-passthrough直接将物理CPU暴露给虚拟机使⽤,在虚拟机上完全可以看到的就是物理CPU的型号(我们前⾯介绍过kvm透传就是将宿主机的cpu特性
全部传给被透主机)
root@localhost~]#virsheditvm4
6、进⼊透传虚拟机中查看cpu是否透传成功
[root@localhost~]#lsmod|grepkvm
kvm_amd698490
kvm5663401kvm_amd
irqbypass135031kvm
7、在被透传虚拟机中查看cpu是否⽀持虚拟化
次数⼤于0证明透传成功,可以开始虚拟机嵌套了。
svm是⽀持amd架构
vmx⽀持intel架构
[root@localhost~]#egrepsvm/proc/cpuinfo|wc-l
1
更多推荐
kvm虚拟机
发布评论