免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 815 | 回复: 0
打印 上一主题 下一主题

lvm管理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-28 21:12 |只看该作者 |倒序浏览

                                                                1、什么时LVM传统上,一个分区大小是静态的。这要求一个系统安装人员必须考虑的不是“我要在这个分区上存储多少数据”,而是“我‘究竟’要在这个分区上存储多
少数据”。当一个用户在这个分区上没有空间了,他要么不得不重新分区(这可能要求整个操作系统重装),要么象符号连接一样使用组装机。
一个分区就是物理磁盘上一系列连续数据块的概念已经演变了。多数类Unix系统现在有能力分解物理磁盘到许多单元。
多个驱动器上的存储单元可以汇聚成一个“逻辑卷”,它们可以分配给分区。另外,单元可以随着空间要求的改变而从分区中添加和删除。
这就是基本的逻辑卷管理器(LVM)
例如,假设你有一个1GB的磁盘,并且创建“/home”分区花了600MB。设想你没有空间了,于是决定“/home”需要1GB。
用传统的分区观念,你不得不有另外一个至少1GB大小的驱动器。接着增加这个磁盘,创建新的/home,并且将现有的数据拷贝过去。
然而,用LVM配置,你仅仅只需要增加400MB(或更大)的磁盘,并将它的存储单元添加到“/home”分区中。
其他工具可以让你调整原来文件系统的大小,所以你仅仅只需要调整“/home”大小来使用更大的分区,接着返回到商务中。
一个非常特殊的处理,LVM甚至可以做它自身的“快照”,这使你能对不可移动的目标做备份。
我们返回到这个激动人心的可能中,稍后,有许多另外的真实应用。
2,基本术语
物理介质 The physical media
你应该感受“物理”这个单词有极大的延伸,虽然我们刚开始假设它仅仅是一个硬盘,或者一个分区。例如,/dev/hda,/dev/hda6,/dev/sda。
物理卷 Physical Volume (PV)
一个PV只不过是有许多管理数据添加在它里面的物理介质。
物理分区 Physical Extents (PE)
物理分区真的象一些大的数据块,通常有几MB。
卷组 Volume Group (VG)
一个VG是由许多物理分区组成的(可能来自多个物理卷或硬盘)。虽然这可能容易让你认为一个VG就是由几个硬盘组成的(例如/dev/hda和/dev/sda),但是更确切的说,它包含由这些硬盘提供的许多PE。
逻辑卷 Logical Volume (LV)
Yes,我们最终到达某处。一个逻辑卷是我们工作的最终结果,这里是我们存储信息的地方。这等同于传统分区的想法。
象用通常的分区一样。
文件系统 Filesystem
文件系统是你想它成为的形态:标准的 ext2,ReiserFS,NWFS,XFS,JFX,NTFS,等等。
我试着画了一个ASCII图来使这些形象化。
一个物理卷,包含了许多物理分区:
+-----[ Physical Volume ]------+
| PE | PE | PE | PE | PE | PE |
+------------------------------+
一个卷组,包含了2个物理卷(PV)有6个物理分区:
+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--------------+ +---------------+ |
+---------------------------------------+
我们现在做更进一步扩展:
+------[ Volume Group ]-----------------+
| +--[PV]--------+ +--[PV]---------+ |
| | PE | PE | PE | | PE | PE | PE | |
| +--+---+---+---+ +-+----+----+---+ |
| | | | +-----/ | | |
| | | | | | | |
| +-+---+---+-+ +----+----+--+ |
| | Logical | | Logical | |
| | Volume | | Volume | |
| | | | | |
| | /home | | /var | |
| +-----------+ +------------+ |
+---------------------------------------+
这个向我们展示了两个文件系统,它跨越两个磁盘。/home文件系统包含4个物理分区,/var文件系统包含2个。
3.基本操作创建pv#pvcreate /dev/sdb2 /dev/sdb3
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdb3" successfully created创建vg#vgcreate vg1 /dev/sdb1 /dev/sdb2 /dev/sdb3
Volume group "vg1" successfully created激活vg#vgchange -a y vg1
0 logical volume(s) in volume group "vg1" now active向vg中追加pv#vgextend vg1 /dev/sdb5
Volume group "vg1" successfully extended从vg中移走pv(不推荐)查看pv的使用情况#pvdisplay /dev/sdb1
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vg1
  PV Size               48.00 MB / not usable 0   
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              12
  Free PE               12
  Allocated PE          0
  PV UUID               ncdQHn-wRWW-pCJR-2siv-SXSY-vCxq-FBfWrw查看vg的状态#vgdisplay vg1
  --- Volume group ---
  VG Name               vg1
  System ID            
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               192.00 MB
  PE Size               4.00 MB
  Total PE              48
  Alloc PE / Size       0 / 0   
  Free  PE / Size       48 / 192.00 MB
  VG UUID               Qzd9qI-5oeA-23b9-FLls-W2Ra-739g-vw36XW建立LV# lvcreate -L100M -nlv1 vg1
Logical volume "lv1" created查看已经建立的LV lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg1/lv1
  VG Name                vg1
  LV UUID                ezmFx2-svKD-EVNV-rZxY-HS6P-vnd3-Q9KKOR
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                100.00 MB
  Current LE             25
  Segments               3
  Allocation             inherit
  Read ahead sectors     0
  Block device           253:2格式化LV# mkfs.ext3 -b 4096 /dev/vg1/lv1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
25600 inodes, 25600 blocks
1280 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=29360128
block group
32768 blocks per group, 32768 fragments per group
25600 inodes per groupWriting inode tables: done                           
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
mount LV# mount /dev/vg1/lv1 /mnt查看当前系统分区情况,我们可以看到现在lv1的大小是100M
[root@ha1 ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       3451040   2644664    631068  81% /
/dev/sda1               101086      9181     86686  10% /boot
none                    127988         0    127988   0% /dev/shm
/dev/mapper/vg1-lv1      99184      4152     89912   5% /mnt扩展LV的大小# lvextend -L50M /dev/vg1/lv1
  Rounding up size to full physical extent 52.00 MB
  New size given (13 extents) not larger than existing size (25 extents)
  lvextend: Add space to a logical volume这个错误是说新的大小比以前的要小,索引不能扩展,我们指定的新的大小必须大于原来的大小.或者用+50M来增加大小.
比如
# lvextend -L120M /dev/vg1/lv1
  Extending logical volume lv1 to 120.00 MB
  Logical volume lv1 successfully resized或者 #lvextend -L+20M /dev/vg1/lv1  
  Extending logical volume lv1 to 120.00 MB
  Logical volume lv1 successfully resized这个时候,我们再看每个分区的大小,还是跟以前一样,并没有增大 # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       3451040   2644668    631064  81% /
/dev/sda1               101086      9181     86686  10% /boot
none                    127988         0    127988   0% /dev/shm
/dev/mapper/vg1-lv1      99184      4152     89912   5% /mnt在LVM2中,最方便的地方就是,使用ext2online,我们不用卸载原来的LVM就可以改变它的大小. # ext2online /dev/vg1/lv1
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b这时候再查看分区的大小,可以看到lv1已经变为120M了. # df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       3451040   2644668    631064  81% /
/dev/sda1               101086      9181     86686  10% /boot
none                    127988         0    127988   0% /dev/shm
/dev/mapper/vg1-lv1     119664      4152    110392   4% /mnt如果LV所在的VG空间不够的话,在进行lvextend时并不会表现出来,只有在ext2online的时候才会有提示:
ext2online /dev/vg1/lv1
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b
ext2online: ext2_ioctl: No space left on deviceext2online: unable to resize /dev/mapper/vg1-lv1
减小LV我们说了LV是可以动态调整大小的,既然可以扩展,当然可以减小了.可以使用lvreduce来进行这个操作.
lvreduce -L-50M /dev/vg1/lv1
  Rounding up size to full physical extent 48.00 MB
  WARNING: Reducing active and open logical volume to 92.00 MB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
  Reducing logical volume lv1 to 92.00 MB
  Logical volume lv1 successfully resized同样,也需要使用ext2online来使更改生效.
减小lv具有一定的风险,一般情况下不要减小lv
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17549/showart_222729.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP