热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

KVM虚拟机安装步骤讲解

kvm虚拟机安装一.必要条件1.开启物理机cpu虚拟化支持,intelcpu需开启intel-vt,AMDcpu开启AMD-VD。2.安装kvm模块,执行yuminstallqemu-kvm,modprobekvm命令。3.创建网桥,执行#cd/etc/sysconfig/network-scripts/#cpifcf

kvm虚拟机安装

一.必要条件

1.      开启物理机cpu虚拟化支持,intel cpu需开启intel-vt,AMD cpu开启AMD-VD。

2.      安装kvm模块,执行yum install qemu-kvm,modprobe kvm命令。

3.      创建网桥,执行

 #cd/etc/sysconfig/network-scripts/

 #cpifcfg-eth0 ifcfg-bridge0

 编辑eth0与bridge0文件,完成后servicenetwork restart重启网络,这是eth0的网络会桥接到bridge0.

注: 目前我只知道磁盘为lvm的安装方式,需要创建vg,而对于物理分区的安装方式没有试过。

二.安装虚拟机

安装虚拟机有两种方式,一种是通过qemu命令来创建,另一种是通过libvirt来创建。

1.      Qemu命令安装

首先创建lvm卷,例如:名为v097229.sqa.cm4的虚拟机,在vg 名为vg.vmms卷组下为其创建lvm-v097229.sqa.cm4的lv逻辑卷。

/usr/libexec/qemu-kvm -S

?M rhel6.1.0 (模拟机器类型,默认为sun4u,还可以pc)

-enable-kvm     (使用kvm)

-m 2048           (内存容量)

-smp 4               (cpucore数量)

-name v097229.sqa.cm4

-nodefconfig     (正常情况下,qemu会从系统配置路径下的qemu.conf文件加载配置,而次选项不会加载此配置)

-mon chardev=charmonitor,id=monitor,mode=control

-rtc base=utc   (开启rtc,使用utc时间,还可为localtime)

-drivefile=/dev/vg.vmms/lvm-v097229.sqa.cm4,if=none,id=drive-virtio-disk0,format=raw

(定义drive,设备文件的路径以及格式)

-devicevirtio-blk-pci,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0(添加刚刚定义的id为drive-virtio-disk0的设备)

注:其他的设备网络配置还没弄懂

2. 利用libvirt安装

         1). Libvirt方式安装虚拟机,需要先安装libvirt,安装libvirt-python。

         2). 创建一个libvirt-pool

定义可如下所以:

        dev.vg.vmms

       299435556864

               

       /dev/vg.vmms

      

可以将其保存在文件中,vg.vmms.xml,用virshpool-define vg.vmms.xml来创建,也可用libvirt-python创建。

这样变创建了一个名为vg.vmms的pool,然后在此pool中创建volume,xml格式如下:

       lvm-v097224.sqa.cm4

  

       

       53687091200

         0

    

    /dev/vg.vmms/lvm-v097224.sqa.cm4

      

这样,磁盘就定义好了,然后开始创建虚拟,格式如下:

         v134021.sqa.cm4

         4194304

         2

          

hvm        /var/www/vmms/kernel_images/yum/rhel/versions/5/u6/os/x86_64/vmlinuz

/var/www/vmms/kernel_images/yum/rhel/versions/5/u6/os/x86_64/initrd.img

           method=http://10.232.2.223/yum/rhel/versions/5/u6/os/x86_64/ks=http://10.232.2.223/broom/vm-genks-new.php?r=5-u6-64_00:16:3E:E8:86:15 >

         

         

           

         

         

          destroy

         destroy

         destroy

##注意此处全部设为destroy,是为了在安装结束后全部结束,这样virsh list 就看不到该虚拟机了,这时便知道该虚拟机安装结束,可以重新定义并启动

         

           /usr/libexec/qemu-kvm

           

           

           

           

         

       

等待安装结束后,虚拟机会自动关闭,然后用virsh undefine v134021.sqa.cm4去掉该虚拟机的定义,使用如下xml重新定义,virshdefine v134021.sqa.cm4.new.xml,然后,执行virsh start v134021.sqa.cm4就可以启动该虚拟机了。

V134021.sqa.cm4.new.xml:

 v134021.sqa.cm4

 4194304

 4

 

   hvm

 

 

   

 

 

 destroy

  restart

 destroy

 

   /usr/libexec/qemu-kvm

   

     

     

     

   

   

     

     

   

 ##vnc port=-1, 根据libvirt的定义,自动分配,从5900开始起分配

 

至此虚拟机便可以启动了。


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 如何在PHPcms网站中添加广告
    本文详细介绍了在PHPcms网站后台添加广告的方法,涵盖多种常见的广告形式,如百度广告和Google广告,并提供了相关设置的步骤。同时,文章还探讨了优化网站流量的SEO策略。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 本文介绍如何在 Unity 的 XML 配置文件中,将参数传递给自定义生命周期管理器的构造函数。我们将详细探讨 CustomLifetimeManager 类的实现及其配置方法。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • Vue 2 中解决页面刷新和按钮跳转导致导航栏样式失效的问题
    本文介绍了如何通过配置路由的 meta 字段,确保 Vue 2 项目中的导航栏在页面刷新或内部按钮跳转时,始终保持正确的 active 样式。具体实现方法包括设置路由的 meta 属性,并在 HTML 模板中动态绑定类名。 ... [详细]
  • 本文探讨了如何通过最小生成树(MST)来计算严格次小生成树。在处理过程中,需特别注意所有边权重相等的情况,以避免错误。我们首先构建最小生成树,然后枚举每条非树边,检查其是否能形成更优的次小生成树。 ... [详细]
  • OPPO黄页服务即将停止
    OPPO黄页服务因业务调整即将停止,用户需了解具体卸载路径及受影响的机型。 ... [详细]
  • 1函数1.1函数的定义  设xxx和yyy是两个变量,D,icod ... [详细]
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
author-avatar
Tony_Friday
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有