linux lvm 系统快照,Linux学习笔记:LVM快照功能

a4c26d1e5885305701be709a3d33442f.png截图出自《鸟哥Linux私房菜——基础篇》

在初始状态时,快照区与原本的LV共享整个区域,当LV的数据发生变更时,旧数据会搬到快照区,然后更新LV的数据

继续上个笔记的配置

​先来查看一下VG的剩余容量

[root@localhost ~]# vgdisplay

--- Volume group ---

VG Name

COOSHVG

……

Free  PE / Size

0 / 0

​可以看到没有可用PE了

先来扩展一下VG的容量

​[root@localhost ~]#

pvscan

PV /dev/sda7

VG COOSHVG

lvm2 [1.45 GiB / 0

free]

PV /dev/sda8

VG COOSHVG

lvm2 [1.47 GiB / 0

free]

PV /dev/sda2

VG myserver

lvm2 [4.88 GiB / 0

free]

PV /dev/sda9

lvm2 [1.47 GiB]

PV /dev/sda10

lvm2 [1.47 GiB]

​通过pvscan看出还有sda9和10未被使用,这里先用sda9加入

​​[root@localhost

~]# vgextend COOSHVG /dev/sda9

Volume group "COOSHVG" successfully

extended

[root@localhost ~]# vgdisplay COOSHVG

--- Volume group ---

VG Name

COOSHVG

……

Free  PE / Size

94 / 1.47

GiB  <

94个,体积为1.47G

创建快照区

先复制一些东西到lvm​

[root@localhost ~]# mount /dev/COOSHVG/LV01

/lvm​

[root@localhost ~]# cp -r /etc /boot

/lvm

[root@localhost ~]# ls /lvm

boot  etc

lost+found

[root@localhost ~]# du -hs /lvm

42M     /lvm

​lvm现在的体积是42M

[root@localhost ~]# lvcreate -s -L 1G

-n COOSHSS

/dev/COOSHVG/LV01

Logical volume "COOSHSS"

created

[root@localhost ~]#

lvdisplay

--- Logical volume ---

LV Path

/dev/COOSHVG/LV01

LV Name

LV01

VG Name

COOSHVG

LV UUID

fBMPqn-Obml-S96N-ntxd-13Cq-x4xl-nJ1kiP

LV Write Access

read/write

LV Creation host, time

localhost.localdomain, 2015-09-15 15:21:47 +0800

LV snapshot status

source of

COOSHSS

[active]

<<

LV Status

available

# open

1

LV Size

2.92 GiB

Current LE

187

Segments

2

Allocation

inherit

Read ahead sectors

auto

- currently set to

256

Block device

253:1

--- Logical volume ---

LV Path

/dev/COOSHVG/COOSHSS

LV Name

COOSHSS

VG Name

COOSHVG

LV UUID

x1Qkux-v0My-V8aT-HWgJ-wd2K-9HWP-fNzQbd

LV Write Access

read/write

LV Creation host, time

localhost.localdomain, 2015-09-17 20:52:55 +0800

LV snapshot status

active destination for LV01

LV Status

available

# open

0

LV Size

2.92 GiB

<

Current LE

187

COW-table size

1.00 GiB

<

COW-table LE

64

Allocated to snapshot

0.00%

Snapshot chunk size

4.00 KiB

Segments

1

Allocation

inherit

Read ahead sectors

auto

- currently set to

256

Block device

253:0

把快照挂载

[root@localhost ~]# mount /dev/COOSHVG/COOSHSS

/snapshot/

[root@localhost ~]# df -h

Filesystem

Size  Used Avail Use% Mounted

on

/dev/mapper/COOSHVG-LV012.9G

110M  2.7G   4%

/lvm

/dev/mapper/COOSHVG-COOSHSS2.9G  110M

2.7G   4% /snapshot

可以看到LVM与快照区看上去大小一样

[root@localhost ~]# rm -rf /lvm/etc

[root@localhost ~]# rm -rf /lvm/boot/

[root@localhost ~]# cp -r /var/spool/ /lvm

[root@localhost ~]# df -h /lvm

/snapshot/

Filesystem

Size  Used Avail Use% Mounted

on

/dev/mapper/COOSHVG-LV012.9G

69M  2.7G   3%

/lvm

/dev/mapper/COOSHVG-COOSHSS2.9G

110M  2.7G   4%

/snapshot

[root@localhost ~]# ls /snapshot/

boot  etc

lost+found​

​从lvm删除一些内容又新增一些内容后,看到lvm发生变化,快照区没变化

从快照区进行恢复

[root@localhost lvm]# cd /snapshot/

[root@localhost snapshot]# tar -jcf

/backups/COOSHSSBAK.tar.bz2 *​

[root@localhost snapshot]# tar -jxf

/backups/COOSHSSBAK.tar.bz2 -C /lvm

[root@localhost snapshot]# ls /lvm

boot  etc

lost+found

数据又回来了!​

快照实际上也是有体积限制了,如此例子的体积为1G,那么如果改动的数据超过了快照体积会怎样呢?

实验:

先把快照移除

[root@localhost /]# lvremove

/dev/COOSHVG/COOSHSS

Do you really want to remove active logical volume

COOSHSS? [y/n]: y

Logical volume "COOSHSS" successfully

removed

先在LVM创建一个​1.5G的文件

[root@localhost /]# dd if=/dev/zero

of=/lvm/1.5GZEROFILE bs=1M count=1500

1500+0 records in

1500+0 records out

1572864000 bytes (1.6 GB) copied, 2.68205 s, 586

MB/s

​其次重新建一个LVM的快照

[root@localhost /]# lvcreate -s -n COOSHSS -L 1G

/dev/COOSHVG/LV01

Logical volume "COOSHSS"

created

此时lvm下有一个1.5G的文件​,并把它删除

​[root@localhost

/]# ls -lh /lvm/

total 1.5G

-rw-r--r--  1 root root 1.5G Sep 17 21:28

1.5GZEROFILE

dr-xr-xr-x  5 root root 4.0K Sep 17 20:35

boot

drwxr-xr-x 60 root root 4.0K Sep 17 20:35 etc

drwx------  2 root root

16K Sep 17 20:34 lost+found

​[root@localhost /]#

rm -f /lvm/1.5GZEROFILE

删除lvm里的1.5G文件

[root@localhost /]# mount /dev/COOSHVG/COOSHSS

/snapshot/

[root@localhost /]# ll

/snapshot/

total 1536028

-rw-r--r--  1 root root

1572864000 Sep 17 21:28 1.5GZEROFILE

<

dr-xr-xr-x  5 root root

4096 Sep

17 20:35 boot

drwxr-xr-x 60 root root

4096 Sep 17 20:35

etc

drwx------  2 root root

16384 Sep

17 20:34 lost+found

[root@localhost /]# cp /snapshot/1.5GZEROFILE

/lvm

cp: reading `/snapshot/1.5GZEROFILE': Input/output

error

[root@localhost /]# umount

/snapshot/

umount: /snapshot/: not mounted

<

所以其实LVM快照功能也不是万能的。

​结语:快照功能只提供一次性的备份,而且大小还是有限制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值