导航:首页 > 程序命令 > qemukvm命令

qemukvm命令

发布时间:2025-03-08 06:28:31

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

1,创建虚拟机

代码如下:
[root@localhost ~]# virt-install --name=centos1 \            #生成一个虚拟机  

--ram 1024 --vcpus=1 \  
--disk path=/root/centos1.img,size=10 \  
--accelerate --cdrom /root/CentOS-6.5-x86_64-bin-DVD1.iso \  
--graphics vnc,port=5921 --network bridge=br0  
2,virsh的其他操作

代码如下:
[root@localhost /]# virsh start centos1       #启动虚拟机

[root@localhost /]# virt-viewer centos1       #如果有图形界面的话,可以进入虚拟机的界面
[root@localhost ~]# virsh shutdown centos1    #关闭虚拟机
[root@localhost /]# virsh reboot centos1      #重启虚拟机
[root@localhost /]# virsh suspend centos1     #暂停虚拟机
[root@localhost /]# virsh resume centos1      #恢复虚拟机
[root@localhost /]# virsh autostart centos1   #自动加载虚拟机  
virsh参数如下:
autostart #自动加载指定的一个虚拟机
connect #重新连接到hypervisor
console #连接到客户会话
create #从一个SML文件创建一个虚拟机
start #开始一个非活跃的虚拟机
destroy #删除一个虚拟机
define #从一个XML文件定义一个虚拟机
domid #把一个虚拟机名或UUID转换为ID
domuuid #把一个郁闷或ID转换为UUID
dominfo #查看虚拟机信息
domstate #查看虚拟机状态
domblkstat #获取虚拟机设备快状态
domifstat #获取虚拟机网络接口状态
mpxml #XML中的虚拟机信息
edit #编辑某个虚拟机的XML文件
list #列出虚拟机
migrate #将虚拟机迁移到另一台主机
quit #退出非交互式终端
reboot #重新启动一个虚拟机
resume #重新恢复一个虚拟机
save #把一个虚拟机的状态保存到一个文件
mp #把一个虚拟机的内核mp到一个文件中以方便分析
shutdown #关闭一个虚拟机
setmem #改变内存的分配
setmaxmem #改变最大内存限制值
suspend #挂起一个虚拟机
vcpuinfo #虚拟机的cpu信息
version #显示virsh版本
3,virt-clone,如果我们要建几个一样的虚拟机,这个命令,非常有用

代码如下:
# virt-clone --connect=qemu:///system -o centos1 -n centos3 -f  /root/centos3.img          #克隆centos1

正在克隆 centos1.img             | 10.0 GB     00:07
Clone 'centos3' created successfully.  
libguestfs-tools是虚拟机一个管理包,很有用的工具
[root@localhost ~]# yum -y install libguestfs-tools   #安装工具包  
4,未登录的情况下,查看镜像目录

代码如下:
[root@localhost ~]# virt-ls centos.img /home   #查看centos.img镜像文件中/home目录  

tank  
5,未登录的情况下,将镜像文件中的文件出来

代码如下:
[root@localhost ~]# virsh list --all       #查看所有的虚拟机名称  

Id    名称 状态  
----------------------------------------------------  
1     centos1running  
2     centos6.5                      running  
-     arch   关闭  
-     arch1  关闭  
-     arch2  关闭  
-     arch3  关闭  
-     arch5  关闭  
-     centos3关闭  
-     ubuntu 关闭  
-     ubuntu1关闭  
[root@localhost ~]# virt--out -d centos1 /etc/passwd /tmp       #将centos1中的文件到tmp下面  
6,查看虚拟机的分区情况

代码如下:
[root@localhost ~]# virt-filesystems -d centos1  

/dev/sda1  
/dev/VolGroup/lv_root
[root@localhost ~]# virt-list-partitions /root/centos.img  
/dev/sda1  
/dev/sda2
[root@localhost ~]# virt-df centos.img  
Filesystem   1K-blocks       Used  Available  Use%  
centos.img:/dev/sda1                    495844      34510     435734    7%  
centos.img:/dev/VolGroup/lv_root       8780808    2842056    5492700   33%  
7,mount虚拟机

代码如下:
[root@localhost ~]# guestmount -a /root/centos.img -m /dev/VolGroup/lv_root --rw /mnt/usb  

[root@localhost ~]# cd /mnt/usb/  
[root@localhost usb]# ls  
bin   dev  home  lib64       media  mnt  opt   root  selinux  sys  usr  
boot  etc  lib   lost+found  misc   net  proc  sbin  srv      tmp  var  
8,修改kvm中虚拟机的内存大小

代码如下:
[root@nfs ~]# virsh edit vm01  ##注意vi直接编辑不生效

vm01
 df8604c1-dcf3-fa98-420f-6eea7b39c395
 1048576 ###本来开始设置为1G,现在这个单位是k
 1048576
修改为1.5G

代码如下:
[root@nfs ~]# expr 1536 \* 1024

1572864/p
p[root@nfs ~]# virsh list
Id Name                 State
----------------------------------
 1 win2003              running
 3 vm01                 running/p
p[root@nfs ~]# virsh  shutdown vm01 ###修改配置文件后需要重新启动下虚拟机,先关闭它
Domain vm01 is being shutdown/p
p[root@nfs ~]# virsh list                      ###确认已经被关闭
Id Name                 State
----------------------------------
 1 win2003              running/p
p[root@nfs ~]# virsh start vm01            ###启动它
Domain vm01 started/p
p[root@nfs ~]# virsh list
Id Name                 State
----------------------------------
 1 win2003              running
 3 vm01                   running
到机器上查看内存大小:

代码如下:
[root@vm01 liuxiaojie]# free -m

    total       used       free     shared    buffers     cached
Mem:          1505        618        886          0         29        361
-/+ buffers/cache:        227       1277
Swap:         2000          0       2000
9,删除一个虚拟机(vm01)

代码如下:
[root@nfs qemu]# virsh undefine  vm01

[root@nfs qemu]# rm -f /home/data/vm01.img
10,删除一个域

代码如下:
[root@nfs web01]# virsh list --all
Id Name State
----------------------------------
1 web01 running ##处于工作状态
- myweb01 shut off
- myweb03 shut off
- mywin2003 shut off
- myxp shut off
- xp shut off

代码如下:
[root@nfs web01]# virsh undefine web01   ##处于工作状态也能删除!
Domain web01 has been undefined

代码如下:
[root@nfs web01]# virsh list
Id Name State
----------------------------------
1 web01 running

代码如下:
[root@nfs web01]# virsh destroy web01
Domain web01 destroyed

代码如下:
[root@nfs web01]# virsh list --all    ##web01已经没有了!
Id Name State
----------------------------------
- myweb01 shut off
- myweb03 shut off
- mywin2003 shut off
- myxp shut off
- xp shut off

代码如下:
[root@nfs web01]# virsh define web01
error: Failed to open file 'web01': No such file or directory

Ⅱ 怎样在 Ubuntu 和 Debian 中通过命令行管理 KVM

第一步:确认你的硬件平台支持虚拟化
第一步,首先要确认你的 CPU 支持硬件虚拟化扩展(e.g.,Intel VT 或者 AMD-V),这是 KVM 对硬件的要求。下面的命令可以检查硬件是否支持虚拟化。
第二步:安装KVM
使用 apt-get 安装 KVM 和相关的用户空间工具。
$ sudo apt-get install qemu-kvm libvirt-bin

安装期间,libvirtd 用户组(在 debian 上是 libvirtd-qemu 用户组)将会被创建,并且你的用户 id 将会被自动添加到该组中。这样做的目的是让你可以以一个普通用户而不是 root 用户的身份去管理虚拟机。你可以使用 id 命令来确认这一点,下面将会告诉你怎么去显示你的组 id:
$ id <your-userID>

如果因为某些原因,libvirt(在 debian 中是 libvirt-qemu)没有在你的组 id 中被找到,你也可以手动将你自己添加到对应的组中,如下所示:
在 ubuntu 上:
$ sudo adser [youruserID] libvirtd

在 debian 上:
$ sudo adser [youruserID] libvirt-qemu

按照如下命令重新载入更新后的组成员关系。如果要求输入密码,那么输入你的登陆密码即可。
$ exec su -l $USER

这时,你应该可以以普通用户的身份去执行 virsh 了。做一个如下所示的测试,这个命令将会以列表的形式列出可用的虚拟机(当前的列表是空的)。如果你没有遇到权限问题,那意味着到目前为止一切都是正常的。
$ virsh list
Id Name State

第三步:配置桥接网络
为了使 KVM 虚拟机能够访问外部网络,一种方法是通过在 KVM 宿主机上创建 Linux 桥来实现。创建之后的桥能够将虚拟机的虚拟网卡和宿主机的物理网卡连接起来,因此,虚拟机能够发送和接收由物理网卡传输的数据包。这种方式叫做网络桥接。
下面将告诉你如何创建并且配置网桥,我们创建一个网桥称它为 br0。
首先,安装一个必需的包,然后用命令行创建一个网桥。
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0

下一步就是配置已经创建好的网桥,即修改位于 /etc/network/interfaces 的配置文件。我们需要将该桥接网卡设置成开机启动。为了修改该配置文件,你需要关闭你的操作系统上的网络管理器(如果你在使用它的话)。跟随操作指南的说明去关闭网络管理器。
关闭网络管理器之后,接下来就是通过修改配置文件来配置网桥了。
#auto eth0
#iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

在上面的配置中,我假设 eth0 是主要网卡,它也是连接到外网的网卡,同样,我假设 eth0 将会通过 DHCP 协议自动获取 ip 地址。注意,之前在 /etc/network/interfaces 中还没有对 eth0 进行任何配置。桥接网卡 br0 引用了 eth0 的配置,而 eth0 也会受到 br0 的制约。
重启网络服务,并确认网桥已经被成功的配置好。如果成功的话,br0 的 ip 地址将会是 eth0 自动分配的 ip 地址,而且 eth0 不会被分配任何 ip 地址。
$ sudo /etc/init.d/networking restart
$ ifconfig

如果因为某些原因,eth0 仍然保留了之前分配给了 br0 的 ip 地址,那么你可能必须手动删除 eth0 的 ip 地址。
第四步:用命令行创建一个虚拟机
对于虚拟机来说,它的配置信息被存储在它对应的xml文件中。因此,创建一个虚拟机的第一步就是准备一个与虚拟机对应的 xml 文件。
第五步:使用命令行启动虚拟机
在启动虚拟机之前,我们需要创建它的初始磁盘镜像。为此,你需要使用 qemu-img 命令来生成一个 qemu-kvm 镜像。下面的命令将会创建 10 GB 大小的空磁盘,并且它是 qcow2 格式的。
$ qemu-img create -f qcow2 /home/dev/images/alice.img 10G

使用 qcow2 格式的磁盘镜像的好处就是它在创建之初并不会给它分配全部大小磁盘容量(这里是 10 GB),而是随着虚拟机中文件的增加而逐渐增大。因此,它对空间的使用更加有效。
现在,你可以通过使用之前创建的 xml 配置文件启动你的虚拟机了。下面的命令将会创建一个虚拟机,然后自动启动它。
$ virsh create alice.xml
Domain alice created from alice.xml

注意: 如果你对一个已经存在的虚拟机执行了了上面的命令,那么这个操作将会在没有任何警告的情况下抹去那个已经存在的虚拟机的全部信息。如果你已经创建了一个虚拟机,你可能会使用下面的命令来启动虚拟机。
$ virsh start alice.xml

使用如下命令确认一个新的虚拟机已经被创建并成功的被启动。
$ virsh list
Id Name State
----------------------------------------------------
3 alice running

同样,使用如下命令确认你的虚拟机的虚拟网卡已经被成功的添加到了你先前创建的 br0 网桥中。
$ sudo brctl show

远程连接虚拟机
为了远程访问一个正在运行的虚拟机的控制台,你可以使用VNC客户端。
需要解决更多linux问题,详情请看 http://www.linuxprobe.com/chapter-00.html
望采纳

Ⅲ kvm 创建虚拟机qemu-kvm 和virt-install的区别

首先要了解qemu和libvirt。
QEMU(Quick Emulator) 是一个广泛使用的开源计算机 仿真器和虚拟机。是一款免费的、开源的、纯软件实现的、可执行硬件虚拟化的 VMM。
libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和API,本质上是一些被提供的库函数(C语言), 它引用了面向驱动的架构设计, 对所有的虚拟化技术都提供了相应的驱动和统一的接口, 用于管理物理机的虚拟机。 Libvirt 具有非常强的可扩展性, 可供本地或远程的 virsh 调用。
qemu-kvm 命令属于QEMU,virt-install命令属于libvirt。libvirt调用qemu-kvm来管理虚拟机。如果Hypervisor是KVM,命令参数不一样而已,没区别。

阅读全文

与qemukvm命令相关的资料

热点内容
php开发桌面应用程序 浏览:904
支付宝app哪里可以加油 浏览:71
路由器ttl刷编程器固件 浏览:719
纵向加密密钥协商状态时间 浏览:850
mc花雨庭服务器有些什么 浏览:809
linux制作网页 浏览:19
xlsx加密忘记了怎么办 浏览:999
app湖北农信怎么解约 浏览:426
在线编程教育项目 浏览:759
电信采购5万台服务器干什么用 浏览:200
腾讯云服务器登录地址 浏览:988
程序员在地铁上写字 浏览:555
解压包未知文件格式怎么办 浏览:577
程序员破坏数据库 浏览:331
sh格式如何编译 浏览:344
虚拟服务器云主机哪个好 浏览:98
单片机端口保护 浏览:948
iso压缩gho 浏览:14
网关熔断器算法 浏览:629
不锈钢高度算法 浏览:170