LVM 磁盘管理技术案例讲解


  LVM是什么?

  恩,全称就是"逻辑盘卷管理" 英文全称是"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,

  1) 创建三个分区,分别是 /dev/sdb1 /dev/sdb2 /dev/sdb3 三个都分别是100M.

  [root@localhost /]# fdisk /dev/sdb

  Command (m for help): p

       /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

  

        2) 下一步,建立物理卷PV

  [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

  3) 创建VG卷组

         a) 初始建立卷组时都要先scan下

       [root@localhost /]# vgscan          #一般我们初始建立卷组时都要先scan下.

           Volume group "VolGroup00" not found

          b) 建立卷组,名字叫  vg0

       [root@localhost /]# vgcreate  vg0  /dev/sdb1 /dev/sdb2

        Volume group "vg0" successfully created

            c) 查看下卷组vg0得情况

          [root@localhost /]# vgdisplay 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,

 

        4)  建立逻辑卷

               注意:-L 和-l的区别,前面是根据大小来的,后面的是根据块数来的,也就是几个PE.

              a) 建立名为data逻辑卷,大小10M

                 [root@localhost /]# lvcreate -n data -L 10M vg0        

           /dev/cdrom: open failed: Read-only file system

            Rounding up size to full physical extent 12.00 MB

            Logical volume "data" created

              b) 查看下逻辑卷情况

           [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

      

               c) 格式化成ext3格式

            [root@localhost /]# mkfs.ext3 /dev/vg0/data

               d) mount到/mnt文件夹

            [root@localhost /]# mount /dev/vg0/data /mnt/

  

                e) 测试下

                     [root@localhost /]# cp /etc/services /mnt/           #拷贝个文件进去试下

               [root@localhost /]# ls /mnt/                                    #看下,里面已经有个services文件了.成功.

                 lost+found services

               

                f)  扩展逻辑卷大小

             [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,试验就做到这了,是不是很容易啊,其它比如物理卷扩展大小,删除等操作其实已经大同小异了.


 » 相关连接:
/etc/fstab -- filesystem tab 分 关于swap区的知识的总结 RAID详解二 RAID详解
分区和分区表的说明 Raid的学习和基础知识 v0.1b 软RAID 0的技术概要及实现 v0.1b ( LVM(logical volume manager) 逻辑
使用LVM在 Linux 中使用动态磁盘 什么叫做裸设备 啟動硬盤DMA存取模式! UNIX添加第二块scsi硬盘
 » 本栏目最新帖:

Powered by PHPWind v6.0 Code © 2003-08