KVM虚拟机(Centos7)

KVM虚拟机(Centos7)KVM 虚拟机一 KVM 概述二 虚拟机开启条件三 准备工作完成后的步骤四 KVM 虚拟机管理一 KVM 概述简介 KVM 是 KernelVirtua 的简写 目前 Redhat 只支持在 64 位的 Rhel5 4 以上的系统运行 同时硬件需要支持 VT 技术 KVM 的前身是 QEMU 在 2008 年被 Redhat 公司收购并且获得了一项 hypervisor 技术 不过 redhat 的 KVM 被认为将成为未来 linuxhypervi 的主流 准确的来说 KVM 不仅仅是 linux 内核的一个模块 管理和创建完成的 KV

一、KVM概述

  • 简介:
    KVM是Kernel Virtual Machine的简写,目前Redhat只支持在64位的Rhel5.4以上的系统运行,同时硬件需要支持VT技术。KVM的前身是QEMU,在2008年被Redhat公司收购并且获得了一项hypervisor技术,不过redhat的KVM被认为将成为未来linux hypervisor的主流,准确的来说KVM不仅仅是linux内核的一个模块。管理和创建完成的KVM虚拟机,需要更多的辅助工具
  • 部署环境:
    当linux服务器利用率不是很高的时候,为了充分利用这些linux服务器,可以去部署KVM,在物理机上运行多个业务系统,从而提高linux服务器利用率

二、虚拟机开启条件

  • 硬件:
    (1)内存: 2048M以上
    (2)处理器: 核心数 2
    (3)虚拟化引擎: 首选模式 intel VT-x 或 AMD-V
    (4)硬盘: 60G以上 (看自己需求)
    虚拟机基础配置




  • 运行环境:
    方法一:
    采用CentOS7开启cpu虚拟化支持
    最简单的安装方法就是在安装系统的时候,选择桌面安装——虚拟化选项即可


  • 方法二:
    在已有的命令行或图形化系统基础上,安装KVM所需要的软件
    步骤:

******查看主机的KVM内核模块 [root@KVM ~]# lsmod |grep kvm kvm_intel  0 kvm  1 kvm_intel irqbypass 13503 1 kvm ******检测CPU是否支持虚拟化,vmx代表Intel CPU,svm代表AMD CPU [root@KVM ~]# grep -E '(vmx|svm)' /proc/cpuinfo (输入后会有深红色字体) ******将新添加的60G硬盘分区格式化 [root@KVM ~]# fdisk /dev/sdb (创建新的分区) 欢迎使用 fdisk (util-linux 2.23.2) 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xea058649 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p 分区号 (1-4,默认 1) 起始 扇区 (2048-,默认为 2048) 将使用默认值 2048 Last 扇区, +扇区 or +size{ 
   K,M,G} (2048-,默认为 ) 将使用默认值  分区 1 已设置为 Linux 类型,大小设为 60 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:64.4 GB,  字节, 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理)512 字节 / 512 字节 I/O 大小(最小/最佳)512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xea058649 设备 Boot Start End Blocks Id System /dev/sdb1 2048   83 Linux 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@KVM ~]# mkfs -t xfs /dev/sdb1 (格式化新的分区) meta-data=/dev/sdb1 isize=512 agcount=4, agsize= blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=7679, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 ******将新的分区挂载给/opt,作为KVM虚拟机的存储池 [root@KVM ~]# mount /dev/sdb1 /opt/ (手动挂载) [root@KVM ~]# echo "/dev/sdb1 /opt xfs defaults 0 0" >> /etc/fstab (自动挂载) ******配置好本地yum源 [root@KVM ~]# cat /etc/yum.repos.d/centos7.repo [aaa] name=aaa baseurl=file:///media/cdrom enabled=1 gpgcheck=0 以上,准备工作完成 

三、准备工作完成后的步骤

桌面环境和命令行环境都可以做

******安装GNOME桌面环境 [root@KVM ~]# mount /dev/cdrom /media/cdrom/ mount: /dev/sr0 写保护,将以只读方式挂载 [root@KVM ~]# yum -y install qemu-kvm libvirt virt-install virt-manager (用户空间的工具、管理kvm虚拟机、安装kvm虚拟机、图形化虚拟机管理器) 。。。。。。 完毕! [root@KVM ~]# systemctl start libvirtd (开启) [root@KVM ~]# systemctl enable libvirtd (设置为开机自启) ******将Windows7的镜像传到/tmp目录下 我这里使用的是Xshell连接的centos7,所以直接使用自带的xftp传了,没有的话可以先挂载然后把文件复制到/tmp下,记得要分开目录 [root@KVM ~]# cd /tmp/ [root@KVM tmp]# ls (传输完成) [root@CentOS7-1 tmp]# ls anaconda.log cn_windows_7_ultimate_with_sp1_x64_dvd_.iso 。。。。。。 ******开启KVM虚拟机管理器 [root@KVM tmp]# virt-manager 

我这里使用的是图行化系统,命令行和图形化是一样的,图行化点击应用程序——系统工具——虚拟系统管理器
虚拟系统管理器

  • 双击: QEMU ,设置“存储”
    存储
  • 添加存储池:
  • 把镜像文件所在的目录/tmp 添加到存储池中,命名为ISO(点击左下角的+号)(这个是存放镜像文件的)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


  • 将/opt 目录 添加到存储池中,命名为KVM,用来当所安装虚拟机的存储目录
    添加存储卷 (还是左下角的+号)(这个就是所创建的虚拟机的硬盘空间目录)
    在这里插入图片描述
    在这里插入图片描述


  • 选中KVM,点击中间的加号
    在这里插入图片描述
  • 添加一个名称为win7的虚拟机,类型是raw,并且点击完成,然后关闭窗口
    在这里插入图片描述
  • 右键点击QEMU点击新建
    在这里插入图片描述
    在这里插入图片描述

  • 选择本地安装介质(第一个),点击前进
    在这里插入图片描述
  • 点击浏览,点击创建好的ISO的存储卷,选中win7镜像即可
    在这里插入图片描述
    在这里插入图片描述

  • 点击前进
    在这里插入图片描述
  • 内存选择1024,cpu选择1个,点击前进
    在这里插入图片描述
  • 选择创建好的KVM存储卷,选中win7.img
    在这里插入图片描述
  • 点击前进
    在这里插入图片描述
  • 勾选“在安装前自定义配置”,点击完成
    在这里插入图片描述
  • 在弹出来的窗口可以进行配置,根据需求即可
    在这里插入图片描述
  • 最后点击应用,点击开始安装即可
    在这里插入图片描述
  • 这个时候虚拟机已经开始安装了,至此KVM虚拟机服务搭建完成
    在这里插入图片描述

四、KVM虚拟机管理

  • 方法一: 直接使用图形化管理
  • 方法二: 使用KVM命令集管理
******KVM基本功能管理 帮助————virsh -h 现实配置文档位置————ls /etc/libvirt/qemu/ 查看虚拟机状态————virsh list --all 关机————virsh shutdown *虚拟机名称* 开机————virsh start *虚拟机名称* 关闭电源————virsh destory *虚拟机名称* 通过配置文件启动虚拟机————virsh create /etc/libvirt/qemu/*后缀是.xml的虚拟机文件名* 挂起————virsh suspend *虚拟机名称* 恢复————virsh resume *虚拟机名称* 自动随宿主机一起启动(开机自启)—————virsh autostart *虚拟机名称* 导出虚拟机配置————virsh dumpxml *虚拟机名称* > /etc/libvirt/qemu/*后缀是.xml的新的虚拟机文件名* 删除虚拟机————virsh undefine *虚拟机名称* 通过备份的配置文件重新定义虚拟机————virsh define *后缀是.xml的虚拟机文件名* 编辑配置文档————两种方法:(1)vim /etc/libvirt/qemu/*后缀是.xml的虚拟机文件* 2)virsh edit *虚拟机名称* ******KVM文件管理 可以使用yum先安装工具————yum -y install libguestfs-tools 查看当前磁盘格式————qemu-img info /data_kvm/store/*后缀为.img的虚拟机磁盘文件* 转换磁盘格式————qemu-img convert -f raw -O qcow2 /data_kvm/store/*后缀为.img的虚拟机磁盘文件* /data_kvm/store/*后缀为.img的新的虚拟机磁盘文件* ******虚拟机克隆 克隆001主机到002————virt-clone -o 001 -n 002 -f /data_kvm/store/002.qcow2 ******虚拟机快照 KVM虚拟机使用镜像功能,磁盘格式必须为qcow2 创建虚拟机快照————virsh snapshot-create *虚拟机名称* 查看快照版本信息————virsh snapshot-current *虚拟机名称* 查看快照信息————cirsh snapshot-list *虚拟机名称* 恢复快照到指定位置————virsh snapshot-revert *虚拟机名称* *快照名称* 删除快照————virsh snapshot-delete *虚拟机名称* *快照名称* 

两种都可以使用,个人感觉图形化方便点,看个人喜好了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231772.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言基础[通俗易懂]

    C语言基础[通俗易懂]C语言基础

    2022年4月23日
    45
  • Kali网络渗透–UDP攻击–Hping3[通俗易懂]

    Kali网络渗透–UDP攻击–Hping3[通俗易懂]使用系统:Kalilinux2019.4使用渗透工具:Hping3打开系统终端在终端输一下命令hping3-c1000-d120-S-w64-p80–flood–rand-sourcecsdn.

    2022年10月2日
    1
  • python 和 java 到底该学哪个?

    python 和 java 到底该学哪个?随着互联网的高速发展,越来越多的人选择加入到IT行业,而近年来,编程语言界也可以说是百花齐放……那么,对于刚入行的小伙伴来讲,到底选择哪种编程语言学习更好呢?是一直独占鳌头的Java,还是后来居上的Python,或者近两年一直很热门的大数据、人工智能呢?在做选择前,我们首先要现有个概念认知,就是Java、Python和所谓大数据、人工智能,并不是一个同类。Java、Python是计算机的编程语…

    2022年7月7日
    32
  • 向量的内积和外积「建议收藏」

    向量的内积和外积「建议收藏」本文参考:https://www.cnblogs.com/gxcdream/p/7597865.html 一、向量的内积 1.1向量内积的定义 概括地说,向量的内积(点乘/点积/数量积)就是对两个向量执行点乘运算,即对这两个向量对应位一一相乘之后求和的操作,如下所示,对于向量a和向量b:…

    2025年11月12日
    3
  • Android读写SD卡

    SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:1.获取SD卡的根目录2.在SD卡上创建文件夹目录3.在SD卡上创建文件4.判

    2021年12月23日
    39
  • java extjs 教程_EXTJS入门教程及其框架搭建

    java extjs 教程_EXTJS入门教程及其框架搭建EXTJS是一个兼容AJAX的前台WEBUI的框架,在普通的HTML文件的BODY元素中无须写任何HTML代码,就能产生相应的表格等元素。首先是为每一个页面定义一个类,再以EXTJS的规范格式增加所需的元素,可以使用所见所得的工具:extbuilder来操作,这个类将以XXXXX.js的文件名保存,最后在相应的HTML页面中引入相关的JS和CSS文件:并在BODY中加入下面这段JAVAS…

    2022年6月18日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号