有关LVM快照的分享

有关LVM快照的分享

在Linux當中,我們可以使用LVM快照(snapshot)來快速備份數據。
其工作原理是我們創建一個快照區,在原來的LV發生變化的時候,把變化前的數據放到快照區。新的內容不會進行變更。

嘗試創建一個LVM snapshot
1.確保我們已經創建了一個lv,其中自己創建三兩個文件或目錄,如果沒有,請創建一個并將其掛載。名字就叫lv1吧。
2.可以先查看一下我們當前的Lv具體信息,用lvdisplay命令,會出現如下結果:
[root@zhulaoshi ~]# lvdisplay
— Logical volume —
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID ZSKBus-B2MP-Nlmh-66Bn-gVvM-FXN4-Do9Uf9
LV Write Access read/write
LV Creation host, time zhulaoshi, 2018-05-28 21:05:48 +0800
LV Status available

open 1

LV Size 500.00 MiB
Current LE 125
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 253:2
    3.好了,現在我們在lv1的基礎上新建一個lvm快照,命名為lvsnap,大小設定成200M,使用如下命令:
    Lvcreate –L 200M –s –n lvsnap /dev/vg1/lv1
    格式解釋: lvcreate(命令字) –L 200M(快照空間大小200M)-s(快照snapshot縮寫,創建快照必須用這個選項)-n lvsnap(設定快照lv的名字lvsnap) /dev/vg1/lv1(因為我們是在lv1的基礎上創建快照的,自然這裡寫的路徑指向了lv1)。

執行後,我們如果成功創建,應該會返回如下字段:
[root@zhulaoshi ~]# lvcreate -L 200M -s -n lvsnap /dev/vg1/lv1
Logical volume “lvsnap” created
4.很好,那麼我們現在再通過lvdisplay來查看下當前的lv具體信息吧:
[root@zhulaoshi ~]# lvdisplay
— Logical volume —
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID ZSKBus-B2MP-Nlmh-66Bn-gVvM-FXN4-Do9Uf9
LV Write Access read/write
LV Creation host, time zhulaoshi, 2018-05-28 21:05:48 +0800
LV snapshot status source of
lvsnap [active]
LV Status available

open 1

LV Size 500.00 MiB
Current LE 125
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 253:2

— Logical volume —
LV Path /dev/vg1/lvsnap
LV Name lvsnap
VG Name vg1
LV UUID 1SGp39-w6Mn-u0m5-AdcU-gJxq-a8RQ-mqUFL0
LV Write Access read/write
LV Creation host, time zhulaoshi, 2018-05-28 22:11:01 +0800
LV snapshot status active destination for lv1
LV Status available

open 0

LV Size 500.00 MiB
Current LE 125
COW-table size 200.00 MiB
COW-table LE 50
Allocated to snapshot 0.01%
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 256
    Block device 253:3
    從結果中我們不難發現,新建的快照lv和原始Lv的大小都是500M。但是lvsnap的COW-table為200M。什麼是COW呢?COWcopy on write(寫時複製)。在這裡呈現的大小實際上就是我們剛才分給了快照區用來承載快照的空間大小。
    5.那麼,我們已經創建好了snapshot的lv,現在把它掛載起來并查看它的內容。我們會發現,其內容和原來的lv1里的內容一樣。
    [root@zhulaoshi ~]# mkdir /media/snaplv 先創建一個用來掛載的目錄
    [root@zhulaoshi ~]# mount /dev/vg1/lvsnap /media/snaplv/ 掛載
    [root@zhulaoshi ~]# df –h 以更易讀的方式顯示當前磁盤分區的使用情況
    Filesystem Size Used Avail Use% Mounted on
    /dev/mapper/vg_zhulaoshi-lv_root 18G 3.5G 13G 22% /
    tmpfs 932M 224K 932M 1% /dev/shm
    /dev/sda1 485M 40M 421M 9% /boot
    /dev/sr0 3.6G 3.6G 0 100% /media/RHEL_6.5 x86_64 Disc 1
    /dev/mapper/vg1-lv1 485M 11M 449M 3% /media/lvmTest
    /dev/mapper/vg1-lvsnap 485M 11M 449M 3% /media/snaplv
    可以看到已經掛載上的LV1和lvsnap的磁盤使用信息是一樣一樣的。

我們還可以使用Ls來查看當前兩個磁盤下的具體文件內容是否一致呢,如下:
[root@zhulaoshi ~]# ls /media/lvmTest/
install.log lost+found test1 test2
[root@zhulaoshi ~]# ls /media/snaplv/
install.log lost+found test1 test2
果然是一致的哦!
6.那麼到這裡,我們創建lvm快照的步驟就已經結束了。剛剛創建的這個lvm的快照到底有何用處呢?
當我們修改lv1里的數據內容時,其快照區對應的數據不會產生變化,從而我們有效的對原有的數據進行了備份保存。但是要注意!我們lv1里的數據修改內容不得超過我們設定的200M的大小,否則會導致快照區的空間不夠用,從而使快照失效。

1.创建一个lv,大小400M。在创建之后,对其进行格式化,并将其挂载。再向其中创建一个文件,并在这个文件中写入一些数据。
2.对这个刚刚创键的lv进行逻辑卷快照的创建,创建成功后,看一看里面的文件是否与lv中的相同。

3.新添加一块硬盘,并对其分区,需要分为5个可用分区
4.使用刚刚新建的5个分区中的4个,创建一个卷组,其中PE的大小每个16M
5.将剩余的一个分区添加到这个卷组当中
6.在这个卷组中拿出1600M的空间创建逻辑卷lvNew
7.使这个逻辑卷真正可用

尝试:对这个逻辑卷lvNew进行磁盘配额的操作,对用户test设置文件个数软限制5,硬限制7。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101888.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RS232接口定义

    RS232接口定义RS232接口定义RS232接口定义  RS-232C接口定义(9芯)针脚定义符号1载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备好DTR5信号地SG6数据准备好DSR7请求发送RTS8清除发送CTS9振铃提示RIPin1Receiv

    2022年7月15日
    15
  • 不再年轻,尽管如此一遍

    不再年轻,尽管如此一遍

    2022年1月7日
    47
  • Shell循环遍历日期「建议收藏」

    Shell循环遍历日期「建议收藏」Shell循环遍历日期区间#!/bin/bash#1获取命令输入参数的个数,如果个数为0,直接退出命令paramnum=$#if((paramnum==0));thenechonoparams;exit;fi#2获取跑的模块module=$1#3获取跑的日期区间startdate=`date-d”$2″+%Y-%m-%d`enddate=`date-d”$3″+%Y-%m-%d`#4遍历日期while[[$startdate<$enddat

    2022年7月24日
    40
  • siblings() 获得匹配集合中每个元素的同胞

    siblings() 获得匹配集合中每个元素的同胞

    2021年10月18日
    43
  • VR全景展示渠道

    VR全景能够给人带来一种身临其境的感受,是一种新颖的广告宣传方式。随着5G的推广和普及,VR全景被各行各业广泛应用,就是将线下真实的场景以3D立体的形式展现在互联网上,以此帮助商家起到宣传展示和引流的效果。那么通过什么样的渠道能够进行VR全景的宣传呢?下面介绍一下:1、百度地图百度地图有着五亿用户,从2018年起,百度地图导航开拓实体商家实际全景进行拍摄,打造出城市街景和內部全景图的无缝拼接,建立VR全景图生态体系,考虑顾客的要求,提升商家的广告宣传力度,在百度地图APP上搜索名字,能够查询到商家全

    2022年4月12日
    92
  • golang 2021.10.3 激活码-激活码分享

    (golang 2021.10.3 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSW…

    2022年3月27日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号