virsh命令行管理工具

ibvirt有两种控制方式,命令行和图形界面

图形界面:

通过执行名virt-manager,启动libvirt的图形界面,在图形界面下可以一步一步的创建虚拟机,管理虚拟机,还可以直接控制虚拟机的桌面。

命令行:

virsh list #显示本地活动虚拟机

virsh list –all #显示本地所有的虚拟机(活动的+不活动的)

virsh define ubuntu.xml #通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)

virsh start ubuntu #启动名字为ubuntu的非活动虚拟机

virsh create ubuntu.xml # 创建虚拟机(创建后,虚拟机立即执行,成为活动主机)

virsh suspend ubuntu # 暂停虚拟机

virsh resume ubuntu # 启动暂停的虚拟机

virsh shutdown ubuntu # 正常关闭虚拟机

virsh destroy ubuntu # 强制关闭虚拟机

virsh dominfo ubuntu #显示虚拟机的基本信息

virsh domname 2 # 显示id号为2的虚拟机名

virsh domid ubuntu # 显示虚拟机id号

virsh domuuid ubuntu # 显示虚拟机的uuid

virsh domstate ubuntu # 显示虚拟机的当前状态

virsh dumpxml ubuntu # 显示虚拟机的当前配置文件(可能和定义虚拟机时的配置不同,因为当虚拟机启动时,需要给虚拟机分配id号、uuid、vnc端口号等等)

virsh setmem ubuntu 512000 #给不活动虚拟机设置内存大小

virsh setvcpus ubuntu 4 # 给不活动虚拟机设置cpu个数

virsh edit ubuntu # 编辑配置文件(一般是在刚定义完虚拟机之后)

libvirt还提供了一个shell:virsh,直接执行名virsh即可获得一个特殊的shell:virsh,在这个virsh里面可以执行上面的命令(去掉前面的virsh)与本地libvirt交互,还可以通过命令connect命令连接远程libvirt,与之交互,例如:connect xen+ssh://[email protected]。另外可以只执行一条远程libvirt命令:virsh –c xen+ssh://[email protected] list --all

ubuntu.xml配置文件举例:

//域类型

ubuntu //虚拟机的名字

1048576 //虚拟机的最大内存

524288 //虚拟机当前的内存

2 //该虚拟机的cpu数

hvm //hvm表示全虚拟化

/usr/lib/xen/boot/hvmloader //全虚拟化的守护进程所在的位置

//hd表示从硬盘启动

destroy

restart

restart

/usr/lib64/xen/bin/qemu-dm //二进制模拟器设备的完整路径。

//disk是用来描述磁盘的主要容器

//指定磁盘上文件的绝对路径

//定义串口

//console用来代表交互性的控制台

//桥接设备

//MAC地址

//图形类型

注:

生成一个4G大小的空文件:dd if=/dev/zero of=./disk bs=1024 count=expr 4 \* 1024 \* 1024

修改虚拟机的启动设备:从硬盘启动;从CD启动

网络参数:

如ubuntu.xml配置文件,kvm虚拟机和xen虚拟机都只需要按照下面的模板进行配置,MAC地址是必须的,bridage的名字可能在不同的主机上是不一样,可能是virbr0,也可能是br0,但类型一定要是桥接模式就可以了

KVM虚拟机迁移:

迁移命令:virsh migrate –live qemu+ssh:///system tcp://:49152

迁移完之后,本地机器可能仍是定义状态,要执行virsh undefine 清除。

注意:/dev/zero是一个输入设备,用来初始化文件。

 /dev/null是个无底洞,可以向它输出任何数据,它通吃并且不会撑着。

你可能感兴趣的:(虚拟化)