LVM逻辑卷管理之快照 —— 筑梦之路

简介

LVM快照是LVM提供的一个强大功能,它允许我们在不中断服务的情况下捕获逻辑卷在某个时间点的状态,从而进行备份、恢复或测试等操作。LVM快照是一个特殊的逻辑卷,它保存了原始逻辑卷在某个时间点的数据镜像。快照使用写时复制(Copy-on-Write)技术,这意味着在快照创建时,并不会立即复制整个卷的数据。相反,只有当原始卷上有数据块被修改时,这些被修改的数据块才会被复制到快照预留的空间中。因此,快照的大小通常远小于原始卷。

创建lvm快照

# 假设我们有一个名为data_vol的逻辑卷,现在我们要为它创建一个快照  lvcreate -s -n data_vol_snap -L 10G /dev/mapper/myvg-data_vol

这条命令会在myvg卷组下为data_vol逻辑卷创建一个名为data_vol_snap的快照,并为其分配10GB的空间。注意,这里指定的快照大小只是一个预留空间,用于存储原始卷上发生更改的数据块。

从快照中恢复文件

如果原始逻辑卷上的数据丢失或损坏,我们可以从快照中恢复文件。首先,需要将快照挂载到一个目录,然后从中复制所需的文件。

# 创建一个挂载点目录  
sudo mkdir /mnt/snapshot  # 挂载快照到该目录  
sudo mount /dev/mapper/myvg-data_vol_snap /mnt/snapshot  # 从/mnt/snapshot目录中复制所需的文件  
cp /mnt/snapshot/path/to/file /destination/path/  # 卸载快照  
sudo umount /mnt/snapshot

删除快照

sudo lvremove /dev/mapper/myvg-data_vol_snap

在删除快照之前,请确保你已经备份了所有重要的数据,因为删除快照会永久删除该快照中的数据。

快照管理

  • 监控快照空间:定期检查快照的空间使用情况,确保有足够的空间来存储原始卷上发生更改的数据块。如果快照空间不足,可能会导致数据丢失或系统性能下降。

  • 定期删除旧快照:随着时间的推移,旧快照可能会占用大量磁盘空间。因此,建议定期删除不再需要的快照以释放磁盘空间。

  • 使用脚本自动化管理:可以使用脚本和任务调度程序(如cron)来自动化快照的创建、删除和监控等任务。这可以提高管理效率并减少人为错误。

注意事项

1. 快照空间规划

  • 预留足够空间:LVM快照依赖于写时复制(COW)技术,这意味着当原始卷上的数据发生变化时,只有变化的数据块会被复制到快照区域。因此,你需要为快照预留足够的空间来存储这些变化的数据块。如果快照空间不足,快照可能会失效或导致数据不一致。

  • 定期清理:随着时间的推移,旧的快照可能会占用大量磁盘空间。因此,你需要定期清理不再需要的快照,以释放磁盘空间。

2. 系统性能

  • 性能影响:虽然LVM快照对系统性能的影响通常很小,但在高负载或大量数据写入的情况下,它可能会对系统性能产生一定的影响。因此,你应该在创建快照之前评估系统的负载和性能需求。

  • 避免在生产环境中进行大量写入:如果可能的话,避免在生产环境中对包含快照的逻辑卷进行大量写入操作。这可以减少对快照空间的需求并提高系统性能。

3. 其他注意事项

  • 避免在快照上执行复杂操作:虽然你可以在快照上执行一些操作(如读取文件),但请避免在快照上执行复杂的文件系统操作(如删除文件或目录),因为这可能会导致数据不一致或损坏。

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

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

相关文章

IT项目管理-小题计算【太原理工大学】

1.合同总价问题 问承包商的利润是? 实际利润目标利润(目标成本-实际成本)*卖方分担比例 解:10 000(100 000 - 90 000)* 0.2 12 000(元) 实际成本有时也写作最终成本,问承…

Ubuntu 24.04 LTS 安装 touchegg 开启触控板多指手势

文章目录 〇、概述一、安装 touchegg二、安装 gnome-shell 扩展 X11 Gestures三、安装可视化配置工具 touche 〇、概述 之前为了让笔记本支持多指手势,我安装的是 fusuma,安装教程详见 这篇文章 ,考虑到 fusuma 安装过程繁琐且不支持可视化配…

Qt自定义控件--提升为

为什么要自定义控件 1,有复合小控件需要组合为一个整体控件时; 2,一个复合控件需要重复使用时; 实现 自定义控件文件 新增三个文件 关联不同组的控件 关联之前的准备工作 1,在主控件选择和子控件所有控件所在控件…

linux 设备驱动支持多个设备写法

compatible “aaa,bbb” 当一个驱动支持多个设备的时候,在每个设备的dts中,都会配置各自的compatible,当与driver中的compatible匹配后,会取各自的data。在 __of_match_node中有match。 Example1 static const struct of_devi…

Docker与Consul:构建动态服务发现与更新的微服务体系

Docker和Consul是构建微服务体系中常用的工具之一,它们可以协同工作来实现动态服务发现和更新。下面是一个简单的Java微服务体系的示例,使用Docker容器和Consul进行服务的注册、发现和更新。 1. 创建一个简单的Java微服务 首先,我们创建一个…

1.4. 离散时间鞅-鞅的Lp收敛,鞅与停时 (2)

鞅的L^p收敛p > 1,鞅与停时 鞅的L^p收敛(p > 1),鞅与停时2. 极大值不等式2.1. Doob不等式-时间有界2.2. L p L^{p} L

MySQL主从切换测试

测试主从高可用 确认mha正常运行中ps -ef | grep mha #一般在kde-offline3节点 mysql 166898 1 1 17:54 pts/0 00:00:00 perl /bin/masterha_manager --conf=/data/apps/mha4mysql-manager-0.58/app13306.cnf --ignore_last_failover 如果未启动则需要手动执行mha…

数据结构之----栈与队列

栈是限定仅在表尾进行插入和删除操作的线性表; 队列是只允许在一端进行插入操作,而另一端进行删除操作的线性表; 栈,允许插入和删除的一端称为栈顶,另一端称为栈底,特点后进先出。 插入操作称为进栈&#…

【全网首发】大模型入门、概念详解、综述

大模型教程 注NLP入门、大模型入门、NLP发展、NLP四范式、综述入门必读图像相关大模型相关微调相关多模态相关其他注 多数文章博主已经读完,有中文笔记、代码、私信博主领取也可以相互交流学习。笔记写在flowus中会逐渐迁移到博客。 NLP入门、大模型入门、NLP发展、NLP四范式…

for box,score,cat in zip(xywhboxes,scores,cats):

zip()函数可以将多个可迭代对象打包成一个元组序列,这些对象的元素会一一对应,例如: a [1, 2, 3] b [a, b, c] c zip(a, b) print(list(c)) 输出为 [(1, a), (2, b), (3, c)] for循环中的zip()函数将它们打包成一个元组序列&#xff0…

Android中C++如何读写json文件

我们需要在json文件中记录一下总数,文件格式如下: [{"total_count":0,"total_count1":0,"total_count2":0,"total_count3":0,"total_count4":0}] 目录 1. Android.bp中新增 2. 头文件添加 3. 向jso…

websocket和http协议的区别

ws(websocket)协议和http协议是两种不同的协议。 http:http是一种用于传输超文本的应用层协议,通常用于web端浏览器和web端服务器之间传输数据。http也是基于tcp的,但是HTTP只能在同一时刻单向发送消息,是一种半双工通信。&#…

ISIS学习二——与OSPF相比的ISIS报文以及路由计算

目录 一.ISIS支持的网络类型 1.OSPF支持 2.ISIS支持 二.ISIS最优路径的选取 (1).ISIS开销值设置 1.全局开销 2.接口开销 3.根据带宽设置开销 (2).ISIS的次优路径 三.ISIS报文格式 1.ISIS专用报头——TLV 2.ISIS通用头…

LeetCode-2391. 收集垃圾的最少总时间【数组 字符串 前缀和】

LeetCode-2391. 收集垃圾的最少总时间【数组 字符串 前缀和】 题目描述:解题思路一:处理垃圾和路程单独计算。解题思路二:逆向思维,计算多走的路解题思路三:只记录,当前t需要计算几次 题目描述:…

SAF文件选择、谷歌PhotoPicker图片视频选择与真实路径转换

一、构建选择文件与回调方法 //文件选择回调ActivityResultLauncher<String[]> pickFile registerForActivityResult(new ActivityResultContracts.OpenDocument(), uri->{if (uri ! null) {Log.e("cxy", "返回的uri:" uri);Log.e("cxy&q…

计算机实战分享3:森林火灾预测分析可视化机器学习预测-完整数据代码-可直接运行

直接看实验数据和结果: 代码: from sklearn import preprocessing import random from sklearn.m

持续总结中!2024年面试必问 100 道 Java基础面试题(四十二)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 100 道 Java基础面试题&#xff08;四十一&#xff09;-CSDN博客 八十三、如何判断一个对象是否应该被垃圾回收&#xff1f; 在Java中&#xff0c;判断一个对象是否应该被垃圾回收的关键在于对象的引用状态。垃圾…

C# 调用 winmm.dll 播放 midi 文件

在C#中调用 winmm.dll&#xff08;Windows Multimedia Library&#xff09;来播放 MIDI 文件通常涉及使用mciSendString 函数&#xff0c;该函数是 winmm.dll 中提供的一个函数&#xff0c;用于发送 MCI&#xff08;Media Control Interface&#xff09;命令给MCI设备。 但是&…

基于LLM的自行车道CAD

LLM&#xff08;大型语言模型&#xff09;是强大的工具。对于许多人来说&#xff0c;用语言表达愿望通常比浏览复杂的 GUI 更简单。 1、系统简介和环境搭建 urb-x.ch&#xff0c;这是一家专门从事自行车道建设的公司。轨道采用模块化构建块进行独特设计&#xff0c;可以通过多…

HCIP的学习(15)

第六章&#xff0c;BGP—边界网关协议 自治系统—AS ​ 定义&#xff1a;由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源&#xff1a; 整个网络规模过大&#xff0c;会导致路由信息收敛速度过慢&#xff0c;设备对相同目标认知不同。AS之间…