LVM分区空间扩充

news2024/9/25 17:20:54

老早之前自己整理的,今天有同事问起,再整理一下发出来。        

 LVM的全称为Logical Volume Manager,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配。当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。它只是在物理分区中划出了一个特殊的区域,用于记载与LVM相关的管理参数。 
VG(volume group)
:卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。由于受内核限制的原因,一个逻辑卷(Logic Volume)最多只能包含65536PEPhysical Extent),所以一个PE的大小就决定了逻辑卷的最大容量,4 MB(默认) PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷,则创建卷组时需要指定更大的PE。在Red Hat Enterprise Linux AS 4PE大小范围为8 KB 16GB,并且必须总是 2 的倍数。 

下面我们通过一个实例来说明如何创建LVM

1.准备物理分区(Physical Partions 

  首先,我们需要选择用于 LVM 的物理存储器。这些通常是标准分区,但也可以是已创建的 Linux Software RAID 卷。这里我利用fdisk命令,将sdbsdc两块磁盘分了两个区sdb1sdc1 通过fdiskt指令指定分区为8e类型(Linux LVM) 。

2.创建物理卷PVPhysical Volumes

[root@cfbdb5 oracle]#pvcreate /dev/sdb1 
  Physical volume "/dev/sdb1" successfully created
[root@cfbdb5 oracle]#
 pvcreate /dev/sdc1 
  Physical volume "/dev/sdc1" successfully created

3.创建卷组VGVolume Groups,命名为vg_test

[root@cfbdb5 ~]#vgcreate vg_test /dev/sdb1
  Volume group "vg_test" successfully created

使用卷组查看命令vgdisplay显示卷组情况:

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  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               19.99 GB
  PE Size               4.00 MB
  Total PE              5118
  Alloc PE / Size       2560 / 10.00 GB
  Free  PE / Size       2558 / 9.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

4.创建逻辑卷LVLogical Volumes ,命名为test_lv

创建逻辑卷的命令为lvcreate-l 参数为定PE数来设定逻辑分区大小,也可以使用-L参数直接指定逻辑分区大小,-n参数指定逻辑分区名称。

[root@cfbdb5 oracle]# lvcreate -l 2000 -n lv_test vg_test
  Logical volume "lv_test" created

也可以使用-L参数

[root@cfbdb5 oracle]# lvcreate -L 10G -n lv_test vg_test
  Rounding up size to full physical extent 19.99 GB
  Logical volume "lv_test" created

使用lvdisplay命令查看逻辑卷情况

[root@cfbdb5 oracle]#lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_test/lv_test
  VG Name                vg_test
  LV UUID                kgUoMy-W1qG-7tAQ-dI5j-Z2KO-a8Td-mXAFbc
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                19.99 GB
  Current LE             5118
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

5.创建文件系统,并挂载

在逻辑卷上创建ext3文件系统

[root@cfbdb5 oracle]#mkfs -t ext3 /dev/vg_test/lv_test 

[root@cfbdb5 oracle]#mount /dev/vg_test/lv_test /opt/oracle/
[root@cfbdb5 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       16G  4.7G   11G  32% /
/dev/sda1              99M   27M   67M  29% /boot
tmpfs                 872M     0  872M   0% /dev/shm
/dev/mapper/vg_test-lv_test
                      9.9G  151M  9.2G   2% /opt/oracle

管理LVM 

  LVM的最大好处就是可以动态地调整分区大小,而无须重新启动机器,下面让我们来体验一下吧!继续上面的实例,现假设逻辑卷/dev/vg_test/lv_test空间不足,需要增加其大小,我们分两种情况讨论: 

1.卷组中有剩余的空间 

  通过vgdisplay命令可以检查当前卷组空间使用情况

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  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               19.99 GB
  PE Size               4.00 MB
  Total PE              5118
  Alloc PE / Size       2560 / 10.00 GB
  Free  PE / Size       2558 / 9.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

确定当前卷组剩余空间9.99GB,剩余PE数量为2558个。在这里将所有的剩余空间全部增加给逻辑卷 /dev/vg_test/lv_test

[root@cfbdb5 oracle]# lvextend -l +2558 /dev/vg_test/lv_test 
  Extending logical volume lv_test to 19.99 GB
  Logical volume lv_test successfully resized 

也可以通过-L直接指定大小,通过 +/- 增加/减小 空间。

修改逻辑卷大小后,通过resize2fs来修改文件系统的大小。

[root@cfbdb5 oracle]#resize2fs /dev/vg_test/lv_test 
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg_test/lv_test is mounted on /opt/oracle; on-line resizing required
Performing an on-line resize of /dev/vg_test/lv_test to 5240832 (4k) blocks.
The filesystem on /dev/vg_test/lv_test is now 5240832 blocks long.

再次查看文件系统的大小:
[root@cfbdb5 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       16G  4.7G   11G  32% /
/dev/sda1              99M   27M   67M  29% /boot
tmpfs                 872M     0  872M   0% /dev/shm
/dev/mapper/vg_test-lv_test
                       20G  156M   19G   1% /opt/oracle

2.卷组中空间不足 

  当卷组中没有足够的空间用于扩展逻辑卷的大小时,就需要增加卷组的容量,而增加卷组容量的惟一办法就是向卷组中添加新的物理卷。 
  首先需要对新增加的磁盘进行分区创建物理卷等工作。),接下来是利用vgextend命令将新的物理卷加入到卷组中, 我们这里使用/dev/sdc1

[root@cfbdb5 oracle]#vgextend vg_test /dev/sdc1  
  Volume group "vg_test" successfully extended

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               59.98 GB
  PE Size               4.00 MB
  Total PE              15356
  Alloc PE / Size       5118 / 19.99 GB
  Free  PE / Size       10238 / 39.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

完成卷组的扩容后,就可以按照第一种情况的方法完成逻辑卷的扩容,最终实现分区的动态调整。

补充实际操作截图:

虚拟机增加新的硬盘(一定要增加新的硬盘)

  1. 添加fdisk sdd 分区后 直接  加了分区后要分一下区 fdisk
  2. 分区后就自动产生了 /odev/sde1  
  3. vgextend  datavg /dev/sdd1(添加SDC 磁盘4)

    在查询的就可以看到  free 变大了

    lvextend -L +200G -n  /dev/mapper/datavg-lv—oracle

    lvextend -L +700G -n  /dev/mapper/vgoracle-lvoracle

    resize2fs  /dev/mapper/datavg-lv—oracle

    resize2fs /dev/mapper/vgoracle-lvoracle

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1026721.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL: 锁

一、table CREATE TABLE dog (id int(11) NOT NULL AUTO_INCREMENT,age int(11) DEFAULT NULL,weight int(11) DEFAULT NULL,PRIMARY KEY (id),KEY idx_age (age) ) ENGINEInnoDB AUTO_INCREMENT51 DEFAULT CHARSETutf8二、插入数据: 三、主键上锁的测试&#xff…

C++中的四种类型转换运算符

隐式类型转换是安全的,显式类型转换是有风险的,C语言之所以增加强制类型转换的语法,就是为了强调风险,让程序员意识到自己在做什么。但是,这种强调风险的方式还是比较粗放,粒度比较大,它并没有表明存在什么风险,风险程度如何。 再者,C风格的强制类型转换统一使用( ),…

linux上mysql数据备份(全量备份策略+增量备份策略)

执行备份策略前,先做好scp命令的准备 解决思路: 生成SSH公钥/私钥后,您需要将公钥添加到服务器上,从而使服务器可以使用该公钥来验证您的身份。 生成SSH公钥/私钥的命令为 ssh-keygen -t rsa -b 4096什么都不用输入&#xff0c…

用于无功补偿的固定电容晶闸管控制反应器研究(Simulink)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

已解决 (org.springframework.beans.factory.BeanCreationException)

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

vue模板语法(下集)

事件处理器 Vue模板语法中的事件处理器是指在Vue组件中绑定DOM事件,当事件发生时执行相应的方法或表达式。常见的事件包括点击事件click、输入事件input、鼠标移入事件mouseover等等。 事件监听可以使用v-on 指令 2.1 事件修饰符 .Vue通过由点(.)表示的指令后缀来调…

近2万签名的句子网络签名ACCESS\EXCEL数据库

虽然已经有《24万QQ伤感签名论坛签名ACCESS数据库》和《2万多条QQ签名论坛签名大全ACCESS数据库》两个论坛签名数据,但是总觉得今天更正经一些,每个句子都可以当作一个好词好句。 分类包含:爱情诗(2315)、超级拽&#…

IMX6ULL ARM Linux开发板SD卡启动,SD卡的分区与分区格式化创建

一、确定TF卡挂载到ubuntu上的设备名称及分区情况 1. 在ubuntu不接入TF卡的情况下, 使用df -lh /dev/sd*命令查看当前"/dev/sd开头"的设备。 ##输入df -lh /dev/sd*命令,敲回车键 ~$ df -lh /dev/sd* 2.将TF卡接入到ubuntu,再次使…

Compose的一些小Tips - 可组合项的绘制

系列文章 Compose的一些小Tips - 可组合项的生命周期 Compose的一些小Tips - 可组合项的绘制(本文) Compose的一些小Tips - 列表的优化 前言 本系列介绍Compose的一些常识,了解这些tips并不会让人摇身一变成为大佬,但可以帮助到…

大数据Flink(八十四):SQL语法的DML:窗口聚合

文章目录 SQL语法的DML:窗口聚合 一、滚动窗口(TUMBLE)

R 语言画图中英文字体解决方案

在某些时候,需要在 R 画图中添加中文,但是默认情况下,R 对中文的支持不好。这里推荐一个 showtext 的 R 包。如果需要将含有中文字体的图形保存为 pdf 文件,可以使用下面讲到的方案,最新版的showtext已经支持了 ggplot…

6.1 使用scikit-learn构建模型

6.1 使用scikit-learn构建模型 6.1.1 使用sklearn转换器处理数据6.1.2 将数据集划分为训练集和测试集6.1.3 使用sklearn转换器进行数据预处理与降维1、数据预处理2、PCA降维算法 代码 scikit-learn(简称sklearn)库整合了多种机器学习算法,可以…

已解决 Bug: SyntaxError - expected expression, got ‘<‘

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…

C# ref 学习1

ref 关键字用在四种不同的上下文中; 1.在方法签名和方法调用中,按引用将参数传递给方法。 2.在方法签名中,按引用将值返回给调用方。 3.在成员正文中,指示引用返回值是否作为调用方欲修改的引用被存储在本地,或在一般…

React 全栈体系(十)

第五章 React 路由 三、基本路由使用 7. 代码 - Switch 的使用 7.1 Test /* src/pages/Test/index.jsx */ import React, { Component } from reactexport default class Test extends Component {render() {return (<div><h2>Test....</h2></div>…

拓世AI|轻松涨粉的秘密武器!从选题到配图,AI工具让你事半功倍

2023年的小红书&#xff0c;发展趋势依旧昂扬向上。 最新数据显示&#xff0c;小红书拥有逾3亿的月活用户,且超过80%的用户集中在20-30岁年龄段。这代表什么?广大的年轻用户基数和消费能力!正处于购买力上升期的年轻人,是品牌最想抓住的目标用户。巨大的红利吸引了无数人下场…

自定义开发成绩查询小程序

在当今数字化时代&#xff0c;教育行业借助技术手段提高教学效果。作为老师&#xff0c;拥有一个自己的成绩查询系统可以帮助你更好地管理学生成绩&#xff0c;并提供更及时的反馈。本文将为你详细介绍如何从零开始搭建一个成绩查询系统&#xff0c;让你的教学工作更加高效和便…

MQ - 10 RocketMQ的架构设计与实现

文章目录 导图概述RocketMQ 系统架构协议和网络模块数据存储元数据存储消息数据生产者和消费者生产端消费端HTTP 协议支持和管控操作RocketMQ 从生产到消费的全过程总结导图 概述 RocketMQ 在功能、稳定性、性能层面都比 RabbitMQ 的表现更好 RocketMQ 系统架构 先来看一下 R…

驱动开发练习,platform驱动模型的使用

一.总线模型介绍 linux中将一个挂载在总线上的驱动的驱动模型分为三部分&#xff1a;device、driver和bus&#xff1b; device部分&#xff1a;用来保存设备信息对象&#xff0c;在内核中一个klist_device链表中进行管理&#xff1b; driver部分&#xff1a;用来保存驱动信息对…

Windows:虚拟内存的使用

文章目录 简介如何开启并设置虚拟内存如何查看虚拟内存参考文献 简介 windows里什么是虚拟内存&#xff1f; 其实类似Linux里的交换内存/交换页&#xff0c;即将硬盘上一块空间作为虚拟的内存&#xff0c;当物理内存不足时&#xff0c;则可以将不常用的数据从物理内存中转移到…