用户登录
用户注册

分享至

kvm 常用的一些操作

  • 作者: _念着倒才猪
  • 来源: 51数据库
  • 2022-09-21
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???????????#重新连接到
hypervisorconsole???????????#连接到客户会话
create????????????#从一个**L文件创建一个虚拟机
start?????????????#开始一个非活跃的虚拟机
destroy???????????#删除一个虚拟机
define????????????#从一个XML文件定义一个虚拟机
domid?????????????#把一个虚拟机名或UUID转换为
IDdomuuid???????????#把一个郁闷或ID转换为
UUIDdominfo???????????#查看虚拟机信息
domstate??????????#查看虚拟机状态
domblkstat????????#获取虚拟机设备快状态
domifstat?????????#获取虚拟机网络接口状态
dumpxml???????????#XML中的虚拟机信息
edit??????????????#编辑某个虚拟机的XML文件
list??????????????#列出虚拟机
migrate???????????#将虚拟机迁移到另一台主机
quit??????????????#退出非交互式终端
reboot????????????#重新启动一个虚拟机
resume????????????#重新恢复一个虚拟机
save??????????????#把一个虚拟机的状态保存到一个文件
dump??????????????#把一个虚拟机的内核dump到一个文件中以方便分析
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,未登录的情况下,将镜像文件中的文件copy出来
[root@localhost?~]#?virsh?list?--all???????#查看所有的虚拟机名称?
Id????名称?????????????????????????状态
------------------------------------------------?
1?????centos1????????????????????????running?
2?????centos6.5??????????????????????running?
-?????arch???????????????????????????关闭
-?????arch1??????????????????????????关闭?
-?????arch2??????????????????????????关闭?
-?????arch3??????????????????????????关闭?
-?????arch5??????????????????????????关闭?
-?????centos3????????????????????????关闭?
-?????ubuntu?????????????????????????关闭?
-?????ubuntu1????????????????????????关闭
[root@localhost?~]#?virt-copy-out?-d?centos1?/etc/passwd?/tmp???????#将centos1中的文件copy到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
软件
前端设计
程序设计
Java相关