当前位置: 首页 > news >正文

OpenStack系列第一篇:深入了解虚拟化技术与环境搭建

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
    • 1. 虚拟化技术概述
    • 2. 企业常用虚拟化解决方案
      • vSphere
      • KVM
    • 3. KVM组件与安装
    • 4. 创建Ubuntu虚拟机
    • 5. 使用virsh命令


前言

1. 虚拟化技术概述

  • VMX支持:说明VMX是CPU虚拟化的功能,只有物理机支持,虚拟机无法使用。
  • 软件虚拟化:介绍QEMU作为软件虚拟化选项,强调其性能不足,适合测试环境。

2. 企业常用虚拟化解决方案

vSphere

  • 每台物理机安装ESXi(基于Linux),过程简单,只需设置管理密码。
  • vCenter是管理平台,安装较复杂,需要配置数据库和网络设置,提供集中管理、监控和自动化功能。
  • 依赖安装:Windows环境下需安装vCenter Server,通常需要配置外部数据库(如PostgreSQL、Oracle)。

KVM

  • KVM集成在Linux内核中,需支持硬件虚拟化的CPU。
  • QEMU负责磁盘、声卡等设备的虚拟化,Libvirt提供命令行和API接口,简化管理。

3. KVM组件与安装

  • 关键软件包
    • qemu-kvm:主虚拟化组件。
    • libvirt-daemon:管理守护进程。
    • libvirt-client:命令行工具。
    • libvirt-daemon-driver-qemu:QEMU驱动。

4. 创建Ubuntu虚拟机

ubuntu 镜像官方下载

  • 创建虚拟硬盘
    sudo qemu-img create -f qcow2 /var/lib/libvirt/images/ubuntu-vm.qcow2 20G
    
  • 准备XML配置文件ubuntu-vm.xml):
    <domain type='kvm'><name>ubuntu-vm</name><memory unit='KiB'>2048000</memory><vcpu placement='static'>2</vcpu><os><type arch='x86_64' machine='pc-i440fx-2.9'>hvm</type><boot dev='cdrom'/></os><devices><disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/var/lib/libvirt/images/ubuntu-vm.qcow2'/><target dev='vda' bus='virtio'/></disk><disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='/path/to/ubuntu.iso'/><target dev='hdc' bus='ide'/></disk><interface type='network'><source network='default'/><model type='virtio'/></interface></devices>
    </domain>
    
  • 定义并启动虚拟机
    virsh define ubuntu-vm.xml
    virsh start ubuntu-vm
    

5. 使用virsh命令

  • 基本命令
    • 查看虚拟机列表:
      virsh list
      
    • 查看所有虚拟机:
      virsh list --all
      
    • 启动虚拟机:
      virsh start <虚拟机名称>
      
    • 关闭虚拟机:
      virsh shutdown <虚拟机名称>
      
    • 强制关闭虚拟机(非必要不要这么做):
      virsh destroy <虚拟机名称>
      
    • 重新启动虚拟机:
      virsh reboot <虚拟机名称>
      
  • 虚拟机管理
    • 定义虚拟机(基于XML文件):
      virsh define <xml文件路径>
      
    • 删除虚拟机:
      virsh undefine <虚拟机名称>
      
    • 克隆虚拟机:
      virsh clone --original <原虚拟机名称> --name <新虚拟机名称>
      
  • 查看和监控
    • 查看虚拟机状态:
      virsh dominfo <虚拟机名称>
      
    • 查看虚拟机的 CPU 使用情况:
      virsh cpu-stats <虚拟机名称>
      
    • 查看虚拟机的内存使用情况:
      virsh dommemstat <虚拟机名称>
      
  • 网络和存储
    • 列出网络接口:
      virsh net-list --all
      
    • 列出存储池:
      virsh pool-list --all
      
  • 控制台访问
    • 连接到虚拟机控制台:
      virsh console <虚拟机名称>
      
  • 导入和导出
    • 导出虚拟机:
      virsh dumpxml <虚拟机名称> > <文件名>.xml
      
    • 从XML文件导入虚拟机:
      virsh define <文件名>.xml
      

http://www.mrgr.cn/news/40218.html

相关文章:

  • 【网络安全】内部应用中的多重漏洞利用
  • 如何使用ChatGPT API及Bito插件
  • leetcode274. H 指数
  • 基于投影滤波算法的rick合成地震波滤波matlab仿真
  • springboot整合seata
  • lambda表达式底层实现
  • 基于深度学习的持续的知识积累与转移
  • JDK9与JDK8对比
  • 【计算机毕业设计】springboot就业信息管理系统
  • 计算机毕业设计 服装生产信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 回归预测 | Matlab基于POA-SVR鹈鹕算法优化支持向量机的数据多输入单输出回归预测
  • [Uninstall] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)
  • Unity实战案例全解析:RTS游戏的框选和阵型功能(5)阵型功能 优化
  • Unity实战案例全解析:RTS游戏的框选和阵型功能 总结
  • 【小程序】小tips:微信小程序登录后返回登录前的页面继续操作(保留参数)
  • 心理咨询预约管理系统(含源码+sql+视频导入教程)
  • C语言——动态内存分配
  • 数据预处理:数据挖掘的第一步
  • LORA模型与基座大模型合并并由transformer的AutoModel推理
  • Linux编译部署PHP环境