ubuntu上利用qemu-kvm创建虚拟机

2023-05-16

   kvm是Kernel-based Virtual Machine的缩写,即基于内核的虚拟机技术,运行在具备Intel vt或者AMD-V功能的x86平台上。

在linux2.6.20之后的版本中kvm成为了linux内核的一个模块。

    qemu是独立虚拟软件,能完全独立运行虚拟机,kvm虚拟技术虽然很成熟,但是无法虚拟出真实的机器,qemu-kvm使用

kvm进行虚拟处理,使用qemu做上层界面进行虚拟机管理。

   qemu-kvm在创建虚拟机之前需要创建一个虚拟网桥,将网卡关联到虚拟网桥上。openstack创建虚拟机也是使用的qemu

技术,因此在创建虚拟机时也需要创建网桥设备,我最初做openstack安装时,没有仔细了解qemu-kvm创建虚拟机,后来

通过qemu-kvm创建虚拟机得到了启发,原来需要创建一个网桥,并且要关联网卡,这样openstack安装后来也顺利完成了。

   今天介绍ubuntu1404上通过qemu-kvm创建并启动虚拟机。


第一步、准备虚拟机,设置支持Intel vt或amd-v;
  

我使用的是mac上的VMware Fusion创建的虚拟机,内存设置4G,硬盘指定20G,高级选项中钩上虚拟化选项,这样就可以

在虚拟机中虚拟化安装虚拟机。



  

ubuntu1404虚拟机安装完成之后,检查是否支持虚拟化:



  

我配置的IP和host分别是:192.168.61.122、openstack


第二步、安装kvm相关服务;
  

root@openstack:~# apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils -y
  


  

安装完成之后检查是否安装成功



  

也可以运行virsh list --all,查看



  

第三步、检查网桥设备;
  

第二步安装bridge-utils之后,会在机器上建立一个网桥br0,这时候需要我们设置网桥和eth0关联。

虚拟机网络需要进行如下设置:


root@openstack:~# vi /etc/network/interfaces  

auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet manual


auto br0
iface br0 inet static
address 192.168.61.122
netmask 255.255.255.0
network 192.168.61.0
gateway 192.168.61.2
dns-nameservers 192.168.61.2
bridge_ports eth0
  
然后网络重启

root@openstack:~# ifdown br0
root@openstack:~# ifup br0
  

重启之后查看网络和网桥,网桥IP换成了eth0的ip。



  

查看网桥,查看到网桥br0是从eth0的网卡出去的。



  

第四步、安装虚拟机;
  

查看ubuntu1404虚拟机操作操作系统名称,后面创建虚拟机时需要。


root@openstack:~# virt-install --os-variant list |grep ubuntu
ubuntutrusty         : Ubuntu 14.04 LTS (Trusty Tahr)
ubuntusaucy          : Ubuntu 13.10 (Saucy Salamander)
ubunturaring         : Ubuntu 13.04 (Raring Ringtail)
ubuntuquantal        : Ubuntu 12.10 (Quantal Quetzal)
ubuntuprecise        : Ubuntu 12.04 LTS (Precise Pangolin)
ubuntuoneiric        : Ubuntu 11.10 (Oneiric Ocelot)
ubuntunatty          : Ubuntu 11.04 (Natty Narwhal)
ubuntumaverick       : Ubuntu 10.10 (Maverick Meerkat)
ubuntulucid          : Ubuntu 10.04 LTS (Lucid Lynx)
ubuntukarmic         : Ubuntu 9.10 (Karmic Koala)
ubuntujaunty         : Ubuntu 9.04 (Jaunty Jackalope)
ubuntuintrepid       : Ubuntu 8.10 (Intrepid Ibex)
ubuntuhardy          : Ubuntu 8.04 LTS (Hardy Heron)
  

创建虚拟机需要指定镜像,这里可以先挂载一个镜像,然后指定该挂载的镜像


root@openstack:~# mount -o loop /home/hadoop/ubuntu-14.04.2-server-amd64.iso /home/hadoop/trustyos
  
然后就可以创建虚拟机,创建命令如下

root@openstack:~# virt-install --connect=qemu:///system 
--name trustyos     // 虚拟机的名称,可以随便定义
--ram 1024           //内存
--vcpus=2            //虚拟机CPU个数
--os-type=linux      //虚拟机操作系统
--os-variant=ubuntutrusty //操作系统名称,就是前面通过 virt-install --os-variant list得到的对应虚拟机的操作系统名称
--accelerate    //
--hvm           //
--disk path=/home/hadoop/ubuntu-os.img,size=6,bus=virtio //指定虚拟机存储在系统的位置
--location /home/hadoop/trustyos         //指定镜像位置
--extra-args='console=tty0 console=ttyS0' //额外参数
--network bridge=br0,model=virtio        //网络
--graphics none                          //是否开启图形化界面
  

安装过程会很缓慢,慢慢等待



  

终于快完了



  

通过这样安装的虚拟机无法通过ssh连接,除非知道IP地址,或者是带图形界面的虚拟机安装了view-manager之后,通过

view-manager工具访问虚拟机。

这里介绍另外一种安装启动虚拟机的方式。

qemu-system-x86_64 -m 1024 -hdc cirros-0.3.3-x86_64-disk.img -vnc 0.0.0.0:2180 --no-kvm


	
  

这条命令创建一个内存为1g,对外访问的端口是2180,使用的镜像是cirros-0.3.3-x86_64-disk.img

这里可以使用一个叫checken of the vnc(我的机器是mac)的工具就可以连接了。


	
  

连接之后,就得到如下界面,输入用户名和密码就可以登录了。cirros   和  cubswin:)


	

	
  

第五步、虚拟机测试。
  

 这最后介绍几个命令


virsh destroy trustyos //如果需要删除某个虚拟机,建议先强制关闭虚拟机
virsh undefine trustyos //然后删除虚拟机  


  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu上利用qemu-kvm创建虚拟机 的相关文章

  • springboot使用MultipartFile上传文件以及File与MultipartFile互转

    如下所示的代码 xff0c 是一个在springboot项目中使用MultipartFile进行文件上传的示例 xff1a package com springboot web import org springframework http
  • python之np.sum()用法详解

    python库numpy提供的求和方法np sum xff0c 可以对数组和矩阵进行求和 sum方法可以接收多个参数 xff0c 主要是数组a 坐标轴axis 数据类型dtype 初始值initial 其中 xff0c axis对于我们来说
  • java中list集合对象按照某一个属性分组

    这里的需求是分组 xff0c 就是集合按照相同的属性来分组 一般默认的做法就是定义一个对象 xff0c 然后利用java8流对象的分组方法来分组 xff0c 在分组函数中 xff0c 传入一个属性get方法 如下所示 xff1a packa
  • snakeyaml数字字符串显示单引号的问题

    如题所示 xff0c 一般yaml结构中 xff0c 字符串直接显示没有单引号的字符串 xff0c 如果字符串由数字组成 xff0c 为了区别真正的数字 xff0c 这个字符串会使用单引号包围起来 数据结构如下 xff1a Map lt S
  • java中flatMap用法

    java中map是把集合每个元素重新映射 xff0c 元素个数不变 xff0c 但是元素值发生了变化 而flatMap从字面上来说是压平这个映射 xff0c 实际作用就是将每个元素进行一个一对多的拆分 xff0c 细分成更小的单元 xff0
  • excel中设置下拉选择框和word文档中插入外部excel只显示图标

    这篇文章介绍两个和excel相关的主题 xff0c 一个是对excel表格设置下拉框 xff0c 另一个是在word文档中插入外部excel xff0c 但是我们不想展示excel的内容 xff0c 而是展示一个图标 xff0c 点击图标
  • snakeyaml自定义pojo写入yml文件时属性字段排序问题

    snakeyaml采用LinkedHashMap保存对象 xff0c 最后写入yml文件的时候 xff0c 可以按照存入的顺序写入yml xff0c 如果采用自定义pojo xff0c 虽然可以写入yml xff0c 但是属性默认是按照字母
  • microsoft store打开加载失败,显示检查连接

    如题所示 xff0c 微软商店 microsoft store打开 xff0c 页面显示空白 xff0c 提示检查连接 xff0c 如下所示 xff1a 这种问题其实是网络设置不正确 xff0c 我们通过控制面板打开 网络和Internet
  • SpringBoot配置静态资源访问办法

    SpringBoot如果是web项目 xff0c 其实默认静态资源是放在resources static 目录下的 这个静态资源其实隐含了一个配置就是spring mvc static path pattern xff0c 如下所示 xff
  • Java服务导致CPU爆表异常排查

    一 前言 之前的博客有提到过面对Tomcat部署的java服务出现内存溢出该如何定位 xff0c 今天来记录下Tomcat部署的java服务出现CPU爆表的事故该如何定位 二 正文 针对Linux系统在处理CPU爆满时会有相关指令可以一步到
  • win10+python3.6+cuda9+pytorch1.1.0安装

    为了让torch可以使用显卡GPU加速 xff0c 需要安装对应版本的cudatoolkit和pytorch 这里我的nvidia显卡驱动是9 1版本 xff0c 只能安装cudatoolkit9 一般支持gpu加速的显卡大部分都是英伟达n
  • vmware虚拟机与树莓派4B安装ubuntu1804 + ros遇到的问题

    如题所示 xff0c 本人在虚拟机上安装ubuntu1804 xff0c 可以很容易安装 xff0c 并且更换系统apt源和ros源 xff0c 然后安装ros xff0c 非常顺利 xff0c 但是在树莓派4B上安装raspiberry系
  • python中Flask项目启动静态资源访问问题

    flask项目启动 xff0c 会监听默认的5000端口 xff0c 这个时候 xff0c 在项目根路径下有一个默认的文件夹static xff0c 是用来存放静态资源的 xff0c 我们启动项目 xff0c 可以直接访问这个目录里面的静态
  • java混淆框架proguard结合springboot项目混淆打包

    java项目一般是打包成jar运行或者作为依赖给第三方使用的 xff0c 有的时候 xff0c 可能不想被别人反编译 xff0c 于是就对关键部分进行混淆 xff0c 让代码变得普通人看不懂的地步 xff0c 很多关键字和变量都是用单个字母
  • java中Runtime.exec()可能带来的命令注入安全问题的解决办法

    我们在使用Runtime getRuntime exec 的时候 xff0c 可以指定一个命令或者脚本 xff0c 让它执行 xff0c 类似于调用系统指令来进行完成一项任务 但是这个方法如果有安全检查 xff0c 它会被报出一个Comma
  • springboot自帶线程池ThreadPoolTaskExecutor使用

    不管是阿里 xff0c 还是华为java开发手册 xff0c 都会有一条建议 xff0c 就是让开发者不要使用Executors去创建线程池 xff0c 而是使用构造函数ThreadPoolExecutor的方式来创建 xff0c 并设置合
  • windows下postgresql安装timescaledb

    timescaledb是一个时序数据库 xff0c 可以创建超表hypertable 它并不是一个独立的数据库 xff0c 它依赖于postgresql xff0c 目前相当于postgresql的一个插件或者扩展 要安装timescale
  • windows下sonarqube+sonar-runner安装记录

    sonarqube是一套代码质量管理工具系统 xff0c sonar runner是一个静态扫描代码的工具 xff0c 它可以把扫描的结果交给sonarqube来管理 这里安装的sonarqube版本比较老旧5 1 2 xff0c 因为我安
  • windows上nacos源码编译安装

    nacos是阿里巴巴旗下的一款类似dubbo的微服务注册与发现中心 xff0c 现在很多地方都在使用这个新的框架作为微服务注册中心 nacos本质还是一个rpc框架 xff0c 但是它更强大 xff0c 它还支持配置管理 这里来学习naco
  • java通过URLClassLoader类加载器加载外部jar

    相信在实际工作中 xff0c 大家可能会遇到这种需求 xff0c 这个jar是外部的 xff0c 并没有添加到项目依赖中 xff0c 只能通过类加载器加载并调用相关方法 这种jar加载 xff0c 其实也简单 xff0c 我们通过普通的UR

随机推荐

  • Java服务调用系统指令、Bat脚本记录

    一 前言 在项目推进过程中偶尔会涉及到调用其它组件或脚本的需求 xff0c 本文重点介绍Java服务调用Bat脚本 系统指令 二 调用Bat脚本 根据需求生成BAT脚本内容文本 xff0c 通过文件流写入到新建的BAT文件中 xff0c 然
  • 蓝桥杯单片机开发板-数码管静态显示

    本次的博客会详细的讲解每一部分的代码 首先放本博客所涉及到的电路结构 上图为M74HC573的所控制的数码管显示电路 下图为74HC138的片选电路 电路的逻辑为 通过74HC138来控制74HC02与非门进行逻辑控制 通过74HC02的输
  • 目标检测框架yolov5环境搭建

    目前 xff0c 目标检测框架中 xff0c yolov5 是很火的 xff0c 它基于pytorch框架 xff0c 集成opencv等框架 xff0c 项目地址 xff1a https github com ultralytics yo
  • java中使用easyexcel框架自定义格式写入excel

    一般的excel示例 xff0c 都是写入列表数据到excel xff0c 格式上有表头 xff0c 内容使用List集合来填充 今天遇到的需求有点不一样 xff0c 它也是需要写入excel xff0c 但是开头的内容并不是列表 xff0
  • easyexcel内容追加与单元格合并

    这里的需求是 xff0c 如果表格不存在 xff0c 则新建表格 xff0c 并填入数据 xff0c 如果表格存在 xff0c 那么就追加内容 xff0c 并且支持单元格合并 内容追加 xff0c 需要分两种方式插入 xff0c 第一种就是
  • opencv-python加载pytorch训练好的onnx格式线性回归模型

    opencv是一个开源的图形库 xff0c 有针对java c 43 43 python的库依赖 xff0c 它本身对模型训练支持的不好 xff0c 但是可以加载其他框架训练的模型来进行预测 这里举一个最简单的线性回归的例子 xff0c 使
  • edm经验1

    edm经验 xff1a 1 lt table border 61 34 0 34 height 61 34 100 34 cellpadding 61 34 0 34 cellspacing 61 34 0 34 style 61 34 b
  • hive2.0.0安装(配合hadoop2.6.0)

    一 前提条件 安装了Hadoop2 6 0 xff0c 并且配置了相关环境变量 jdk安装 xff0c 免密登录设置 xff0c 环境变量设置 JAVA HOME JRE HOME CLASSPATH PATH 二 安装配置 1 下载hiv
  • mysql删除无主键表中重复记录(只保留一条记录)

    考虑多条语句变通的办法 mysql gt span class hljs operator span class hljs keyword select span span class hljs keyword from span x us
  • redhat7安装openstack(juno版/附所需文件)

    这种方式使用自己制作的yum源安装openstack allinone xff0c 基本一装一个准 xff0c 不会出差错 xff0c 适合初学者安装 一 使用vmware安装redhat7操作系统 百度盘地址https pan baidu
  • win7部署kafka_2.11

    kafka作为开源的分布式消息通信框架 xff0c 可以在有jvm的机器上部署 运行 这里介绍在windows7上的部署 kafka内部自带了zookeeper 如果单机简单部署 xff0c 可以不用另外下载部署zookeeper 1 下载
  • 正则表达式驼峰转中(下)划线

    一 驼峰转中划线采用正则来实现可以看如下代码 xff1a span class hljs string 34 marginTop 34 span replace a z A Z span class hljs string 34 span
  • 工作无聊?程序员上班没事做该怎么办!

    作为一名程序员 xff0c 工作强度不稳定是比较正常的 xff0c 忙的时候会埋怨 xff0c 闲的时候会发慌 合理的安排自己的工作也是程序员最基本且最重要的能力 工作不紧张的时候 xff0c 可以好好利用起来充实自己 xff0c 根据自身
  • mysql5.7.x:this is incompatible with DISTINCT

    DISTINCT关键字经常在MySQL中使用 xff0c 在mysql5 7以前的版本中一般没有什么问题 xff0c 但是在5 7以后的版本中会遇到这样的错误 Caused by java sql SQLException Expressi
  • sublime3配置Python编译器快速编译python程序

    本文介绍经常用的sublime编辑器作为PythonIDE时如何快速编译代码并得到执行结果 xff0c 前提是本机已经安装了python xff0c 并加入了环境变量 xff0c 命令行下输入python xff0c 会有如下输出 xff1
  • redhat7通过yum安装mysql5.7.17

    rhel centos系列linux操作系统自身没有mysql的源 xff0c 需要自行下载安装 本文介绍如何安装mysql5 7 x数据库 第一步 xff1a 下载源 root span class hljs variable 64 cl
  • mysql主从复制环境搭建

    所需服务器 xff1a 两台 centos7 linux虚拟机 服务器分配 server 192 168 56 201 client 192 168 56 202 说明 xff1a 使用server做主库服务器client做从库服务器 第一
  • hadoop2.6.0伪分布式环境搭建

    Hadoop作为分布式大数据处理框架在数据处理应用中有广泛的应用 xff0c 本文介绍在Linux环境下搭建hadoop伪分布式集群 xff0c 记录下自己的学习过程 一 虚拟机准备 xff0c 为了减少折腾 xff0c 不建议在windo
  • ubuntu1404单机安装部署openstack-juno

    Redhat上可以很快的使用All in one的方式安装openstack xff0c 先安装packstack 然后通过packstack allinone这条命令 就可以一步安装openstack 最后设置IP和网桥 xff0c 就可
  • ubuntu上利用qemu-kvm创建虚拟机

    kvm是Kernel based Virtual Machine的缩写 xff0c 即基于内核的虚拟机技术 xff0c 运行在具备Intel vt或者AMD V功能的x86平台上 在linux2 6 20之后的版本中kvm成为了linux内