云计算与虚拟化

一、引言

随着数字化转型的加速,云计算与虚拟化技术已成为企业 IT 架构的核心支撑。本文基于实战课程内容,详细讲解虚拟化技术原理、Linux 虚拟化平台搭建、虚拟机管理实践及云计算核心概念,适合云计算初学者快速入门并掌握实操技能。

二、虚拟化技术基础

2.1 虚拟化技术定义

虚拟化技术是将物理硬件资源抽象为逻辑资源的技术,通过资源的隔离、整合与动态分配,实现硬件利用率最大化。其核心价值在于:

  • 打破物理资源的不可拆分性
  • 实现资源的按需分配与动态调整
  • 提高 IT 基础设施的灵活性与扩展性

2.2 主流虚拟化技术产品

厂商PC / 服务器版代表产品特点
VMwareWorkstation、vSphere功能全面,企业级解决方案成熟
MicrosoftVirtualPC、Hyper-V与 Windows 系统兼容性佳
RedHatKVM、RHEV开源免费,Linux 系统原生支持
CitrixXen性能优异,支持多种虚拟化场景
OracleVM VirtualBox轻量易用,跨平台支持好

三、云计算核心概念

3.1 虚拟化与云计算的关系

  • 虚拟化是技术手段:实现物理资源到逻辑资源的转化
  • 云计算是服务模式:基于虚拟化技术提供资源租赁服务
  • 核心逻辑:通过虚拟化技术将 CPU、内存、存储等资源池化,再以服务形式按需分配给用户

3.2 云计算服务模式

  1. IaaS(基础设施即服务)

    • 提供底层计算、存储、网络等基础资源
    • 典型应用:弹性云服务器、对象存储服务
  2. PaaS(平台即服务)

    • 包含基础设施 + 开发运行环境
    • 典型应用:数据库服务、容器平台
  3. SaaS(软件即服务)

    • 直接提供应用软件服务
    • 典型应用:在线办公软件、CRM 系统

四、Linux 虚拟化平台搭建实战

实验主机:

主机名称IP地址配置
ecs192.168.88.1252 CPU, 4G mem

实验图例:

4.1 虚拟化支持验证

Windows 系统验证

使用 SecurAble 工具检测 CPU 是否支持虚拟化:

  • 需同时满足 "Hardware Virtualization" 为 "Yes"
Linux 系统验证

通过命令检测 CPU 虚拟化指令集:

[root@ecs ~]# 
grep -Po "vmx|svm" /proc/cpuinfo
# 输出vmx(Intel)或svm(AMD)表示支持

4.2 安装 KVM 虚拟化平台

内核模块管理命令

命令命令描述
lsmod查看已经加载的内核模块
modprobe加载一个内核模块
sysctl设置内核参数
rmmod卸载内核模块
安装核心组件
[root@ecs ~]# dnf install -y \
qemu-kvm \               # 虚拟化仿真程序
libvirt-daemon \         # 核心守护进程
libvirt-client \         # 客户端工具
libvirt-daemon-driver-qemu \  # QEMU管理模块
libvirt-daemon-driver-network \  # 网络管理模块
dnsmasq                  # DHCP/DNS服务
启动并验证服务
# 启动服务并设置开机自启
[root@ecs ~]# systemctl enable --now libvirtd

# 验证KVM模块加载
[root@ecs ~]# lsmod | grep kvm
# 输出包含kvm_intel/kvm_amd表示加载成功

# 验证libvirt版本
[root@ecs ~]# virsh version

五、虚拟机管理实践

5.1 虚拟网络配置(网桥创建)

1. 创建网桥配置文件
# 官网手册: https://libvirt.org/docs.html
[root@ecs ~]# vim /etc/libvirt/qemu/networks/vbr.xml
<!-- /etc/libvirt/qemu/networks/vbr.xml -->
<network>
  <name>vbr</name>
  <forward mode='nat'/>
  <bridge name='vbr' stp='on' delay='0'/>
  <ip address='192.168.10.254' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.100.100' end='192.168.100.200'/>
    </dhcp>
  </ip>
</network>
2. 网桥管理命令
命令命令描述
virsh net-list [--all]列出虚拟网络
virsh net-start启动虚拟网络设备
virsh net-destroy停止虚拟网络设备
virsh net-define根据 xml 文件创建虚拟网络
virsh net-undefine删除一个虚拟网络设备
virsh net-edit修改虚拟网络设备的配置
virsh net-autostart设置开机自启动
# 定义网桥
[root@ecs ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml

# 启动网桥
[root@ecs ~]# virsh net-start vbr

# 设置开机自启
[root@ecs ~]# virsh net-autostart vbr

# 查看状态
[root@ecs ~]# virsh net-list --all

5.2 虚拟磁盘管理

cow图例

将原始盘数据拷贝到前端盘,用户的写操作通过数据指针对前端盘中的数据进行修改。
qemu-img是虚拟机的磁盘管理命令,支持raw,qcow2,vdi,vmdk等格式。

格式:qemu-img 子命令 (create、info)   子命令参数  块文件名称  大小

1. 创建 COW (写时复制技术)格式磁盘(qcow2)
# 创建20G大小的qcow2格式磁盘
[root@ecs ~]# qemu-img create -f qcow2 disk.img 20G

# 查看磁盘信息
[root@ecs ~]# qemu-img info disk.img
2. 创建链接克隆(基于已有镜像)
# 基于cirros.qcow2创建链接克隆
[root@ecs ~]#qemu-img create -F qcow2  -b cirros.qcow2  -f qcow2 vmhost.img 20G

提示:COW(写时拷贝)技术通过指针指向原始盘,仅在数据修改时复制,节省存储空间并支持快照功能。

5.3 虚拟机创建完整流程

1. 编写虚拟机配置文件
[root@ecs ~]# vim vmbase.xml
<!-- /etc/libvirt/qemu/vmhost.xml -->
<domain type='kvm'>
  <name>vmhost</name>
  <memory unit='KB'>1048576</memory>
  <currentMemory unit='KB'>1048576</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc'>hvm</type>
    <boot dev='hd'/>
  </os>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/vmhost.img'/>
      <target dev='vda' bus='virtio'/>
    </disk>
    <interface type='bridge'>
      <source bridge='vbr'/>
      <model type='virtio'/>
    </interface>
  </devices>
</domain>
2. 虚拟机管理命令
# 定义虚拟机
[root@ecs ~] virsh define /etc/libvirt/qemu/vmhost.xml

# 启动虚拟机
[root@ecs ~] virsh start vmhost

# 查看虚拟机列表
[root@ecs ~] virsh list --all

# 连接虚拟机控制台
[root@ecs ~] virsh console vmhost  # 退出按Ctrl+]
命令命令描述
virsh edit修改虚拟机的配置
virsh autostart设置虚拟机自启动
virsh dominfo查看虚拟机摘要信息
virsh domiflist查看虚拟机网卡信息
virsh domblklist查看虚拟机硬盘信息
命令命令描述
virsh list [--all]列出虚拟机
virsh start/shutdown启动/关闭虚拟机
virsh destroy强制停止虚拟机
virsh define/undefine创建/删除虚拟机
virsh console连接虚拟机的 console

六、云服务模式与部署架构

6.1 云部署模型对比

部署模型特点适用场景
公有云第三方提供,按需付费,共享资源初创企业、临时项目、互联网应用
私有云企业专属,部署在内部网络金融、政务、对数据安全要求高的场景
混合云结合公有云与私有云优势业务弹性伸缩、灾备方案、多云协同

6.2 远程管理工具

  • Windows 远程:RDP(端口 3389)
  • Linux 远程:SSH(端口 22),推荐工具:Xshell、MobaXterm、PuTTY

七、总结与实践建议

  1. 核心收获:掌握虚拟化技术原理、Linux 虚拟化平台搭建、虚拟机全生命周期管理
  2. 实践技巧
    • 多动手操作命令,熟悉 virsh 与 qemu-img 工具
    • 理解 XML 配置文件结构,学会自定义虚拟机资源
    • 尝试不同磁盘格式(raw/qcow2)的性能对比
  3. 进阶方向:学习容器技术(Docker/K8s)与虚拟化的协同应用,深入理解云原生架构
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值