恩,全称就是"逻辑盘卷管理" 英文全称是"Logical Volume Manager".
恩,当我们硬盘空间不够时候,如C盘(举个通俗例子,linux没C,D概念之说),如果没有LVM管理话,可能我们要备份数据,然后格式化,重新添加分区.岂不是很麻烦,不过如果有了LVM技术的话,就不存在这样的问题了.所以,用在服务器上是很方便的一门技术了.关键是,还不花钱.
网上有很多LVM知识解说的文章,说的比我详细多了,在此粘贴两经典文章的网址:
不过,鉴于实践是检验成果的唯一标准,我也就自己重新认真的操作了一遍,可比看人家文章更容易理解了.
先复习下LVM里面的基本必须记住的专业术语.偶会写上自己的理解的.FYI.
1: PV (Physical Volume) 中文名:物理卷 相关命令: pvcreate pvdisplay pvscan
定义: 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数
个人理解: PV不是分区, 我们使用pvcreate来将一个或多个物理分区创造成PV.这是做LVM的第一步. 2: VG (volume group) 中文名: 卷组 相关命令: vgcreate vgdisplay vgscan
定义: LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
个人理解: 只有通过PV将分区变成物理卷后, 我们才能将这变成的一个或多个物理卷组合成一个卷组.就相当于,将几个班的教室合并成一个班样(vgcreate).以后,就可以随意分配学生了(LV).当然,前提就是将这些学生pvcreate成同一个年级(PV)了. 3: LV (logical volume ) 中文名: 逻辑卷 相关命令: lvcreate lvdisplay lvscan
定义: LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)
个人理解: 我们可以通过lvcreate在VG中划分出某个区域.然后通过mount到某个文件夹中,这样,偶们就可以使用这个区域了.注意哦,是在这个卷组中划出一块地出来使用,当然了,如果这块的太少了,我们可以很轻松的把别人的地挪到自己这来.地里面的庄稼当然不会少了.如果觉得地太多了,割出部分出去,庄稼会自动腾到没割的地方去.这就是LVM的好处了. OK,下面来看下我的操作过程了,其它的概念大家可以去看下别人写的文章.很详细的. 假设我有一块空闲硬盘,硬盘符是/dev/sdb,在里面分了三个分区,分别是 /dev/sdb1 /dev/sdb2 /dev/sdb3 三个都分别是100M.看下 [root@localhost /]# fdisk /dev/sdb Disk /dev/sdb: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 13 104391 8e Linux LVM #看到Id是8e哦./dev/sdb2 14 26 104422+ 8e Linux LVM /dev/sdb3 27 39 104422+ 8e Linux LVM [root@localhost /]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3 Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdb2" successfully created Physical volume "/dev/sdb3" successfully created [root@localhost /]# vgscan #一般我们初始建立卷组时都要先scan下. Reading all physical volumes. This may take a while... Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'. Couldn't find all physical volumes for volume group VolGroup00. Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'. Couldn't find all physical volumes for volume group VolGroup00. Volume group "VolGroup00" not found [root@localhost /]# vgcreate vg0 /dev/sdb1 /dev/sdb2 #建立卷组,名字叫:vg0 Volume group "vg0" successfully created [root@localhost /]# [root@localhost /]# vgdisplay vg0 # 查看下卷组vg0得情况 --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 200.00 MB PE Size 4.00 MB #默认PE 都是4M, 通过 vgcreate -s 8M 可修改. Total PE 50 Alloc PE / Size 0 / 0 Free PE / Size 50 / 200.00 MB VG UUID WKRPJT-MI6G-vGk9-vne2-Gfg2-sAry-llsF7B请输入内容
OK,下面是建立逻辑卷了,在这不我添加了名字为data 的逻辑卷了. 注意:-L 和-l的区别,前面是根据大小来的,后面的是根据块数来的,也就是几个PE.
[
root@localhost /]# lvcreate -n data -L 10M vg0 #建立名为data,大小10M /dev/cdrom: open failed: Read-only file system Rounding up size to full physical extent 12.00 MB Logical volume "data" created [root@localhost /]# lvdisplay #查看下逻辑卷情况 --- Logical volume --- LV Name /dev/vg0/data VG Name vg0 LV UUID qrC9H4-iHWi-Si4m-hN7G-x6Cm-yupr-aXRBVi LV Write Access read/write LV Status available # open 0 LV Size 12.00 MB #为什么是12M呢?我不是输入10M大小的吗? Current LE 3 就当是个问题考考大家了, Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:2 Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'. Couldn't find all physical volumes for volume group VolGroup00. Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'. Couldn't find all physical volumes for volume group VolGroup00. Volume group "VolGroup00" not found [root@localhost /]# mkfs.ext3 /dev/vg0/data #格式化成ext3格式.mke2fs 1.35 (28-Feb-2004) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 3072 inodes, 12288 blocks 614 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=12582912 2 block groups 8192 blocks per group, 8192 fragments per group 1536 inodes per group Superblock backups stored on blocks: 8193 Writing inode tables: done Creating journal (1024 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 35 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@localhost /]# mount /dev/vg0/data /mnt/ #mount到/mnt文件夹[root@localhost /]# cp /etc/services /mnt/ #拷贝个文件进去试下[root@localhost /]# ls /mnt/ #看下,里面已经有个services文件了.成功.lost+found services [root@localhost /]# umount /mnt/ [root@localhost /]# lvextend -L +10M /dev/vg0/data #扩展逻辑卷大小 /dev/cdrom: open failed: Read-only file system Rounding up size to full physical extent 12.00 MB Extending logical volume data to 24.00 MB Logical volume data successfully resized OK,试验就做到这了,是不是很容易啊,其它比如物理卷扩展大小,删除等操作其实已经大同小异了.
本文转自 wuqingying 51CTO博客,原文链接:http://blog.51cto.com/carywu/36503 ,如需转载请自行联系原作者