麻花痒 发表于 2024-7-16 05:36:39

云计算基础实行-假造化管理

今日目标:-搭建假造化平台
- 创建云主机
-了解云计算
假造化与云计算的关系
假造化是什么?假造化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配,云计算就是利用了假造化技术这个特点。
云计算是什么?云计算是一种服务模式(IAAS),其实就是把各种资源整合起来,然后租用给有需要的用户,其中的资源包罗处理器(cpu)、内存、存储、网络和其他基本的计算机资源。通常我们通过假造化手段把这些资源分割打包提供给用户利用。
假造化实行图例

https://img-blog.csdnimg.cn/direct/021612ca8a7f46eb8c3010c155b6c049.png
假造化平台安装

创建假造机

1、创建假造机 2cpu,4G内存
 # hostnamectl set-hostname ecs
 # exit 2、验证 ecs 是否支持假造化
 grep -Po "vmx|svm" /proc/cpuinfo
 lsmod |grep kvm查看KVM模块
 modprobe kvm 加载模块
 rmmod kvm 卸载模块 安装假造化平台

构建假造化平台工具软件包
https://img-blog.csdnimg.cn/direct/c4c575071e134665a29364787c3b0a37.png
1、安装服务

 # dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
 # systemctl enable --now libvirtd
 # virsh version#查看版本 2、创建网桥

网桥(假造交换机)
默认路径:/etc/libvirt/qemu/networks/vbr.xml
下令形貌virsh net-list [--all]列出假造网络virsh net-start启动假造交换机virsh net-destroy强制制止假造交换机virsh net-define根据xml文件创建假造网络virsh net-undefine删除一个假造网络设备virsh net-edit修改假造交换机的配置virsh net-autostart设置开机自启动  # 官网手册: https://libvirt.org/docs.html
 # vim /etc/libvirt/qemu/networks/vbr.xml
 <network>
 <name>vbr</name>网桥名
 <forward mode='nat'/>工作模式
 <bridge name='vbr' stp='on' delay='0'/>
 <ip address='192.168.100.254' netmask='255.255.255.0'>网桥ip
   <dhcp>
     <range start='192.168.100.128' end='192.168.100.200'/>
   </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 假造机

假造机的构成:
https://img-blog.csdnimg.cn/direct/ded48e5ce09b40d7b5965fd83a308221.png
https://img-blog.csdnimg.cn/direct/70a9b804f2a545a0945653243300b290.png
/etc 存放配置文件 /usr 存放程序文件 /var 存放数据文件
假造机磁盘:在文件仿真中被广泛接纳的CoW格式具有支持弹性空间、支持后端盘复用、支持快照、支持压缩
COW 写时拷贝技术 ,利用指针指向原始盘所有块。若一个块要被改写,起首把数据从原始盘拷贝到前端盘,然后在前端盘进行改写,末了把数据指针指向改写过的数据
原始盘始终是只读的
https://img-blog.csdnimg.cn/direct/128d211ad6a14840834d8630aba2432e.png
假造机磁盘管理:
qemu-img 是管理假造机磁盘下令
下令格式:qemu -img 子下令 子下令参数 块文件名称 巨细
https://img-blog.csdnimg.cn/direct/1a27428c42f84af2a99656db458254b3.png
-f 指定磁盘格式
https://img-blog.csdnimg.cn/direct/c0a464a978fb4af3b1cfb84620701019.png
-b 原始盘名称
-F 原始盘磁盘格式
创建假造机磁盘

创建假造机vmhost的磁盘文件
后端数据盘:cirros.qcow2
创建前端盘:/var/lib/libvirt/images/vmhost.img
前端盘的巨细20G
上传 cirros.qcow2 到假造机
 # cp cirros.qcow2 /var/lib/libvirt/images/
 # cd /var/lib/libvirt/images/
 # qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
 ls -lh
 # qemu-img info vmhost.img #查看信息 qemu-img create -F qcow2 -f qcow2 -b cirros.qcow2 vmhost.img 20G
qemu-img create -F 原始盘的格式-f 目标盘的格式-b 原始盘的名称 目标盘的名称 目标盘的巨细
假造机配置文件

文件:/etc/libvirt/qemu/{假造机名称}.xml
官方手册:libvirt: Documentation 或者生成配置模板
https://img-blog.csdnimg.cn/direct/b949a2a5d9b144c499a21ef5c4bbf473.png
https://img-blog.csdnimg.cn/direct/049f3cca9e7444b196581c5b3c82cb8b.png
https://img-blog.csdnimg.cn/direct/85b0653b22314b10a76fe852a08b45cc.png
按要求利用模板创建假造机配置文件
-假造机名称: vmhost
-假造机配置:CPU(2焦点)内存(1G)
-假造机网络:Vbr桥接
拷贝 模板node_base.xml 到假造机中
 # cp node_base.xml /etc/libvirt/qemu/vmhost.xml
 # vim /etc/libvirt/qemu/vmhost.xml
 02: <name>vmhost</name>#虚拟机名称(必改)
 03: <memory unit='KB'>1024000</memory>#最大内存
 04: <currentMemory unit='KB'>1024000</currentMemory>#虚拟机当前内存
 05: <vcpu placement='static'>2</vcpu>#cpu数量
 25: <source file='/var/lib/libvirt/images/vmhost.img'/>
 29: <source bridge='vbr'/> 创建假造机

下令说明virsh list [--all]列出假造机virsh start/shutdown/reboot启动/关闭/重启假造机virsh destroy强制制止假造机virsh define/undefine创建/删除假造机virsh console毗连假造机的 console  # virsh define /etc/libvirt/qemu/vmhost.xml
 Domain vmhost defined from /etc/libvirt/qemu/vmhost.xml
 # virsh list --all
  Id  Name                           State
 ----------------------------------------------------
  -     vmhost                         shut off
 # virsh start vmhost
 Domain vmhost started
 # virsh console vmhost # 两次回车
 Connected to domain vmhost
 Escape character is ^]
 ​
 login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
 cirros login:
 退出使用 ctrl + ] 若要删除云主机磁盘 下令:cd /var/lib/libvirt/images/ rm -f vmhost.img
常用管理下令

下令说明virsh edit修改假造机的配置virsh autostart设置假造机自启动virsh dominfo查看假造机摘要信息virsh domiflist查看假造机网卡信息virsh domblklist查看假造机硬盘信息 附: 编写一个脚本用来管理假造机,可以完成假造机的批量创建、批量删除,自界说假造机名称等功能,现有的模板假造机信息如下:


[*]配置文件模板:/var/lib/libvirt/images/node_base.xml
[*]后端盘模板: /var/lib/libvirt/images/node_base.qcow2
# vim /usr/local/bin/clone-vm
#!/bin/bash
CONF_DIR="/etc/libvirt/qemu"
IMG_DIR="/var/lib/libvirt/images"
CONF_FILE="/var/lib/libvirt/images/node_base.xml"
IMG_FILE="/var/lib/libvirt/images/node_base.qcow2"
export LANG=C
. /etc/init.d/functions
function create_vm(){
    if[ -e ${IMG_DIR}/${1}.img ];then
      echo_warning
      echo "vm ${1}.img is exists"
      return 1
    else
      qemu-img create -b ${IMG_FILE} -F qcow2 -f qcow2 ${IMG_DIR}/${1}.img 20G &>/dev/nl
      sed -re "s,#{5},${1}," ${CONF_FILE} >${CONF_DIR}/${1}.xml
      sudo virsh define ${CONF_DIR}/${1}.xml &>/dev/null
      echo_success
      echo "vm ${1} create"
    fi
}
function remove_vm(){
    read _ img <<<$(sudo virsh domblklist $1 2>/dev/null |awk 'NR==3{print}')
    if [ -e "${img}" ];then
      sudo virsh destroy$1 &>/dev/null
      sudo virsh undefine $1 &>/dev/null
      rm -f ${img}
      echo_success
      echo "vm ${1} delete"
    fi
}
# main
case "$1" in
    create|remove)
    CMD=${1}
    while ((${#} > 1));do
      shift
      ${CMD}_vm ${1}
    done
    ;;
    *)
    echo "${0##*/} {create|remove} vm1 vm2 vm3 ... ..."
    ;;
esac
exit $? 验证
# chmod 755 /usr/local/bin/clone-vm
#virsh list --all
Id    Name                           State
----------------------------------------------------
# clone-vm
clone-vm {create|remove} vm1 vm2 vm3 ... ...
# clone-vm create web db
vm web create                                    
vm db create                                       
# virsh list --all
Id    Name                           State
----------------------------------------------------
-   web                            shut off
-   db                           shut off
# virsh start web
Domain web started
# virsh start db
Domain db started
# virsh list --all
Id    Name                           State
----------------------------------------------------
1   web                            running
2   db                           running
# virsh console web
Connected to domain 'web'
Escape character is ^] (Ctrl + ])
login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
cirros login:
# clone-vm remove web db
vm web delete                                             
vm db delete                                             
# virsh list --all
Id    Name                           State 云计算简介

三大服务模式

IaaS: 基础办法服务,Infrastructure-as-a-service PaaS: 平台服务,Platform-as-a-service SaaS: 软件服务,Software-as-a-service
三大利用场景

公有云:是第三方的云供应商,通过互联网为广大用户提供的一种按需利用的服务器资源,是一种云基础办法。 私有云:是一个企业或构造的专用云环境。一般在企业内部利用,不对外提供服务,因此它也被视为一种企业云。 混合云:是在私有云的基础上,组合其他公有云资源,从而允许在不同云环境之间共享应用和数据的利用方式。
华为云网址:共建智能世界云底座-华为云


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