掌握未来技术:KVM虚拟化安装全攻略,开启高效云端之旅

news2024/10/28 19:50:15

  •  作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注
  •  座右铭:   云端筑梦,数据为翼,探索无限可能,引领云计算新纪元
  •  个人主页:团儿.-CSDN博客

目录

前言:

正文:

1.常见的虚拟化软件:

1.1kvm虚拟化

2.kvm功能组件

3.kvm功能

4.kvm工具集

安装kvm

1.打开centos7的cpu虚拟化功能

2.验证是否开启cpu虚拟化

3.安装kvm

4.查看kvm是否安装成功   

5.创建lvm卷,存储虚拟机

添加三块硬盘: 

    添加:

6.打开虚拟图形管理工具,创建虚拟机存储池

报错解决:版本不兼容

安装并测试


前言:

随着信息技术的飞速发展,虚拟化技术已经成为现代数据中心和云计算环境中的核心组件。其中,KVM(Kernel-based Virtual Machine)作为开源虚拟化技术的佼佼者,凭借其出色的性能、灵活性和可靠性,赢得了广大企业和开发者的青睐。

KVM虚拟化技术基于Linux内核,通过直接利用硬件资源,实现了高效的虚拟机创建和管理。与传统的虚拟化解决方案相比,KVM不仅降低了虚拟化成本,还提供了更强大的功能和更高的性能。

本指南旨在帮助读者深入了解KVM虚拟化技术,并顺利完成KVM虚拟化环境的安装与配置。无论你是初次接触虚拟化技术的初学者,还是有一定虚拟化经验的IT专业人员,都能在这里找到实用的知识和技巧。

无论你的目标是构建一个高效的云计算平台,还是为应用程序提供灵活、可扩展的虚拟化环境,KVM虚拟化技术都能为你提供强大的支持。现在,就让我们一同踏上这段探索KVM虚拟化技术的旅程吧!


正文:

1.常见的虚拟化软件:

VMware:威瑞
vmware workstation    寄居架构
vmware vsphere         原生架构

Citrix:思杰
xenDesktop            原生 
xenserver            原生

Microsoft: 微软
hyper-v             原生 

Linux:开源
kvm                    原生

英国剑桥大学:开源
xen                    原生

oracle: 甲骨文
virtualbox             寄居

1.1kvm虚拟化

    xen和kvm属于开源虚拟化软件,广泛用于公有云搭建;
    vmware、思杰citrix、微软hyper-v,多用于私有云环境。


2.kvm功能组件

    virt-manager:虚拟机的图形管理工具
    libvirt:虚拟机的管理工具集,不止管理kvm,还兼容xen,esxi,hyper-v
    qemu:和kvm内核交互的模拟器,i/O模拟和设备模拟(硬盘、网卡、声卡、显卡)
    kvm内核模块:Linux内核的功能模块,cpu和内存模拟
    Linux内核

3.kvm功能

    支持cpu 和 内存超分
    支持半虚拟化I/O
    支持热插拔
    支持对称多处理
    支持实时迁移
    支持内核同页合并
    支持非一致存储访问结构

4.kvm工具集

    libvirt:操作和管理kvm虚拟机的工具,可以操作包括 KVM,vmware,XEN,Hyper-v, LXC
    Virsh:基于libvirt 的命令行工具(CLI)
    Virt-Manager:基于libvirt的图形化工具(GUI)    
    virt-v2v:虚机格式迁移工具
    virt-* 工具:
        Virt-install (创建KVM虚机的命令行工具)
        Virt-viewer (连接 到虚机屏幕的工具)
        Virt-clone(虚机克隆工具)                        
        sVirt:安全工具和selinux相关


安装kvm

1.打开centos7的cpu虚拟化功能

    开机前勾选cpu虚拟化

2.验证是否开启cpu虚拟化

  egrep  "(vmx|svm)" /proc/cpuinfo

3.安装kvm

yum groupinstall "GNOME Desktop" -y     #安装GNOME桌面环境,最小化系统需要安装
 
yum install qemu-kvm -y                 #KVM核心模块 
yum install qemu-kvm-tools -y             #KVM调试工具,可以选择性安装 
yum install qemu-img -y                 #创建、转换和修改镜像,能处理被qemu支持的所有镜 像格式 
yum install libvirt -y                     #管理虚拟机的工具包 
yum install virt-install -y             #构建新虚拟机的命令行工具 
yum install virt-manager -y             #图形界面管理虚拟机 
yum install bridge-utils -y             #配置linux以太网桥
yum install virt-viewer                    #连接虚拟机屏幕

4.查看kvm是否安装成功   

lsmod | grep kvm
systemctl status libvirtd

 

5.创建lvm卷,存储虚拟机

添加三块硬盘: 

   pvcreate /dev/sdb  /dev/sdc /dev/sdd
    vgcreate kvmvg /dev/sdb /dev/sdc /dev/sdd
    lvcreate -n kvmlv -L 500G kvmvg
    lvdisplay /dev/kvmvg/kvmlv
    
    mkfs.xfs /dev/kvmvg/kvmlv
    mkdir /kvm_store
    mount /dev/kvmvg/kvmlv  /kvm_store
 vim /etc/fstab

    添加:

    /dev/kvmvg/kvmlv        /kvm_store              xfs     defaults        0 0

    保存退出

6.打开虚拟图形管理工具,创建虚拟机存储池

    virt-manager--双击“qemu/kvm”--点击“存储”--左下“+”,新建“存储池”--名为“kvm”--路径“/kvm_store”

    如果图形化提示错误:
    virsh pool-define-as kvm dir --target "/kvm_store/"

7.创建镜像目录,添加系统镜像,创建镜像存储池  

mkdir /iso
cp /dev/cdrom /iso/centos7.iso

将光驱里的所有文件打包成iso光盘
    双击“qemu/kvm”--点击“存储”--左下“+”,新建“存储池”--名为“iso”--路径“/iso”


    如果图形化提示错误:
    virsh pool-define-as iso dir --target "/iso/"

8.创建Linux虚拟机centos7-1
    双击“qemu/kvm”--点击“存储”--右侧“+”--新建“存储卷”--“centos7-1”
    右击“qemu/kvm”-新建虚拟机--命名--选择系统镜像--选择磁盘镜像存放路径--选择存储卷--完成

 

 

 

     或命令安装:
 

   qemu-img create -f qcow2 /kvm_store/centos7.01.qcow2 10G
    virt-install --name centos7.01 --vcpus 1 --ram 1024 --disk /kvm_store/centos7.01.qcow2,format=qcow2 --network network=default --location=/iso/centos7.iso


报错解决:版本不兼容

TypeError: constructor returned NULL

vim /usr/share/virt-manager/virtManager/baseclass.py #将其中涉及Gdk.Cursor.new_from_name行注释掉

#cursor = Gdk.Cursor.new_from_name(gdk_window.get_display(), "progress")

#gdk_window.set_cursor(cursor)

#cursor = Gdk.Cursor.new_from_name(gdk_window.get_display(), "default")

#gdk_window.set_cursor(cursor)


vim  /usr/share/virt-manager/virtManager/asyncjob.py #将其中涉及 Gdk.Cursor.new_from_name 行注释掉:

#gdk_window.set_cursor(

# Gdk.Cursor.new_from_name(gdk_window.get_display(), "progress"))

安装并测试


期待您的关注~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2225645.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ的Overview Totals是空

一、问题描述 RabbitMQ 版本:4.0.2,Erlang 版本:26.2.5.4。 RabbitMQ 页面管理(rabbitmq_management)的 Overview > Totals 是空: 二、原因分析 RabbitMQ 的配置: management_agent.disable_metrics_collector…

从0到1学习node.js(express模块)

文章目录 Express框架1、初体验express2、什么是路由3、路由的使用3、获取请求参数4、电商项目商品详情场景配置路由占位符规则5、小练习,根据id参数返回对应歌手信息6、express和原生http模块设置响应体的一些方法7、其他响应设置8、express中间件8.1、什么是中间件…

轻松部署自己的AI聊天助手LocalGPT并实现无公网IP远程交互

文章目录 前言环境准备1. localGPT部署2. 启动和使用3. 安装cpolar 内网穿透4. 创建公网地址5. 公网地址访问6. 固定公网地址 前言 本文主要介绍如何本地部署LocalGPT并实现远程访问,由于localGPT只能通过本地局域网IP地址端口号的形式访问,实现远程访问…

雷池社区版中升级雷池遇到问题

关于升级后兼容问题 版本差距过大会可能会发生升级后数据不兼容导致服务器无法起来 跨多个版本(超过1个大版本号)升级做好数据备份,遇到升级失败可尝试重新安装解决 升级提示目录不对 在错误的目录下执行(比如 safeline 的子目…

【WRF数据准备】基于GEE下载静态地理数据-叶面积指数LAI及绿色植被率Fpar

【WRF数据准备】基于GEE下载静态地理数据 准备:WRF所需静态地理数据(Static geographical data)数据范围说明基于GEE下载叶面积指数及绿色植被率GEE数据集介绍数据下载:LAI(叶面积指数)和Fpar(绿色植被率)数据处理:基于Python处理为单波段LAI数据参考GEE的介绍可参见另…

分布式理论基础

文章目录 1、理论基础2、CAP定理1_一致性2_可用性3_分区容错性4_总结 3、BASE理论1_Basically Available(基本可用)2_Soft State(软状态)3_Eventually Consistent(最终一致性)4_总结 1、理论基础 在计算机…

技术周总结 10.21~10.27周日

文章目录 一、10.24 周四 程序员节2.1)问题01: Memory Analysis Tool的使用方法 二、10.27 周日2.1) J2EE架构J2EE 的核心组件与技术J2EE 的多层架构J2EE 的优缺点J2EE 的应用场景 2.2)web应用开发中的 "web服务器" 和 …

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话

AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话 目录 AGI 之 【Dify】 之 Dify 在 Windows 端本地部署调用 Ollama 本地下载的大模型,实现 API 形式进行聊天对话 一、简单介绍 二、创建一个聊…

ReactNative TurboModule(3)

ReactNative TurboModule 简述 ReactNative新架构的两个核心支柱是TurboModule和Fabric渲染器,前者的功能是提供一个Native的模块,比如蓝牙之类的,后者则是提供一个自定义Native UI组件的能力,ReactNative本身虽然提供了非常多的…

Python 中 {} 是 set 还是 dict

先说结论: {} 是 dict 字典。 一、描述 在 Python 中,我们可以用如下,表示一个集合 set my_set {1, 2, 3, 4, 5, 6} 也可以用如下,表示一个字典 dict my_dict {1:10, 2:20, 3:30, 4:40} 不管是集合还是字典,都…

【Ubuntu20.04 Visual Studio Code安装】【VSCODE】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、打开VSCOE官网二、下载VSODE的Ubuntu版本三、安装VSCODE软件包四、导入工作空间(添加工作空间目录)五、安装插件:1.安装简体中文包2.安装ros插件…

NSSCTF刷题篇web部分

源码泄露 [FSCTF 2023]寻找蛛丝马迹 这个源码泄露,可以记录一下,涉及的知识点比较多 打开环境 查看源码, 第一段flag 乱码,恢复一下 乱码恢复网站:乱码恢复 (mytju.com) 剩下的就只说方法 http://node4.anna.nss…

python实现放烟花效果庆祝元旦

马上就要2025年元旦啦,提前祝大家新年快乐 完整代码下载地址:https://download.csdn.net/download/ture_mydream/89926458

uaGate SI——实现OT与IT的安全连接

对于许多制造商来说,诸如工业物联网(IIoT)、信息物理系统(CPS)和大数据等概念已经开始与其智能工厂的愿景紧密相连。智能工厂是将信息技术(IT)的数字世界与运营技术(OT)的…

H5的Canvas绘图——使用fabricjs绘制一个可多选的随机9宫格

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,最近一直被测试…

node升级package.json中的版本

由于项目使用时间过老,升级对应包版本,可以使用新功能 1.使用npm-check-updates这个工具,先全局安装 npm install -g npm-check-updates2.检查package.json中dependencies的最新版本 ncu3.更新dependencies到新版本 ncu -u也是一样的 npx…

微知SOP-定位Linux crash问题的几个常用方面和常用命令?

文章目录 1 背景2 问题描述和SOP2.1 进入目录2.2 安装crasn和vmlinux2.3 使用crash命令进入debug目录2.4 收集主要信息2.5 收集task关键信息2.6 查看堆栈信息2.7 使用反汇编查看crash所在行2.8 根据寄存器获取一些关键数据2.9 根据堆栈获取信息2.10 加载内核模块2.11 收集其他t…

宿舍管理新篇章:基于Spring Boot的系统开发

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1系统工作原理…

零基础学linux文件管理

目录 引言 基础知识 回顾C语言 fopen fclose 更改进程路径:chdir fwrite可以用来写入 sizeof字符串 C语言默认打开三个输入输出流 过渡到系统 系统调用:open “位字段”或“位掩码” open的使用 关闭文件:close 写入&#xff1…

【C++】继承与模板

继承 1.继承的概念 概念:继承(inheritace)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称之为派生类。继承呈现了面向对象程序设计的…