Linux-LVM逻辑卷管理4 min read

  • A+
所属分类:Linux运维 未分类

1. LVM逻辑卷图解

 

Linux-LVM逻辑卷管理

 

 

2. LVM逻辑卷管理相关命令

  

任务

PV阶段

VG阶段

LV阶段

搜寻(scan

pvscan

vgscan

lvscan

创建(create

pvcreate

vgcreate

lvcreate

列出(display

pvdisplay

vgdisplay

lvdisplay

添加(extend

 

vgextend

lvextendlvresize

减少(reduce

 

vgreduce

lvreducelvresize

删除(remove

pvremove

vgremove

lvremove

改变容量(resize

 

 

lvresize

改变属性(attnbute

pvchange

vgchange

lvchange

 

3. LVM操作实践

  

3.1 添加磁盘后将其指定为物理卷

  

   在当前服务器只有一块磁盘的情况下添加两块磁盘sdb和sdc

[root@beita /]# pvcreate /dev/sdb     #<== 首先加入新磁盘盘之后将该盘做成物理卷
  Physical volume "/dev/sdb" successfully created

[root@beita /]# pvcreate /dev/sdc     #<== 将第二块盘加入物理卷
  Physical volume "/dev/sdc" successfully created

[root@beita /]# pvdisplay             #<== 查看当前的物理卷
  "/dev/sdb" is a new physical volume of "1.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb      #<== 物理卷
  VG Name               
  PV Size               1.00 GiB      #<== 物理卷(PV)大小为1GB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               1lc5e5-B0lH-qloQ-nYUx-rkem-MVbR-GeIevc
   
  "/dev/sdc" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc      #<== 物理卷
  VG Name               
  PV Size               2.00 GiB      #<== 物理卷(PV)大小为2GB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               olYdeG-ZHXd-aUZu-34Yx-wPdg-T6RY-hxzPP0

#[root@beita /]# pvremove /dev/sdb    #<== 删除指定物理卷返利命令(此处忽略)

   

3.2 指定完以上两块物理卷,然后加入卷组

   

说明:卷组名字自定义,但是要注意相关的命令用法

[root@beita /]# vgcreate vg_group /dev/sdb /dev/sdc   #<== 创建卷组,将物理卷加入该卷组(卷组名字可随意)
  Volume group "vg_group" successfully created        #<== 成功创建

[root@beita /]# vgdisplay                             #<== 查看卷组
  --- Volume group --- 
  VG Name               vg_group                      #<== 卷组创建成功
  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               2.99 GiB                      #<== 卷组大小是所拥有的物理卷之和
  PE Size               4.00 MiB
  Total PE              766
  Alloc PE / Size       0 / 0   
  Free  PE / Size       766 / 2.99 GiB
  VG UUID               FRwIi8-yIOg-28CI-zGpI-v73I-sjAb-t8tDKx

   

3.3 卷组完成后开始分逻辑卷

  

[root@beita /]# lvcreate -L 2G -n lv_data vg_group
#<== 卷组分好之后创建第一个逻辑卷(也可只创建一个)命令:lvcreate; -L参数指定大小;-n指定逻辑卷名称;最后加卷组。
  Logical volume "lv_data" created.      #<== 逻辑卷创建成功

[root@beita /]# lvcreate -L 0.99 -n lv2_data vg_group     #<== 用剩下空间创建第二个逻辑卷
  Rounding up size to full physical extent 4.00 MiB
  Logical volume "lv2_data" created.     #<== 超出物理范围4M,但是创建成功了(是把剩下的空间都给这个逻辑卷了)

[root@beita /]# ls /dev/vg_group/        #<== 以上创建的实际就是/dev下面创建一个设备磁盘
lv2_data  lv_data
[root@beita /]# ll /dev/vg_group/
total 0
lrwxrwxrwx 1 root root 7 Jun 17 15:21 lv2_data -> ../dm-1
lrwxrwxrwx 1 root root 7 Jun 17 15:17 lv_data -> ../dm-0

  

3.4 格式化

   

  创建完之后怎么样才能用该逻辑卷呢?当然是格式化了!!!

[root@beita /]# mkfs.ext4 /dev/vg_group/lv_data    #<== 格式化磁盘为ext4文件系统
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
-----------------------------省略很多内容------------------
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@beita /]# mkfs.ext4 /dev/vg_group/lv2_data
-------------------------省略很多内容------------------
Maximum filesystem blocks=4194304

   

3.5 使用tune2fs 命令使fsck自检查系统关闭

   

[root@beita /]# tune2fs -c -1 /dev/vg_group/lv_data    #<== 设置第一块磁盘fsck自检关闭
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1

[root@beita /]# tune2fs -c -1 /dev/vg_group/lv2_data   #<== 设置第一块磁盘fsck自检关闭
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1

 

3.6 挂载投入使用

    

 提示:以下均演示一块磁盘

[root@beita /]# mount /dev/vg_group/lv_data /mnt    #<== 挂载设备到/mnt下
[root@beita /]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.9G  1.4G  5.1G  22% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   36M  145M  20% /boot
/dev/mapper/vg_group-lv_data
                      2.0G  3.0M  1.9G   1% /mnt    #<== 挂载成功

  

3.7 动态扩容

  

[root@beita /]# pvcreate /dev/sdd            #<== 先将/dev/sdd指定设为物理卷
  Physical volume "/dev/sdd" successfully created

[root@beita /]# vgextend vg_group /dev/sdd   #<== 将物理卷扩容到卷组
  Volume group "vg_group" successfully extended   #<== 扩容成功

[root@beita /]# vgdisplay                     #<== 查看卷组扩容后状态
  --- Volume group ---
  VG Name               vg_group
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.99 GiB     #<== 可见由原来的2.99G变为现在的3.99G
  PE Size               4.00 MiB
  Total PE              1021
  Alloc PE / Size       513 / 2.00 GiB
  Free  PE / Size       508 / 1.98 GiB
  VG UUID               FRwIi8-yIOg-28CI-zGpI-v73I-sjAb-t8tDKx
   
[root@beita /]# lvextend -L +0.99G /dev/vg_group/lv_data  
     #<==  现在给逻辑卷扩容,使用命令lvextend –L 指定扩容大小,因为这里是扩容,所以现在加0.99G(因为容量在其中有一定的损耗,所以要比实际的小一点)
  Rounding size to boundary between physical extents: 1016.00 MiB
  Size of logical volume vg_group/lv_data changed from 2.00 GiB (512 extents) to 2.99 GiB (766 extents).
  Logical volume lv_data successfully resized

[root@beita /]# df –h             #<==  查看设备容量是否成功扩容
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.9G  1.4G  5.1G  22% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   36M  145M  20% /boot
/dev/mapper/vg_group-lv_data
                      2.0G  3.0M  1.9G   1% /mnt   
#<== 现在还是2个G的容量,现在还没有成功扩容,是因为还没有生效,如果想让其生效就必须重启或者使用相关的命令====》resize2fs 接设备

[root@beita /]# resize2fs /dev/vg_group/lv_data    #<== 该命令是lvm里面配套的命令
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_group/lv_data is mounted on /mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg_group/lv_data to 784384 (4k) blocks.
The filesystem on /dev/vg_group/lv_data is now 784384 blocks long.

[root@beita /]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             6.9G  1.4G  5.1G  22% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   36M  145M  20% /boot
/dev/mapper/vg_group-lv_data
                      2.9G  3.0M  2.8G   1% /mnt    #<== 成功扩容

   


zhaoyulin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: