linux下进行lvm分区及扩容

news2024/9/17 1:42:15

目录

LVM存储管理介绍

lvm磁盘扩容有两种方式

创建lvm磁盘

1. 首先先加入第一块儿新的磁盘

2. 对新磁盘 /dev/sdb 进行分区

通过LVM命令创建新卷

1. 创建物理卷

2.创建卷组 并将物理卷加入其中

3. 创建逻辑卷并分配大小

4.格式化刚刚创建的硬盘

5. 挂载磁盘

扩容lvm之新增磁盘扩容

1. 新加一块儿磁盘,并分区

2. 创建物理卷

3. 扩容VG卷组

4. 将新的PV物理卷加入之前创建的data VG卷组

5. 扩容LV卷

6.检查刷新文件系统使其空间生效

扩容lvm之在原有磁盘扩容

1.扩容分区表

2.扩容物理卷PV

3.扩容逻辑卷LV

4.检查刷新文件系统使其空间生效


LVM存储管理介绍

  1. PV(Physical Volume):这是起点,相当于原始硬盘或分区。使用pvdisplay命令可以查看所有物理卷详情。
  2. VG(Volume Group):构建于PV之上,将多个PV聚合形成存储池,提升灵活性。通过vgcreate命令创建VG,vgdisplay展示VG信息。
  3. LV(Logical Volume):在VG中划分的可调整大小的逻辑空间,类似传统分区,但更灵活。用lvcreate创建LV,lvdisplay查看LV状态。LV创建后,格式化并挂载即可使用。

简言之,LVM通过PV→VG→LV的层级设计,结合实用命令操作,实现了存储资源的高效与动态管理。

lvm磁盘扩容有两种方式

1.一种是新加一块儿盘,将两块儿或多块儿硬盘和成一个卷

2.另一种是原有磁盘可以扩容,扩容磁盘空间后扩容分区表

然后扩容pv vg lv即可

创建lvm磁盘

  • 下面文档介绍的是新建一块儿盘做成lvm卷,然后再加一块儿新盘,将两块儿盘空间合成一个卷。
1. 首先先加入第一块儿新的磁盘

2. 对新磁盘 /dev/sdb 进行分区

(parted是磁盘分区命令,也可用fdisk,由于现在磁盘空间占用都很大,最好分gpt分区不要分mbr分区)

# parted /dev/sdb  #使用parted进入sdb磁盘
(parted) mktable gpt      #指定分区表类型为gpt
(parted) mkpart ext4 0% 100%     #指定gpt分区表的空间 (ext4只是一个标签,并不是真正的分区,分区还是要通过mkfs.ext4分)
(parted) print            #打印分区信息
(parted) quit             #退出

         

  • 分好区后可以lsblk看到新的分区/dev/sdb1

通过LVM命令创建新卷

1. 创建物理卷
# pvcreate /dev/sdb1

2.创建卷组 并将物理卷加入其中
# vgcreate data /dev/sdb1

(data为卷组名称可自定义)

3. 创建逻辑卷并分配大小
# lvcreate -l +100%free -n lvdata data

(该分配为全部分配,lvdata为逻辑卷名 data为卷组名)

  • 也可以只分配一部分空间
lvcreate -L 10G -n lvdata data
  • 创建完成后可以lsblk看到新的lvm的盘的名字和储存位置

  • 以及这块儿盘的实际文件位置(两个红框都是同一个新建的data-lvdata 只不过软连接的位置不一样)
4.格式化刚刚创建的硬盘
# mkfs.ext4 /dev/mapper/data-lvdata
  • 格式化成功后可以看到已经有UUID号了

5. 挂载磁盘

扩容lvm之新增磁盘扩容

1. 新加一块儿磁盘,并分区
sdc               8:32   0   500G  0 disk 
  • 分区要创建GPT分区,可以用fdisk或parted分区,参考文档开头
  • 对新磁盘 /dev/sdc 进行分区

(parted是磁盘分区命令,也可用fdisk,由于现在磁盘空间占用都很大,最好分gpt分区不要分mbr分区)

# parted /dev/sdc  #使用parted进入sdc磁盘
(parted) mktable gpt      #指定分区表类型为gpt
(parted) mkpart ext4 0% 100%     #指定gpt分区表的空间 (ext4只是一个name标签,并不是真正的分区,分区还是要通过mkfs.ext4分)
(parted) print            #打印分区信息
(parted) quit             #退出
  • 分好区后可以lsblk查看到sdc1
sdc               8:32   0   500G  0 disk 
└─sdc1            8:33   0   500G  0 part 
2. 创建物理卷
# pvcreate /dev/sdc1
[root@fce ~]# pvcreate /dev/sdc1      #创建物理卷
Physical volume /dev/sdc1 successfully created.

root@fce ~]# pvs  #查看已创建的物理卷
PV         VG     Fmt  Attr PSize    PFree
/dev/sda2  centos lvm2 a--   <49.50g       0   
/dev/sdb1  data   lvm2 a--  <500.00g       0   
/dev/sdc1         lvm2 ---  <500.00g <500.00g       #可以看到这个是我们刚刚创建的
3. 扩容VG卷组

查看当前vg卷组创建情况命令:vgs

[root@fce ~]# vgs
VG     #PV #LV #SN Attr   VSize    VFree
centos   1   2   0 wz--n-  <49.50g    0   
data     1   1   0 wz--n- <500.00g    0
  • 这一步可以看到 当前有哪些vg卷组,我们需要扩容的卷组是data
4. 将新的PV物理卷加入之前创建的data VG卷组
# vgextend data /dev/sdc1   #data就是以前创建的卷组名字叫data

  • 查看扩容后的VG卷组 命令:vgs
[root@fce- ~]# vgs  
VG     #PV #LV #SN Attr   VSize   VFree     
centos   1   2   0 wz--n- <49.50g       0   
data     2   1   0 wz--n- 999.99g <500.00g                    #可以看到VSize大小变成了1T了, VFree剩余空间也多除了500GB
5. 扩容LV卷

可以先查看当前lv的大小 命令:lvs

[root@fce- ~]# lvs  
LV     VG     Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert  
root   centos -wi-ao----  <45.50g                                                      
swap   centos -wi-ao----    4.00g                                                      
lvdata data   -wi-ao---- <500.00g                 #这里可以看到我们需要扩容的LV逻辑卷lvdata当前是500GB 
  • 查询需要扩容的lv卷具体文件位置 命令:fdisk -l (根据磁盘的数量,输入内容会很多,要找一下我们需要的lv)
磁盘 /dev/mapper/data-lvdata:536.9 GB, 536866717696 字节,1048567808 个扇区      #找到这一行 /dev/mapper/data-lvdata 就是需要扩容lv的文件位置
Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
  • 将VG卷组剩余的空间全部分给需要扩容的LV卷 
lvextend -l +100%free /dev/mapper/data-lvdata

lsblk 已经可以看到盘的空间变大了,注意:此时分区还没有变大

  • 将之前的逻辑卷分区lvdata 仅增加10GB 空间 
# lvextend -L +9.9G /dev/mapper/data-lvdata

(如图所示就是已经加成功了)

6.检查刷新文件系统使其空间生效

如果是xfs文件系统就用

#xfs_growfs /挂载目录

如果是ext4文件系统用如下命令:

# resize2fs -p /dev/mapper/data-lvdata

可以看到容量已经增上来了

扩容lvm之在原有磁盘扩容

先从虚拟化或者云平台扩容当前磁盘(#虚拟化平台扩容磁盘不能有快照)

1.扩容分区表

(如下是parted扩容,注意如果parted版本低则没有resizepart命令。需要手动删除现有分区表重建分区表)

查看当前vdc磁盘分区表

(parted) print                                                            
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  107GB  107GB

可以看到磁盘是215g,分区表只有107g

开始扩容分区表                                                                                                                                                                                                                                                   
(parted)                                                                  
(parted) resizepart 
Partition number? 1                                                       
End?  [107GB]? 100%                                                       
(parted) print                                                            
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  215GB  215GB

(parted) quit
Information: You may need to update /etc/fstab.

[root@fcecsldlc01 data]#                                                  
[root@fcecsldlc01 data]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@fcecsldlc01 data]# 

查看vdc1分区是否扩容成功

[root@fcecsldlc01 data]# lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda              253:0    0  100G  0 disk 
└─vda1           253:1    0  100G  0 part /
vdb              253:16   0   16G  0 disk [SWAP]
vdc              253:32   0  200G  0 disk 
└─vdc1           253:33   0  200G  0 part 
  └─data-lv_data 252:0    0  100G  0 lvm  /data
2.扩容物理卷PV

命令如下:

#pvresize /dev/vdb1
3.扩容逻辑卷LV
#lvextend -l +100%free /dev/data/lvdata
4.检查刷新文件系统使其空间生效

如果是xfs文件格式就用

#xfs_growfs /挂载目录

如果是ext4用如下命令:

# resize2fs -p /dev/mapper/data-lvdata

可以看到容量已经增上来了

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

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

相关文章

《Web性能权威指南》-网络技术概览-读书笔记

注&#xff1a;TCP/IP等知识牵涉面太广&#xff0c;且不说本文&#xff0c;哪怕是原书&#xff0c;限于篇幅&#xff0c;很多知识点都是大致介绍下。如果想深入理解&#xff0c;需要更一步Google相关页面资料。 延迟与带宽 WPO&#xff0c;Web Performance Optimization&…

基于苹果Vision Pro的AI NeRF方案:MetalSplatter

随着苹果Vision Pro的发布,混合现实(Mixed Reality, MR)技术迎来了一个新的发展阶段。为了充分利用Vision Pro的潜力,一款名为MetalSplatter的Swift/Metal库应运而生,它允许开发者在Vision Pro上以全立体的方式体验捕捉内容。本文将详细介绍MetalSplatter的特点及其如何为…

Unity Post Process Unity后处理学习日志

Unity Post Process Unity后处理学习日志 在现代游戏开发中&#xff0c;后处理&#xff08;Post Processing&#xff09;技术已经成为提升游戏画面质量的关键工具。Unity的后处理栈&#xff08;Post Processing Stack&#xff09;是一个强大的插件&#xff0c;它允许开发者为游…

Matter.js:Web开发者的2D物理引擎

Matter.js&#xff1a;Web开发者的2D物理引擎 前言 在现代网页开发中&#xff0c;交互性和动态效果是提升用户体验的关键因素。 Matter.js&#xff0c;一个专为网页设计的2D物理引擎&#xff0c;为开发者提供了一种简单而强大的方式&#xff0c;来实现复杂的物理交互效果。 …

如何打造个性化大学生线上聊天交友系统?Java SpringBoot Vue教程,2025最新设计思路

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

流媒体与直播的基础理论(其一)

欢迎诸位来阅读在下的博文~ 在这里&#xff0c;在下会不定期发表一些浅薄的知识和经验&#xff0c;望诸位能与在下多多交流&#xff0c;共同努力 文章目录 一、流媒体简介二、流媒体协议常见的流媒体协议 三、视频直播原理与流程通用的视频直播模型视频直播链路 一、流媒体简介…

学习记录:js算法(二十七):重排链表、删除链表的倒数第 N 个结点

文章目录 重排链表我的思路网上思路 删除链表的倒数第 N 个结点我的思路网上思路 总结 重排链表 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln - 1 → L2 …

oracle数据库安装和配置

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; Oracle 数据库的安装和配置是一个较为复杂的过程&#xff0c;涉及多个步骤和配置项。以下将详细介绍如何在 Linux 和 Windows 系统中安装 Oracle 数据库并进行基础配置。 一、Oracle 数据库安装前的准备 …

结账打印--SAAS本地化及未来之窗行业应用跨平台架构

一代码 var 打印数据 {shopname:"广发系统"};var 打印渲染2 打印模板.解析(打印模板,打印数据x,"wlzc");console.log("未来之城");console.log(打印渲染2);var 对话框_打印_id "多大啥事";var 对话框_打印_内容 未来之窗_打印数据渲…

ICM20948 DMP代码详解(6)

接前一篇文章&#xff1a;ICM20948 DMP代码详解&#xff08;5&#xff09; 前一篇文章解析了EMP-App中的入口函数main()中重点关注的第1段代码&#xff0c;本回继续往下进行解析。为了便于理解和回顾&#xff0c;再次贴出main函数源码&#xff1a; int main (void) {int rc 0…

一次关于生产环境服务无故宕机的排查过程

故事的开始 这个故事是在一年之前&#xff0c;当时我们的系统运行在客户的k8s环境上。然后很神奇的是每个月底我们都会服务宕机&#xff0c;当然我们开启了多个实例。当时的容器线条就像心跳图一样&#xff08;或许有些描述的不太准确&#xff0c;我没有找到当时那个像心电图一…

【Map】、集合总结

Map(*)——映射 比较之前的集合 List 为什么使用map <k,v>&#xff1a;key–value Api–>尽量用k去操作value put<k,v> package com.ffyc.map;import java.util.HashMap; import java.util.Map;/*** 映射*/ public class MapDemo {public static void main(St…

Linux下的Makefile与进度条程序

目录 Linux下的Makefile与进度条程序 Makefile与make Makefile与make介绍 创建第一个Makefile并使用make Makefile文件基本格式介绍 Makefile依赖方法执行过程 Makefile通用写法 进度条程序 实现效果 前置知识 回车(\r)与换行(\n) 输出缓冲区 实现进度条 Linux下的…

vue+ThreeJS:从0 到1 搭建开发环境

文章目录 一、下载安装&#xff08;懒人版&#xff09;二、顺序安装1&#xff0c;下载安装nodejs2&#xff0c;安装vue-cli3&#xff0c;创建vue-three 项目。4&#xff0c;安装threeJS5&#xff0c;安装element UI &#xff08;选装&#xff09;最终package.json文件如下&…

C语言深入理解指针3

1.字符指针变量 在指针类型中char*是字符指针 int main() {char ch w;char* pc &ch;//pc是字符指针变量//字符指针变量是用来存放地址的const char* p "abcsefghi";// 不是将abcdefghi\0存放到p中// 而是将首字符a的地址存放在p中// "abcsefghi"是…

逻辑代数的基本规则

目录 逻辑代数的基本规则 带入规则 反演规则 对偶规则 逻辑代数的基本规则 带入规则 将逻辑等式两边的某一变量均用同一个逻辑函数代替&#xff0c;等式仍然成立。 可以用A非代替A&#xff0c;也可以用C代替B。 也可使用BC这样一个整体代替B。 反演规则 可以把与换或&#x…

营养作用的对象是有区别的 第八篇

除了7大营养素 还需要补充其他营养素 食品营养学 临床营养学 大众营养学 食品营养学 你要早点就开始预防

怎么强制撤销excel工作表保护?

经常不是用的Excel文件设置了工作表保护&#xff0c;偶尔打开文件的时候想要编辑文件&#xff0c;但是发现忘记了密码&#xff0c;那么这种情况&#xff0c;我们怎么强制撤销excel工作表保护&#xff1f;今天分享两种解决方法。 方法一、 将excel文件转换为其他文件格式&…

C语言进阶【1】--字符函数和字符串函数【1】

本章概述 字符分类函数字符转换函数strlen的使用和模拟实现strcpy的使用和模拟实现strcat的使用和模拟实现strcmp的使用和模拟实现彩蛋时刻&#xff01;&#xff01;&#xff01; 字符分类函数 字符&#xff1a; 这个概念&#xff0c;我们在以前的文章中讲过了。我们键盘输入的…

通信工程学习:什么是MPC多媒体个人计算机、MCS多媒体计算机系统

一、MPC多媒体个人计算机&#xff08;Multimedia Personal Computer&#xff09; 1、MPC多媒体个人计算机定义 多媒体个人计算机&#xff08;MPC&#xff09;是指具备处理多媒体信息&#xff08;如音频、视频、图像、动画和文本等&#xff09;能力的个人计算机。它不仅具备传统…