centos 用命令创建LVM逻辑卷

LVM基本术语

  LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。

  •  物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。

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

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

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

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

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

 

    我的centos系统默认没有安装lvm安装包!  可以使用命令:yum install lvm2   进行安装!!!!

  1、创建分区类型为8e的分区

    使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。 

clip_image004

clip_image006

clip_image008

为了后期便于维护管理,记得给分区加上标示,这样即使你不在的情况下,别人看到标示了就不会轻易动这块区域了. LVM的标识是8e,设置完成后记得按w保存

clip_image010

clip_image012

 

大家看见 The new table will be used at the next reboot没?意思就是这个分区在下次启动的时候才能使用,我们可以使用一个命令,让这个分区马上生效哈~

输入 #partprobe    ( yum -y install parted )   

    如果报错(Warning: WARNING: the kernel failed to re-read the partition table on /dev/xvda (Device or resource busy).  As a result, it may not reflect all of your changes until after reboo)

    执行下面的参数:

    sudo cat /proc/partitions
    partx -a /dev/xvda

     sudo cat /proc/partitions

 

  2、创建物理卷PV (physical volume)

        创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。

       [root@linux~]$pvcreate /dev/sdb1 /dev/sdb2   添加两个分区为物理卷

       [root@linux~]$pvcreate/dev/hda7    添加一个分区为物理卷

  3、创建卷组VG  (volume group)

         创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:

   [root@linux~]$vgcreate vgdata /dev/sdb1 /dev/sdb2        #vgdata是卷组的名字,自定义

 4、创建逻辑卷组 (Logical Volume Group)

      创建逻辑卷的命令为lvcreate:

 

     [root@linux~]$  lvcreate -L 500M –n lvdatal   vgdata

  该命令就在 vgdata卷组 上创建名字为 lvdatal 的逻辑卷组,大小为500M的,并且设备入口为 /dev/vgdate/lvdatal。

 

    5、在逻辑卷组上创建文件系统!!  

            使用mkfs.ext4命令在逻辑卷lvdatal上创建ext4文件系统.

            mkfs.ext4  /dev/vgdate/lvdatal    

              #mkfs -t ext3 /dev/sdax   (这样也可以!!)

 

      6、挂载!

            在创建好的逻辑卷组上创建好文件系统以后就可一直接挂载使用了!!

            命令: mount  /dev/vgdata/lvdatal  /back    #把创建好的逻辑卷组挂载到新建的/back目录下!

            如果ls /back 目录里面有lost+found目录说明挂载的逻辑卷组可以正常使用了,因为新建的back目录是不会有lost+found

          我们创建LVM是从物理分区-物理卷pv-卷组vg-逻辑卷-挂载到目录这个顺序来的..

            重点来了!!!下面是怎么随意改变逻辑卷组的大小!    

[root@clear /]# pvdisplay    #查看物理卷的信息!! 我的物理卷是由两个分区(sdb1和sdb2)组成的!!
  --- Physical volume ---   # 这两个分区的文件类型为lvm也就是8e.   
  PV Name               /dev/sdb1
  VG Name               vgdate
  PV Size               1.01 GiB / not usable 3.41 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              258
  Free PE               133
  Allocated PE          125
  PV UUID               lu4lvW-GKe1-2I11-ISPM-0aor-UMmE-AjzFPW

  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               vgdate
  PV Size               1.01 GiB / not usable 3.44 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              258
  Free PE               258
  Allocated PE          0
  PV UUID               g2OdBL-qomg-KWQU-Pb1t-Gz0w-Umkm-U9kn1n

[root@clear /]# vgdisplay  #查看卷组的信息!!  卷组vgdate是由物理卷里面的两个分区创建的,所以卷组的大小是sdb1和sdb2的和! 
  --- Volume group ---
  VG Name               vgdate
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  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               2.02 GiB
  PE Size               4.00 MiB
  Total PE              516
  Alloc PE / Size       125 / 500.00 MiB
  Free  PE / Size       391 / 1.53 GiB
  VG UUID               vb0yv7-xy2Q-EtO5-tiOw-7ddH-9dEm-J2oWev


[root@clear /]# lvdisplay  #查看逻辑卷组的信息!! 逻辑卷组lvdatal是在卷组vgdate里面创建的! 所以逻辑卷组的大小是不可能超过卷组的大小的!!!
  --- Logical volume ---
  LV Path                /dev/vgdate/lvdatal  #当逻辑卷组的大小不够用的时候,可以不断增大直到卷组全部没有剩余的空间.
  LV Name                lvdatal  #当卷组没有剩余的空间了,我们可以创建物理卷,然后把物理卷添加到卷组!
  VG Name                vgdate
  LV UUID                bYR8Xp-kIS9-u6B5-O3UU-NqVv-ENd2-nEZ4WU
  LV Write Access        read/write
  LV Creation host, time clear.limit, 2013-03-29 02:01:46 +0800
  LV Status              available
  # open                 1
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

 

shijzh增加逻辑卷组容量的时候有两种情况!!

 

一.卷组有空闲容量!

    直接通过命令lvextend –L +200M /dev/vgdata/lvdatal 或者 lvextend –l 2.5G /dev/vgdata/lvdatal 给lvdatal增加200M空间

        注意:  lvextend -l +100%FREE /dev/vgdata/lvdatal  把剩余的所有空间分给lvdatal逻辑卷组

    resize2fs /dev/vgdata/lvdatal  记得使用resize2fs命令来同步文件系统.

二.卷组容量已经用完,这种情况比较多..

    首先 创建8e文件类型的物理分区,并把物理创建成物理卷!

    创建屋里分区省略...

    把物理分区创建成物理卷 

     [root@linux~]$pvcreate /dev/sdb3

    然后把物理卷加入需要扩容的卷组 vgdate!

    [root@linux~]$ vgextend    vgdata     /dev/sdb3    #卷组没有文件系统所以不用同步文件系统!!  

    使用vgdisplay vgdata 可以查看vgdata卷组的容量是否增加了!!

    然后使用命令 lvextend –L +200M /dev/vgdata/lvdatal 或者 lvextend –l 2.5G /dev/vgdata/lvdatal 给lvdatal增加200M空间

    注意: lvextend -l +100%FREE /dev/vgdata/lvdatal 把剩余的所有空间分给lvdatal逻辑卷组

    最后 记得使用 resize2fs /dev/vgdata/lvdatal (resize2fs 命令来同步文件系统).

    LVM的删除!! 删除和安装一样反着来就好了!!从卸载-删除逻辑卷-删除卷组vg-删除物理卷pv-删除物理分区

    载 : umount /back  

        删除逻辑卷: lvremove /dev/vgdata/lvdatal

    删除卷组:vgremove vgdata

    删除物理卷:pvremove  /dev/sdb1

              pvremove  /dev/sdb2

    删除物理分区: 这个就不多说了!!

以上知识LVM常用的增加容量的功能和创建/删除lvm的具体方法,其它的 缩减逻辑卷组 磁盘损坏转移数据可以参考 http://dreamfire.blog.51cto.com/418026/1084729/

---------------工作中遇到的问题--------------------------

Vsphere 虚拟机硬盘扩容步骤;

注意:被扩容的磁盘分区必须是LVM系统管理的分区. 否则无法对分区扩容.

1:先通过sphere client 或者 vcenter 关闭虚拟机给虚拟机扩容.

2:进入linux系统分区情况

 

[root@DFS2 src]# fdisk -l

Disk /dev/sda: 96.6 GB, 96636764160 bytes

255 heads, 63 sectors/track, 11748 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0002db15

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64       10444    83373056   8e  Linux LVM   (符合扩容要求)


3:在/dev/sda设备上创建新的主分区,即把新增的容量做成一个新的主分区.

fdisk /dev/sda    
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n    

Command action
   l   logical (5 or over)
   p   primary partition (1-4)p    
   
Partition number (1-4): 3    

First cylinder (2611-3916, default 2611): "enter"Using default value 2611
Last cylinder, +cylinders or +size{K,M,G} (2611-3916, default 3916): "enter"Using default value 3916

Command (m for help): t    
Partition number (1-5): 3    

Hex code (type L to list codes): 8e    

Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): w       
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

4:把创建的分区创建成物理卷并加入到卷组.

 

root@Mega:~# pvcreate /dev/sda3    #
  Device /dev/sda3 not found (or ignored by filtering).
  
root@Mega:~# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created
  
root@Mega:~# vgdisplay
  --- Volume group ---
  VG Name               Mega
...
VG Size               19.76 Gib

root@Mega:~# vgextend Mega /dev/sda3
  Volume group "Mega" successfully extended
  
root@Mega:~# pvscan
  PV /dev/sda5   VG Mega   lvm2 [19.76 GiB / 0    free]
  PV /dev/sda3   VG Mega   lvm2 [10.00 GiB / 10.00 GiB free]
  Total: 2 [29.75 GiB] / in use: 2 [29.75 GiB] / in no VG: 0 [0   ]
  
root@Mega:~# lvdisplay
  --- Logical volume ---
  LV Name                /dev/Mega/root
  
root@Mega:~# lvextend /dev/Mega/root /dev/sda3
  Extending logical volume root to 28.90 GiB
  Logical volume root successfully resized
  
oot@Mega:~# resize2fs /dev/Mega/rootresize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/Mega/root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/Mega/root to 7576576 (4k) blocks.
The filesystem on /dev/Mega/root is now 7576576 blocks long.

 

 

学习就学习呗,怎么还考试?!怎么人和人之间一点信任都没有!  

 

怎么人和人之间一点信任都没有

 

转载于:https://my.oschina.net/denglz/blog/118530

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值