云服务   共建智能世界云底座-华为云

kvm    linux 内核模块 虚拟化   ---> 划分资源

云计算  服务IAAS云  

QEMU   虚拟化仿真工具

libvirt  虚拟化管理的接口 工具

IP地址配置方式不同   DHCP ,DNS

检测是否支持虚拟化

grep  -P "svm|vmx" /proc/cpuinfo

一 , 安装虚拟化平台

dnf install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu libvirt-daemon-driver-network dnsmasq
systemctl enable --now libvirtd
virsh version   查看安装版本

创建虚拟网桥

virsh net-list --all   列出虚拟网桥

ifconfig  

/etc/libvirt/qemu/networks/xxx.xml  #默认路径

虚拟化的构成

虚拟配置文件  /etc/libvirt/qemu/     .xml

磁盘文件     /var/lib/libvirt/imasges/      .img

COW  对磁盘管理的技术   云主机的磁盘

官方手册:https://libvirt.org/docs.html 

Copy on  write 写时拷贝技术

qemu-img   -create    #创建原始格式磁盘  -f  raw  disk1.img  5G  

qemu-img   -create    #创建云格式磁盘  -f  qcow2  disk2.img  5G  

                   -info       #查看磁盘信息

#!/bin/bash

if  [ "$1"  ==  "clone" ] ; then

        shift

        for vm in "${@} "; do

                cd /var/lib/libvirt/images/

                qemu-img create -b cirros.qcow2  -F qcow2 ${vm}.img -f  qcow2 20G &>/dev/null

                sed  -r  "s,(#){5} , ${vm},"  /root/node_base.xml   >  /etc/libvirt/qemu/${vm}.xml

                virsh define /etc/libvirt/qemu/${vm}.xml   &>/dev/null

                virsh start ${vm}

done

elif [ "$1" == "remove" ];then

        shift

         for vm in "${@}"; do

                virsh undefined ${vm}     &>/dev/null

                virsh shoudown ${vm}   &>/dev/null

                rm -f /var/lib/libvirt/images/${vm}.img

done

else              

echo "Usage: $0 (clone|remove) <vm_name_1> [<vm_name_2> ...]"

fi

克隆虚拟机磁盘

qemu-img create  -b (镜像文件)cirros.qcow2 -F(源文件磁盘格式) qcow2   vmhost.img  -f (目标文件磁盘格式) qcow2 20G

创建配置文件

sed  -r  "s,(#){5} , vmhost,"  /root/node_base.xml   >  /etc/libvirt/qemu/vmhost.xml

创建虚拟机

云主机的配置文件

虚拟机名字     虚拟机地址source file 

虚拟的cpu最好性能跟真机同型号

virsh lish  --all                                   #列出虚拟机

virsh    start  |  shutdown  | reboot    #虚拟机启动 ,停止,重启

virsh    destroy                              # 强制停止虚拟机

virsh    define  创建|  underfined 删除      #根据xml 文件,创建/删除虚拟机

virsh console  虚拟机名           #连接虚拟机的 console

virsh  edit           虚拟机名       # 修改虚拟机配置

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

virsh    autostart   虚拟机名      # 设置虚拟机自启动

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

virsh    domblklist   虚拟机名    #查看虚拟机硬件信息

rsync是一款开源的、快速的、可实现全量及增量的把本地或远程数据备份的多功能优秀工具。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。同时,rsync也可以当作文件复制工具,替代cp和mv命令。

rsync的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动),这一特性使其在数据备份和镜像方面表现出色。此外,rsync以delta-transfer算法闻名,通过减少网络数据发送量,只发送源文件和目标文件之间的差异信息,从而实现数据的增量复制。

rsync在复制过程中可以改变原有的数据的属性信息,实现数据备份的迁移性特性。它还提供了大量的参数控制复制行为的各个方面,并且允许多种灵活的方式来实现文件的传输复制。

总的来说,rsync是一款功能强大、灵活多变的数据同步和备份工具,广泛应用于各种操作系统和场景中。

rsync  -avXSH  -delete

rsync -avXSH -delete 是一个 rsync 命令,它包含了一系列的选项,这些选项用于控制同步操作的具体行为。我们来逐一解释这些选项:

  1. -a:归档模式,这是 rsync 最常用的选项之一。它实际上是多个选项的组合,等同于 -rlptgoD。具体来说,它表示:

    • r:递归模式,即进入子目录并同步其中的文件。
    • l:保持符号链接。
    • p:保持文件的权限。
    • t:保持文件的修改时间。
    • g:保持文件的组。
    • o:保持文件的拥有者(需要超级用户权限)。
    • D:保持设备文件和特殊文件。
  2. -v:详细模式,显示同步过程中的信息,如正在传输的文件名等。

  3. -X:保持文件的扩展属性(如果系统支持)。

  4. -S:保留稀疏文件(sparse files)的稀疏属性。稀疏文件是那些包含大量连续零字节的文件,rsync 可以在同步时只传输非零部分。

  5. -H:保留硬链接。

  6. -delete:删除目标目录中源目录中没有的文件。这个选项使得目标目录成为源目录的一个镜像。

综合起来,rsync -avXSH -delete 命令会:

  • 以归档模式递归地同步源目录到目标目录。
  • 显示详细的同步过程信息。
  • 保留文件的扩展属性。
  • 保留稀疏文件的稀疏属性。
  • 保留硬链接。
  • 删除目标目录中源目录中没有的文件,使得目标目录成为源目录的镜像。

这样的命令通常用于备份或镜像目录,确保目标目录与源目录保持同步,并删除目标目录中多余的文件。


 

Logo

一起探索未来云端世界的核心,云原生技术专区带您领略创新、高效和可扩展的云计算解决方案,引领您在数字化时代的成功之路。

更多推荐