Linux基础学习之Day7-7-LVM快照snapshot

Linux中 lvm快照使用、原理(图文详解) 当执行创建LVM快照的命令后,只是创建了一个指向源逻辑卷的快照卷。因为快照采用的是“写时复制(copy-on-write, COW)”技术,“写时复制”技术是指创建快照卷时,同时创建了一个指向源逻辑卷的链接,这个链接使得快照卷可以共享源逻辑卷里的数据。所以在下图中看到,快照卷中拷贝了源逻辑卷修改前的数据,除此之外,快照卷除了源逻辑卷中修改后的数据不能访问,其它B到I的数据都是可以访问的。正因快照卷需要共享源逻辑卷里的数据(就是共享PE物理块),所以快照卷和源逻辑卷必须要在同一个VG卷组里。 阅读详情

Linux基础学习之从入门到精通Day7-7

LVM快照snapshot

1. 创建快照 (EXT4)

[root@server0 ~]# lvcreate -L 128M -s -n lv2-snap /dev/vg1/lv2
[root@server0 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv1 vg1 -wi-ao---- 768.00m
lv2 vg1 owi-aos— 512.00m
lv2-snap vg1 swi-aos— 128.00m lv2 5.92

[root@server0 ~]# mount -o ro /dev/vg1/lv2-snap /mnt/lv2-snap/ 不希望破坏快照卷中的数据

[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2
/dev/mapper/vg1-lv2–snap ext4 488M 32M 429M 7% /mnt/lv2-snap

[root@server0 ~]# lvscan
ACTIVE ‘/dev/vg1/lv1’ [768.00 MiB] inherit
ACTIVE Original ‘/dev/vg1/lv2’ [512.00 MiB] inherit
ACTIVE Snapshot ‘/dev/vg1/lv2-snap’ [128.00 MiB] inherit

[root@server0 ~]# ls /mnt/lv2
etc lost+found
[root@server0 ~]# ls /mnt/lv2-snap/
etc lost+found

  1. 修改原卷的数据

  2. 观察Snapshot
    [root@server0 ~]# lvs
    LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
    lv1 vg1 -wi-ao---- 768.00m
    lv2 vg1 owi-aos— 512.00m
    lv2-snap vg1 swi-aos— 128.00m lv2 30.56

XFS:
[root@server0 ~]# mount -o nouuid,ro /dev/vg1/lv1-snap /mnt/lv1-snap/s
挂载快照,尽量使用ro的方式,将不会破坏快照卷中的数据

[root@server0 ~]# dmsetup ls --tree
vg1-lv2–snap (252:5)
├─vg1-lv2–snap-cow (252:7)
│ └─ (253:17)
└─vg1-lv2-real (252:6)
├─ (253:17)
└─ (253:18)
vg1-lv2 (252:1)
└─vg1-lv2-real (252:6)
├─ (253:17)
└─ (253:18)

快照自动增长:
[root@server0 ~]# vim /etc/lvm/lvm.conf
snapshot_autoextend_threshold = 70
snapshot_autoextend_percent = 20
[root@server0 ~]# systemctl restart lvm2-monitor.service
[root@server0 ~]# systemctl enable lvm2-lvmetad.service

注:快照卷 和 原卷 使用同一VG空间

磁盘阵列 RAID

RAID类型 个数 利用率 优缺点
------------------------------------------------------
RAID0 条带集 2+ 100% 读写速率最快,不容错
RAID1 镜像集 2 50% 读写速率一般,容错
RAID5 带奇偶校验条带集 3+ (n-1)/n 读写速率快,容错,允许坏一块
RAID6 带奇偶校验条带集双校验dp 4+ (n-2)/n 读写快,容错,允许坏两块
RAID01
RAID10 RAID1的安全+RAID0的高速 4 50% 读写速率快,容错
RAID50 RAID5的安全+RAID0的高速 6 (n-2)/n 读写速率快,容错
RAID60 RAID6的安全+RAID0的高速 8 (n-4)/n 读写速率快,容错
------------------------------------------------------
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、不同场景RAID的使用

RAID 实现方式
硬RAID: 需要RAID卡,有自己的CPU,处理速度快,有电池和无电池
软RAID: 通过操作系统实现,比如Windows、Linux

二、RAID5 (3块硬盘) + 热备(1块硬盘)

  1. 准备4块硬盘
    [root@~]# ll /dev/sd*
    brw-rw---- 1 root disk 8, 48 Jan 13 16:07 /dev/sdd
    brw-rw---- 1 root disk 8, 64 Jan 13 16:07 /dev/sde
    brw-rw---- 1 root disk 8, 80 Jan 13 16:07 /dev/sdf
    brw-rw---- 1 root disk 8, 80 Jan 13 16:07 /dev/sdg

  2. 创建RAID
    [root@~]# yum -y install mdadm //确保mdadm命令可用
    [root@~]# mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd{d,e,f,g}
    mdadm: array /dev/md0 started.
    -C 创建RAID
    /dev/md0 第一个RAID设备
    -l5 RAID5
    -n RAID成员的数量
    -x 热备磁盘的数量

  3. 格式化,挂载
    [root@~]# mkfs.xfs /dev/md0
    [root@~]# mkdir /mnt/raid5
    [root@~]# mount /dev/md0 /mnt/raid5
    [root@~]# cp -rf /etc /mnt/raid5/etc1

  4. 查看RAID信息
    [root@tianyun ~]# mdadm -D /dev/md0 //-D 查看详细信息
    /dev/md0:
    Version : 1.2
    Creation Time : Mon Jan 13 16:28:47 2014
    Raid Level : raid5
    Array Size : 2095104 (2046.34 MiB 2145.39 MB)
    Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
    Raid Devices : 3
    Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Mon Jan 13 16:34:51 2014
    State : clean
    Active Devices : 3
    Working Devices : 4
    Failed Devices : 0
    Spare Devices : 1

      Layout : left-symmetric
    

    Chunk Size : 512K
    Number Major Minor RaidDevice State
    0 8 48 0 active sync /dev/sdd
    1 8 64 1 active sync /dev/sde
    4 8 80 2 active sync /dev/sdf

    3       8       96        -      spare   /dev/sdg
    
  5. 模拟一块硬盘损坏,并移除
    终端一:
    [root@~]# watch -n 0.5 ‘mdadm -D /dev/md0 | tail’ //watch持续查看
    终端二:
    [root@~]# mdadm /dev/md0 -f /dev/sde -r /dev/sde
    //模拟坏了并移除 -f --fail -r --remove

  6. 设置RAID开机生效
    [root@~]# mdadm -D -s
    ARRAY /dev/md0 metadata=1.2 name=sxl1.com:0 UUID=c6761621:8878498f:f5be209e
    [root@~]# mdadm -D -s > /etc/mdadm.conf

========================================================
mdadm选项:
-s --scan
-S --stop
-D --detail
-C --create
-f --fail
-r --remove
-n --raid-devices=3
-x --spare-devices=1
-l --level=5

lsof 恢复文件

lsof (list open files)
FD 文件句柄

在这里插入图片描述

1. 查看打开文件message的进程/var/log/messages

[root@~]# lsof |grep message
lsof: WARNING: can’t stat() fuse.gvfsd-fuse file system /run/user/42/gvfs
Output information may be incomplete.
abrt-watc 751 root 4r REG 253,0 30056298 36565121 /var/log/messages
rsyslogd 1316 root 4w REG 253,0 30056298 36565121 /var/log/messages
in:imjour 1316 1322 root 4w REG 253,0 30056298 36565121 /var/log/messages
rs:main 1316 1323 root 4w REG 253,0 30056298 36565121 /var/log/messages

2. 备份后模拟误删除文件

[root@~]# cp -rf /var/log/messages /var/log/messages.bak
[root@~]# rm -rf /var/log/messages

3. lsof再次查看message文件状态

[root@~]# lsof |grep message
lsof: WARNING: can’t stat() fuse.gvfsd-fuse file system /run/user/42/gvfs
Output information may be incomplete.
rsyslogd 1316 root 4w REG 253,0 30063165 36565121 /var/log/messages (deleted)
in:imjour 1316 1322 root 4w REG 253,0 30063165 36565121 /var/log/messages (deleted)
rs:main 1316 1323 root 4w REG 253,0 30063165 36565121 /var/log/messages (deleted)

4. 查看相应进程的文件描述符FD

在这里插入图片描述

5. 通过文件描述符查看文件的内容

在这里插入图片描述

6. 通过文件描述符恢复删除的文件

在这里插入图片描述

FreeBSD与Linux核心差异:从POSIX兼容到系统哲学的深度解析 Unix-like操作系统遵循POSIX标准,保障基础命令如ls、grep、shell脚本的跨平台兼容性,但底层架构设计决定其工程行为本质不同。Linux采用单体内核与systemd服务模型,强调开箱即用与生态整合;FreeBSD作为正统BSD后裔,以ZFS、jail、rc.d和显式配置为基石,坚持‘控制优于便利’的系统哲学。这种差异体现在设备命名、包管理、权限模型、启动流程及故障排查路径中——例如ZFS原生快照替代rsync备份,jail提供比容器更轻量的内核级隔离,sysrc统一管理配置而非碎片化文件。 阅读详情

相关推荐

DigitalOcean Droplets:现代开发者基础设施的轻量级VM实践

虚拟机(VM)是云计算的基础计算单元,其核心价值在于隔离性、可移植性与资源可控性。现代云VM已从传统KVM封装演进为集成Cloud-Init、直连网络与NVMe存储的工程化产品。DigitalOcean Droplets正是这一演进的典型代表——它通过SSH作为默认控制总线,实现开箱即用的安全接入;依托轻量级热迁移与API驱动的弹性伸缩(scaling),让资源调整不再耦合业务代码。这种设计显著降低了中小团队和独立开发者的运维心智负担,广泛应用于CI/CD部署、远程开发环境(如VS Code Remote-

diaogan4202的博客 446

关于git中的快照的理解

想象一下,给一张桌子拍一张照片,纪录了桌子上所有物品的位置、状态,这样就可以称之为快照了。 我们不必存储所有的物品,只需存储这个照片就可以了,下一次想恢复以前的状态的时候,只需要翻出当时的那张照片,再把物品按照那张照片里的位置摆放一下就OK了。 ...

chenzhi6732的博客 1574

虚拟机逻辑卷删除失败

虚拟机逻辑卷删除失败

木简熙的博客 1771

【MySQL备份】lvm-snapshot实战篇

LVM快照(LVM Snapshot)是Logical Volume Manager(逻辑卷管理器)的一个重要特性,它允许用户在某一时间点创建一个卷的只读副本,这个副本反映了原始卷在创建快照时刻的数据状态。这一功能对于数据备份、系统升级前的即时状态保存、数据迁移等场景非常有用。

Eucalyptus's blog 1651

【信息科学与工程学】【数据中心】 第十篇 智算中心存储系统的各类、分片方案

简单性原则:在满足需求的前提下,选择最简单的架构和实现可扩展性原则:设计应考虑水平扩展能力,避免单点瓶颈韧性原则:系统应具备故障容忍和自我修复能力安全性原则:安全应内置而非外挂,遵循最小权限原则成本效益原则:在性能和成本之间寻求最佳平衡可观测性原则:系统应提供充分的监控和诊断能力演进性原则:设计应支持平滑演进和技术更新架构先行:设计前瞻性、可扩展的存储网络架构性能与成本平衡:在性能、可靠性和成本之间找到最优平衡点安全合规内嵌:将安全和合规要求融入设计和实施全过程自动化智能化。

weixin_49199313的博客 1142

10种方式玩转linux磁盘快照的恢复.pdf

10种方式玩转linux磁盘快照的恢复.pdf

PVE虚拟化服务器白皮书篇

应该接近 Universal time。(比本地时间少7小时)

tian_jiangnan的博客 151

【智能车学习】电磁循迹中的基本控制算法

今天心血来潮,突然想总结一下电磁车的一些基本算法,也希望可以给新手同学们一点帮助和参考。本篇主要讲述智能车电磁循迹中涉及到的基本算法,包括滤波算法,归一化算法,PID控制等

Carry_qing的博客 6万+

Grok智能体后台模式配置与实战:自动化监控与任务调度

AI智能体的后台运行模式是现代自动化系统的核心技术之一,其原理基于持续的任务调度和无人工干预的自主执行。在工程实践中,这种模式通过定时任务调度器和系统监控机制实现,能够显著提升系统的自动化程度和运维效率。Grok智能体作为新兴的AI工具,其后台模式特别适用于系统监控、定时数据处理和智能客服等场景。通过合理的API调用优化和资源管理策略,开发者可以构建稳定的后台服务,实现7×24小时的智能监控与自动化任务处理。本文以Grok智能体为例,详细介绍了后台模式的配置方法、核心架构设计以及在实际项目中的部署实践,为开

weixin_33675507的博客 490

LED单元板驱动(HUB75接口)

开始之前先吐槽一下,搜这个的资料。要么都是Arduino,要么单片机的收费。小小的一个LED单元板,凭什么? 用Arduino是你速度快还是我ST,树莓派不好用?收费更离谱,这点东西还藏私?给你个中指凸。把原理都写出来看你怎么收费。 一、接口定义及原理 如图,有两个RGB通道,共占用6个IO。剩下的ABCDE为地址通道,LAT为行数据锁存通道,CLK为数据时钟,OE为低电平使能LED显示。图片这里没有E,证明它是16扫的,有E就会把B上面的地改为E。这样就是5位,2的5次方32扫。1.

a3748622的博客 2万+

人工智能机器学习从入门到高级学习资料(含资料下载地址)

机器学习是一个技术含量较高的领域,高效学习需要多种途径相结合.以下是一些推荐的学习资源。首先介绍几个比较有用的社区,包含了丰富的学习资料

2401_86900375的博客 1634

VMware ESXi学习笔记

同时将esxi的存储组建成vsan,另外会创建一个DVS(分布式交换机),添加两个端口组,一个用来给虚机使用,一个用来给宿主机内部使用,需要创建vmkernel(包含:vMotion、置备、vSphere Replication、vSphere Replication NFC、vSAN)端口组:一般一个虚拟交换机会创建两个端口组,一个虚机使用,一个vmware使用,vmware使用的即内部数据和业务使用,需要创建vmkernel;1、调整虚机配置,编辑虚机,将网口的连接和启动连接关闭,确认后再次编辑打开;

无香花自开 1361

适配adv7280m相机到rk3588的安卓平台

Kernel-5.10/arch/arm64/configs/firefly_defconfig里面增加配置CONFIG_VIDEO_ADV7180=y。出现一次开不了机器的情况,接调试口发现,在set_fmt里面用s_ctrl对mipi的频率进行设置会出现异常。设备树修改kernel-5.10/arch/arm64/boot/dts/rockchip/13.dts。把MEDIA_ENT_F_ATV_DECODER改回MEDIA_ENT_F_CAM_SENSOR。第二次编译,仅仅刷新boot.img。

chenyq14的专栏 2439

Jenkins Master 停机与备份

│ 停机与备份的重要性: ││ ││ 场景1:系统升级/插件更新 → 需要安全停机 ││ 场景2:硬件故障/系统崩溃 → 需要快速恢复 ││ 场景3:数据误操作/配置错误 → 需要回滚到之前状态 ││ 场景4:灾难恢复 → 需要完整的备份和恢复流程 ││ 场景5:环境迁移 → 需要完整的配置和数据迁移 ││ ││ ⚠️ 核心原则: ││ ├── 停机前必须确保构建任务安全完成或可恢复 ││ └── 备份必须包含所有关键数据和配置 ││ ││ 流量切换核心要点 ││ │。

weixin_44044929的博客 710

实战解析:在.NET中实现Dify API流式请求与响应的完整方案

本文详细解析了在.NET应用中对接Dify API时实现流式请求与响应的完整方案。针对传统后端“接收完才返回”的痛点,文章提供了基于ASP.NET Core的实战代码,通过配置HttpCompletionOption.ResponseHeadersRead和手动Flush响应流,构建高效的中转管道,确保AI回复能够像ChatGPT一样实时逐字推送到前端,显著提升用户体验。

weixin_29267307的博客 288

【YOLO11改进 - C3k2融合】C3k2融合动态蛇形卷积(Dynamic Snake Convolution)用于管状结构分割任务

【YOLO11改进 - C3k2融合】C3k2融合动态蛇形卷积(Dynamic Snake Convolution)用于管状结构分割任务

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 512

Linux 快照 (snapshot) 原理与实践(二) 快照功能实践

上一篇《Linux 快照 (snapshot) 原理与实践(一)》中简单介绍了快照的基本原理,并着重介绍了 Linux 下 snapshot 快照的实现,这应该是目前全网唯一一篇介绍 Linux 下 snapshot 模型的文章。对一线工程师来说,只有理论是远远不够的,于是我又另外设计了本文这一组实验操作来验证 Linux 下 snapshot 快照模型的各种功能,以此加深对 snapshot 快照的理解。

洛奇看世界 8260

基于Simulink的柔性关节人形机器人振动抑制控制仿真

本文完成了基于Simulink的柔性关节人形机器人振动抑制控制仿真,实现了:✅ 建立二质量柔性关节动力学模型✅ 设计加速度反馈主动阻尼控制器✅ 对比陷波滤波与状态反馈效果✅ 验证大幅运动下的快速振动衰减能力✅ 为高动态人形机器人操作(如击掌、搬运)提供平滑执行基础。

xiaoheshang_123的博客 125

LVM快照(snapshot)备份

Logical Volume Manager (LVM)提供了对任意一个Logical Volume(LV)做“快照”(snapshot)的功能,以此来获得一个分区的状态一致性备份。在某一个状态下做备份的时候,可能有应用正在访问某一个文件或者数据库,这就是使得备份的时候文件处于一个状态,而备份完后,文件却处于另外一个状态,从而造成备份的非一致性,这种状态恢复数据库数据几乎不会成功。状态的解决办法是...

kouriba 557

Kappa函数:测量一致性并计算置信区间的R语言包

Kappa函数是一种常用的统计量,用于衡量两个评估者之间的一致性。在R语言中,有一个名为"vcd"的包提供了计算Kappa函数以及相应的置信区间的功能。本文将介绍如何使用"vcd"包来计算Kappa函数的值,并进一步计算置信区间。Kappa函数的值介于-1和1之间,值越接近1表示评估者之间的一致性越高,值越接近-1表示评估者之间的一致性越低,值接近0表示评估者之间的一致性接近于随机。通过以上步骤,我们成功地使用R语言中的"vcd"包计算了Kappa函数的值和置信区间。接下来,我们可以使用"vcd"包中的。

2301_79331230的博客 1868

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

在Linux操作系统使用逻辑卷的快照(snapshot),进行对逻辑卷的数据备份。

作用:结合特定应用程序,方便备份数据。基于cow(copy on write 写时复制)机制在创建逻辑卷快照的时候,如果不去设置逻辑卷快照的权限的话,那么这个逻辑卷的权限就是可读可写,

ZHX2285的博客 2003

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Linux学习—LVM快照功能

LVM快照功能--我们知道LVM能够通过增减PE的数量来弹性调整文件系统的大小,除此之外,LVM还有另外一个重要的功能,LV磁盘快照,就是通过快照的功能将此时的文件系统信息记录下来,以后对该文件系统操作的时候,当该文件系统的数据变化的时候,我们可以利用快照将文件系统恢复至当时的状态。 目录 LV的快照原理 创建快照 利用快照恢复系统 一、LV的快照(snaps...

sunfei927的博客 4603

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Linux基础--LVM快照

在 CentOS 的 LVM(逻辑卷管理)中,快照(Snapshot) 是一种高效的数据保护和测试工具。它通过创建逻辑卷的只读镜像,允许在不中断业务的情况下备份数据或进行风险操作。

Mester1103的博客 331

Linux中的快照与克隆:常用命令详解

快照和克隆都是强大的工具,可以帮助管理员在Linux环境中轻松管理虚拟机和文件系统。通过掌握这些常用命令,管理员可以更加自信地面对数据丢失、系统崩溃或其他潜在问题,确保业务的连续性和数据的完整性。

让每一行代码都有改变世界的力量 1274

lvm-snapshot:基于LVM快照的备份

续 lvm-snapshot:基于LVM快照的备份之准备工作Attention,Please! 重头戏开始啦3.基于LVM快照的备份lvm-snapshot:基于LVM快照的备份(1)事务日志跟数据文件必须在同一个卷上;(2)创建快照卷之前,要请求MySQL的全局锁;在快照创建完成之后释放锁;(3)请求全局锁完成之后,做一次日志滚动;做二进制日志文件及位置标记(手动进行);备...

weixin_34355715的博客 175

将Linux工具静态迁移到其它Linux系统运行

将某软件移植到特定系统上运行,在不污染该系统已有数据的前提下,在该系统上实现软件功能扩展。

CX19970的博客 619
上一篇: Linux基础学习之Day7-6-Mount 挂载详解
下一篇: Linux基础学习之Day8-文件查找
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值