虚拟机(Virtual Machine)和容器(Container)是两种流行的虚拟化技术。

虚拟机模拟机器的硬件,包括了完整的操作系统和应用,它一旦被开启,预分配给它的资源将全部被占用。容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机的操作系统内核。容器相对于虚拟机启动更快、占用资源更少,但隔离和安全性要弱于虚拟机。

测试人员为了准备不同的测试环境,往往使用可视化的VMWare、VirtualBox软件,来模拟不同的操作系统和浏览器。本文介绍另外一种Qemu+KVM的虚拟化解决方案,通过它在自动化测试中,我们可以使用命令行,按需地自动创建、销毁和管理虚拟测试机。另外,了解这种方案,也是后续自动化测试平台搭建的一个铺垫。

这里使用Ubuntu20.04桌面版来作为宿主机,搭建虚拟化环境。

(1)验证主机是支持虚拟化,有输出表明支持。

root@pve:~# egrep -o "(vmx|svm)" /proc/cpuinfo vmx
vmx
vmx

(2)安装虚拟化软件

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients qemu virt-manager bridge-utils
sudo service libvirtd restart

老的Ubuntu系统,请用以下命令替换。

sudo apt-get install qemu-kvm libvirt-bin qemu virt-manager bridge-utils
sudo service libvirt-bin restart

(3)下载系统和驱动

  • 这里下载微软Win10官方光盘镜像;
  • 这里下载虚机I/O设备驱动,我选择的是稳定版virtio-win-0.1.185.iso。

(4)打开虚拟机管理工具

  • 在图形界面中打开终端,输入virt-manager,启动虚拟机管理工具;

  • 图中显示的QEMU/KVM表明,已成功连接到本地服务;
  • 如果状态为断开,请双击尝试连接,若显示不能连接到libvirtd服务,可重启机器修复;
  • 您也可以通过点击菜单“文件->添加连接”,来连接和管理远程宿主机上的虚拟机。

(5)新建虚拟机

  • 点击菜单“文件->新建虚拟机”,打开虚拟机创建向导;
  • 选择前面下载的Win10镜像文件作为本地安装介质。
  • 网络设置页面,选择“主机设备”也就是宿主机的网卡,这样虚拟机会作为局域网中的一台电脑而存在。
  • 按向导完成其他设置,并保存。

(6)设置虚拟机

  • 双击打开虚拟机窗口,点击”查看->详情“,进入虚拟机属性页面;
  • 点击引导选项卡,设置系统从光盘启动;
  • 点击左下角”添加硬件”,增加一个光盘,指向下载的virtio驱动。

(7)安装虚拟机

  • 启动后,自动从光盘安装系统;
  • Windows安装向导中,选择加载驱动程序;
  • 选择virtio驱动CDROM里,NetKVM目录下对应系统的文件;

  • 完成后续的安装步骤。

(8)结束安装

    • 安装完成后,再次打开虚拟机窗口;
    • 进入CDROM选项卡,删除安装光盘;
    • 启动虚拟机,更新系统,并安装测试相关软件。

测试开发之系统篇-安装KVM虚拟机的更多相关文章

  1. 如何在CentOS6.4系统上安装KVM虚拟机

    CentOS6.4系统上安装KVM虚拟机   备注:以下操作说明是经过实验验证后总结出来的笔录,有需要的朋友可以进行参考,以下是基于VMware12.5.2虚拟机版本上安装的实验环境. 一.安装KVM ...

  2. vmware安装kvm虚拟机

    1. 概述 本篇博客主要使用运行在win10专业版上的vmware workstation 15 pro虚拟化软件,安装centos7.7最小化系统,并在centos7上安装kvm虚拟机,实现快速创建 ...

  3. CentOS 7.5 安装KVM虚拟机(Windows)

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  4. CentOS 7.5 安装KVM虚拟机(Linux)

    1.认识理解KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linu ...

  5. centos6.2安装kvm虚拟机

    http://www.wenzizone.com/2012/03/06/centos_6-2_install_kvm.html KVM虚拟机简介 kernel-based Virtual Machin ...

  6. 6、安装kvm虚拟机

    6.1.虚拟机开启虚拟化: 6.2.检查linux虚拟机cpu是否开启了虚拟化: egrep -o 'vmx|svm' /proc/cpuinfo vmx 6.3.安装kvm管理和安装kvm虚拟机的软 ...

  7. 命令行安装kvm虚拟机、桥接网络、用virt-manager管理

    宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_64 1.配置宿主机网络桥接 想让虚拟机有自己的ip且外网可访问,需要在安装虚 ...

  8. (转)CentOS7安装KVM虚拟机详解

    原文:https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E ...

  9. 11.安装KVM虚拟机

    安装KVM虚拟机是一大难题,不按照虚拟机物理机128G内存和强劲的CPU无法充分利用.也不便于后面的jenkins自动部署.安装KVM虚拟机过程我是借鉴了网上下载的马哥linux   KVM那块的内容 ...

  10. Centos7使用pxe安装KVM虚拟机

    Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...

随机推荐

  1. C++ 多线程的错误和如何避免(4)

    对共享的资源或者数据做加锁处理 在多线程的环境下,有时需要多个线程对同一个资源或者数据进行操作,如果没有加锁,容易出现未定义的行为. 比如: #include <iostream> #in ...

  2. dpt-shell 抽取壳实现原理分析(执行逻辑)

    开源项目位置(为大佬开源精神点赞) https://github.com/luoyesiqiu/dpt-shell 抽取壳分为两个步骤 加壳逻辑: 一 对apk进行解析,将codeItem抽出到一个文 ...

  3. 记一次酣畅淋漓的 K8s Ingress 排错过程(302,404,503,...)

    故事开始 第 1 关:[流量重定向到 /] 第 2 关:[应用返回 302,重定向到 /,引入 503 错误] 第 3 关:[静态资源访问遇到 503 问题] 第 4 关:[静态资源访问遇到 403 ...

  4. 【App Service】遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的调试小工具

    问题描述 当应用部署到微软云 Azure后,如果遇见本地访问Azure App Service应用慢或者是调用第三方接口慢的时候,有什么好的调试方法呢? 来判断具体时那一段请求耗时呢? 问题解答 当然 ...

  5. 【Azure Developer】Java代码访问Key Vault Secret时候的认证问题,使用 DefaultAzureCredentialBuilder 或者 ClientSecretCredentialBuilder

    问题描述 使用Java SDK获取Key Vault Secret机密信息时,需要获取授权.通常是使用AAD的注册应用(Client ID, Tenant ID, Client Secret)来获取  ...

  6. 如何当个优秀的文档工程师?从 TC China 看技术文档工程师的自我修养

    本文系 NebulaGraph Community Academic 技术文档工程师 Abby 的参会观感,讲述了她在中国技术传播大会分享的收获以及感悟. 据说,技术内容领域.传播领域的专家和决策者们 ...

  7. 使用rpa打开浏览器并执行js抓取页面元素详情步骤

    这里我们专门开一个文章来写如何在rpa中执行js获取页面元素. 个人觉得,复杂点的需求用js会方便很多,所以后续的文章我都会重点使用js去获取页面元素. 好,正文开始,我们先看一下rpa为我们提供的自 ...

  8. SQLServer 导入 Excel 表数据报错“文本被截断。。。”

    报错详情(关键信息就是:文本被截断) 错误 0xc020901c: 数据流任务 1: 输出"Excel 源输出"(9) 上的 输出列"xxxxx"(78) 出错 ...

  9. ASP.NET Core 移除已注册的过滤器

    背景 ABP vNext 默认对异常响应进行了处理,现在某个项目需要自定义异常响应结果. 问题 在 ABP vNext 的 MVC 模块当中,可以看到是通过 AddService(typeof(Abp ...

  10. 学习ASP.NET Core Razor 编程系列文章目录

    学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二--添加一个实体 学习ASP.NET Core Razor 编程系列三--创建数据表及创建项目 ...