700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > linux lvm 8e下继续划分分区 linux下LVM学习_逻辑卷管理

linux lvm 8e下继续划分分区 linux下LVM学习_逻辑卷管理

时间:2021-11-10 20:50:37

相关推荐

linux lvm 8e下继续划分分区 linux下LVM学习_逻辑卷管理

一、LVM介绍

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,通过LVM可以在不停机的情况下调整分区大小,提高了磁盘分区管理的灵活性。

LVM的原理是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM专业用语

*物理存储介质(PhysicalStorageMedia)

指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。

*物理卷(Physical Volume,PV)

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

*卷组(Volume Group,VG)

类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

*逻辑卷(Logical Volume,LV)

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

*物理块(Physical Extent,PE)

每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

*逻辑块(Logical Extent,LE)

LVM抽象模型

LVM抽象模型

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

1.使用fdisk 新建分区 修改ID为8e,LVM的分区类型为8e

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

4.使用 vgcreate 创建 VG 创建卷组。

5.使用 lvcreate 创建 LV创建逻辑卷

6.格式化LV

7.挂载

示例过程:

1. 查看磁盘情况

# fdisk -l

# lsblk

2.使用fdisk 新建分区 修改ID为8e 并更新

# fdisk /dev/sdb

# partprobe

3.使用 pvcreate 创建 PV (pvscan pvdisplay)

# pvcreate /dev/sdb{5,6,7}

4.使用 vgcreate 创建 VG (vgscan vgdisplay pvscan)

# vgcreate -s 16M testvg /dev/sdb{5,6,7}

5.使用 lvcreate 创建 LV (vgdisplay lsblk lvdisplay)

# lvcreate -l 192 -n testlv testvg

6.格式化LV

# mkfs -t ext4 /dev/testvg/testlv

7.挂载(mkdir df lsblk)

# mount /dev/testvg/testlv /mnt/test

删除LVM的过程

1.先卸载系统上面的 LVM 文件系统 (包括快照与所有 LV)

2.使用 lvremove 移除 LV

3.使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志

4.使用 vgremove 移除 VG

5.使用 pvremove 移除 PV

6.使用 fdisk 修改 ID 回来啊

示例过程:1,2,1,3,4,5,6,1,7

1. 查看分区和磁盘情况

# df -h

# lsblk

2. 卸载LVM 文件系统

# umount /mnt/test

# umount /mnt/test2

3. 使用 lvremove 移除 LV ( lvscan lvdisplay )

# lvremove /dev/testvg/testlv

# lvremove /dev/testvg/test2lv

4.使用 vgchange -a n VGname 让 VGname 这个 VG 不具有 Active 的标志;

# vgchange -a n testvg

5.使用 vgremove 移除 VG:(vgscan vgdisplay)

# vgremove testvg

6.使用 pvremove 移除 PV (注意1 里面的lsblk 查看到的 )

# pvremove /dev/sdb{5,6,7,8}

7.使用 fdisk 修改ID为82

# fdisk /dev/sdb

8.更新

# partprobe

放大 LV 容量的过程

1.用 fdisk 配置新的具有 8e system ID 的 partition

2.利用 pvcreate 建置 PV

3.利用 vgextend 将 PV 加入VG

4.利用 lvresize 将新加入的 PV 内的 PE 加入LV 中

5.透过 resize2fs 将文件系统的容量确实添加!

示例过程

1. 查看磁盘情况

# fdisk -l

# lsblk

2.使用fdisk 新建分区 修改ID为8e 并更新

# fdisk /dev/sdb

# partprobe

3.使用 pvcreate 创建 PV (pvscan pvdisplay)

# pvcreate /dev/sdb8

4.利用 vgextend 将 PV 加入VG (vgdisplay)

# vgextend testvg /dev/sdb8

5.利用 lvresize 将新加入的 PV 内的 PE 加入LV 中(vgdisplay vgdisplay lvdisplay lsblk df )

# lvresize -l +64 /dev/testvg/testlv

6.透过 resize2fs 将文件系统的容量确实添加( df )

# resize2fs /dev/testvg/testlv

缩小LV容量的过程(抽取整块分区)

1.卸载

2.使用resize2f 直接降低LV的容量

示例过程

1.查看PV情况 (df lsblk)

# pvdisplay

# pvscan

2.卸载

# umount /mnt/test

3.磁盘检测LV

# e2fsck -f /dev/testvg/testlv

4.使用resize2fs 直接指定降低后的容量

# resize2fs /dev/testvg/testlv 3G

5.重新挂载

# mount /dev/testvg/testlv /mnt/test

6.使用lvresize 降低LV的容量 (pvscan pvdisplay )

#pvdisplay

#lvreszie -l -64 /dev/testvg/testlv

7.将要抽离的PV 的PE转移到 空闲PV中 (pvscan pvdisplay)

# pvmove /dev/sdb5 /dev/sdb8

8.使用vgreduce 将PV移除VG

# vgreduce testvg /dev/sdb5

9.使用pvremove 去除PV

# pvremove /dev/sdb5

10.使用fdisk 修改ID

# fdisk /dev/sdb

先缩小LV1容量,后增大LV2容量的过程(生产环境下的减小/home 增大/root)

1.卸载LV1

2.使用 e2fsck 检测一下LV1

3.使用resize2fs 重新定义LV1的大小

4.重新挂载,检验一下结果

5.使用lvreduce 或lvresize 减小LV1至指定大小

6.使用lvextend 增加LV2的大小

7.重新定义下LV2大小

示例过程

1. 查看磁盘情况

# fdisk -l

# df -h

# lsblk

2.备份LV1的数据(mkdir tar mv )

# mkdir /mnt/backup

# tar -jcv -f /mnt/backup/test.tar.bz2 *

# mv /mnt/test/* /mnt/backup/

3.卸载LV1 ()

# umount /mnt/test

4.使用 e2fsck 检测一下LV1

# e2fsck -f /dev/testvg/testlv

5.使用resize2fs 重新定义LV1的大小

# resize2fs -p /dev/testvg/testlv 2G

6.重新挂载,检验一下结果

# mount /dev/testvg/testlv /mnt/test

# df -h

7.使用lvreduce 或lvresize 减小LV1至指定大小

# lvresize -L 2G /dev/testvg/testlv

# lvreduce -L 2G /dev/testvg/testlv

8.使用lvextend 增加LV2的大小

# lvextend -l +100%FREE /dev/testvg/test2lv

# lvextend -L +1G /dev/testvg/test2lv

9.重新定义下LV2大小

# resize2fs -p /dev/testvg/test2lv

10.检查结果

# df -h

# lsblk

查看下其他的实例过程

# mkdir /backup

# mv /home/* /backup/

# umount /home

# lvremove /dev/centos/home

# lvcreate -L 50G -n home cents

# mkfs -t xfs /dev/centos/home

# mv /backup/* /home/

# lvextend -L +xxxG /dev/centos/root

# xfs_growfs root

# rm -rf /backup

缩小LV是先声明 resize2fs -p 后定义 lvresize -L 的过程

扩大LV是先定义 lvresize -L 后声明 resize2fs -p 的过程

缩下VG是移除空闲的PV的过程

温馨提示

感谢您浏览《linux下LVM学习_逻辑卷管理》

现邀请您关注我们的【5分享】(fivsha)公众号,你将获取更多的IT资源。

如果有疑问也可以在公众号里面回复您遇到的问题或是点击在线帮助联系我们。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。