LVM-逻辑卷管理器

来源:互联网 发布:车辆控制数据采集 编辑:程序博客网 时间:2024/04/30 14:05

 

安装LVM

  首先确定系统中是否安装了lvm工具:

   [root@www root]# rpm–qa|grep lvm
      lvm-1.0.3-4

   如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安

  LVM管理工具,则需要从网络下载或者从光盘装LVMrpm工具包。

  安装了LVMRPM软件包以后,要使用LVM还需要配置内核支持LVMRedHat默认内核是支持LVM的,如果需

  要重新编译内核,则需要在配置内核时,进入Multi-device Support (RAID andLVM)子菜单,选中以下

  两个选项:

 [*] Multiple devices driver support (RAID andLVM)
    <*>Logical volume manager (LVM) Support

  然后重新编译内核,即可将LVM的支持添加到新内核中。

   为了使用LVM,要确保在系统启动时激活LVM,幸运的是在RedHat7.0以后的版本,系统启动脚本已经具有

  对激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下内容:

   # LVMinitialization
     if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ];then
     action $"Setting up Logical Volume Management:" /sbin/vgscan&& /sbin/vgchange -ay

   其中关键是两个命令,vgscan命令实现扫描所有磁盘得到卷组信息,并创建文件卷组数据文  

   /etc/lvmtab/etc/lvmtab.d/*vgchange-a y命令激活系统所有卷组。

 

相关知识点:

 

    LVM(logical volume manager) 逻辑卷管理器
        其中主要分为这几个概念
    1物理卷-简称PV

物理卷在逻辑卷管理器中属于最底层的,任何的逻辑卷和卷组都必需依靠物理卷来建立,物理卷可以是一个完整的硬盘,

也可以是硬盘中的一个分区 

2卷组-简称VG
   卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷
    3逻辑卷-简称LV
   逻辑卷是建立在卷组之上的,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意从卷组的空闲空间中增减,  

逻辑卷可以属于一个卷组,也可以属于不同的多个卷组

物理区域-简称PE
   物理区域是物理卷中最小的可分配储存单元
    逻辑区域-简称-LE
   逻辑区域是逻辑卷中可用于分配的最小储存单元
    卷组描述区域-简称VGDA
   用于描述物理卷,卷组,逻辑卷分配的所由信息
    一个建立逻辑卷的流程如下PV-VG-LV
    物理卷包含卷组,卷组包含逻辑卷

  一、LVM概述

        LVMLinux系统中对磁盘分区进行管理的一种逻辑机制,它是建立在硬盘和分区之上,文件系

    统之下的一个逻辑层,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高了磁盘管理

    的灵活性。

        /boot分区不能基于LVM创建,必须独立出来。

    1.PVPhysical Volume,物理卷)

          物理卷是LVM机制的基本储存设备,通常对应为一个普通分区。物理卷一般直接使用设备文件

      名,如dev/sdb1等。用于转换成物理卷的普通分区,需要用fdisk工具将分区类型的ID标记号改为

      8e,即文件系统为Linux LVM

    2.VGVolume Group,卷组)

          卷组是由一个或多个物理卷组成的一个整体,在卷组中可以动态地添加或移除物理卷,卷组

      名称由用户自行定义。

    3.LVLogical Volume,逻辑卷)

          逻辑卷是建立在卷组之上的,与物理卷没有直接关系。逻辑卷就是从卷组中切出的一小块空

      间,作为用户创建文件系统的基础。使用mkfs工具在逻辑卷上创建文件系统后,即可挂载到Linux

      系统中的目录下使用了。

二、PV物理卷的管理

    1.pvscan命令,扫描系统中的所有物理卷

          [root@localhost ~]#pvscan

    2.pvcreate命令,创建物理卷

          [root@localhost ~]#pvcreate  分区设备文件名称

    3.pvdisplay命令,显示物理卷的详细信息

          [root@localhost ~]#pvdisplay

    4.pvremove命令,将物理卷还原成普通分区

          [root@localhost ~]#pvremove  物理卷名称

三、VG卷组管理

    1.vgscan命令,扫描系统中建立的卷组

          [root@localhost ~]#vgscan

    2.vgcreate命令,将一个或多个物理卷创建成一个卷组

          [root@localhost ~]#vgcreate  卷组名  物理卷名 物理卷名

    3.vgdisplay命令,显示系统中各卷组的详细信息

          [root@localhost ~]#vgdisplay

    4.vgextend命令,用于扩展卷组的磁盘空间

          [root@localhost ~]#vgextend  需要被扩展的卷组名  新的物理卷名 

    5.vgremove命令,删除指定的卷组

          [root@localhost ~]#vgremove  卷组名

四、LV逻辑卷管理

    1.lvscan命令,扫描系统中建立的逻辑卷

          [root@localhost ~]#lvscan

    2.lvcreate命令,创建逻辑卷

          [root@localhost ~]#lvcreate -L  容量大小  -n  逻辑卷名  卷组名 

    3.lvdisplay命令,显示系统中逻辑卷的详细信息

          [root@localhost ~]#lvdisplay

    4.lvextend命令,用于动态扩展逻辑卷的空间

          [root@localhost ~]#lvextend -L  +容量大小  /dev/卷组名/逻辑卷名

          调整逻辑卷的容量后,需要执行resize2fs  /dev/卷组名/逻辑卷名命令,重新识别文

      件系统的大小。 

    5.lvremove命令,用于删除指定的逻辑卷

          [root@localhost ~]#lvremove  /dev/卷组名/逻辑卷名

 

 

 

==========================================一个很好的例子================================================

 

创建过程

a)为逻辑卷管理器分配物理卷
    我这里使用一个分区来作/dev/hda6(原为ext3)
    #fdisk hda
   >;t 
   >;6
   >;8e (LVM分区)
   >;w
   重起
   #pvcreate /dev/hda6
   使用
   #pvdisplay /dev/hda6查看是否建立
   这样就建立好了物理卷

b) 在物理卷中建立卷组
   #vgcreate vg0 /dev/hda6 其中vg0为要建立的卷组名程.这里的PE值我们使用默认的4M如需要增大可以使用-L 选想,记住一旦 

设定以后不可更改PE的值  vg0名字可以自己定义
   #vgdisplay 查看是否建立成功
   c) 在卷组中建立逻辑卷
   #lvcreate -L 100M -n vg1 vg0
   其中-L 选项表示你想的逻辑卷大小,以后可以用命令增减 -n指定逻辑卷的名程和卷组的名程,也可以使用绝对路径来达到上述

目的
   #lvdisplay /dev/vg0/vg1
   查看是否建立成功

d)  为逻辑卷建立文件系统
   #mkfs.ext3 /dev/vg0/vg1
   然后挂载尝试是否建立成功
   #mount /dev/vg0/vg1 /disk6

这样一个逻辑卷就基本成型了

如果要每次开机都自动挂接上在 fstab修改

[root@TestAs4 ~]# more /etc/fstab
   This file is edited by fstab-sync see 'man fstab-sync' for details
   LABEL=/                                       ext3    defaults        1
   LABEL=/boot             /boot                   ext3    defaults        2
   none                    /dev/pts                devpts  gid=5,mode=620  0
   none                    /dev/shm                tmpfs   defaults        0
   none                    /proc                   proc    defaults        0
   none                    /sys                    sysfs   defaults        0
   LABEL=/u01              /u01                    ext3    defaults        2
   /dev/mapper/vg0-vg1     /disk6                  ext3    defaults        2
   /dev/mapper/vg0-vg2     /disk7                  ext3    defaults        2
   LABEL=SWAP-hda5         swap                    swap    defaults        0
   /dev/hdd                /media/cdrom            auto    pamconsole,fscontext=system_u:object_r:removable_t,exec

,noauto
   ,managed 0
   [root@TestAs4 ~]#

4.逻辑卷的管理
   a)增加新的物理卷到卷组
   当卷组中没有足够的空间分配给逻辑卷时,可以用给卷组增加物理卷的方法来增加卷组的空间

pvcreate  /dev/hda7
   vgextend vg0 /dev/hda7
   这里注意hda7必需为LVM分区 
   b) 扩充和减小逻辑卷的容量
   #lvextend -L +500M /dev/vg0/vg1 

#ext2online /dev/vg0/vg1
  -L 表示增减空间 +表示加 -表示建
  #lvextend -L -500M /dev/vg0/vg1

#ext2online /dev/vg0/vg1
   这里要注意文件系统必需是ext2ext3,而且需要卸载文件系统来执行,减小的时候需要知道剪掉空间的大小,不然会造成丢失
   reiserfs文件系统中未作测试
   c) 删除逻辑卷-卷组-物理卷 (必需按照先后顺序来执行删除)
   #lvremove /dev/vg0/vg1 删除逻辑卷
   #vgremove /dev/vg0 删除卷组
   这里有一个问题,如果建立的卷组是活动的,他就不能删除
   这里需要使用一个命令来是他变成固定的,以便删除
   #vgchage -a /dev/vg0
   -a 参数指定卷组是否是活动的,n表示固定,y表示活动
   #vgremove /dev/vg0 
   成功
   物理卷的删除,移除/etc下的lvmconf lvmtab的两个文件,然后将分区转换为linux的就可以了 
    检查物理卷,卷组,逻辑卷
   分别使用3个命令
   pvscan 检查物理卷
   vgscan 检查卷组
   lvscan 检查逻辑卷 

 

 

   补充资料:

  创建文件系统: 

   推荐使用reiserfs文件系统,来替代ext2ext3

 

   创建了文件系统以后,就可以加载并使用它:

   #mkdir /data/wwwroot
      #mount /dev/web_document/www1 /data/wwwroot

  如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:

  /dev/web_document/www1/data/wwwroot reiserfs defaults 1 2

 减少逻辑卷的容量 

 使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:

#umount /data/wwwroot
    #resize_reiserfs -s-2G /dev/web_document/www1
    # lvreduce-L-2G /dev/web_document/www1
    # mount-treiserfs /dev/web_document/www1 /data/wwwroot

激活卷组

为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:

# vgchange -a yweb_document

0 0
原创粉丝点击