有关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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm多行代码同时注释、去除注释_python求幂运算符

    pycharm多行代码同时注释、去除注释_python求幂运算符单多行注释就一个组合键:选中+Ctrl+/

    2022年8月15日
    5
  • 数据库中select 查询详解[通俗易懂]

    数据库中select 查询详解[通俗易懂]数据查询操作介绍在数据库操作中,使用频率最多的是查询操作。查询数据时,根据不同的需求,条件对数据库中的数据进行查询,并返回结果单表查询数据查询数据库使用 select 命令。这个命令相对比较复杂。可变化样式较多,这里分功能依次讲解。 查询数据表中所有数据语法:select*from表名 select*fromt_student; …

    2022年6月9日
    33
  • 深度了解 JavaScript 中 三目运算符

    深度了解 JavaScript 中 三目运算符深度了解JavaSCript中三目运算符初次写文章留作纪念三目运算符的写法及体征通过一个简单的案例,让你更深层的了解判断类型的三目运算符的应用分为单条件和多条件两种类型。单条件语法多条件语法布尔表达式?表达式true执行:表达式false执行布尔表达式1?表达式1true执行:(布尔表达式2?表达式2的true执行:两个表达…

    2022年6月25日
    29
  • html可以转换成word_html显示word文档

    html可以转换成word_html显示word文档项目后端使用了springboot,maven,前端使用了ckeditor富文本编辑器。目前从html转换的word为doc格式,而图片处理支持的是docx格式,所以需要手动把doc另存为docx,然后才可以进行图片替换。一.添加maven依赖主要使用了以下和poi相关的依赖,为了便于获取html的图片元素,还使用了jsoup:<dependency>  <gr…

    2022年10月12日
    4
  • jenkins 邮件_邮件发送服务

    jenkins 邮件_邮件发送服务前言前面已经实现在jenkins上展示html的测试报告,接下来只差最后一步,把报告发给你的领导,展示你的劳动成果了。安装EmailExtensionPlugin插件jenkins首页-

    2022年7月29日
    9
  • java -jar启动时设定springboot日志输出级别

    java -jar启动时设定springboot日志输出级别

    2021年5月13日
    198

发表回复

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

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