kvm虚拟机状态

2025-01-23 00:18:38
守孟庄
冶金VPS

如何在 KVM 虚拟机上运行 KVM

转载自:https://zhumeng8337797.blog.163.com/blog/static/100768914201342031037970/ 如何在KVM虚拟机上运行KVM 上次我们讨论如何在VMware ESXi虚拟机上运行关于KVM启动问题,不久前,读者想要“在kvm上创建虚拟机并安装Rackspace的openstack” 他问“如何启用虚拟机上的CPUVT功能以在KVM上运行KVM”,这是另一个嵌套应用程序的虚拟机问题:在KVM虚拟机之上运行KVM虚拟机。
以下步骤已在UbuntuServer12.04LTS64bit上测试通过。
首先检查 KVMhost 上是否运行了嵌套虚拟机功能(默认开启): #modinfokvm_intel|grepnestedparm:nested:bool#cat/sys/module/kvm_intel/parameters/nestedY 如果以上显示结果不是 Y 则需要启用嵌套:#modprobe-rkvm-intel#modprobekvm-intelnes ted=1#cat/sys/module/kvm_intel/parameters/nestedY 然后在 KVMguest(虚拟机)的 xml 配置文件中添加 vmx 选项并启动虚拟机(这里使用 U UbuntuKVM 镜像 ubuntu-12.04-server-cloudimg- amd64 -disk1.img 由Buntu官方发布): #vinestedvm.xml core2duo #virshcreatenestedvm.xml启动虚拟机后,登录并安装KVM,-ok和modinfo均出现kvm执行错误: 这是因为我们使用 ubuntu-12.04-server-cloudim g-amd64-disk1.img 是官方虚拟机镜像。
该镜像使用默认的linux3.2.0-23内核,缺少KVM模块(kvm-intel.ko),因此我们需要将其更改为generi。
内核C:#uname-aLinuxtest3.2.0-23-virtual#36-UbuntuSMPTueApr1022:29:03UTC2012x86_64x86_64x86_64GNU/L inux#apt-getinstalllinux-generic 重启后进入虚拟机,执行kvm-ok和modinfo成功: #kvm-okINFO:/dev/kvmexistsKVMaccelerationcanbeused#modinfokvm_intel文件名:/lib/modules/3.2.0-30-generic/kernel/arch/x86/kvm/kvm-in tel.kolicense:GPLauthor:Qumranetsrcversion:3BAF54F96ECD4B02292CAA0depends:kvmintree:Yvermagic:3.2.0-30-genericSMPmod_unloadmodversionsparm:vpid:boolparm:flexpriority:boolparm:ept:boolparm:unr estricted_guest:boolparm:emulate_invalid_guest_state:boolparm:vmm_exclusive:boolparm:yield_on_hlt:boolparm:fasteoi:boolparm:nested:boolparm:ple_gap:intparm:ple_window:int 您现在应该能够在此虚拟机之上创建另一个虚拟机

KVM虚拟机的常用操作命令整理

1. 创建虚拟机并复制代码

代码如下:

[root@localhost~]#virt-install--name=centos1\#创建虚拟机--ram1024 --vcpus=1 \ --diskpath=/root/centos1.img,size=10\--accelerate--cdrom/root/CentOS-6.5-x86_ 64-bin-DVD1.iso\-graphicsvnc,port=5921--networkbridge=br0

2. 复制virsh其他进程的代码

代码如下:

[root@localhost/ ]#virshstartcentos1#启动虚拟机

[root@localhost/]#virt- viewercentos 1#如果有图形界面,可以进入虚拟机界面

[root@localhost~]#virshshutdowncentos1#关闭虚拟机

[root@localhost/] # virshrebootcentos1#重启虚拟机

[root@localhost/]#virshsuspendcentos1#挂起虚拟机

[root@localhost/]#virshresumecentos1#恢复虚拟机

[root@localhost/]#virshautostartcentos1#自动加载虚拟机

virsh参数如下:autostart#自动加载指定虚拟机 Connect#重新连接到虚拟机管理程序控制台#连接到客户端会话 create te#从 SML 文件创建虚拟机 start#开始销毁非活动虚拟机#删除虚拟机定义#从 XML 文件中定义 Domid 虚拟机#将虚拟机名称或 UUID 转换为 IDdomuuid# zip转换或UUID转换dominfo#显示虚拟机信息 domstate#显示虚拟机状态 domblkstat#获取虚拟机硬件快速状态 domif stat#获取虚拟机网络接口状态 dumpxml#编辑XML中的虚拟机信息#编辑虚拟机列表转储文件中的虚拟机#将虚拟机内核转储到文件中以便于分布停止分析#关闭虚拟机组#更改内存分配设置maxmem#更改maxmem的最大值#挂虚拟机vcpuinfo#CPU版本信息 对于虚拟机#display virsh version

3、物理克隆,如果我们要创建多个相同的虚拟机,这个命令非常有用。
复制代码

代码如下:

#virt-clone--con nect=qemu:///system-ocentos1-ncentos3-f/root/centos3.img#Clone Centos1克隆Centos1.img |10.0 GB00:07

Clone 'centos3'createdsuccessously.libguestfs-tools是虚拟机的管理包,很好用的工具 很[root@localhost~]#yum-yinstalllibguestfs-tools#安装工具包

4. 无需登录,查看镜像目录并复制代码

代码如下:

[root@ localhost~]# virt-lscentos.img/home# 显示Centos中的/home目录tank。
img图像文件

5. 如果您尚未登录,请复制映像文件中的文件。
复制文件

复制代码

代码为如下:

[root@localhost~]#virshlist--all#显示所有虚拟机名称 ID 名称 状态 ---- ------------------ - ---------------- -------------------------- -1 centos 1 运行 2 centos 6.5 arc 运行关闭 arc 1 关闭 -arch2 关闭 -arch3 关闭 - arch5 关闭 -centos3 关闭 -ubuntu 关闭 -ubuntu1 关闭 [root@localhost~]#virt-copy-out-dcentos1 /etc/passwd/tmp#将Centos1中的文件复制到tmp

6. 检查虚拟机分区状态,复制代码

代码如下:

[root@lo calhost~]#virt-filesystems-dcentos1/dev/sda1/dev/VolGroup/lv_root

[ root@localhost~]#virt-list-partitions/root/centos.img/dev/sda1/dev /sda2

[root@localhost~]#virt-df Centos.imgFilesystem1K-blocksUsedAvailableUse%centos.img:/dev/sda1495844345104357347%ce ntos.img:/dev/VolGroup/lv_root87808082842056549270033%

7、虚拟机复制代码

代码如下:

[ root@localhost~]#guestmount -a/root/centos.img-m/dev/VolGroup/lv_root--rw/mnt/usb[root@localhost~]#cd/mnt/usb/[root@localhostusb]#lsbindevhomelib64mediamntoptrootselinuxsysusrbo otetcliblost+foundmiscnetprocsbinsrvtmpvar

8、修改kvm中虚拟机内存大小。
复制代码

代码如下:

[root@n fs~]#virsheditvm01##注意第六次直接编辑不生效

vm01df8604c1-dcf3-fa98- 420f-6eea7b39c3951048576## # 原来设置为1G,现在是1G k1048576

修改为1.5G复制代码

代码如下:

[root@nfs~]#expr1536\*10241572864/pp[root@nfs~ ]# virshlistIdNameState---------------------------------1win2003running3vm01running/pp[root@nfs~]#virshshutdownvm01###修改后配置文件,需要先重启并关闭虚拟机 Domainvm01isbeingshutdown/pp[root@nfs~]#virshlist###查看一下。
IdNameState已关闭-----------------------------------1win2003running/pp[root@nfs~ ] #virshstartvm01## # 启动域vm01started/pp[root@nfs~]#virshlistIdNameState-------------------------------- --1win2003running3vm01running

进入设备查看内存大小:复制代码

代码如下 以下:

[root@vm01liuxiaojie]#free-mtotalusedfreesharedbufferscachedMem:1 505618886029361-/+buffers/cache:2271277Swap:200002000

9. 删除虚拟机(vm01)并复制代码

代码如下:

[root@nfsqemu]#virshundefinevm01[root@nfsqemu]#rm-f/home/data/vm01.img

10、删除域名复制代码

代码如下:

[root@nfsweb01 ]#vir shlist--all

IdNameState--------------------------------1web01running##处于工作状态--myweb01shutoff -myweb03shutoff-mywin2003shutoff-myxpshutoff-xpshutoff 复制代码

代码如下:

[root@nfsweb01]#virshundefineweb01##运行的时候也可以删除!

Domainweb01hasbeenunidentified复制代码

代码如下:

[root@nfsweb01]#virshlist

IdNameState-------------------- - - -----------1web01running

复制代码

代码如下 以下为:

[root@nfsweb01]#virshdestroyweb01

Domainweb01destroyed复制代码

代码如下:

[root@nfsweb01]# virshlist--all# #web01已不存在!

IdNameState----------------------------------myweb01shutoff-myweb03shutoff-mywin2003shutoff-myxpshutoff-xpshutoff复制代码

代码如下:

[root@nfsweb01]#virshdefineweb01

错误:无法打开文件'web01':没有文件或目录

rht-vmctl命令如何显示、开启、关闭和重置虚拟机?

本文介绍了 rht-vmctl 命令,这是一个由 Red Hat 制作的用于管理 Red Hat 训练中的 KVM 虚拟机的实用程序。
rht-vmctl的主要功能是控制两个虚拟机,即桌面和服务器,进行显示状态、启动、停止、重置等操作。

要使用此命令,您需要遵循简单的语法格式,即在命令行中键入“rht-vmctl”,后跟所需的参数。
常用参数包括:

display start poweroff Reset

以下是实际操作中如何使用rht-vmctl命令的几个示例:

[root@linuxcool~]#rht-vmctlviewdesktop:查看桌面虚拟机的状态。
[root@linuxcool~]#rht-vmctlstartdesktop:启动虚拟桌面机。
[root@linuxcool~]#rht-vmctlpoweroffdesktop:关闭桌面虚拟机。
[root@linuxcool~]#rht-vmctlresetdesktop:重置虚拟桌面机。