火影 发表于 2024-11-19 00:23:34

Linux情况下的云计算虚拟化技能与实践指南

目次

虚拟化概述
虚拟化与云计算的关系
虚拟化是什么?
云计算是什么?
Linux虚拟化平台
构建虚拟化平台工具软件包
虚拟化平台安装
情况准备
内核模块管理命令
安装虚拟化平台
验证指令集
安装虚拟化平台工具
创建虚拟网桥
Linux虚拟机
克隆磁盘
虚拟机设置文件
管理虚拟机
常用虚拟机管理命令
设置虚拟机
常用虚拟机设置命令

虚拟化概述

虚拟化与云计算的关系

虚拟化是什么?



[*] 虚拟化是一种技能,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、再分配,云计算就是利用了虚拟化技能的这个特点。
云计算是什么?



[*] 云计算是一种服务模式(IAAS),其头脑就是把各种资源整合起来,然后租给有必要的用户,此中的资源包罗处理器(CPU)、内存、存储、网络和别的基本的计算资源。通常我们通过虚拟化手段把这些资源分割打包提供给用户使用。

Linux虚拟化平台



[*] KVM 是linux内核模块,它必要CPU指令集(Intel-VT/AMD-V)的支持,是一种硬件辅助虚拟化技能。
[*] QEMU 是一个虚拟化的仿真工具,通过ioctl与内核模块交互完成对硬件的虚拟化支持。
[*] Libvirt 是一个对虚拟化管理的接口和工具,提供客户端步伐,比方:virsh, virt-manager。

构建虚拟化平台工具软件包


服务软件包文件虚拟化仿真步伐qemu-kvm核心保卫历程libvirt-daemon客户端步伐libvirt-clientQEMU管理模块libvirt-daemon-driver-qemu网络管理模块libvirt-daemon-driver-networkDHCP、DNS服务dnsmasq

虚拟化平台安装

情况准备


主机名称IP地址设置ecs192.168.88.1252 CPU, 4G mem
内核模块管理命令


命令命令形貌lsmod查看已经加载的内核模块modprobe加载一个内核模块sysctl设置内核参数rmmod卸载内核模块
安装虚拟化平台

验证指令集

# grep -Po "vmx|svm" /proc/cpuinfo
vmx 安装虚拟化平台工具

# dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
# systemctl enable libvirtd --now
# lsmod |grep kvm
kvm_intel             3399680
kvm                   9052161 kvm_intel
irqbypass            163841 kvm
# virsh version
Compiled against library: libvirt 8.0.0
Using library: libvirt 8.0.0
Using API: QEMU 8.0.0
Running hypervisor: QEMU 6.2.0 创建虚拟网桥

//创建网桥的.xml配置文件可用AI生成
# vim /etc/libvirt/qemu/networks/vbr.xml
<network> <!-- 定义一个网络配置 -->
<name>vbr</name> <!-- 为网络设置一个名称,这里命名为vbr -->
<forward mode='nat'/> <!-- 设置网络的转发模式为NAT,用于隔离虚拟网络和外部网络 -->
<bridge name='vbr' stp='on' delay='0'/> <!-- 创建一个虚拟网桥,名称为vbr,启用STP(生成树协议)以防止网络环路,延迟设置为0 -->
<ip address='192.168.100.254' netmask='255.255.255.0'> <!-- 为网桥设置IP地址和子网掩码 -->
    <dhcp> <!-- 定义一个DHCP服务 -->
      <range start='192.168.100.128' end='192.168.100.200'/> <!-- 指定DHCP服务分配IP地址的范围 -->
    </dhcp>
</ip>
</network> <!-- 结束网络配置 --> // 创建网桥
# virsh net-define /etc/libvirt/qemu/networks/vbr.xml
Network vbr defined from /etc/libvirt/qemu/networks/vbr.xml
// 设置开机自启动
# virsh net-autostart vbr
Network vbr marked as autostarted
// 启动网桥
# virsh net-start vbr
Network vbr started
// 验证状态
# virsh net-list --all
Name   State    Autostart   Persistent
-----------------------------------------
vbr    active   yes         yes

# ifconfig vbr // 验证 Linux虚拟机

# qemu-img create -f qcow2 disk2.img 5G
Formatting 'disk2.img', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=5368709120 lazy_refcounts=off refcount_bits=16
# ls -lh
total 196K
-rw-r--r-- 1 root root 193K Nov1 14:23 disk2.img
# qemu-img info disk2.img
image: disk2.img
file format: qcow2
virtual size: 5 GiB (5368709120 bytes)
disk size: 196 KiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false
# rm disk2.img 克隆磁盘



[*] qemu-img:这是命令行工具的名称,用于管理QEMU虚拟机的磁盘映像文件。
[*] create:这是 qemu-img 的一个子命令,用于创建新的磁盘映像文件。
[*] -F qcow2:这个选项指定了新创建的磁盘映像文件的格式。-F 是 --format 的简写形式,qcow2 是指定的格式,表现创建的磁盘映像将使用 qcow2 格式。
[*] -b cirros.qcow2:这个选项指定了根本磁盘映像文件,-b 是 --Backing-File 的简写形式。在这里,cirros.qcow2 是用作新磁盘映像的根本磁盘映像文件,新创建的磁盘映像将继续这个根本映像的内容和设置。
[*] -f qcow2:这个选项再次指定了新磁盘映像的格式,这次是作为创建命令的一部分。它与 -F 选项的作用相同,都是指定格式为 qcow2。
[*] vmhost.img:这是新创建的磁盘映像文件的名称。
[*] 20G:这是新创建的磁盘映像文件的巨细,表现新磁盘映像的巨细为 20GB。
# ls
cirros.qcow2disk2.imgvmbase.xml
# cp cirros.qcow2 /var/lib/libvirt/images/
# qemu-img rm disk2.img
qemu-img: Command not found: rm
Try 'qemu-img --help' for more information
# qemu-img create -F qcow2 -b cirros.qcow2 -f qcow2 vmhost.img 20G
Formatting 'vmhost.img', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=21474836480 backing_file=cirros.qcow2 backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
# ls -lh
total 17M
-rw-r--r-- 1 root root16M Nov1 14:33 cirros.qcow2
-rw-r--r-- 1 root root 1.2K Nov1 14:33 vmbase.xml
-rw-r--r-- 1 root root 193K Nov1 14:38 vmhost.img
# qemu-img info vmhost.img
image: vmhost.img
file format: qcow2
virtual size: 20 GiB (21474836480 bytes)
disk size: 196 KiB
cluster_size: 65536
backing file: cirros.qcow2
backing file format: qcow2
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: false
    refcount bits: 16
    corrupt: false
    extended l2: false 虚拟机设置文件

# vim vmbase.xml
02: <name>vmhost</name># 必改配置
03: <memory unit="KB">1048576</memory>
04: <currentMemory unit="KB">1048576</currentMemory>
05: <vcpu placement="static">2</vcpu>
25: <source file="/var/lib/libvirt/images/vmhost.img" /># 必改配置
29: <source bridge="vbr" /> 管理虚拟机

//列出虚拟机
# virsh list

//创建虚拟机
# virsh define vmbase.xml

//删除虚拟机
# virsh undefine vmhost

//启动虚拟机
# virsh start vmhost

//关闭虚拟机
# virsh shutdown vmhost

//强制关闭虚拟机
# virsh destroy vmhost

//连接虚拟机
# virsh console vmhost 常用虚拟机管理命令


命令命令形貌virsh list [--all]列出虚拟机virsh start/shutdown启动/关闭虚拟机virsh destroy强制停止虚拟机virsh define/undefine创建/删除虚拟机virsh console连接虚拟机的 console
设置虚拟机

//修改虚拟机配置文件!!不安全!!不推荐!!
# virsh edit vmhost

//设置虚拟机自启
# virsh autostart vmhost

//查看虚拟机摘要信息
# virsh dominfo vmhost

//查看虚拟机网卡信息
# virsh domiflist vmhost

//查看你虚拟机硬盘信息
# virsh domblklist vmhost 常用虚拟机设置命令


命令命令形貌virsh edit修改虚拟机的设置virsh autostart设置虚拟机自启动virsh dominfo查看虚拟机摘要信息virsh domiflist查看虚拟机网卡信息virsh domblklist查看虚拟机硬盘信息


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux情况下的云计算虚拟化技能与实践指南