使用libvirt管理虚拟机

虚拟化管理工具的安装与使用 虚拟化管理工具的安装与使用 Libvirt是一个软件的集合,包括API库,后台运行程序(Libvirtd)和命令行工具(virsh)。 Libvirt主要有下面3个功能: 1 虚拟机管理:以虚拟机为对象,Libvirt提供了定义,删除,启动,关闭,暂停,恢复,保存,回滚和迁移各种功能; 2 虚拟设备管理:能够管理各种虚拟外设,如虚拟磁盘,虚拟网卡,内存,虚拟CPU; 3 远程控制:Libvirt除了对本机进行管理外,还提供了远程连接功能。通过提供的virsh程序或API能够远程连接其他物理机的Hyperv 阅读详情

在server和client端都安装libvirt-bin

修改服务端的/etc/libvirt/libvirtd.conf配置文件,去掉listen_tls=0和listen_tcp=1前面的#号

在tcp验证的地方添加auth_tcp = “none”

修改/etc/default/libvirtd-bin(因为默认的/etc/init.d/libvirtd-bin默认启动的就是这个)

使用/etc/init.d/libvirt-bin stop停止服务,然后使用/etc/init.d/libvirt-bin start,如果启动有什么错误,记得看下/var/log/libvirt/libvirtd.log日志,看守护进程是否启动的话使用netstat –nlp就好了,n标示不需要解析域名,l标示显示listen状态的端口其他不显示,p标示显示端口对应的进程名,看到有16509端口标示正常(跟你的配置文件有关)

在客户端使用下面命令远程连接

Virsh –c qemu+tcp//192.168.101.137/system

使用virsh domxml-from-native命令将我们前面创建虚拟机用的qemu-kvm命令转换成可以被libvirt使用的domain xml文件。创建一个文件并将我们的qemu-kvm命令输入其中如下内容

然后使用virsh domxml-from-native qemu-argv命令导出xml文件并保存,删掉xml文件中的UUID和MAC地址,并且修改qemu-system-x86_64为/usr/bin/qemu-system-x86_64(实际路径),修改~/img/win_xp.img为/home/kvmserver/img/win_xp.img

然后将文件移动到新的目录

将xml文件移动到客户端

再使用virsh命令创建虚拟机前需要在服务器的对应目录下创建一个磁盘镜像文件

第一次执行命令发现创建失败

虚拟机的CPU虚拟化要开启

再次执行命令发现还是创建失败,提示tap1设备不存在,tun权限不够,直接修改xml的配置,修改网络配置为桥接,不再自己创建网卡后再指定,使用virsh会自动创建一个新的网卡,注意权限配置

<interface type=’bridge’>
	<source bridge=’virbr0’>
</interface>
然后修改vnc的监听地址为0.0.0.0,最后修改后的xml文件如下

<domain type='qemu'>
  <name>win_xp</name>
  <uuid>2300fadc-5533-4a9a-b4bb-efd6c47fccfe</uuid>
  <memory unit='KiB'>524288</memory>
  <currentMemory unit='KiB'>524288</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/home/kvmserver/img/win_xp.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/cdrom'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'/>
    <controller type='usb' index='0'/>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <source bridge='virbr0'/>
    </interface>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5901' autoport='no' listen=''>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
    <memballoon model='virtio'/>
  </devices>
</domain>
设置kvmserver的磁盘ISO镜像

将xml创建文件从server传回client

在template目录下启动virsh(中间报错是因为我忘记server的光驱选择的ISO文件但是没连接)

打开vnc

使用vnc远程连接

结果发现明明创建的是10G的磁盘,但是现在空间居然只有1MB

仔细检查xml文件,发现我们的磁盘的驱动格式为raw,应该改为qcow2

改为

安装完成后启动脚本如下,保存为start_xp.xml

<domain type='qemu'>
  <name>win_xp</name>
  <uuid>2300fadc-5533-4a9a-b4bb-efd6c47fccfe</uuid>
  <memory unit='KiB'>524288</memory>
  <currentMemory unit='KiB'>524288</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/home/kvmserver/img/win_xp.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='ide' index='0'/>
    <controller type='usb' index='0'/>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <source bridge='virbr0'/>
    </interface>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5901' autoport='no' listen=''>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
    <memballoon model='virtio'/>
  </devices>
</domain>

参考资料

http://www.chenyudong.com/
http://libvirt.org/

ubuntu安装cuckoo时可能遇到的问题解决 1.python2.7 pip 的安装 sudo apt update sudo apt install python2 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.py sudo python2 get-pip.py 2. 安装kvm时 没有libvirt-bin 安装libvirt-bin提示如下错误: E: Package ‘libvirt-bin’ has no installation candidate 阅读详情

相关推荐

使用libvirt管理KVM虚拟机

使用libvirt管理KVM虚拟机 一、安装虚拟化管理工具 1、yum install virt-manager libvirt libvirt-python python-virtinst 1、kmod-kvm : kvm kernel module(s)2、kvm : Kernel-based Virtual Machine3、kvm-qemu-img : Qem

chenglinhust的专栏 5589

libvirt 详解(1)

1.1 libvirt 1.1.1 libvirt简介 提到KVM的管理工具,首先不得不介绍的就是大名鼎鼎的libvirt,因为libvirt是目前使用最为广泛的对KVM虚拟机进行管理的工具和应用程序接口(API),而且一些常用的虚拟机管理工具(如virsh、virt-install、virt-manager等)和云计算框架平台(如OpenStack、OpenNebula、Eucalyptus

chenyulancn的专栏 5734

Libvirt中windows虚拟机的动态内存管理

Libvirt支持对虚拟机进行内存动态扩展,但是windows虚拟机首先需要安装virtio-win驱动。

Lain 3234

libvirt创建虚拟机脚本

本例假定你已经安装了libvirt、kvm,且在操作系统中配置好了桥接网络。 将以下内容保存到vminstall.sh,然后sh vminstall.sh 开始安装,当返回命令提示行后,使用VNCViewer连接进行安装操作。 读者请根据自己的实际情况进行修改。 #!/bin/sh . /etc/profile KVM_NAME="kvm_135_154_10"

Thinking -Walking@未名 1894

基于Libvirt的轻量级虚拟机管理(Virsh)

1.环境介绍 虚拟机软件:Vmware 操作系统:Ubuntu16.04 程序语言:Python 2.实现功能介绍 程序实现了虚拟机的所有基本操作。包括虚拟机的启动、暂停、关闭、重启、强制关机、强制重启、保存等功能。 3.步骤 (1)更新软件 (2).进入虚拟机之后需要安装的一些组件:libvirt-bin,libvirt-dev,qemu,virt-manager,python3-libvir...

大梦余生丶的博客 800

虚拟化系列之三--Libvirt+java管理虚拟机

libvirt提供了一套API供我们对虚拟机进行管理。官方给出了各种连接的示例http://libvirt.org/uri.html#URI_xen ,我最终选择用TLS方式进行远程连接,因为配置完服务器和和管理机的证书后,就不需要输入密码了,官方对于证书的配置也有说明,这有一篇关于如何配置证书的文章,很简洁,照的做就可以了证书配置。 然后就是写代码了,官方最新是libvirt-0.5.

javaofliang的博客 2869

libvirt安装

在Linux下安装软件一般有三种方法: 一种 是 通过 源 码 编译 安装; 一种 是 通过 源安装; ubuntu命令:apt- get RedHat/CentOS:yum 还有一种是二进制包的安装方式,如RPM包、deb包。 分别使用rpm –ivh xxxx.rpm或dpkg –i xxxx.deb安装。在此不再详述,改天有机会专写一篇文章进行讨论。 不过

toronto2016的博客 5914

Comsol超声空化气泡仿真入门:从零搭建模型到网格划分的完整流程

本文详细介绍了使用Comsol进行超声空化气泡仿真的完整流程,从物理基础理解到模型搭建、网格划分及求解器设置。通过具体步骤和示例代码,帮助初学者和工程师快速掌握这一关键技术,应用于医疗设备和工业清洗等领域。

weixin_29289821的博客 165

libvirt管理kvm虚拟机

总之,使用libvirt可以方便地管理KVM虚拟机,包括创建、启动、停止和管理虚拟机等操作。同时,libvirt还提供了完整的API和命令行工具集,方便用户进行更加高级的管理和监控操作。3.创建虚拟机:使用libvirt创建虚拟机时,可以手动编写XML文件描述虚拟机的配置,也可以使用图形界面工具(如virt-manager)来创建虚拟机。6.管理虚拟机:除了启动和关闭虚拟机外,还可以使用virsh命令来管理虚拟机,例如查看虚拟机状态、配置信息、修改虚拟机配置等操作。

Yttsam的博客 1321

webapi .net core8.0配置使用Token权限认证

本人在网上找了很多版本,不是太复杂就是不行。

m0_74824592的博客 1760

GEM5教程--gem5开始之旅(一)

GEM5系列教程--gem5开始之旅一、建立GEM5 GEM5模拟器是一个用于计算机系统结构研究的模块化平台,包含系统级别的结构以及处理器的微体系结构。读者若想详细的了解,请查看其官方文档GEM5文档 读者如果想要入门GEM5的话,可以参考Learning_GEM5这个网站,这里面有较为详细的教程,可以带读者从入门到精通。小编我对GEM5的入门学习也是从这个Learning_GEM5这个网站学习的...

qq_43381135的博客 3万+

使用Libvirt API进行虚拟机管理(Java版)

使用Libvirt API进行虚拟机管理(Java版) 1.由于使用java程序设计语言做开发,因此需要配置JDK环境,IDE工具可以使用Eclipse。可以使用“apt-get install eclipse”命令安装eclipse,会自动配置JDK环境(或者自行下载压缩包,解压后配置环境)。 2.安装完毕后,搜索出现eclipse的图标,点击进入 3.在eclipse中配置工作目录 4.创建java项目 5.创建java类 6.将jar包拷贝至宿主机“/home/jar”目录,在eclip

DUMG 2147

中移物联ML307C模组OPENCPU笔记2

本文介绍了如何编译和运行一个DEMO程序,以官方SDK为例。

weixin_43700831的博客 1884

管理下虚拟机如何? libvirt的一些基本用法

<br />  源自我们已经用KVM创建了一个虚拟机,这时你想再创建一个,这当然没有问题,但问题是如果你创建很多个虚拟机,你想对其中的一个进行停止操作,你需要PS下kvm进程,然后再处理,这样我们就想到事情能不能简单一点,谁帮我管理一下这几个破虚拟机好不好。<br /> <br />  先行者们也已经早就想到了,Libvirt就是开源的虚拟机管理程序,当然它支持qemu,xen....<br /> <br />  1. 安装<br />       ubuntu的世界,安装永远不是问题,apt-get in

xpx3216的专栏 2557

Unity3d实现红外热成像效果

1.将需要在红外图像中高亮的物体设置到图层PostProcessing。 2.新建一个相机CameraHighLight,设置其Culling Mask为PostProcessing,也就是在这个相机中只有PostProcessing图层的物体可见。 3.新建一个RenderTexture,命名为HightLightRt,将CameraHighLight的Target Texture设HightLightRt。 4.新建一个相机Camera2,这个相机用于显示其他物体。 接下来将CameraHigh

zouxin_88的专栏 8327

K230在原有LVGL控件触摸屏控制的基础上,增加USB鼠标控制!

搭配CanMV图形化编程,中小学生可快速开发“键鼠控制AI小游戏”“智能画板”等趣味项目,降低AI学习门槛;:HDMI屏幕+键鼠组合,直接在开发板上调试代码、修改ISP参数、查看AI推理日志,无需频繁连接电脑;:打造带交互的AI设备(如工业控制面板、智能显示器),鼠标操作菜单、键盘输入指令,体验媲美小型PC;:无网络场景下,通过键盘直接向AI设备录入数据、配置参数,适配野外监测、本地工控等场景。,自动识别、快速响应,完美适配交互控制、参数调试、数据输入等场景。

weixin_47446386的博客 146

如何使用libvirt创建和管理虚拟机

请注意,以上步骤是基于命令行操作的。6. 使用virt-manager进行图形化管理:virt-manager是一个基于GTK的图形化虚拟机管理工具,它提供了直观的界面来创建、启动、停止和管理虚拟机。2. 准备虚拟机镜像:需要准备一个虚拟机镜像文件,这可以是一个ISO文件、qcow2格式的磁盘镜像等。3. 定义虚拟机XML文件:创建一个XML文件来描述虚拟机的配置,包括CPU、内存、磁盘、网络等设置。4. 使用virsh命令创建虚拟机:使用virsh命令并指定XML文件来创建虚拟机。

Flask Web 627

芒果YOLO11改进17:即插即用 | 损失函数Repulsion Loss|Repulsion 解决目标遮挡场景下的目标检测,为解决密集人群检测中遮挡设计的损失函数,打造高效

即插即用 | 损失函数Repulsion Loss|Repulsion 解决目标遮挡场景下的目标检测,为解决密集人群检测中遮挡设计的损失函数,打造高效

包括YOLOv5、YOLOv7、YOLOv8等模型改进 484

使用libvirt创建和管理KVM虚拟机

1. libvirt介绍 Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。Libvirt概括 起来包括一个API库、一个 daemon(libvirtd)和一个命令行工具(virsh)。 Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和 hypervisor。 Libvirt的主要功能如下: (1)虚拟机管理

device的博客 824

luks-磁盘加密工具

linux磁盘加密配置工具及步骤详解

zdd56789的博客 120

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

使用 libvirt创建和管理KVM虚拟机

1. libvirt介绍     Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。Libvirt概括 起来包括一个API库、一个daemon(libvirtd)和一个命令行工具(virsh)。     Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和hypervisor。     Libvirt的主要功能如下:

少帅的天空 5976

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

php管理工具 libvirt,PHP 简单管理 Libvirt 虚拟机

Libvirt-ManagerThis is a simple php libvirt managerIt can start, shutdown, destory, get the virtual machines list or get the information for any virtual machine.This project is to make it easier for d...

weixin_34652034的博客 293

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

kvm libvirt 虚拟机的管理

libvirt 介绍 用途    libvirt 是虚拟机管理工具不仅限于管理kvm 包括xen、vmware 安装      yum -y install libvirt 服务启动   systemctl libvirtd start libvirt 架构分为三部分: 1、libvird 服务 2、virsh 等命令 3、libvirt API    可以通过此接口进行二次开发 ...

weixin_30532973的博客 466

python调用libvirt_通过python-libvirt管理KVM虚拟机-1

版本:0.9.13libvirt库可真是大,先看看该版本里面都有哪些类和方法,验证过的方法我会用O开头,|开头的标示还没亲自验证过。CLASSESvirConnectvirDomainvirDomainSnapshotvirInterfacevirNWFiltervirNetworkvirNodeDevicevirSecretvirStoragePoolvirStorageVolvirStream...

weixin_39871378的博客 771
上一篇: 使用KVM/QEMU命令安装虚拟机
下一篇: 给kali的Metasploit下添加一个新的exploit
银翼魔术师
博客等级 码龄17年 41粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值