论坛首页 综合技术论坛

linux lvm使用

浏览 3476 次
锁定老帖子 主题:linux lvm使用
精华帖 (1) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-07-16   最后修改:2012-07-17

      linux (centos) 系统配置 逻辑盘卷管理 Logical Volume Manager

    

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

        lvm在真实的物理设备与用户可用的磁盘空间中做了一个中间适配层用户不需要关心底层到底有几个分区, 或者几个硬盘他看到的就只有一个分区. 借此来突破单个硬盘的存储上限. 这才是lvm的优势所在,

什么是  PV, PE, VG, LV 的意义
PV(physical volume):
物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG(volume group): 卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume): 逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent): 物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extent): 逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。

一,创建步骤:
      1,通过fdisk工具将磁盘转换为linux的分区
      2,通过pvcreate命令将linux分区转换为物理卷(pv)
      3,通过vgcreate命令将建好的物理卷处理成组卷(vg)
      4,通过lvcreate命令将卷组分成若干个逻辑卷(lv)
      5,对逻辑卷进行格式化,挂载,动态调整逻辑卷的大小,不会影响逻辑卷的数据

PV 阶段
   要创建 PV 其实很简单,只要直接使用 pvcreate 即可!我们来谈一谈与 PV 有关的命令吧!
    pvcreate : 将实体 partition 创建成为 PV ;
    pvscan : 搜寻目前系统里面任何具有 PV 的磁碟;
    pvdisplay : 显示出目前系统上面的 PV 状态;
    pvremove : 将 PV 属性移除,让该 partition 不具有 PV 属性。

VG 阶段
   创建 VG 及 VG 相关的命令也不少,我们来看看:
    vgcreate : 就是主要创建 VG 的命令啦!他的参数比较多,等一下介绍。
    vgscan : 搜寻系统上面是否有 VG 存在?
    vgdisplay : 显示目前系统上面的 VG 状态;
    vgextend : 在 VG 内添加额外的 PV ;
    vgreduce : 在 VG 内移除 PV;
    vgchange : 配置 VG 是否启动 (active);
    vgremove : 删除一个 VG 啊!

LV 阶段 LVM的逻辑卷
    lvcreate : 创建 LV 啦!
    lvscan : 查询系统上面的 LV ;
    lvdisplay : 显示系统上面的 LV 状态啊!
    lvextend : 在 LV 里面添加容量!
    lvreduce : 在 LV 里面减少容量;
    lvremove : 删除一个 LV !
    lvresize : 对 LV 进行容量大小的调整!


fdisk 分区 重复5次创建5个分区 硬盘为sdb  扩展分区时

 

[root@bogon ~]# fdisk /dev/sdb

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): c

DOS Compatibility flag is not set

Command (m for help): n

Command action
   e   extended
   p   primary partition (1-4)
p    创建一个主分区 多个逻辑分区()
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1000M

将新的分区表读入内存,并格式化新划出的分区

[root@bogon ~]#  partprobe   执行划好的分区写到内存中
-bash: partprobe: command not found
[root@bogon ~]# yum -y install parted

[root@bogon ~]#  partprobe   执行划好的分区写到内存中

[root@bogon ~]# fdisk -l   查看分区信息

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         128     1028128+  83  Linux LVM
/dev/sdb2             129         256     1028160   83  Linux LVM
/dev/sdb3             257         894     5124735    5  Extended
/dev/sdb5             257         384     1028128+  83  Linux LVM
/dev/sdb6             385         512     1028128+  83  Linux LVM
/dev/sdb7             513         640     1028128+  83  Linux LVM

 

创建和管理LVM

pv 阶段
[root@bogon ~]# pvcreate /dev/sdb{1,2,5,6} 

-bash: partprobe: command not found

[root@bogon ~]# yum install lvm2 安装lvm支持

[root@bogon ~]# pvcreate /dev/sdb{1,2,5,6}  创建pv  sdb(1.2.5.6)分区必须存在
[root@bogon ~]# pvscan  显示pv详细信息
  PV /dev/sdb1   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb2   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb5   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb6   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  Total: 5 [4.84 GiB] / in use: 5 [3.84 GiB] / in no VG: 0 [0   ]

vg 阶段

[root@bogon ~]# vgcreate -s 16M VolGroup   /dev/sdb{1,2,5,6}   创建vg

[root@bogon ~]# vgdisplay  显示vg详细信息
--- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        4
  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                4
  Act PV                4
  VG Size               3.84 GiB
  PE Size               16.00 MiB
  Total PE              248
  Alloc PE / Size       0 / 0
  Free  PE / Size       248 / 3.88 GiB
  VG UUID               yGy2H6-dNUv-aVZS-R5si-OvN3-qN7n-CQpfSA

lv 阶段

[root@bogon ~]# lvcreate -l 248 -n alinelv VolGroup    将vg分给alinelv  上面显示总共248个PE

[root@bogon ~]# ls /dev/VolGroup/    查看生成的alinelv

alinelv

[root@bogon ~]# mkfs.ext4 /dev/VolGroup/alinelv   格式化alinelv

[root@bogon ~]# mkdir /mnt/lvm1 创建目录 准备挂载


[root@bogon ~]# mount /dev/VolGroup/alinelv /mnt/lvm1    挂载目录可以存放东西了


/dev/sdb{1,2,5,6}硬盘有大多 lvm目录就可以存放相对应大小的数据


[root@bogon ~]# lvscan   显示lv详细信息

 ACTIVE            '/dev/VolGroup/alinelv' [3.84 GiB] inherit

[root@bogon ~]# cp -r /boot  /mnt/lvm1 测试copy数据进去

 

[root@bogon ~]# df -hT   显示系统挂载信息

 

Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda2     ext4    3.9G  590M  3.1G  16% /
tmpfs        tmpfs    514M     0  514M   0% /dev/shm
/dev/sda1     ext4    194M   22M  163M  12% /boot
/dev/sda3     ext4    2.0G   35M  1.8G   2% /home
/dev/mapper/VolGroup-alinelv
              ext4    3.84G  143M  3.8G  5% /mnt/lvm1

 

 

放大lvm容量

 


[root@bogon ~]# pvcreate /dev/sdb7   pv添加fdisk 已经划分好的分区

[root@bogon ~]# pvscan   显示pv详细信息
  PV /dev/sdb1   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb2   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb5   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb6   VG VolGroup   lvm2 [992.00 MiB / 0    free]
  PV /dev/sdb7   VG VolGroup   lvm2 [992.00 MiB / 0    free] 多了个sdb7的信息
  Total: 5 [4.84 GiB] / in use: 5 [4.84 GiB] / in no VG: 0 [0   ]

[root@bogon ~]# vgextend VolGroup  /dev/sdb7   vg加入新的pv


[root@bogon ~]# vgdisplay  显示vg详细信息

  --- Volume group ---
  VG Name               VolGroup
  System ID
  Format                lvm2
  Metadata Areas        5
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                5
  Act PV                5
  VG Size               4.84 GiB
  PE Size               16.00 MiB
  Total PE              310
  Alloc PE / Size       248 / 3.88 GiB
  Free  PE / Size       62 / 992.00 MiB  重点看这个信息 这个刚新加还没有使用的PE
  VG UUID               yGy2H6-dNUv-aVZS-R5si-OvN3-qN7n-CQpfSA

[root@bogon ~]# lvresize -l +62 /dev/VolGroup/alinelv   添加lv


[root@bogon ~]# dumpe2fs /dev/VolGroup/alinelv   查看文件状态


[root@bogon ~]#  resize2fs /dev/VolGroup/alinelv 把新加的用到lv上


e2fsck -f /dev/VolGroup/alinelv
提示要
[root@bogon ~]# e2fsck -f /dev/VolGroup/alinelv 执行

[root@bogon ~]# lvscan  显示lv详细信息

 ACTIVE            '/dev/VolGroup/alinelv' [4.84 GiB] inherit

 

卸载LVM


[root@bogon ~]# umount /mnt/lvm1 取消挂载

[root@bogon ~]# lvremove /dev/VolGroup/alinelv   lv移除


[root@bogon ~]# vgremove VolGroup vg也移除


[root@bogon ~]# pvremove /dev/sdb1 /dev/sdb2 /dev/sdb5 /dev/sdb6 /dev/sdb7 pv移除


[root@bogon ~]# pvdisplay    查看是否已经删除


     根据上面的使用可以看到,LVM具有很好的可伸缩性,使用起来非常方便。可以方便地对卷组、逻辑卷的大小进行调整,更进一步调整文件系统的大小

论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics