Linux下的lvm镜像与快照
lvm镜像(mirror)
(1)划分三个PV,其中2个PV大小要一模一样
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd33473f7Device Boot Start End Blocks Id System
/dev/sdb1 1 654 5253223+ 83 Linux ----5G
/dev/sdb2 655 1308 5253255 83 Linux ----5G
/dev/sdb3 1309 1373 522112+ 83 Linux ----日志 500M
(2)把三个PV做成一个VG组
pvcreate /dev/sdb{1,2,3}Physical volume "/dev/sdb1" successfully createdPhysical volume "/dev/sdb2" successfully createdPhysical volume "/dev/sdb3" successfully createdpvsPV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 a-- 5.01g 5.01g/dev/sdb2 lvm2 a-- 5.01g 5.01g/dev/sdb3 lvm2 a-- 509.88m 509.88vgcreate mvg /dev/sdb1 /dev/sdb2 /dev/sdb3Volume group "mvg" successfully created
(3)新建一个mirror lv卷
lvcreate -m1 -L 5G -n mlv mvgLogical volume "mlv" createdlvs -a --发现当前的这个LV是由三个PV组成的LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convertmlv mvg mwi-a-m--- 5.00g mlv_mlog 55.62 [mlv_mimage_0] mvg Iwi-aom--- 5.00g [mlv_mimage_1] mvg Iwi-aom--- 5.00g [mlv_mlog] mvg lwi-aom--- 4.00m
(4)测试当前mirror lv是否有镜像功能
mkfs.ext4 /dev/mvg/mlv
mount /dev/mvg/mlv /mntrpm -q sysstat --如果没有安装就安装下面的包
yum -y install sysstat
iostat -x 1 /dev/sda5 /dev/sda6
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda5 143.00 0.00 33.00 0.00 22528.00 0.00 682.67 0.11 3.48 2.94 9.70
sda6 0.00 154.00 0.00 22.00 0.00 22528.00 1024.00 0.25 11.09 11.23 24.70avg-cpu: %user %nice %system %iowait %steal %idle57.07 0.00 30.81 6.06 0.00 6.06Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda5 144.00 0.00 32.00 0.00 22528.00 0.00 704.00 0.12 3.84 3.16 10.10
sda6 0.00 154.00 0.00 22.00 0.00 22528.00 1024.00 0.25 11.14 11.18 24.60
(5)测试镜像卷中单个PV失效
dd if=/dev/zero of=/dev/sdb1 count=1 bs=10MpvsCouldn't find device with uuid 41RfAr-mPfM-Voj0-qEfP-CCO5-AXfF-epScKO.PV VG Fmt Attr PSize PFree /dev/sda2 vol0 lvm2 a-- 7.78g 448.00m/dev/sda6 mvg lvm2 a-- 5.01g 3.01g/dev/sda7 mvg lvm2 a-- 108.00m 104.00munknown device mvg lvm2 a-m 5.00g 3.00gvgsCouldn't find device with uuid 41RfAr-mPfM-Voj0-qEfP-CCO5-AXfF-epScKO.VG #PV #LV #SN Attr VSize VFree mvg 3 1 0 wz-pn- 10.11g 6.11gvol0 1 2 0 wz--n- 7.78g 448.00mlvs -aCouldn't find device with uuid 41RfAr-mPfM-Voj0-qEfP-CCO5-AXfF-epScKO.LV VG Attr LSize Pool Origin Data% Move Log Copy% Convertmlv mvg mwi-a-m- 2.00g mlv_mlog 100.00 [mlv_mimage_0] mvg iwi-aom- 2.00g [mlv_mimage_1] mvg iwi-aom- 2.00g [mlv_mlog] mvg lwi-aom- 4.00m home vol0 -wi-ao-- 512.00m root vol0 -wi-ao-- 6.84g
剔除失效PV
vgreduce mvg --removemissing --forcepvsPV VG Fmt Attr PSize PFree /dev/sda2 vol0 lvm2 a-- 7.78g 448.00m/dev/sda6 mvg lvm2 a-- 5.01g 3.01g/dev/sda7 mvg lvm2 a-- 108.00m 108.00mvgsVG #PV #LV #SN Attr VSize VFree mvg 2 1 0 wz--n- 5.11g 3.11gvol0 1 2 0 wz--n- 7.78g 448.00mlvs -aLV VG Attr LSize Pool Origin Data% Move Log Copy% Convertmlv mvg -wi-a--- 2.00g home vol0 -wi-ao-- 512.00m root vol0 -wi-ao-- 6.84g
恢复后尝试重新挂载原始LV
mount /dev/mvg/mlv /mnt[root@zhou ~]# ls /mnt
file lost+found
[root@zhou ~]# du -sh /mnt <----数据依然存在
501M /mnt
(6)彻底恢复带镜像功能的LV
重新新建一个PV
pvcreate /dev/sdb4vgextend mvg /dev/sda4lvconvert -m1 /dev/mvg/mlv lvs -aLV VG Attr LSize Pool Origin Data% Move Log Copy% Convertmlv mvg mwi-aom- 5.00g mlv_mlog 100.00 [mlv_mimage_0] mvg iwi-aom- 5.00g [mlv_mimage_1] mvg iwi-aom- 5.00g [mlv_mlog] mvg lwi-aom- 4.00m
LVM快照
1、确认卷组是否有足够的空闲空间
vgs
VG #PV #LV #SN Attr VSize VFree vg 2 0 0 wz--n- 10.02g 10.02glvs --原始LVlv vg -wi-a----- 8.00g
mount /dev/mapper/vg-lv /mnt
2、锁定应用保证原始LV没有数据更新,然后再新建快照
lvcreate -n lv_snap -L 100M -s /dev/vg/lv <--100M的意思就是创建快照后,在/dev/mapper/vg-lv_snap-cow对应的设备文件(等于这里的/mnt)只能写入100M的数据,如果在没备份完之前超过100M就会导致快照失效,然而旧数据备份也就失败,只能
3、先解锁应用,然后挂载快照并且做数据备份
mount /dev/mapper/lv_snap /media
cd /media && tar cjvf /backup/test.tar.bz2 ./
4、删除快照
lvremove /dev/GLSvg/lv_snap
5、快照对应的三个设备文件
/dev/mapper/vg-lv_snap --用于备份LV的原始数据,等于复制创建快照的时间点前的LV数据,可挂载后备份/dev/mapper/vg-lv-real --用于对应旧数据/dev/mapper/vg-lv_snap-cow --用于存放新写入和修改过的数据,相当于代替了原来的挂载点/mnt接收数据
相关文章:
Linux下的lvm镜像与快照
lvm镜像(mirror) (1)划分三个PV,其中2个PV大小要一模一样 Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units cylinders of 16065 * 512 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/…...

嵌入式linux系统中SPI子系统原理分析01
大家好,今天给大家分享一下,如何使用linux系统中的SPI通信协议,实现主从设备之间的信息传递。 SPI是一种常见的设备通用通信协议。它是一个独特优势就是可以无中断发送数据,可以连续发送或接收任意数量的位。而在I2C和UART中,数据以数据包的形式发送,有限定位数。 …...

Part 4.2 背包动态规划
->背包模型模板(0/1,分组,完全,多重)<- [NOIP2018 提高组] 货币系统 题目背景 NOIP2018 提高组 D1T2 题目描述 在网友的国度中共有 n n n 种不同面额的货币,第 i i i 种货币的面额为 a [ i ] a[i] a[i],你可以假设每…...

Elasticsearch-使用Logstash同步Mysql
1.安装logstash es服务器版本必须和logstash版本一致 7.9.2 在/usr/local/src/下新建logstash文件夹,解压 下载logstash后查看是否安装成功,在logstash的bin目录下输入指令: ./logstash -e input { stdin { } } output { stdout {} }2.my…...

6.17作业
升级优化自己应用程序的登录界面。 要求: 1. qss实现 2. 需要有图层的叠加 (QFrame) 3. 设置纯净窗口后,有关闭等窗口功能。 4. 如果账号密码正确,则实现登录界面关闭,另一个应用界面显示。 //发送端头文件…...

算法思想个人总结(结合生活理解)
主要思想: 结合生活和游戏理解思想,先知道什么场景用什么算法,然后再理解就能记住 遇到问题可以考虑选择使用,这样才是学活了 https://www.yuque.com/yuqueyonghu5znoyv/ifb5ga/nfcvg3ft9ryuqeem?singleDoc# 《元启发式算法》...

openh264 帧间预测编码过程源码分析
openh264 OpenH264 是一个开源的 H.264 编码和解码器,由思科系统开发并维护。它专为实时应用程序如 WebRTC 设计,提供了从基础到高级特性的广泛支持。OpenH264 的编码器支持从 Constrained Baseline Profile 到 5.2 级别,允许任意分辨率的编…...

Linux网络 - HTTP协议
文章目录 前言一、HTTP协议1.urlurl特殊字符 requestrespond 总结 前言 上一章内容我们讲了在应用层制定了我们自己自定义的协议、序列化和反序列化。 协议的制定相对来讲还是比较麻烦的,不过既然应用层的协议制定是必要的,那么肯定已经有许多计算机大佬…...
面试题——Nginx
1.Nginx是什么? 是一个高性能的Web服务器和反向代理服务器,也可以作为静态文件的缓存服务器,也能够进行负载均衡。 2.Nginx的作用? 1.反向代理:将多台服务器代理为一台服务器。客户端不了解底层服务端。 2.负载均衡…...

持续学习的综述: 理论、方法与应用
摘要 为了应对现实世界的动态,智能系统需要在其整个生命周期中增量地获取、更新、积累和利用知识。这种能力被称为持续学习,为人工智能系统自适应发展提供了基础。从一般意义上讲,持续学习明显受到灾难性遗忘的限制,在这种情况下…...
跨域资源共享(CORS)问题与解决方案
跨域资源共享(CORS,Cross-Origin Resource Sharing)是现代web开发中常见且重要的一个概念。它涉及到浏览器的同源策略(Same-Origin Policy),该策略用于防止恶意网站从不同来源窃取数据。然而,在…...

实用软件分享-----一款免费的人工智能替换face的神器
专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…...

不可思议!这款 Python 库竟然能自动生成GUI界面:MagicGUI
目录 什么是MagicGUI? 编辑 MagicGUI的工作原理 安装MagicGUI 创建你的第一个GUI 编辑 其他案例 输入值对话框 大家好,今天我们来聊一聊一个非常有趣且实用的Python库——MagicGUI。这个库可以让你用最少的代码,快速创建图形用户…...

论文发表CN期刊《高考》是什么级别的刊物?
论文发表CN期刊《高考》是什么级别的刊物? 《高考》是由吉林省长春出版社主管并主办的省级教育类期刊,期刊以科教兴国战略为服务宗旨,专门反映和探索国内外教育教学和科研实践的最新成果。该期刊致力于为广大教育工作者提供一个高质量的学术…...

离散数学复习
1.关系的介绍和性质 (1)序偶和笛卡尔积 两个元素按照一定的顺序组成的二元组就是序偶,使用尖括号进行表示,尖括号里面的元素一般都是有顺序的; 笛卡尔积就是有两个集合,从第一个集合里面选择一个元素&am…...
华为网络设备高频命令
1.system-view • 用法:在用户视图下执行 system-view 命令。 • 作用:进入系统视图,以便进行配置性的操作。 • 场景:当需要对设备进行系统级的配置时。 2.sysname XXX • 用法:执行 [Huawei]sysname XXX 命令。…...
信友队:南风的收集
C. [202406C]楠枫的收集 文件操作 时间限制: 1000ms 空间限制: 262144KB 输入文件名: 202406C.in 输出文件名: 202406C.out Accepted 100 分 题目描述 一年四季,寒暑交替,楠枫总是会收集每一个季节的树叶,并把它们制作成标本收集起来。当…...
找工作小项目:day16-重构核心库、使用智能指针(3)
day16-重构核心库、使用智能指针(3) 最后将使用这个库的方式进行展示。 1、客户端 在while ((o getopt(argc, argv, optstring)) ! -1)所有的操作都是获取参数的操作,threads 、msgs 和wait 分别指线程数、消息长度以及等待时间。 创建一…...

软考中级|软件设计师-知识点整理
目录 计算机网络概论 计算机系统基础知识 中央处理单元 数据表示 校验码 计算机体系结构 计算机体系结构的发展 存储系统 输入/输出技术 安全性、可靠性与系统性能评测基础知识 加密技术和认证技术 计算机可靠性 程序设计语言基础知识 程序设计语言概述 程序设计…...

HTML5基础
1 HTML基础概念(难点) WWW(World Wide Web,万维网)是一种建立在 Internet 上的信息资源网络。 WWW 有 3 个基本组成部分,分别是 URL:Universal Resource Locators,统一资源定位器 HT…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...