手机版
你好,游客 登录 注册
背景:
阅读新闻

LVM逻辑盘卷管理

[日期:2017-02-08] 来源:Linux社区  作者:yolynn [字体: ]

九、缩小LV容量

1、先卸载

[root@bash ~]# umount /mnt/lvm/

2、检测文件系统

[root@bash ~]# e2fsck -f /dev/myvg/mylv
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/myvg/mylv: 12/1507328 files (0.0% non-contiguous), 138659/6005760 blocks

3.降低文件系统容量

[root@bash ~]# resize2fs /dev/myvg/mylv 5000M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/myvg/mylv to 1280000 (4k) blocks.
The filesystem on /dev/myvg/mylv is now 1280000 blocks long.

4、重新挂载并查看容量大小

[root@bash ~]# mount /dev/myvg/mylv /mnt/lvm/
[root@bash ~]# df -h |grep /dev/mapper/ 
/dev/mapper/myvg-mylv  4.7G   33M  4.4G   1% /mnt/lvm

5、降低LV容量

[root@bash ~]# lvresize -L 5000M /dev/myvg/mylv #降低lv到5000M,-号表示减少多少
  Rounding size to boundary between physical extents: 4.89 GiB
  WARNING: Reducing active and open logical volume to 4.89 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce mylv? [y/n]: y
  Size of logical volume myvg/mylv changed from 22.91 GiB (1564 extents) to 4.89 GiB (334 extents).
  Logical volume mylv successfully resized.

6、查看容量大小

[root@bash ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/myvg/mylv
  LV Name                mylv
  VG Name                myvg
  LV UUID                crtMed-duu9-Nrfc-tCJR-wzby-wFP0-v1P9pT
  LV Write Access        read/write
  LV Creation host, time bash, 2017-02-07 17:01:23 +0800
  LV Status              available
  # open                 1
  LV Size                4.89 GiB
  Current LE             334
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

7、将/dev/sdc从myvg中移除

[root@bash ~]# vgreduce myvg /dev/sdc 
  Removed "/dev/sdc" from volume group "myvg"
[root@bash ~]# pvremove /dev/sdc
  Labels on physical volume "/dev/sdc" successfully wiped
[root@bash ~]# pvscan
  PV /dev/sdb1   VG myvg   lvm2 [5.00 GiB / 105.00 MiB free]
  PV /dev/sdb2   VG myvg   lvm2 [5.00 GiB / 5.00 GiB free]
  PV /dev/sdb3   VG myvg   lvm2 [5.00 GiB / 5.00 GiB free]
  PV /dev/sdb4   VG myvg   lvm2 [5.00 GiB / 5.00 GiB free]
  Total: 4 [19.98 GiB] / in use: 4 [19.98 GiB] / in no VG: 0 [0   ]

十、删除逻辑卷

我们在创建好逻辑卷后可以通过创建文件系统,挂载逻辑卷来使用它,如果说我们不想用了也可以将其删除掉。

【注意】对于创建物理卷、创建卷组以及创建逻辑卷我们是有严格顺序的,同样,对于删除逻辑卷、删除卷组以及删除物理卷也是有严格顺序要求的

  • ①首先将正在使用的逻辑卷卸载掉  通过 umount 命令

  • ②将逻辑卷先删除  通过 lvremove 命令

  • ③删除卷组  通过 vgremove 命令

  • ④最后再来删除我们的物理卷  通过 pvremove 命令

    [root@bash ~]# umount /mnt/lvm/ #卸载
    [root@bash ~]# lvremove /dev/myvg/mylv #删除LV 
    Do you really want to remove active logical volume mylv? [y/n]: y
      Logical volume "mylv" successfully removed
    [root@bash ~]# vgremove myvg  #删除VG
      Volume group "myvg" successfully removed
    [root@bash ~]# pvremove /dev/sdb{1..4} #删除PV
      Labels on physical volume "/dev/sdb1" successfully wiped
      Labels on physical volume "/dev/sdb2" successfully wiped
      Labels on physical volume "/dev/sdb3" successfully wiped
      Labels on physical volume "/dev/sdb4" successfully wiped

十一、逻辑卷快照

当一个snapshot创建的时候,仅拷贝原始卷里数据的元数据(meta-data)。创建的时候,并不会有数据的物理拷贝,因此snapshot的创建几乎是实时的,当原始卷上有写操作执行时,snapshot跟踪原始卷块的改变,这个时候原始卷上将要改变的数据在改变之前被拷贝到snapshot预留的空间里,因此这个原理的实现叫做写时复制(copy-on-write)。

在写操作写入块之前,将原始数据移动到 snapshot空间里,这样就保证了所有的数据在snapshot创建时保持一致。而对于snapshot的读操作,如果是读取数据块是没有修改过的,那么会将读操作直接重定向到原始卷上,如果是要读取已经修改过的块,那么就读取拷贝到snapshot中的块。

创建snapshot的大小并不需要和原始卷一样大,其大小仅仅只需要考虑两个方面:从shapshot创建到释放这段时间内,估计块的改变量有多大;数据更新的频率。一旦 snapshot的空间记录满了原始卷块变换的信息,那么这个snapshot立刻被释放,从而无法使用,从而导致这个snapshot无效。

731b75180b80af30.gif

1.查看挂在情况

[root@bash ~]# df | grep /dev/mapper
/dev/mapper/myvg-mylv   3030800    4676   2868840   1% /mnt/lvm

2、拷贝数据

[root@bash ~]# cp -a /etc/fstab /etc/issue /mnt/lvm/
[root@bash ~]# ll /mnt/lvm/
total 24
-rw-r--r--. 1 root root   595 Dec 26 05:39 fstab
-rw-r--r--. 1 root root    78 Dec 26 05:50 issue
drwx------  2 root root 16384 Feb  7 18:43 lost+found

3、创建快照

[root@bash ~]# lvcreate -L 80M -s -p r -n lvsnap /dev/myvg/mylv #-p r指定权限为只读
  Logical volume "lvsnap" created.

[root@bash snapshot]# lvdisplay /dev/myvg/lvsnap 
  --- Logical volume ---
  LV Path                /dev/myvg/lvsnap
  LV Name                lvsnap
  VG Name                myvg
  LV UUID                CcICLA-SV2u-ojuv-ZWnX-3JBg-h1Bg-NJNieO
  LV Write Access        read/write
  LV Creation host, time bash, 2017-02-08 01:36:53 +0800
  LV snapshot status     active destination for mylv
  LV Status              available
  # open                 1
  LV Size                3.00 GiB
  Current LE             768
  COW-table size         80.00 MiB
  COW-table LE           20
  Allocated to snapshot  0.00%   #快照卷为空
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

:建立快照的卷大小只需要原始逻辑卷的15%~20%就够了。也可以使用lvextend放大快照。

4、将刚才创建的快照挂载查看

[root@bash ~]# mkdir /mnt/snapshot
[root@bash ~]# mount /dev/myvg/lvsnap /mnt/snapshot/
[root@bash ~]# cd /mnt/snapshot/
[root@bash snapshot]# ls
fstab  issue  lost+found
[root@bash snapshot]# df -h | grep /dev/mapper*
/dev/mapper/myvg-mylv    2.9G  4.6M  2.8G   1% /mnt/lvm
/dev/mapper/myvg-lvsnap  2.9G  4.6M  2.8G   1% /mnt/snapshot

:可使用tar命令对快照数据进行归档,以便以后恢复使用

5、删除快照

[root@bash ~]# umount /mnt/snapshot/   #先卸载
[root@bash ~]# lvremove /dev/myvg/lvsnapshot  #后删除
Do you really want to remove active logical volume lvsnapshot? [y/n]: y
  Logical volume "lvsnapshot" successfully removed

总结:

1、LVM最主要的用处是在实现一个可以弹性调整容量的文件系统上,而不是在新建一个性能为主的磁盘上。LVM默认的读写模式是线性模式

2、实现的流程:

f6230c3dd3d91d49.jpg

3、删除系统内的LVM

  • 1)先卸载系统上面的 LVM 文件系统(包括快照与所有LV)

  • 2)使用 lvremove 删除 LV

  • 3)使用 vgchange -an VGname 让 VGname 这个 VG 不具有 Active 的标志

  • 4)使用 vgremove 删除VG

  • 5)使用 pvremove 删除PV

  • 6)使用 fdisk 将 ID 修改回来

4、PV, VG, LV 常用命令的总结

d4d94edefd09fe02.jpg

5、/boot分区与/swap分区不能使用LVM

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-02/140396.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款