使用逻辑卷管理灵活储存

author author     2022-08-29     617

关键词:

第五单元

使用逻辑卷管理灵活储存

 lvm 定义

Lvm是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。将磁盘分区处理成物理卷(pv),再将物理卷变成一个整块的卷组(voilmegroupvg)形成一个储存池。然后就可以在卷组随意创建lvm(逻辑卷组),并进一步在lvm上创建文件系统。

Lvm可拉伸也可压缩,当系统添加了新的磁盘,通过lvm,就不用将磁盘的文件移动到新的磁盘上以充分利用新的存储空间。而是直接扩展文件系统跨越磁盘即可

 

lvm 建立

如果出现以下问题:

[[email protected] ~]# pvcreate /dev/vdb1

  Physical volume /dev/vdb1 not found

  Can‘t open /dev/vdb1 exclusively.  Mounted filesystem?

说明/dev/md0没有停止

 

解决:[[email protected] ~]# mdadm -S /dev/md0

mdadm: stopped /dev/md0

 

 

1  fdisk    /dev/vdb            ###建立两个分区####

注意:在wq保存前,要先将分区类型选成lvm的类型

监控pvvglvm的信息:watch   -n   1   echo  ===pvmessaage=== ; pvs; echo ===vgmessage=== ; vgs; echo ===lvmessage=== ; lvs;  df  /weixindata

2  pvcreate   /dev/vdb1                    ###将物理分区创建成物理卷(pv###

3   vgcreate   vg0    /dev/vdb1           ##将物理卷创建成卷组,卷组名为vg0###

4  lvcreate   -L   300M   -n   lv0   vg0   ###在vg0上创建lvm ,-L 值大小为300M,-n指取名为lv0###

5  Mkfs.xfs    /dev/vg0/lv0                ###lvm格式化###

6  mount   /dev/vg0/lv0   /weixindata/        ###lvm挂载到/weixindata目录下

Lvm创建过程如下:

[[email protected] ~]# pvcreate /dev/vdb1

  Physical volume /dev/vdb1 not found

WARNING: linux_raid_member signature detected on /dev/vdb1 at offset 4096. Wipe it? [y/n] y

  Wiping linux_raid_member signature on /dev/vdb1.

WARNING: xfs signature detected on /dev/vdb1 at offset 0. Wipe it? [y/n] y

  Wiping xfs signature on /dev/vdb1.

  Physical volume "/dev/vdb1" successfully created

[[email protected] ~]# vgcreate vg0 /dev/vdb1

  Volume group "vg0" successfully created

[[email protected] ~]# lvcreate -L 300M -n lv0 vg0

  Logical volume "lv0" created

[[email protected] ~]# mkfs.xfs /dev/vg0/lv0

meta-data=/dev/vg0/lv0           isize=256    agcount=4, agsize=19200 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=76800, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal log           bsize=4096   blocks=853, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

[[email protected] ~]# mount /dev/vg0/lv0 /weixindata/

 

 

 注: /dev/mapper/vg0-lv0   /dev/vg0/lv0都是指你所创建的lvmlv0

如下:

[[email protected] ~]# ll /dev/mapper/vg0-lv0

lrwxrwxrwx. 1 root root 7 Apr 22 03:47 /dev/mapper/vg0-lv0 -> ../dm-0

[[email protected] ~]# ll /dev/vg0/lv0

lrwxrwxrwx. 1 root root 7 Apr 22 03:47 /dev/vg0/lv0 -> ../dm-0

[[email protected] ~]#

 

lvm拉伸

分两步:1 拉伸设备

       2 拉伸文件系统

Lvextend  -L  900M   /dev/vg0/lv0    ###拉伸lvm到900M###

xfs_growfs   /dev/vg0/lv0             ###拉伸文件系统###

过程如下:

[[email protected] ~]# lvextend -L 900M /dev/vg0/lv0

  Extending logical volume lv0 to 900.00 MiB

  Logical volume lv0 successfully resized

[[email protected] ~]# xfs_growfs /dev/vg0/lv0

meta-data=/dev/mapper/vg0-lv0    isize=256    agcount=4, agsize=19200 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=76800, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal               bsize=4096   blocks=853, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 76800 to 230400

 

注意:如果要拉伸的大小太大,lvm不够时,只需扩大pv即可,pv不够就再加一块硬盘。

例:将大小为1024Mlvm拉伸到1500M,由于lvm不够,因此要扩大pv

Pvcreate   /dev/vdb2     ###增加pv###

vgextend   vg0   /dev/vdb2   ###增加vg0###

Lvextend   -L    1500M    /dev/vg0/lv0   ###拉伸lvm1500M###

xfs_growfs     /dev/vg0/lv0     ###拉伸文件系统###

过程如下:

[[email protected] ~]# lvextend -L 1500M /dev/vg0/lv0

  Extending logical volume lv0 to 1.46 GiB

  Insufficient free space: 150 extents needed, but only 30 available

[[email protected] ~]# pvcreate /dev/vdb2

  Physical volume /dev/vdb2 not found

WARNING: linux_raid_member signature detected on /dev/vdb2 at offset 4096. Wipe it? [y/n] y

  Wiping linux_raid_member signature on /dev/vdb2.

  Physical volume "/dev/vdb2" successfully created

[[email protected] ~]# vgextend vg0 /dev/vdb2

  Volume group "vg0" successfully extended

[[email protected] ~]# lvextend -L 1500M /dev/vg0/lv0

  Extending logical volume lv0 to 1.46 GiB

  Logical volume lv0 successfully resized

[[email protected] ~]# xfs_growfs /dev/vg0/lv0

meta-data=/dev/mapper/vg0-lv0    isize=256    agcount=12, agsize=19200 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=0

data     =                       bsize=4096   blocks=230400, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=0

log      =internal               bsize=4096   blocks=853, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 230400 to 384000

 

 

 

lvm 压缩

注意:有的文件系统不能压缩xfs的文件系统就不能压缩,ext4文件系统可以压缩

所以如果是xfs的文件系统要先改变文件系统

Umount   /weixindata            ###卸载###

Mkfs.ext4   /dev/vg0/lv0         ###格式化###

Mount   /dev/vg0/lv0   /weixindata/   ###挂载###

过程如下:

[[email protected] ~]# umount /weixindata/

[[email protected] ~]# mkfs.ext4 /dev/vg0/lv0

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

96000 inodes, 384000 blocks

19200 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=394264576

12 block groups

32768 blocks per group, 32768 fragments per group

8000 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

 

Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

 

[[email protected] ~]# mount /dev/vg0/lv0 /weixindata/

开始压缩:

为了防止压缩过小将文件损坏,就要先卸载,然后扫描,如果压缩过小就会提示

umount    /weixindata/     ###卸载###

e2fsck   -f   /dev/vg0/lv0     ###扫描###

resize2fs   /dev/vg0/lv0   300M   ###压缩文件系统300M###

如果没有提示,则说明压缩在允许范围内

mount    /dev/vg0/lv0     /weixindata/   ##挂载###

lvreduce   -L   300    /dev/vg0/lv0    ###压缩设备300M###

 

过程如下:

[[email protected] ~]# umount /weixindata/

[[email protected] ~]# mkfs.ext4 /dev/vg0/lv0

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

96000 inodes, 384000 blocks

19200 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=394264576

12 block groups

32768 blocks per group, 32768 fragments per group

8000 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

 

Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

 

[[email protected] ~]# mount /dev/vg0/lv0 /weixindata/

 

 

移除物理卷

要从一个卷组中移除一个物理卷,首先要确认要移除的物理卷没有被任何逻辑卷正在使用,可通过pvdisplay”命令查看

Pvdisplay    /dev/vdb2

如果total   PE Free  PE 相等,则没有被使用

如果正被使用,就需要将该物理卷的数据转移到别的物理卷,然后才能移除。

pvmove   /dev/vdb1   /dev/vdb2  ###将物理卷/dev/vdb1的数据移到/dev/vdb2###

vgreduce  vg0   /dev/vdb1        ###vdb1vg0里移走###

pvremove    /dev/vdb1           ###删除物理卷/dev/vdb1 ###

过程如下:

[email protected] ~]# pvmove /dev/vdb1 /dev/vdb2

  /dev/vdb1: Moved: 17.3%

  /dev/vdb1: Moved: 100.0%

[[email protected] ~]# vgreduce vg0 /dev/vdb1        

  Removed "/dev/vdb1" from volume group "vg0"

[[email protected] ~]# pvremove /dev/vdb1            

  Labels on physical volume "/dev/vdb1" successfully wiped

 

 

 

 

lvm 快照

目的 为保护原始数据

 lvcreate  -L  50M  -n  lv0backup  -s  /dev/vg0/lv0 ###-s指对/dev/vg0/lv0进行快照,-L指快照大小为50M,-n指快照名字为 lv0backup

mount   /dev/vg0/lv0backup    /weixindata/     ###将快照挂载到/weixindata/

 

例:在lvm挂载的目录/weixindata/ 下建立文件,然后对lvm进行快照,将其挂载到/weixindata/ 下,查看里面的文件,将文件全部删除,再删除快照,重新建立新的快照,再次查看/weixindata/ 下文件,发现文件还在,所以起到保护原始数据的作用。

过程如下:

[[email protected] ~]# touch  /weixindata/file{1..10}

[[email protected] ~]# cd /weixindata/

[[email protected] weixindata]# ls

file1   file2  file4  file6  file8  lost+found

file10  file3  file5  file7  file9

[[email protected] weixindata]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0

  Rounding up size to full physical extent 52.00 MiB

  Logical volume "lv0backup" created

[[email protected] weixindata]# mount /dev/vg0/lv0backup /weixindata/

[[email protected] weixindata]# cd /weixindata/

[[email protected] weixindata]# ls

file1   file2  file4  file6  file8  lost+found

file10  file3  file5  file7  file9

[[email protected] weixindata]# rm -fr *

[[email protected] weixindata]# ls

[[email protected] weixindata]# cd

[[email protected] ~]# umount /weixindata/

[[email protected] ~]# lvremove /dev/vg0/lv0backup       ###删除快照###

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

  Logical volume "lv0backup" successfully removed

[[email protected] ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0  ###建立快照##

  Rounding up size to full physical extent 52.00 MiB

  Logical volume "lv0backup" created

[[email protected] ~]# mount /dev/vg0/lv0backup /weixindata/

[[email protected] ~]# cd /weixindata/

[[email protected] weixindata]# ls

file1   file2  file4  file6  file8  lost+found

file10  file3  file5  file7  file9

 

卸载

umount /weixindata/                ###卸载###

lvremove /dev/vg0/lvbackup        ###删除快照###

lvremove /dev/vg0/lv0            ###删除lv0###

vgremove vg0                     ###删除vg0###

pvremove /dev/vdb2              ###删除物理卷/dev/vdb2###

 


第二本书unit5.使用逻辑卷管理器管理灵活存储

unit5使用逻辑卷管理器管理灵活存储1.lvm(可溶性磁盘扩展)1).lvm建立(设备可以无限扩大,但是文件系统之支持18eb)1.划分物理分区并把分区id修改为8epvs|pvdisplayvdb1,2    /*显示pvvgs|vgdisplaywestos    /*... 查看详情

逻辑卷管理(十八)

为什么要使用逻辑卷管理?逻辑卷:优点:在于灵活管理1、动态扩容2、在线扩容3、离线裁剪4、数据条带化5、数据镜像基本概念:物理卷(pv):物理卷是底层真正存放数据的一个设备,该设备可以是整块磁盘也可以是磁盘的... 查看详情

逻辑卷lvm管理

逻辑卷为了更加灵活的使用我们的磁盘存储空间传统磁盘空间分区大小固定且不能修改,一般企业中只有增大需求,一般没有缩小的需求。目的:使用逻辑卷可以将磁盘分区变大变小。tips:分区采用xfs文件系统,分区只能变大... 查看详情

lvm逻辑卷管理

  LVM逻辑卷管理,在实际环境中被广泛的应用。使用LVM的最大的好处在与对磁盘分区大小和系统分区结构可以灵活的管理。它可以在服务器上新增加一块磁盘而做到不改变系统的分区结构,可动态增加逻辑分区大小,也可... 查看详情

lvm逻辑卷

...设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载... 查看详情

lvm逻辑卷管理--在线扩容逻辑卷与卷组容量缩减逻辑卷快照(代码片段)

LVM逻辑卷管理公司生产环境中使用了LVM逻辑卷管理,所以今天花时间整理一下。通过LVM技术整合所有的磁盘资源进行分区,然后创建PV物理卷形成一个资源池,再划分卷组,最后在卷组上创建不同的逻辑卷,继而初始化逻辑卷,... 查看详情

lvm逻辑盘卷管理

...,并进一步在逻辑卷上创建文件系统。当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分 查看详情

linux磁盘管理:lvm逻辑卷

...个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。 & 查看详情

lvm逻辑卷

...个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性,使用普通... 查看详情

lvm逻辑卷管理

...个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘... 查看详情

linux里面lvm是啥?

...设备之上的一个抽象层,允许你生成逻辑存储卷,和直接使用物理存储在管理上相比,提供了更好灵活性。LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,和硬件相关的存储设置被其隐藏,你能不用停止应用或卸载... 查看详情

逻辑卷管理器(lvm)

1、逻辑卷管理器(LVM)(1)逻辑卷管理器(LVM,logicalvolumemanager)可以整合多个物理分区在一起,让这些分区看起来就像一个磁盘一样,而且,还可以在将来其他的物理分区或将其从这个LVM管理的磁盘中删除。这样可以实现磁... 查看详情

lvm逻辑卷管理

LVM概述LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM的工作原理其实很简单,它就是通过将底层的... 查看详情

使用ssm(系统存储管理器)进行逻辑管

...发,用于管理各种各样的存储设备。目前,有三种可供ssm使用的卷管理后端:LVM、Btrfs和Crypt准备ssm,在CentOS/RHEL7上,你需要首先安装系统存储 查看详情

lvm逻辑卷管理

...种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。LVM基本术语1.物理卷(PhysicalV... 查看详情

lvm逻辑卷管理

...是Linux环境下对磁盘分区进行管理的一种机制解释:LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过... 查看详情

lvm是逻辑盘卷管理(代码片段)

...理存储生成提取层,以便创建逻辑存储卷。这样就比直接使用物理存储在很多方面提供了更大的灵活性。使用逻辑卷时不会受物理磁盘大小限制。物理卷(PhysicalVolume,PV)指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备... 查看详情

lvm逻辑盘卷管理

一、简介LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM的工作原理是通过将底层的物理硬盘抽象的... 查看详情