首页 > 其他分享 >关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷

时间:2023-08-01 17:03:22浏览次数:36  
标签:10 逻辑 process oss --- 菜鸡 LVM image

LVM基础概念:

LVM()逻辑卷管理器,主要适用于对Linux环境下面磁盘分区的管理机制

在真实的场景中,服务器使用的越久,所产生的数据量就会越来越大,导致硬盘本身空间越来越小;

这里针对分区来看,如果想要扩大容量,就得重新挂载硬盘,然后去做数据迁移,这样就会直接导致业务停止运行;

#这里分区的大小是在创建分区时就指定好的,一般的传统分区不能扩容

所以最好的解决方案应该是在不影响业务的情况下对文件系统的大小进行扩容,可以实现文件系统跨越不同的分区

总结:

逻辑卷就是在linux环境下,对磁盘分区进行灵活管理的机制(因为没法在磁盘阵列之上去进行扩容);所以逻辑卷就是在底层磁盘之上构建了一个逻辑层(这个逻辑层可以被当做硬盘来使用,可以进行格式化,挂载使用),在这个逻辑层上面再去创建文件系统

示例:

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat

详解:

#/dev/sda* 这里普通分区,是LVM最底层的存储介质

#一个物理设备对应一个pv统称为物理卷(pv

#vg的容量等于pv之和,一个pv只能给到一个vg来使用(而一个vg可以存在多个pv),例如这里每一个sda*都有10G,那么这个存储池就会有50G的容量

#最终能够被使用的就是lv,所以只有lv才能被进行格式化和挂载

#卷组中最小的存储单元被称为PE,所有的数据都会在PE里面,PE就分布在一个个的PV上

#LE==逻辑卷最小的寻址单元,一般来讲一个LE对应一个PE,功能就是帮助数据的找到和写入(所以可以实现类似镜像的功能,一个LE对应多个PE,写入数据时数据会保存多份==》性能太差,很少在生产环境中看到

创建逻辑卷的步骤:

第一步:确认分区,并将分区做成LVM类型

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_02

#通过fdisk 制作即可

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_03

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_04

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_05

#到这里就相当于有了LVM最底层的物理设备

第二步:制作物理卷(命令:pvcreate)

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_06

#通过pvs 或者pvscan扫描可以看出当前设备上有多少物理卷

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_07

#关于Fmt类型中 lvm2(第二代逻辑卷)和lvm1(第一代逻辑卷)的区别
在LVM1中,如果需要调整卷的大小,需要先卸载后再来调整
在LVM2中,扩容不用卸载,但是缩小需要卸载

第三步:制作卷组VG(命令:vgcreate)

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_08

#通过vgs 可以看到卷组

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_09

#查看卷组详情 == 》 vgdisplay

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_10

注:这里PE Size 的大小必须要能够被2整除,默认的大小为4M

#指定PE的大小

1,卸载掉当前vg

vgremove 卷组名

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_11

2,指定PE大小重新制作vg

vgcreate -s 大小 卷组名 物理卷

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_12

第四步:制作逻辑卷LV(命令:lvcreate)

lvcreate -L 容量 -n 命名 卷组 #-L为指定lv的容量 -l为通过指定PE的个数来确定lv的容量

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_13

第五步:格式化lv进行使用

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_14

#格式化完毕后,即可挂载使用

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_15

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_16

#注:挂载后你会发现文件的路径为 /dev/mapper/vg0-lv0 ,而该路径与 /dev/vg0/lv0 相同都是指向 dm-0的软连接,而系统本身更喜欢把逻辑卷识别成 /dev/mapper/vg0-lv0 这种格式

删除逻辑卷的步骤:

#删除逻辑卷和创建逻辑卷是一个完全相反的过程,从 lv 开始,逐步往下删除,删除之前要确保逻辑卷没有被挂载使用

第一步:卸载逻辑卷

lvremove 逻辑卷路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_17

第二步:卸载卷组(存储池) 

vgremove 存储池名称

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_18

第三步:卸载物理卷

vgremove 物理卷路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_19

第四步:删除分区(fdisk 中操作即可)

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_20

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_21

LVM高级特性:

逻辑卷的扩容

第1步:判断是否可以扩容==》也就是卷组的空间剩余的容量是否满足扩容的需求

第1-1步:如果卷组不够扩容

(1)先扩容卷组

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_22

(1.1)先将新硬盘做成物理卷

pvcreate 分区路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_23

(1.2)将物理卷加到卷组中

vgextend 卷组名 物理卷路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_24

(2)扩容逻辑卷

lvextend -L 大小 卷组路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_25

#注:扩容完成后不代表文件系统的空间就会增加,因为文件系统的空间是在首次格式化时就已经决定了,所以想要得到扩容后的容量,需要再次格式化,但是这样会导致数据丢失;所以一般的文件系统会提供一种工具专门供扩容来使用,可以在现在的文件系统上进行二次格式化,保障不会导致文件系统被破坏

不同的文件系统二次格式化的方式有所区别:

#xfs
xfs_growfs 设备名 #再次格式化,在线扩容,无需卸载

#ext
resize2fs 设备名 #与xfs_growfs 功能相同

示例:

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_26

第1-2步:如果卷组足够扩容

(1)直接扩容逻辑卷

lvextend -L 大小 卷组路径

逻辑卷的缩容

#并非所有的逻辑卷都能缩容,因为逻辑卷是否可以缩容取决于逻辑卷上层的文件系统(例如xfs文件系统就不能缩容,如果把逻辑卷强行缩容,会导致文件系统无法正常使用),所以缩容的步骤是先缩文件系统的大小,在缩容逻辑卷的大小;因此,文件系统本身不能支持缩容,则逻辑卷也不能进行缩容,例如 xfs 则不能进行缩容==》生产环境操作谨慎!谨慎!谨慎!逻辑卷的数据丢失,找回来的几率非常低

注:操作未全部做完全,不要提前挂载,不要提前挂载,不要提前挂载!!!

第1步:缩容文件系统(ext)

1-1 先卸载==》缩容需要停止业务

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_27

第2步:缩容逻辑卷(lvm)

2-1 检查文件系统,并强制修复(如果文件系统上有坏的块,那么缩容后会导致数据移到坏的块上面,并且空间越大,耗时越长,一般生产环境需要等很久。。)

e2fsck -f 逻辑卷路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_28

2-2 缩小文件(ext)系统

resize2fs 逻辑卷路径 缩小到的大小

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_文件系统_29

2-3 缩小逻辑卷(lvm),并检查

lvreduce -L 缩小到的大小 逻辑卷路径

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_30

#检查是否缩小成功

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_31

#检查成功后即可挂载再次检查数据是否丢失

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_32


缩小卷组(vg):

第1步:确认目前卷组(vg)大小以及物理卷(pv)的分配情况

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_33

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_数据_34

#这里我需要把sda2 从 vg0卷组中卸载掉

第2步:从卷组中卸载物理卷

vgreduce 卷组(vg) 物理卷路径(pv)

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_35

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_redhat_36

第3步:确认pv没有被使用后即可干掉

pvremove 物理卷

关于菜鸡学习RHEL8的一些小笔记--->LVM逻辑卷_逻辑卷_37

标签:10,逻辑,process,oss,---,菜鸡,LVM,image
From: https://blog.51cto.com/u_16170308/6924517

相关文章

  • WordPress Qui-Pure V2.4发布纯文本/图文博客主题正式发布!
    主题介绍:Qui-Pure是我开发的第一款主题,纯文本展示博客类型,后台控制是否加载图片/轮播图,页面布局改成图文排版!兼容erphpdown,加入个人中心,由于技术学习来源互联网,WordPress是开源平台,因此主题免费回报大家,希望大家喜欢这款简约至上的主题!主题免费、免费、免费...主题功能:1.......
  • 医学图像领域--Transformer入门路线推荐
    本文跟那些长篇大论教你入门的文章大大不同!!你读了这些文章,对于小白来讲,原理既难又枯燥,读了等于没读,一样不会用。这里没有枯燥的理论,没有看不懂的术语,因为这些我也不懂!我能提供的,就是一个入门路线!Tina姐妙招:先实践,尝到甜头再回过头来看理论因此,本文分为两个部分,先给大家一些实践案......
  • vuex和Pinia使用上的区别-Vue3推荐上Pinia
    Vuex和Pinia都是Vue.js状态管理库,可以管理组件之间的共享状态。它们的区别在于实现方式和API设计。Vuex是Vue.js的官方状态管理库,采用集中式的方式管理全局的状态。在Vuex中,应用程序的状态存储在一个单一的store中,组件只能通过dispatch、commit等方法来修改store中的状态。Vuex还提......
  • 深度学习-->卷积神经网络
    二维卷积层: frommxnetimportautograd,ndfrommxnet.gluonimportnn#定义函数corr2d,用于实现二维卷积操作defcorr2d(x,k):#获取卷积核的高度和宽度h,w=k.shape#初始化输出y,其形状为(x.shape[0]-h+1,x.shape[1]-w+1)y=nd.ze......
  • A Novel Noise Injection-based Training Scheme for Better Model Robustness
    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!https://arxiv.org/abs/2302.10802......
  • Python Jenkins-调用_get_view_jobs方法获取指定视图下的Job名称
    一、pythonjenkins库api简介1.1、连接Jenkins服务器server=jenkins.Jenkins(url,username=None,password=None,timeout=30)url:指的是所连接的Jenkins的网络地username/password:username/password默认值是None,在内网中不传参数也是可以连接成功的,但应该......
  • 7K+游戏本怎么选?惠普暗影精灵9 VS 联想拯救者R7000P 2023:酷睿i5-13500HX多核占优
    一、前言:7K价位热度最高的游戏本Intel/AMD孰强孰弱?Intel、AMD两家之争,无论桌面端还是移动端、游戏本还是轻薄本,都铆足了劲想要超越对方,尤其在笔记本上厮杀更为激烈。最近,快科技收到了两台7K价位的游戏本,分别是搭载酷睿i5-13500HX的惠普暗影精灵9、基于锐龙77840H的拯救者R7000......
  • centos7安装docker-compose
    首先确保系统已经安装上了docker1、下载tar包并上传至服务器解压下载地址:https://package-all-1257309290.cos.ap-beijing.myqcloud.com/docker_compose_install.tar.gztarzxfdocker_compose_install.tar.gz2、安装docker-compose解压后得到一个docker_compose_installcd......
  • Nacos-服务发现
    简介  Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。  服务注册到Nacos 在父工程中添加spring-cloud-alilbaba的管理依赖:<dependency><groupId>org.springframework.cloud</groupId>......
  • 01-[Linux][Regulator]使用LDO编程示例
    1、在驱动代码中使用LDO供电操作的步骤如下:找到需要操作的LDO名字,如MTK平台:vio28在dts中找到相应的节点,如下所示:mt_pmic_vio28_ldo_reg:ldo_vio28{ regulator-name="vio28"; regulator-min-microvolt=<2800000>; regulator-max-microvolt=<2800000>; regulator-e......