4. kvm存储虚拟化

kvm存储虚拟化

  • 一、命令行工具管理虚拟磁盘
    • 1、查看虚拟磁盘
    • 2、添加磁盘
    • 3、删除磁盘
  • 二、qcow2格式的磁盘文件
    • 1、创建磁盘文件
    • 2、差量镜像/快速创建虚机
      • 2.1 创建差量镜像
      • 2.2 准备配置文件
      • 2.3 创建虚拟机
      • 2.4 批量部署虚拟机
  • 三、存储池 storage pool
    • 1、类型
    • 2、在线迁移
    • 2.1 规划后端存储
    • 2.2 运行虚拟机的主机挂载测试存储
    • 3、创建存储池
    • 4、添加主机名解析
    • 5、测试迁移

一、命令行工具管理虚拟磁盘

1、查看虚拟磁盘

[root@martin-host ~]# virsh domblklist vm01_centos79 
Target     Source
------------------------------------------------
hda        /var/lib/libvirt/images/vm01_centos79.qcow2
hdb        /kvm/iso/CentOS-7.9-x86_64-Everything-2009.iso
vda        /var/lib/libvirt/images/vm01_centos79-1.qcow2

2、添加磁盘

[root@martin-host ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/vm01_centos79-2.qcow2 5G 
Formatting '/var/lib/libvirt/images/vm01_centos79-2.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off [root@martin-host ~]# ls /var/lib/libvirt/images/
vm01_centos79-1.qcow2  vm01_centos79-2.qcow2  vm01_centos79.qcow2  vm02_centos79.qcow2[root@martin-host ~]# virsh attach-disk vm01_centos79 --source /var/lib/libvirt/images/vm01_centos79-2.qcow2 --target vdb --subdriver qcow2 --cache writeback --persistent 
Disk attached successfully磁盘缓存的工作模式:
1、writeback	回写
2、writethrough	通写,默认[root@martin-host ~]# virsh domblklist vm01_centos79 
Target     Source
------------------------------------------------
hda        /var/lib/libvirt/images/vm01_centos79.qcow2
hdb        /kvm/iso/CentOS-7.9-x86_64-Everything-2009.iso
vda        /var/lib/libvirt/images/vm01_centos79-1.qcow2
vdb        /var/lib/libvirt/images/vm01_centos79-2.qcow2

3、删除磁盘

[root@martin-host ~]# virsh detach-disk vm01_centos79 vda --persistent
Disk detached successfully[root@martin-host ~]# virsh detach-disk vm01_centos79 vdb --persistent
Disk detached successfully

二、qcow2格式的磁盘文件

1、创建磁盘文件

[root@martin-host ~]# qemu-img create -f qcow2 /opt/disk01.qcow2 8G
Formatting '/opt/disk01.qcow2', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 lazy_refcounts=off [root@martin-host ~]# qemu-img info /opt/disk01.qcow2 
image: /opt/disk01.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false

2、差量镜像/快速创建虚机

2.1 创建差量镜像

[root@martin-host ~]# qemu-img create -f qcow2 -b /var/lib/libvirt/images/vm01_centos79.qcow2 /var/lib/libvirt/images/test1_centos79.qcow2
Formatting '/var/lib/libvirt/images/test1_centos79.qcow2', fmt=qcow2 size=8589934592 backing_file='/var/lib/libvirt/images/vm01_centos79.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off [root@martin-host ~]# qemu-img info /var/lib/libvirt/images/test1_centos79.qcow2 
image: /var/lib/libvirt/images/test1_centos79.qcow2
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 196K
cluster_size: 65536
backing file: /var/lib/libvirt/images/vm01_centos79.qcow2
Format specific information:compat: 1.1lazy refcounts: false

2.2 准备配置文件

[root@martin-host qemu]# cp vm01_centos79.xml test1_centos79.xml
虚拟名称、UUID、磁盘文件位置、MAC地址、VNC

2.3 创建虚拟机

[root@martin-host ~]# virsh define /etc/libvirt/qemu/test1_centos79.xml 
Domain test1_centos79 defined from /etc/libvirt/qemu/test1_centos79.xml[root@martin-host ~]# virsh list --allId    Name                           State
-----------------------------------------------------     test1_centos79                 shut off-     vm01_centos79                  shut off-     vm02                           shut off[root@martin-host ~]# virsh start test1_centos79 
Domain test1_centos79 started[root@martin-host ~]# virsh autostart test1_centos79
Domain test1_centos79 marked as autostarted

2.4 批量部署虚拟机

#!/bin/bash
## 删除所有虚拟机for vm_name in $(virsh list --all | awk 'NR>2{print $2}')
dovirsh destroy ${vm_name} &> /dev/nullvirsh undefine ${vm_name} &> /dev/null
donerm -rf /var/lib/libvirt/images/*# 新建虚拟机 
kvm_config_file=/opt/kvm/vm_base.xml
kvm_disk_file=/opt/kvm/vm_base.qcow2read -p "虚拟机数量: " numberfor i in $(seq $number)
dovm_name=vm${i}_centos79cp ${kvm_config_file} /etc/libvirt/qemu/${vm_name}.xmlqemu-img create -f qcow2 -b ${kvm_disk_file} /var/lib/libvirt/images/${vm_name}.qcow2 &> /dev/nullsed -ri "s/vm_base/${vm_name}/g" /etc/libvirt/qemu/${vm_name}.xmlsed -ri "/uuid/c \  <uuid>$(uuidgen)</uuid>" /etc/libvirt/qemu/${vm_name}.xmlvm_mac=52:54:00:$(openssl rand -hex 10 | sed -r 's/(..)(..)(..).*/\1:\2:\3/')sed -ri "/<mac/c \      <mac address='${vm_mac}'/>" /etc/libvirt/qemu/${vm_name}.xmlvirsh define /etc/libvirt/qemu/${vm_name}.xml &> /dev/nulldone

三、存储池 storage pool

存储磁盘文件的路径/位置

1、类型

本地存储池
网络存储池, 虚拟机在线迁移(必须)

[root@martin-host ~]# virsh pool-list --all Name                 State      Autostart 
-------------------------------------------default              active     yes       iso                  active     yes       [root@martin-host ~]# virsh pool-dumpxml default 
<pool type='dir'><name>default</name><uuid>1328db51-967c-4696-a63c-88814221c3ad</uuid><capacity unit='bytes'>211654430720</capacity><allocation unit='bytes'>20023582720</allocation><available unit='bytes'>191630848000</available><source></source><target><path>/var/lib/libvirt/images</path><permissions><mode>0711</mode><owner>0</owner><group>0</group><label>system_u:object_r:virt_image_t:s0</label></permissions></target>
</pool>

2、在线迁移

2.1 规划后端存储

[root@kvm_nfs ~]# cat /etc/exports
/kvm_image	192.168.140.200(rw,no_root_squash)	192.168.140.10(rw,no_root_squash)

2.2 运行虚拟机的主机挂载测试存储

[root@martin-host ~]# mount 192.168.140.11:/kvm_image /mnt/
[root@martin-host ~]# touch /mnt/a
[root@martin-host ~]# ls /mnt/
a
[root@martin-host ~]# umount /mnt 

3、创建存储池

在这里插入图片描述
在这里插入图片描述

[root@martin-host ~]# df -hT | grep nfs
192.168.140.11:/kvm_image nfs4      100G   33M  100G   1% /pool_by_nfs
[root@martin-host ~]# 

4、添加主机名解析

[root@martin-host ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.140.200	martin-host.linux.com
192.168.140.10	new-host.linux.com[root@martin-host ~]# scp /etc/hosts root@192.168.140.10:/etc/hosts
root@192.168.140.10's password: 
hosts  

5、测试迁移

[root@martin-host ~]# virsh migrate vm1_centos79 --live qemu+ssh://192.168.140.10/system --unsafe 
root@192.168.140.10's password: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/372613.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【基于R语言群体遗传学】-14-种群起源的相对似然

我们可以将预测的基因型比例视为在种群中看到一组特定等位基因的概率。如果种群在等位基因频率上存在差异&#xff0c;我们可以使用基因型来推断个体起源于每个种群的相对可能性。大家可以先看一下之前的博客&#xff1a;群体遗传学_tRNA做科研的博客-CSDN博客 种群起源的相对似…

pytest-yaml-sanmu(六):YAML数据驱动测试

如果说 pytest 中哪些标记使用得最多&#xff0c;那无疑是 parametrize 了&#xff0c; 它为用例实现了参数化测试的能力&#xff0c;进而实现了数据驱动测试的能力。 1. 使用标记 parametrize 的使用需要提高两个内容&#xff1a; 参数名 参数值 pytest 在执行用例时&…

javascript DOM BOM 笔记

Web API API的概念 API&#xff08;Application Programming Interface,应用程序编程接口&#xff09;是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部工作机制的细…

el-scrollbar实现自动滚动到底部(AI聊天)

目录 项目背景 实现步骤 实现代码 完整示例代码 项目背景 chatGPT聊天消息展示滚动面板&#xff0c;每次用户输入提问内容或者ai进行流式回答时需要不断的滚动到底部确保展示最新的消息。 实现步骤 采用element ui 的el-scrollbar作为聊天消息展示组件。 通过操作dom来实…

高智能土壤养分检测仪:农业生产的科技新助力

在科技日新月异的今天&#xff0c;农业领域也迎来了革命性的变革。其中&#xff0c;高智能土壤养分检测仪作为现代农业的科技新助力&#xff0c;正逐渐改变着传统的农业生产方式&#xff0c;为农民带来了前所未有的便利与效益。 高智能土壤养分检测仪&#xff0c;是一款集高科技…

共筑智能未来 | 思腾合力闪耀2024世界人工智能大会(WAIC 2024)

在刚刚结束的2024世界人工智能大会暨人工智能全球治理高级别会议&#xff08;WAIC 2024&#xff09;上&#xff0c;思腾合力作为行业领先的人工智能基础架构解决方案提供商&#xff0c;凭借卓越的产品和解决方案&#xff0c;成为展会上的亮点之一。此次盛会不仅展示了全球人工智…

Android 性能优化之启动优化

文章目录 Android 性能优化之启动优化启动状态冷启动温启动热启动 耗时检测检测手段TraceView使用方式缺点 Systrace环境配置使用方式TraceView和Systrace比较 AOP统计耗时环境配置使用 优化白屏优化异步加载优化环境配置使用 延迟加载优化AppStartup 源码下载 Android 性能优化…

网站高性能架构设计——高性能缓存架构

从公众号转载&#xff0c;关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、缓存基础 1.缓存简介 缓存提升性能的幅度&#xff0c;不只取决于存储介质的速度&#xff0c;还取决于缓存命中率。为了提高命中 率&#xff0c…

HarmonyOS Next应用开发之系统概述

一、鸿蒙系统概述 鸿蒙系统可以分为华为鸿蒙系统&#xff08;HUAWEI HarmonyOS&#xff09;和开源鸿蒙系统&#xff08;OpenHarmony&#xff09;&#xff0c;华为鸿蒙系统是基于OpenHarmony基础之上开发的商业版操作系统。他们二者的关系可以用下图来表示&#xff1a; 1.1、…

Linux 创建新虚拟机的全过程图解

一、创建新虚拟机 1.选择自定义 2.直接下一步 3.选择稍后安装 4.设置虚拟机名和安装位置 5.配置处理器&#xff08;处理器数量&#xff1a;4、每个处理器的内核&#xff1a;2&#xff09; 6. 内存选择 7.网络类型 8. IO控制器类型-默认推荐 9.磁盘类型-默认推荐 10.选择虚拟磁…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver gdb是一款开源的、强大的、跨平台的程序调试工具。主要用于在程序运行时对程序进行控制和检查&#xff0c;如设置断点、单步执行、查看变量值、修改内存数据等&#xff0c;从而帮助开发者定位和修复代码中的错误。 gdbserve…

Mysql 高性能索引

引言 索引是一种用于快速查询和检索数据的数据结构&#xff0c;其本质可以看成是一种排序好的数据结构。 常见的索引类型包括B-Tree索引、哈希索引、空间数据索引&#xff08;R-Tree&#xff09;、全文索引。 索引的类型 在MySQL中&#xff0c;索引是在 存储引擎层 而不是服…

论文总是写不好?这么向kimi提问再试试!【图文大全套】

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 你是否有这样的困惑&#xff1a;论文为什么总是达不到预期的高标准&#xff1f;写作过程中总感觉缺乏方向和灵感&#xff1f;在文献搜索和数据分析上耗费了大量时间却收获甚微&#xff…

原生APP开发的优势

原生APP开发是指使用特定的编程语言和开发工具&#xff0c;针对特定的操作系统平台进行开发的应用程序。相比于混合开发和Web开发&#xff0c;原生APP开发具有以下优势。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 性能更优 原…

云教研应用:教育创新的技术引擎,驱动智慧教育新时代

在数字化飞速发展的时代&#xff0c;教育领域正经历着前所未有的变革。为了适应新时代的教育需求&#xff0c;提升教学质量与管理效率&#xff0c;我们推出了专为K12中小学校量身定制的管理解决方案系列。 今天&#xff0c;我们将以其中重要的应用——云教研应用为例&#xff…

前端面试题25(css常用的预处理器)

在前端开发领域&#xff0c;CSS预处理器在面试中经常被提及&#xff0c;其中最流行的三种预处理器是Sass、LESS和Stylus。下面分别介绍它们的特点和优势&#xff1a; 1. Sass&#xff08;Syntactically Awesome Style Sheets&#xff09; 优势&#xff1a; 变量&#xff1a;允…

提升爬虫OCR识别率:解决嘈杂验证码问题

引言 在数据抓取和网络爬虫技术中&#xff0c;验证码是常见的防爬措施&#xff0c;特别是嘈杂文本验证码。处理嘈杂验证码是一个复杂的问题&#xff0c;因为这些验证码故意设计成难以自动识别。本文将介绍如何使用OCR技术提高爬虫识别嘈杂验证码的准确率&#xff0c;并结合实际…

【LabVIEW学习篇 - 5】:数据类型——数值、字符串

文章目录 数值枚举下拉列表控件 字符串字符串与十六进制截取字符串连接字符串 字符串与数值间的转换字符串转为数值数值转为字符串 数值 如下图所示&#xff0c;各种数值型数据的不同之处在于存储和表示数据时所使用的位置不同。 浮点型 整型 在LabVIEW中&#xff0c;想要改…

深度学习(笔记内容)

1.国内镜像网站 pip使用清华源镜像源 pip install <库> -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip使用豆瓣的镜像源 pip install <库> -i https://pypi.douban.com/simple/ pip使用中国科技大学的镜像源 pip install <库> -i https://pypi.mirro…

To美术-渲染管线及优化方向(CPU方向)

一、CPU与GPU 1、CPU与GPU的区别 橙黄色&#xff1a;控制单元   橙红色&#xff1a;存储单元  绿色&#xff1a;计算单元 CPU:结构组成复杂、控制逻辑丰富&#xff0c;计算量小&#xff0c;适合复杂运算 GPU&#xff1a;结构组成简单&#xff0c;核心数量多&#xff0c;计…