zoukankan      html  css  js  c++  java
  • 物理卷操作命令:pvcreate,pvscan,pvdisplay.卷组操作命令:vgcreate,vgdisplay.

    新硬盘创建LVM系统过程。

    物理卷操作命令:pvcreate,pvscan,pvdisplay.

    卷组操作命令:vgcreate,vgdisplay.

    逻辑卷操作命令:lvcreate,lvdisplay.

    Linx卷管理详解

    VG LV PV

    作者:吴伟龙

     

    一、 前言

        每个Linux使用者在安装Linux时 都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该分区以后可能需要的容量的最大值。因为如果估计不准确,当遇到某个分区不够用时管理员可能甚至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。

         虽然现在有很多动态调整磁盘的工具可以使用,例如Partation Magic等等,但是它并不能完全解决问题,因为某个分区可能会再次被耗尽;另外一个方面这需要重新引导系统才能实现,对于很多关键的服务器,停机是不可接受的,而且对于添加新硬盘,希望一个能跨越多个硬盘驱动器的文件系统时,分区调整程序就不能解决问题。

          因此完美的解决方法应该是在零停机前提下可以自如对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区。那么我们可以通过逻辑盘卷管理(LVM,Logical Volume Manager)的方式来非常完美的实现这一功能。

           LVM是逻辑盘卷管理(Logical Volume Manager)的简称,他是磁盘管理的另一种工具,就目前基本上所有操作系统均支持,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“DBdata”和“DBSoft”,而不是使用物理磁盘名“sda”和“sdb”或”hda”和”hdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可,架构可以参考如下图:

     

    二、 LVM基本术语

        前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:

     

    物理存储介质(The physical media)

    这里指系统的存储设备:硬盘,如:/dev/hda、/dev/sda等等,是存储系统最低层的存储单元。

     

    物理卷(physicalvolume)

    物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

     

    卷组(Volume Group)

    LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

     

    逻辑卷(logicalvolume)

    LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

     

    PE(physical extent)

    每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

     

    LE(logical extent)

    逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

          首先可以看到,物理卷(PV)被由大小等同的基本单元PE组成。

          一个卷组由一个或多个物理卷组成:

          从上图可以看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。

          下图是磁盘分区、卷组、逻辑卷和文件系统之间的逻辑关系的示意图:

           和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。

           系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置。

     

    三、 安装LVM

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

     [root@jetsen ~]# rpm -qa|grep lvm

    system-config-lvm-1.1.5-1.0.el5

    lvm2-2.02.46-8.el5

        如果命令结果输入类似于上例,那么说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。

     安装了LVM的RPM软件包以后,要使用LVM还需要配置内核支持LVM。RedHat默认内核是支持LVM的,如果需要重新编译内核,则需要在配置内核时,进入Multi-device Support (RAID and LVM)子菜单,选中以下两个选项:

    [*]Multiple devices driver support (RAID and LVM)

    <*>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 -a y

    fi

     

        其中关键是两个命令,vgscan命令实现扫描所有磁盘得到卷组信息,并创建文件卷组数据文件/etc/lvmtab/etc/lvmtab.d/*vgchange  -a y命令激活系统所有卷组。

     

     

    四、 创建和管理LVM

        创建LV有两种方式,一种是基于磁盘的,另外一种是基于分区的,如果是基于分区的就必须按照我之前讲的通过fdisk或parted方式划分好分区,但不要格式化来进行pvcreate创建处理卷,如果基于磁盘的就不需要创建分区了,直接就可以通过pvcreate来创建物理卷。因为只有创建好了物理卷之后才能添加到卷组,并在卷组里面创建逻辑卷,后格式化才能存放数据。

    要创建一个LVM系统,一般需要经过以下步骤:

    创建基于磁盘的LV

    1、 查看磁盘信息:

    [root@jetsen~]# fdisk -l

     

    Disk/dev/sda: 21.4 GB, 21474836480 bytes

    255heads, 63 sectors/track, 2610 cylinders

    Units =cylinders of 16065 * 512 = 8225280 bytes

     

       Device Boot      Start         End      Blocks  Id  System

    /dev/sda1   *          1          13      104391  83  Linux

    /dev/sda2              14        2610   20860402+  8e  Linux LVM

     

    我们就用如下两块磁盘来配置VG的管理

    Disk /dev/sdb: 536.8 GB, 536870912000 bytes

    255 heads, 63 sectors/track, 65270 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

    Disk /dev/sdb doesn't contain a valid partition table

     

    Disk /dev/sdc: 536.8 GB, 536870912000 bytes

    255 heads, 63 sectors/track, 65270 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

    Disk /dev/sdc doesn't contain a valid partition table

     

    2、 使用sdb创建基于磁盘的物理卷

    [root@jetsen~]# pvcreate /dev/sdb

      Physical volume "/dev/sdb"successfully created

     

    3、 查看物理卷创建是否成功

    [root@jetsen~]# pvdisplay

      --- Physical volume ---

      PV Name               /dev/sda2

      VG Name               VolGroup00

      PV Size               19.89 GB / not usable 19.49 MB

      Allocatable           yes (but full)

      PE Size (KByte)       32768

      Total PE              636

      Free PE               0

      Allocated PE          636

      PV UUID               9UuRWq-3nFG-pQvY-nkCN-WZgj-uzNW-cUI1ei

      

      "/dev/sdb" is a newphysical volume of "500.00 GB"     ----这里是我们刚才创建的PV,已经成功

      --- NEW Physical volume ---

      PV Name               /dev/sdb

      VG Name              

      PV Size               500.00 GB

      Allocatable           NO

      PE Size (KByte)       0

      Total PE              0

      Free PE               0

      Allocated PE          0

      PV UUID              3Xhu20-4Y4L-ITf5-MyXi-VLVN-kJ3M-LsoouK

      

    [root@jetsen ~]#

     

    4、 创建data卷组:

    [root@jetsen~]# vgcreate data /dev/sdb

      /dev/cdrom: open failed: 只读文件系统

      /dev/cdrom: open failed: 只读文件系统

      Attempt to close device '/dev/cdrom' which isnot open.

      Volume group "data" successfullycreated

     

    5、 查看卷组是否创建成功:

    [root@jetsen ~]# vgdisplay

      --- Volume group ---                ------我们可以看到,这就是我们刚才创建的vg,已经成功了,大小为500G,由一个PV组成

      VG Name               data

      System ID            

      Format                lvm2

      Metadata Areas        1

      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                1

      Act PV                1

      VG Size               500.00 GB

      PE Size               4.00 MB

      Total PE              127999

      Alloc PE / Size       0 / 0  

      Free  PE / Size       127999 / 500.00 GB

      VG UUID              wqyQM5-Rigb-5art-0H20-X9QW-OL6N-PDkI4o

      

      --- Volume group ---                                         -----这是系统之前的卷组

      VG Name               VolGroup00

      System ID            

      Format                lvm2

      Metadata Areas        1

      Metadata Sequence No  3

      VG Access             read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                2

      Open LV               2

      Max PV                0

      Cur PV                1

      Act PV                1

      VG Size               19.88 GB

      PE Size               32.00 MB

      Total PE              636

      Alloc PE / Size       636 / 19.88 GB

      Free PE / Size       0 / 0  

      VG UUID              9BbNZr-0ILr-CP3K-debx-OyJM-hDru-C0gVuR

      

    [root@jetsen~]#

     

    6、 激活卷组

    [root@jetsen~]# vgchange -a y data

      0 logical volume(s) in volume group"data" now active

    [root@jetsen~]#

     

    7、 创建新的物理卷

    [root@jetsen~]# pvcreate /dev/sdc

      Physical volume "/dev/sdc"successfully created

     

    8、 将新的物理卷添加到现有卷组:

    [root@jetsen~]# vgextend data /dev/sdc

      /dev/cdrom: open failed: 只读文件系统

      Attempt to close device '/dev/cdrom' which isnot open.

      Volume group "data" successfullyextended

    [root@jetsen~]#

     

    9、  查看卷组信息:        

    我们可以看到,VG的大小由刚才的500G变成了现在的1T的空间,PV的数量也由之前的1个变成了两个

    [root@jetsen~]# vgdisplay data

      --- Volume group ---

      VG Name               data

      System ID            

      Format                lvm2

      Metadata Areas        2

      Metadata Sequence No  2

      VG Access             read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                0

      Open LV               0

      Max PV                0

      CurPV                2

      ActPV                2

      VG Size              999.99 GB

      PE Size               4.00 MB

      Total PE              255998

      Alloc PE / Size       0 / 0  

      Free PE / Size       255998 / 999.99 GB

      VG UUID              wqyQM5-Rigb-5art-0H20-X9QW-OL6N-PDkI4o

     

    10、       从现有的卷组中删除一个物理卷:

    要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息,如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce

    [root@jetsen~]# vgreduce data /dev/sdc

      Removed "/dev/sdc" fromvolume group "data"      -----已经删除成功

    [root@jetsen~]#

     查看VG信息             我们可以看到磁盘已经被删除,并且空间也由刚才的1T变成了500G

    [root@jetsen~]# vgdisplay data

      --- Volume group ---

      VG Name               data

      System ID            

      Format                lvm2

      Metadata Areas        1

      Metadata Sequence No  3

      VG Access             read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                0

      Open LV               0

      Max PV                0

      Cur PV                1

      Act PV                1

      VG Size               500.00 GB

      PE Size               4.00 MB

      Total PE              127999

      Alloc PE / Size       0 / 0  

      Free PE / Size       127999 / 500.00 GB

      VG UUID              wqyQM5-Rigb-5art-0H20-X9QW-OL6N-PDkI4o

     

    11、       创建逻辑卷

    创建逻辑卷的命令为lvcreate,分为两种:

    A、   创建指定大小的逻辑卷LV

    [root@jetsen ~]# lvcreate -L200M -n data001 data

      Logical volume"data001" created

    该命令就在卷组data上创建名字为data001,大小为200M的逻辑卷,并且设备入口为/dev/data/data001data为卷组名,data001为逻辑卷名)。

       查看我们创建的逻辑卷:

    [root@jetsen ~]# lvdisplay data

     --- Logical volume ---

     LV Name               /dev/data/data001                    ---LV的名称为data001

     VG Name                data                                 ----卷组的名称为data

     LV UUID               o75uV4-VvTA-aaMe-4T74-mVQe-gSQO-clot5L

     LV Write Access        read/write

     LV Status              available

     # open                 0

     LV Size                200.00 MB                              ---大小为200M

     Current LE             50

     Segments               1

     Allocation             inherit

     Read ahead sectors     auto

     - currently set to     256

     Block device           253:2

     

    B、   创建卷组全部大小的逻辑卷LV

     如果希望创建一个使用全部卷组的逻辑卷,则需要首先通过vgdisplay察看该卷组的Total PE数,然后在创建逻辑卷时指定

    [root@jetsen~]# vgdisplay data

      --- Volume group ---

      VG Name               data

      System ID            

      Format                lvm2

      Metadata Areas        1

      Metadata Sequence No  4

      VG Access             read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                1

      Open LV               0

      Max PV                0

      Cur PV                1

      Act PV                1

      VG Size               500.00 GB

      PE Size               4.00 MB

      Total PE             127999     -----也就是这个值,

      Alloc PE / Size       50 / 200.00 MB

      Free PE / Size       127949 / 499.80 GB

      VG UUID              wqyQM5-Rigb-5art-0H20-X9QW-OL6N-PDkI4o

    创建使用卷组的全部逻辑卷语法如下:(由于之前已经创建了一卷组,就无法演示)

    [root@jetsen~]# lvcreate -l127999-n dataall data

     

    C、   创建剩余空间所有大小的LV

    查看LV剩余空间的大小:

    [root@jetsen~]# vgdisplay data

      --- Volume group ---

      VG Name               data

      System ID            

      Format                lvm2

      Metadata Areas        1

      Metadata Sequence No  4

      VG Access             read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                1

      Open LV               0

      Max PV                0

      Cur PV                1

      Act PV                1

      VG Size               500.00 GB

      PE Size               4.00 MB

      Total PE              127999

      Alloc PE / Size       50 / 200.00 MB

      Free  PE / Size       127949 / 499.80 GB           ----这里是剩余空间的大小

      VG UUID               wqyQM5-Rigb-5art-0H20-X9QW-OL6N-PDkI4o

     

    创建分区:

    [root@jetsen~]# lvcreate -l127949 -n data003 data

      /dev/cdrom: open failed: 只读文件系统

      Logical volume "data003" created

     

    再次查看Free PE                                     

    [root@jetsen ~]# vgdisplay data|grep "Free"          

      Free  PE / Size       0 / 0                         ----空间已经被划分完了,没有空间了

     查看刚才创建的LV的信息:

     

    [root@jetsen~]# lvdisplay /dev/data/data003

      --- Logical volume ---

      LV Name                /dev/data/data003

      VG Name                data

      LV UUID               5gk4X3-ltNL-YUR9-AZnx-GHr9-shgc-t1Cuye

      LV Write Access        read/write

      LV Status              available

      # open                 0

      LV Size                499.80 GB                 ----大小为499.80G,正好验证了剩余空间的大小

      Current LE             127949                    ----LV个数正好验证了刚才所剩余的个数

      Segments               1

      Allocation             inherit

      Read ahead sectors     auto

      - currently set to     256

      Block device           253:3

     

    12、       创建文件系统:

    我们可以创建reiserfs文件系统,也可以创建ext2和ext3

    [root@jetsen~]# mkfs.ext3 /dev/data/data003  -------我们创建ext3的文件系统

    mke2fs1.39 (29-May-2006)

    Filesystemlabel=

    OS type:Linux

    Blocksize=4096 (log=2)

    Fragmentsize=4096 (log=2)

    65519616inodes, 131019776 blocks

    6550988blocks (5.00%) reserved for the super user

    Firstdata block=0

    Maximumfilesystem blocks=0

    3999block groups

    32768blocks per group, 32768 fragments per group

    16384inodes per group

    Superblockbackups stored on blocks:

            32768, 98304, 163840, 229376, 294912,819200, 884736, 1605632, 2654208,

            4096000, 7962624, 11239424, 20480000,23887872, 71663616, 78675968,

            102400000

     

    Writinginode tables: done                           

    Creatingjournal (32768 blocks): done

    Writingsuperblocks and filesystem accounting information: done

     

    Thisfilesystem will be automatically checked every 23 mounts or

    180days, whichever comes first.  Use tune2fs-c or -i to override.

     

    13、       挂载文件系统     ----我们可以看到已经挂载,并且大小也正常。

    [root@jetsen/]# mkdir /data003

    [root@jetsen/]# mount /dev/data/data003 /data003

    [root@jetsen/]# df -h

    Filesystem                           Size   Used   Avail  Use%  Mountedon

    /dev/mapper/VolGroup00-LogVol00      18G   5.8G  11G    35%  /

    /dev/sda1                            99M    12M  82M    13%  /boot

    tmpfs                                506M   4.0K 506M    1%  /dev/shm

    /dev/mapper/data-data003            492G   198M 467G    1%  /data003

    [root@jetsen/]#

     

    14、删除LV

    A、  先卸载分区

    [root@jetsen /]# umount /dev/data/data003

    B、  执行删除操作

    [root@jetsen /]# lvremove /dev/data/data003

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

    Do you really want to remove active logical volume data003?[y/n]: y

      Logical volume"data003" successfully removed

     

     

    创建基于分区的LV

    1、      通过fdisk创建分区,详细步骤省略,可参考如下:

    http://blog.csdn.net/wuweilong/article/details/7538647

    http://space.itpub.net/?uid-20674423-action-viewspace-itemid-722812

     

    [root@jetsen /]# fdisk /dev/sdc   (n p 1 +500m w) --创建了500M分区

    [root@jetsen /]# fdisk /dev/sdc   (n p 1 +1024m w) --创建了1G分区

     

    查看分区信息

    [root@jetsen/]# fdisk -l /dev/sdc                ----分区已经创建成功

     

    Disk/dev/sdc: 536.8 GB, 536870912000 bytes

    255heads, 63 sectors/track, 65270 cylinders

    Units =cylinders of 16065 * 512 = 8225280 bytes

     

       Device Boot      Start         End     Blocks   Id System

    /dev/sdc1               1          62      497983+ 83  Linux

    /dev/sdc2              63         187    1004062+  83  Linux

    [root@jetsen/]#

     

    2、     创建基于分区的物理卷

    [root@jetsen/]# pvcreate /dev/sdc1

      Physical volume "/dev/sdc1"successfully created

    [root@jetsen/]# pvcreate /dev/sdc2

      Physical volume "/dev/sdc2"successfully created

     

    3、     创建卷组:

    [root@jetsen/]# vgcreate soft  /dev/sdc1 /dev/sdc2

      /dev/cdrom: open failed: Read-only filesystem

      /dev/cdrom: open failed: Read-only filesystem

      Attempt to close device '/dev/cdrom' which isnot open.

      Volume group "soft" successfullycreated

    [root@jetsen/]#

     

    4、     激活卷组

    [root@jetsen/]# vgchange -a y soft

      0 logical volume(s) in volume group"soft" now active

    [root@jetsen/]#

     

    5、         从卷组中删除物理卷

    [root@jetsen/]# vgreduce soft /dev/sdc2

      Removed "/dev/sdc2" from volumegroup "soft"

    [root@jetsen/]#

     

    6、     添加卷组到物理卷

    [root@jetsen/]# vgextend soft /dev/sdc2

      /dev/cdrom: open failed: Read-only filesystem

      Attempt to close device '/dev/cdrom' which isnot open.

      Volume group "soft" successfullyextended

    [root@jetsen/]#

     

    7、     创建LV

    先查看VG的大小,为1.5G,包含2个PV

    [root@jetsen/]# vgdisplay soft

      --- Volume group ---

      VG Name               soft

      System ID            

      Format                lvm2

      Metadata Areas        2

      Metadata Sequence No  3

      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               1.43 GB

      PE Size               4.00 MB

      Total PE             366

      Alloc PE / Size       0 / 0  

      Free PE / Size       366 / 1.43 GB

      VG UUID              D3x6JY-BVIL-C4ld-013H-U2Rq-hb1q-1oOVnx

      

    [root@jetsen/]#

    将1.5G共366个PE创建一个LV

    [root@jetsen/]# lvcreate -l366 soft -n soft01

      Logical volume "soft01" created

    [root@jetsen/]#

     

    8、     创建文件系统:

    [root@jetsen/]# mkfs.ext4 /dev/soft/soft01

    mke4fs1.41.5 (23-Apr-2009)

    Filesystemlabel=

    OS type:Linux

    Blocksize=4096 (log=2)

    Fragmentsize=4096 (log=2)

    93696inodes, 374784 blocks

    18739blocks (5.00%) reserved for the super user

    First datablock=0

    Maximumfilesystem blocks=385875968

    12 blockgroups

    32768blocks per group, 32768 fragments per group

    7808inodes per group

    Superblockbackups stored on blocks:

            32768, 98304, 163840, 229376, 294912

     

    Writinginode tables: done                            

    Creatingjournal (8192 blocks): done

    Writingsuperblocks and filesystem accounting information: done

     

    Thisfilesystem will be automatically checked every 29 mounts or

    180days, whichever comes first.  Use tune4fs-c or -i to override.

    [root@jetsen/]#

     

    9、     挂载文件系统

    [root@jetsen/]# mkdir /soft

    [root@jetsen/]# mount /dev/soft/soft01 /soft

    [root@jetsen/]# df -h

    Filesystem                           Size  Used   Avail  Use% Mounted on

    /dev/mapper/VolGroup00-LogVol00      18G 5.8G   11G   35%   /

    /dev/sda1                            99M  12M  82M  13%    /boot

    tmpfs                                506M 4.0K  506M   1%   /dev/shm

    /dev/mapper/soft-soft01              1.5G   35M   1.4G   3%   /soft

                         

     

    扩展LV的大小

    我们在用传统磁盘管理工具的时候经常会有一种问题,就是分区在刚开始创建时候的大小是够用的,但是随着时间的推移,分区及硬盘的可用空间越来越少,并且到最后可能就不够用了,就只有通过添加硬盘并且添加分区的方式同时还要做数据转移来完成磁盘的添加工作,那么我们通过使用卷管理之后就可以实现分区大小的动态调整,也就是说单个分区不够了,我们添加硬盘后直接将新硬盘的空间无缝的动态在线添加载到当前需要扩容的分区上,原理如下图

     

    |<-- sda1---->|<-- sda2------>|

    +---------------+---------------+

    |xxxxxxxxxxx|xxxxxx||

    |xxxxxxxxxxx|xxxxxx||

    +---------------+---------------+

     

    硬盘分区/dev/sda1中的文件系统占满了整个分区,而/dev/sda2中的文件系统只占用了2/3左右的分区。

    所以在调整逻辑卷容量大小的同时也要调整在该卷上的文件系统的大小,当要增大容量时,先调整容量,后调整文件系统,若要缩小容量则反之。

    扩展LV大小的步骤如下:

    1、 检查VG的可用PE

    [root@jetsen/]# vgdisplay soft

      --- Volume group ---

      VG Name               soft

      System ID            

      Format                lvm2

      Metadata Areas        2

      Metadata Sequence No  4

      VG Access             read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                1

      Open LV               1

      Max PV                0

      Cur PV                2

      Act PV                2

      VG Size               1.43 GB

      PE Size               4.00 MB

      Total PE              366

      Alloc PE / Size       366 / 1.43 GB

      Free  PE / Size      0 / 0                           ----可用PE0,需添加磁盘或分区

      VG UUID              D3x6JY-BVIL-C4ld-013H-U2Rq-hb1q-1oOVnx

     

     

    2、 如果不够,需想VG中添加磁盘或新的分区

    [root@jetsen /]# fdisk /dev/sdc –l     查看现在分区信息

     

    Disk /dev/sdc: 536.8 GB, 536870912000 bytes

    255 heads, 63 sectors/track, 65270 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

       Device Boot      Start         End      Blocks  Id  System

    /dev/sdc1               1          62      497983+ 83  Linux

    /dev/sdc2              63         187    1004062+  83  Linux

     

    [root@jetsen /]# fdisk /dev/sdc  (n p 3 +1G w)      --创建了1G分区

     

    [root@jetsen /]# fdisk /dev/sdc –l                          ----再次查看分区信息

     

    Disk /dev/sdc: 536.8 GB, 536870912000 bytes

    255 heads, 63 sectors/track, 65270 cylinders

    Units = cylinders of 16065 * 512 = 8225280 bytes

     

       Device Boot      Start         End      Blocks  Id  System

    /dev/sdc1              1          62      497983+ 83  Linux

    /dev/sdc2             63         187     1004062+ 83  Linux

    /dev/sdc3            188         310      987997+ 83  Linux

    [root@jetsen /]#

    添加刚才创建的分区到VG

    [root@jetsen~]# pvcreate /dev/sdc3

      Physical volume "/dev/sdc3"successfully created

    [root@jetsen~]# vgextend soft /dev/sdc3

      /dev/cdrom: open failed: 只读文件系统

      /dev/cdrom: open failed:只读文件系统

      Attempt to close device '/dev/cdrom' which isnot open.

      Volume group "soft" successfullyextended

    [root@jetsen~]# vgdisplay soft

      --- Volume group ---

      VG Name               soft

      System ID            

      Format                lvm2

      Metadata Areas        3

      Metadata Sequence No  5

      VG Access            read/write

      VG Status             resizable

      MAX LV                0

      Cur LV                1

      Open LV               0

      Max PV                0

      Cur PV                3

      Act PV                3

      VG Size               2.37 GB

      PE Size              4.00 MB

      Total PE              607

      Alloc PE / Size       366 / 1.43 GB

     Free  PE / Size       241 / 964.00 MB             ------我们可以看到,这里已经添加进来了

      VG UUID              D3x6JY-BVIL-C4ld-013H-U2Rq-hb1q-1oOVnx

     

     

    3、 扩展LV的大小

    [root@jetsen/]# df -h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/mapper/VolGroup00-LogVol00

                            18G 5.8G   11G  35% /

    /dev/sda1               99M  12M   82M  13% /boot

    tmpfs                   506M 4.0K  506M   1% /dev/shm

    /dev/mapper/soft-soft01   1.5G   35M 1.4G   3% /soft                      -----现在大小是1.5G

    [root@jetsen/]#

    写法一: 在现有的空间中添加500M

    [root@jetsen~]# lvextend -L+500M /dev/soft/soft01  ---向LV01添加500M的空间

      Extending logical volume soft01 to 1.92 GB           -----这里告诉你添加后的soft01的大小是1.92GB

      Logical volume soft01 successfully resized

    写法二: 在现有的空间中添加到分区的总大小为2G

    [root@jetsen~]# lvextend -L2G /dev/soft/soft01

      Extending logical volume soft01 to 2.00 GB

      Logical volume soft01 successfully resized

     

    4、查看lv扩容后的大小

    [root@jetsensoft]# lvdisplay soft

      --- Logical volume ---

      LV Name                /dev/soft/soft01

      VG Name                soft

      LV UUID               AutjnY-C3KP-5bfC-Di5v-Zkdu-4VhD-AahFY8

      LV Write Access        read/write

      LV Status              available

      # open                 1

      LV Size                2.00 GB                    ----已经扩容到2G

      Current LE             512

      Segments               3

      Allocation             inherit

      Read ahead sectors     auto

      - currently set to     256

      Block device           253:2

    扩容文件系统

    [root@jetsen~]# resize4fs /dev/soft/soft01

    resize4fs1.41.5 (23-Apr-2009)

    Filesystemat /dev/soft/soft01 is mounted on /soft; on-line resizing required

    olddesc_blocks = 1, new_desc_blocks = 1

    Performingan on-line resize of /dev/soft/soft01 to 652288 (4k) blocks.

    Thefilesystem on /dev/soft/soft01 is now 652288 blocks long.

     

    查看大小已经是2G了

    [root@jetsen/]# df -h

    Filesystem                          Size    Used   Avail  Use% Mounted on

    /dev/mapper/VolGroup00-LogVol00    18G    5.8G  11G   35%   /

    /dev/sda1                          99M     12M  82M   13%   /boot

    tmpfs                              506M    4.0K 506M   1%   /dev/shm

    /dev/mapper/soft-soft01             2.0G     67M  1.9G  4%   /soft    ---大小已经是2G了。

     

    注意:增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。推荐使用ext4文件系统来替代reiserfsext2或者ext3。因此这里仅仅讨论ext4的情况。Reiserfs文件工具提供了文件系统大小调整工具:

    对于使用reiserfs文件系统的用户可以考虑使用工具reiserfs

     

     

    附录:

    LV建立流程:

    1.建立PV

    2.建立VG,将PV加入到VG中。

    3.建立LV,并设置LV大小。

    4.格式化LV或LP成你需要的文件系统。

     

    LV删除流程:

    1.umountFS

    2.删除LV。

    3.将PV从所在的VG中删除。

    4.删除VG。

     

     

    卷管理常用命令集合:

     

    查看显示

    创建

    删除

    扩容

    激活

    扫描查找

    LV

    lvdisplay

    lvcreate

    lvremove

    lvextend

    lvchange

    lvscan

    PV

    pvdisplay

    pvcreate

    pvremove

     

    pvchange

    pvscan

    VG

    vgdisplay

    vgcreate

    vgremove

    vgextend

    vgchange

    vgscan

     

     

    VG的完整架构图:

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/timssd/p/4438581.html
Copyright © 2011-2022 走看看