Linux_逻辑卷管理实战

wuchangjian2021-11-03 01:10:27编程学习

管理逻辑卷管理LVM的概念

我们在对普通的硬盘分区,格式化和挂载对磁盘分区时,如果发现磁盘空间不够了,或者发现磁盘分配的空间太⼤ 了。如果需要重新规划硬盘的话,就需要对硬盘进⾏重新格式化,当然这样硬盘的数据也就都没有了,⽽逻辑卷就 可以完美的这个问题。

逻辑卷可以很轻松的对磁盘进⾏管理,⽐如可以很轻松的增加和减少硬盘的⼤⼩。

从物理层⾯考虑,使⽤逻辑卷可以针对物理磁盘,RAID阵列或者SAN磁盘等

逻辑卷管理中⼏个重要的内容

1、物理卷(PV):对物理设备进⾏注册,以便可以划分到卷组

2、卷组(VG):由⼀个或多个物理卷组成,可以理解为⼀个硬盘池。注意⼀个PV只能给⼀个VG

3、逻辑卷(LV):从卷组中空闲的空间获取磁盘容量,也可以把多余的容量还给卷组

设置步骤-创建逻辑卷

1、先分区

分区类型是Linux LVM,使⽤fdisk分区是0x8e

[root@localhost ~]# fdisk /dev/sdb
<省略部分输出>
Command (m for help): n
Partition type:
 p primary (0 primary, 0 extended, 4 free)
 e extended
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-419430399, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): +10G //给该分区10G
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help): t //修改分区类型
Selected partition 1
Hex code (type L to list all codes): 8e //设置分区类型
2、分区表写⼊内核
[root@localhost ~]# partprobe /dev/sdb
3、创建物理卷
4、创建卷组
其中lewis是卷组的名字。卷组的容量就是sdb1这个分区的⼤⼩。如果卷组lewis的容量⽤完了,再新建分区或者增加硬盘来扩容,很⽅便。
5、创建逻辑卷
-n 设置逻辑卷的名称为:lvlewis
-L 指定逻辑卷的⼤⼩为:2G
lewis 指从卷组lewis中,取2G的空间
6、创建⽂件系统(格式化)
注意看格式化的路径:/dev/卷组名/逻辑卷名
Changed type of partition 'Linux' to 'Linux LVM'
Command (m for help): w //保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

2、分区表写⼊内核

[root@localhost ~]# partprobe /dev/sdb

3、创建物理卷

[root@localhost ~]# pvcreate /dev/sdb1
WARNING: xfs signature detected on /dev/sdb1 at offset 0. Wipe it? [y/n]: y //新分区应该不会弹出该告警
 Wiping xfs signature on /dev/sdb1.
 Physical volume "/dev/sdb1" successfully created.

4、创建卷组

其中lewis是卷组的名字。卷组的容量就是sdb1这个分区的⼤⼩。如果卷组lewis的容量⽤完了,再新建分区或者增 加硬盘来扩容,很⽅便。

[root@localhost ~]# vgcreate lewis /dev/sdb1
 Volume group "lewis" successfully created

5、创建逻辑卷

-n 设置逻辑卷的名称为:lvlewis

-L 指定逻辑卷的⼤⼩为:2G

lewis 指从卷组lewis中,取2G的空间

[root@localhost ~]# lvcreate -n lvlewis -L 2G lewis
Logical volume "lvlewis" created.

6、创建⽂件系统(格式化)

注意看格式化的路径:/dev/卷组名/逻辑卷名

[root@localhost ~]# mkfs.xfs /dev/lewis/lvlewis
meta-data=/dev/lewis/lvlewis isize=256 agcount=4, agsize=131072 blks
 = sectsz=512 attr=2, projid32bit=1
 = crc=0 finobt=0
data = bsize=4096 blocks=524288, imaxpct=25
 = sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=2560, version=2
 = sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

7、挂载

[root@localhost ~]# mkdir lewisfile //创建⼀个挂载点,也就是⼀个⽬录
[root@localhost ~]# vim /etc/fstab //编辑配置⽂件
/dev/lewis/lvlewis /root/lewisfile xfs defaults 0 0 //增加如下内容
[root@localhost ~]# mount -a //挂载测试

8、检查

发现有/dev/mapper/lewis-lvlewis 2.0G 33M 2.0G 2% /root/lewisfile,表示创建成功

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 50G 8.4G 42G 17% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 57M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-home 142G 23G 119G 17% /home
/dev/sda1 497M 130M 368M 27% /boot
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/mapper/lewis-lvlewis 2.0G 33M 2.0G 2% /root/lewisfile

查看物理卷,卷组和逻辑卷信息

1、查看物理卷信息-pvdisplay

命令后⾯不跟参数,会显示所有物理卷

[root@localhost ~]# pvdisplay /dev/sdb1
 --- Physical volume ---
 PV Name /dev/sdb1
 VG Name lewis
 PV Size 10.00 GiB / not usable 4.00 MiB
 Allocatable yes
 PE Size 4.00 MiB
 Total PE 2559
 Free PE 2047
 Allocated PE 512
 PV UUID hRUtFB-sTAc-V3CH-BL42-dMMZ-QxHu-G1zYCR

主要字段解释

PV Name 分区 VG Name 被分配到的卷组名

PV Size 物理卷的空间⼤⼩,包括不可⽤

PE Size 物理卷以PE作为最⼩单位进⾏结算,即最⼩是4M

Free PE 总共有多少个PE可⽤,所以物理卷可⽤空间⼤⼩⼀定是4M的倍数,所以某系情况下,我们看到最终分好的 逻辑卷和实际情况会有些差异。

2、查看卷组信息-vgdisplay

命令后⾯不跟参数,会显示所有卷组

[root@localhost ~]# vgdisplay lewis
 --- Volume group ---
 VG Name lewis
 System ID
 Format lvm2
 Metadata Areas 1
 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 1
 Act PV 1
 VG Size <10.00 GiB
 PE Size 4.00 MiB
 Total PE 2559
 Alloc PE / Size 512 / 2.00 GiB
 Free PE / Size 2047 / <8.00 GiB
 VG UUID 5AQA0E-b3qZ-qDJj-4AYq-pBk5-xpDO-xJ1UFe

主要字段解释

1、VG Name 卷组名

2、VG Size 卷组⼤⼩

3、Total PE 以PE单位来表示总⼤⼩

4、free PE / Size 还剩下多少个PE(剩余空间有多少)

3、查看逻辑卷-lvdisplay

命令后⾯不跟参数,会显示所有逻辑卷

[root@localhost ~]# lvdisplay /dev/lewis/lvlewis
 --- Logical volume ---
 LV Path /dev/lewis/lvlewis
 LV Name lvlewis
 VG Name lewis
 LV UUID bdaiVL-Ue2l-5pkQ-RhWv-720q-emRI-36b12v
 LV Write Access read/write
 LV Creation host, time localhost.localdomain, 2019-02-12 15:51:52 +0800
 LV Status available
 # open 1
 LV Size 2.00 GiB
 Current LE 512
 Segments 1
 Allocation inherit
 Read ahead sectors auto
 - currently set to 8192
 Block device 253:3

主要字段解释

LV Path 逻辑卷的路径

LV Name 逻辑卷的名字

VG Name 卷组名字

LV Size 逻辑卷⼤⼩

⾼级逻辑卷配置

1、增加卷组大小

卷组是⽤通过物理卷增加,物理卷是通过分区给的。因此增加⼀个分区sdb2为50G,并且把sdb2设置为物理卷

具体操作间上⽂

给卷组lewis增加分区sdb2

[root@localhost ~]# vgextend lewis /dev/sdb2
 Volume group "lewis" successfully extended

查看卷组⼤⼩,看到了VG Size字段为59.99 GiB,表示成功

[root@localhost ~]# vgdisplay lewis //省略部分输出 VG Size 59.99 GiB //省略部分输出

2、减少卷组大小

把sdb2这个分区,从lewis卷组中拿⾛,减少卷组⼤⼩的前提是⾥⾯没有数据

[root@localhost ~]# vgreduce lewis /dev/sdb2
 Removed "/dev/sdb2" from volume group "lewis"

3、增加逻辑卷的大小,基于XFS⽂件系统

主要分为四个步骤

1、检查卷组是否有空间–vgdisplay

2、增加逻辑卷⼤⼩–lvextend

[root@localhost ~]# lvextend -L +20G /dev/lewis/lvlewis
 Size of logical volume lewis/lvlewis changed from 2.00 GiB (512 extents) to 22.00 GiB
(5632 extents).
 Logical volume lewis/lvlewis successfully resized.

3、刷新⽂件系统

[root@localhost ~]# xfs_growfs /dev/lewis/lvlewis
meta-data=/dev/mapper/lewis-lvlewis isize=256 agcount=4, agsize=131072 blks
 = sectsz=512 attr=2, projid32bit=1
 = crc=0 finobt=0
data = bsize=4096 blocks=524288, imaxpct=25
 = sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=2560, version=2
 = sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 524288 to 5767168

4、检查确认

[root@localhost ~]# df -h
/dev/mapper/lewis-lvlewis 22G 34M 22G 1% /root/lewisfile

4、增加逻辑卷的⼤⼩,基于ext4⽂件系统

所有步骤都是xfs⼀样,唯⼀不同的是第三步,刷新⽂件系统

3、刷新⽂件系统命令

[root@localhost ~]# resize2fs /dev/lewis/lvlewis

删除逻辑卷

注意:删除之前请先做好数据备份,需要按照以下四步⼀次进⾏

1、卸载已经挂载的硬盘 然后df检查。

删除/etc/fstab⽂件下的挂载内容的配置

[root@localhost ~]# umount /dev/lewis/lvlewis

2、删除逻辑卷

[root@localhost ~]# lvremove /dev/lewis/lvlewis
Do you really want to remove active logical volume lewis/lvlewis? [y/n]: y
 Logical volume "lvlewis" successfully removed

3、删除卷组

[root@localhost ~]# vgremove lewis
 Volume group "lewis" successfully removed

4、删除物理卷

[root@localhost ~]# pvremove /dev/sdb1 /dev/sdb2
 Labels on physical volume "/dev/sdb1" successfully wiped.
 Labels on physical volume "/dev/sdb2" successfully wiped.

视频参考:https://www.bilibili.com/video/BV1eM4y1N7MQ/?spm_id_from=trigger_reload

相关文章

Vuex.

Vuex.

一、Vuex来源及四大控件 1.了解vuex中的各个js文件的用途 官方解释...

XML 元素概述

XML 元素概述

XML 元素指的是从(且包括)开始标签直到(且...

【C语言】字符串函数内存函数 十大函数超详讲解(详细讲解+代码演示+模拟实现)

【C语言】字符串函数内存函数 十大函数超详讲解(详细讲解+代码演示+模拟实现)

这篇文章主要介绍一些常用的字符串函数和内存操作函数,如果哪里写的有问题...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。