码迷,mamicode.com
首页 > 其他好文 > 详细

LVM 创建,管理(初级)

时间:2014-07-17 09:48:47      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:磁盘   lvm   管理   


linux下创建和管理LVM(初级)

一.LVM简介,命令介绍,PV, VG, PE, LV简介。


1.) LVM简介:逻辑卷管理器,通过底层磁盘设备创建逻辑卷,可以在线对分区进行扩展,缩减,可跨分区扩展。解决服务器使用时间过长,磁盘空间不足。也可逻辑卷进行快照,备份。

2.) PV, VG, PE, LV简介

PV Physical Volume,物理卷:

底层磁盘,通过磁盘分区命令对其进行分区,并且需要转换成8e(LVM)格式。


VG Volume Group, 卷组

将几个磁盘分区进行组合成一个大的空间,或者只增加单个小分区。VG的大小是由PE大小决定的,VG最多能拥有65534个PE,而PE默认大小为4M。


PE Physical Extend, 物理边界

控制逻辑卷分区大小。


LV Logical Volume,逻辑卷(逻辑边界)

格式化,挂载分区。通过PE调整VG,给LV分配空间大小。


3.) LVM 命令:

PV:

pvchange: 改变物理卷属性

pvck:检查物理卷的一致性

pvcreate:创建物理卷

pvdisplay:显示物理卷详细信息

pvmove:移动部分空间到其他的物理卷

pvremove :移除物理卷

pvresize:调整物理卷

pvs :显示物理卷信息,和pvdisplay差不多

pvscan:扫描所有的物理卷


VG:

vgdisplay:显示卷组详细信息

vgs:显示卷组信息

vgchange:改变卷组属性

vgcreate:创建卷组

vgmerge:组合卷组

vgrename:重命名组卷

vgextend:扩展卷组

vgremove:移除卷组       

vgscan:扫描所有卷组


LV:

lvcreate:创建逻辑卷

-n:指定逻辑卷名字

-L:指定逻辑卷大小


lvextend:增加逻辑卷空间

lvrename:重命名逻辑卷

lvresize:重置逻辑卷的大小

lvs:显示逻辑卷的信息

lvscan:显示所有逻辑组中的逻辑卷


二.安装使用LVM。

1.) 创建物理卷

使用fdisk创建分区的部分就跳过了。

不要忘记转换8e。

   Device Boot         Start         End     Blocks    Id    System
   /dev/sdb1               1         654     5253223+  8e  Linux LVM
   /dev/sdb2             655        1308     5253255   8e  Linux LVM
   /dev/sdb3            1309        1962     5253255   8e  Linux LVM
 
  # pvcreate /dev/sdb{1,2,3}
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
  Physical volume "/dev/sdb3" successfully created

  # pvs
  PV         VG   Fmt  Attr PSize  PFree
  /dev/sdb1       lvm2 a--   5.01g 5.01g
  /dev/sdb2       lvm2 a--   5.01g 5.01g
  /dev/sdb3       lvm2 a--   5.01g 5.01g
  
   pvremove /dev/sdb1 #移除PV


2.)创建卷组

  # vgcreate datevg /dev/sdb1
  Volume group "datevg" successfully created
  
  # vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  datevg   1   0   0 wz--n-  5.01g 5.01g
  vg0      1   4   0 wz--n- 59.99g 7.99g

  # pvdisplay /dev/sdb1
  --- Physical volume ---
  PV Name               /dev/sdb1 #磁盘设备
  VG Name               datevg #卷组名字
  PV Size               5.01 GiB / not usable 2.10 MiB #物理卷大小
  Allocatable           yes #是否可使用
  PE Size               4.00 MiB #PE的默认大小
  Total PE              1282 #
  Free PE               1282 #
  Allocated PE          0    #为使用的
  PV UUID               UCv1Rk-wBWx-HNp9-LziM-KOXk-22TX-SdVLyb

*在创建物理卷的时候使用pvdisplay命令是看不到数据的。


3.)扩展卷组

 # vgextend datevg /dev/sdb2
   Volume group "datevg" successfully extended
 
 # vgs
   VG     #PV #LV #SN Attr   VSize  VFree 
   datevg   2   0   0 wz--n- 10.02g 10.02g
   vg0      1   4   0 wz--n- 59.99g  7.99g

vgreduce datevg /dev/sdb1 #移除VG



4.)创建逻辑卷

 # lvcreate -L 5G -n datelv datevg
   Logical volume "datelv" created
 
 # lvs
   LV     VG     Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
   datelv datevg -wi-a-----  5.00g   
 
 # lvdisplay /dev/datevg/datelv 
   --- Logical volume ---
   LV Path                /dev/datevg/datelv
   LV Name                datelv
   VG Name                datevg
   LV UUID                oLCwvS-3wil-zAm8-LZZX-VfdD-Ekhm-WlehVW
   LV Write Access        read/write
   LV Creation host, time Django, 2014-07-16 12:57:57 +0800
   LV Status              available
   # open                 0
   LV Size                5.00 GiB
   Current LE             1280
   Segments               1
   Allocation             inherit
   Read ahead sectors     auto
   - currently set to     256
   Block device           253:4


5.)格式化逻辑卷,挂载

 # mke2fs -t ext4 /dev/datevg/datelv 
 
 # mkdir /date_lv

 # mount /dev/datevg/datelv /date_lv/

 # df -lh
 Filesystem                 Size  Used Avail Use% Mounted on
 /dev/mapper/datevg-datelv  5.0G  138M  4.6G   3% /date_lv


6.)扩展逻辑卷


 # lvextend -L 8G /dev/datevg/datelv 
 Extending logical volume datelv to 8.00 GiB
 Logical volume datelv successfully resized
 
 # resize2fs /dev/datevg/datelv
 
 # df -lh
 Filesystem                 Size  Used Avail Use% Mounted on
 /dev/mapper/datevg-datelv  7.9G  140M  7.4G   2% /date_lv


7.)创建快照

在创建快照的时候,要保证原来的数据不被修改。

我提前在/date_lv下创建了100个空文件。


 # touch /date_lv/{1..100}

 # mount -o remount,ro /dev/datevg/datelv /date_lv/
 
 # lvcreate -L 1G -n datelv-snmp -p r -s /dev/datevg/datelv 
 Logical volume "datelv-snmp" created
 
 # mount -o remount,rw /dev/datevg/datelv /date_lv/
 
 # mkdir /date_lv_snmp
 
 # mount /dev/datevg/datelv-snmp /date_lv_snmp/
 mount: block device /dev/mapper/datevg-datelv--snmp is write-protected, mounting read-on ly
 
 # ls  /date_lv_snmp/
  1    14  2   25  30  36  41  47  52  58  63  69  74  8   85  90  96
  ...
  12   18  23  29  34  4   45  50  56  61  67  72  78  83  89  94  lost+found
  ...


8.)移除快照卷

 # umount /date_lv_snmp/
 
 # lvremove /dev/datevg/datelv-snmp 
 Do you really want to remove active logical volume datelv-snmp? [y/n]: y
 Logical volume "datelv-snmp" successfully removed


9.)如果不想继续使用逻辑卷了,可以全部移除

# umount /date_lv

# lvremove datevg
Do you really want to remove active logical volume datelv? [y/n]: y
Logical volume "datelv" successfully removed

# vgremove datevg
Volume group "datevg" successfully removed

# pvremove /dev/sdb{1,2}
Labels on physical volume "/dev/sdb1" successfully wiped
Labels on physical volume "/dev/sdb2" successfully wiped


三.

1.)总结:

扩展逻辑卷的时候,先扩展物理卷,在扩展逻辑卷。

缩减逻辑卷的时候,先缩减逻辑卷,在缩减物理卷。

在进行快照备份的时候,一定要确保没人在对要备份的数据进行更改操作。

2.)问题:

当我在之前操作过的磁盘上做LVM卷组的时候,结果出现了以下的问题:

    # vgcreate -v main /dev/sdc2
    Wiping cache of LVM-capable devices
    Wiping cache of LVM-capable devices
    Adding physical volume ‘/dev/sdc2‘ to volume group ‘main‘
    Command failed with status code 5.

显示的是擦除磁盘数据,我已经格式化几次,都一直是这个问题,然后网上搜索了一些相关解决方案,也没有理想的解决办法。

最后是在虚拟机新添加了一块磁盘做的LVM。

希望看到这个博文的并且出现过此类问题的给指点下,感谢!


LVM 创建,管理(初级),布布扣,bubuko.com

LVM 创建,管理(初级)

标签:磁盘   lvm   管理   

原文地址:http://54276311.blog.51cto.com/9130197/1438987

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!