Linux 云盘算底层技能原理

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

虚拟化技能介绍

虚拟化与云盘算的关系

虚拟化是什么
虚拟化是一种技能,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、再分配,云盘算就是利用了虚拟化技能的这个特点。
云盘算是什么
云盘算是一种服务模式(IAAS),其头脑就是把各种资源整合起来,然后租给有须要的用户、此中的资源包括处理器(CPU)、内存、存储、网络和其他基本的盘算资源。通常我们通过虚拟化手段把这些资源分割打包提供给用户使用。

常见虚拟化技能

虚拟化主要厂商及产品
系列PC/服务器版代表
VMwareVMware Workstation、vSphere
MicrosoftVirtualPC、Hyper-V
RedHatKVM、RHEV
CetrixXen
OracleOracle VM VirtualBox

虚拟化平台安装

Linux内核模块管理下令

下令下令形貌
lsmod查看已经加载的内核模块
modprobe加载内核模块
sysctl设置内核参数
rmmod卸载内核模块

Linux验证虚拟化支持指令集

  1. [root@ecs ~]# grep -Po "vmx|svm" /proc/cpuinfo
  2. vmx
  3. vmx
复制代码

KVM/QEMU/LIBVIRTD

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

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

软件包服务
quem-kvm
虚拟化仿真步伐
libvirt-daemon核心守护历程
libvirt-client客户端步伐
libvirt-daemon-driver-qemuQEMU管理模块
libvirt-daemon-driver-network网络管理模块
dnsmasqDHCP、DNS服务

安装虚拟化服务

  1. [root@ecs ~]# dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
  2. [root@ecs ~]# systemctl enable --now libvirtd
  3. [root@ecs ~]# lsmod |grep kvm
  4. kvm_intel             174841  6
  5. kvm                   578518  1 kvm_intel
  6. irqbypass              13503  1 kvm
  7. [root@ecs ~]# virsh version
  8. Compiled against library: libvirt 8.0.0
  9. Using library: libvirt 8.0.0
  10. Using API: QEMU 8.0.0
  11. Running hypervisor: QEMU 6.2.0
复制代码

虚拟化网络

虚拟网络管理下令

下令下令形貌
virsh net-list [--all]列出虚拟网络
virsh net-start启动虚拟网络设备
virsh net-destroy制止虚拟网络设备
virsh net-define根据 xml 文件创建虚拟网络
virsh net-undefine删除一个虚拟网络设备
virsh net-edit修改虚拟网络设备的配置
virsh net-autostart设置开机自启动

创建虚拟网桥

  1. # 官网手册: https://libvirt.org/docs.html
  2. [root@ecs ~]# vim /etc/libvirt/qemu/networks/vbr.xml
  3. <network>
  4.   <name>vbr</name>
  5.   <forward mode='nat'/>
  6.   <bridge name='vbr' stp='on' delay='0'/>
  7.   <ip address='192.168.100.254' netmask='255.255.255.0'>
  8.     <dhcp>
  9.       <range start='192.168.100.128' end='192.168.100.200'/>
  10.     </dhcp>
  11.   </ip>
  12. </network>
  13. # 创建网桥
  14. [root@ecs ~]# virsh net-define /etc/libvirt/qemu/networks/vbr.xml
  15. Network vbr defined from /etc/libvirt/qemu/networks/vbr.xml
  16. # 设置开机自启动
  17. [root@ecs ~]# virsh net-autostart vbr
  18. Network vbr marked as autostarted
  19. # 启动网桥
  20. [root@ecs ~]# virsh net-start vbr
  21. Network vbr started
  22. # 验证状态
  23. [root@ecs ~]# virsh net-list --all
  24. Name   State    Autostart   Persistent
  25. -----------------------------------------
  26. vbr    active   yes         yes
  27. # 验证
  28. [root@ecs ~]# ifconfig vbr
复制代码

虚拟机配置管理

虚拟机原理概述

虚拟配置文件(*.xml)
文件默认路径:/etc/libvirt/qemu/
用途:界说了虚拟机的设备,比方:CPU、内存、网卡等

存储文件(*.img)
文件默认路径:/var/lib/libvirt/images/
用途:仿真虚拟磁盘,存储所有数据信息

虚拟机磁盘可以使用块设备、逻辑卷设备、文件仿真等。
此中文件仿真模式具有易迁移、易扩展、支持多种磁盘格式、配置方便等特点,在云平台上被广泛使用。
在文件仿真中被广泛采用的COW格式具有:支持弹性空间、支持后端盘复用、支持快照、支持压缩的特点。

Copy On Write写时拷贝技能
COW技能使用指针指向原始盘所有块。
若一个块要被改写,起首把数据从原始盘拷贝到前端盘,然后在前端盘举行改写,最后把数据指针指向改写过的数据。
原始盘始终是只读的。


虚拟机磁盘管理

qemu-img
qemu-img是虚拟机的磁盘管理下令,支持非常多的磁盘格式,比方:raw、qcow2、vdi、vmdk等
qemu-img下令格式:
qemu-img 子下令 子下令参数 块文件名称 大小
常用子下令有:
create 创建磁盘
info 查看磁盘信息

克隆磁盘
  1. [root@ecs ~]# cp cirros.qcow2 /var/lib/libvirt/images/
  2. [root@ecs ~]# cd /var/lib/libvirt/images/
  3. [root@ecs ~]# qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
  4. [root@ecs ~]# qemu-img info vmhost.img #查看信息
复制代码

虚拟机配置文件

  1. [root@ecs ~]# vim vmbase.xml
  2. <domain type="kvm">
  3.   <name>vmhost</name>
  4.   <memory unit="KB">1048576</memory>
  5.   <currentMemory unit="KB">1048576</currentMemory>
  6.   <vcpu placement="static">2</vcpu>
  7.   <os>
  8.     <type arch="x86_64" machine="pc">hvm</type>
  9.     <boot dev="hd" />
  10.     <bootmenu enable="yes" />
  11.     <bios useserial="yes" />
  12.   </os>
  13.   <features>
  14.     <acpi />
  15.     <apic />
  16.   </features>
  17.   <cpu mode="host-passthrough" />
  18.   <clock offset="localtime" />
  19.   <on_poweroff>destroy</on_poweroff>
  20.   <on_reboot>restart</on_reboot>
  21.   <on_crash>restart</on_crash>
  22.   <devices>
  23.     <emulator>/usr/libexec/qemu-kvm</emulator>
  24.     <disk type="file" device="disk">
  25.       <driver name="qemu" type="qcow2" />
  26.       <source file="/var/lib/libvirt/images/vmhost.img" />
  27.       <target dev="vda" bus="virtio" />
  28.     </disk>
  29.     <interface type="bridge">
  30.       <source bridge="vbr" />
  31.       <model type="virtio" />
  32.     </interface>
  33.     <channel type="unix">
  34.       <target type="virtio" name="org.qemu.guest_agent.0" />
  35.     </channel>
  36.     <serial type="pty" />
  37.     <console type="pty">
  38.       <target type="serial" />
  39.     </console>
  40.     <memballoon model="virtio" />
  41.   </devices>
复制代码

创建虚拟机

  1. [root@ecs ~]# virsh define vmbase.xml
  2. [root@ecs ~]# virsh list --all
  3. Id    Name                           State
  4. ----------------------------------------------------
  5. -     vmhost                         shut off
  6. [root@ecs ~]# virsh start vmhost
  7. Domain vmhost started
  8. [root@ecs ~]# virsh console vmhost # 两次回车
  9. Connected to domain vmhost
  10. Escape character is ^]
  11. login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
  12. cirros login:
  13. 退出使用 ctrl + ]
复制代码

虚拟机管理下令

下令下令形貌
virsh list [--all]列出虚拟机
virsh start/shutdown启动/关闭虚拟机
virsh destroy 强制制止虚拟机
virsh define/undefine创建/删除虚拟机
virsh console连接虚拟机的 console
virsh edit修改虚拟机的配置
virsh autostart设置虚拟机自启动
virsh dominfo查看虚拟机择要信息
virsh domiflist查看虚拟机网卡信息
virsh domblklist查看虚拟机硬盘信息
    
云服务类型

三大服务模式

IaaS: 基础办法服务,Infrastructure-as-a-service
PaaS: 平台服务,Platform-as-a-service
SaaS: 软件服务,Software-as-a-service

公有云、私有云、混合云

公有云:是第三方的云供应商,通过互联网为广大用户提供的一种按需使用的服务器资源,是一种云基础办法。
私有云:是一个企业或组织的专用云环境。一样平常在企业内部使用,不对外提供服务,因此它也被视为一种企业云。
混合云:是在私有云的基础上,组合其他公有云资源,从而答应在不同云环境之间共享应用和数据的使用方式。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表