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…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
