Linux——逻辑卷(LVM)管理

目录

LVM简介

LVM机制的基本概念

PV(Physical Volume,物理卷)  

VG(Volume Group,卷组)  

LV(Logical Volume,逻辑卷)  

PE(Physical Extent)

逻辑卷的管理方法

LVM的管理命令

主要命令的用法

使用命令行工具实现 LVM存储

具体流程

        建立LVM分区——fdisk

        建立物理卷——pvcreate

        建立卷组——vgcreate

        建立逻辑卷——lvcreate

        扩大卷组——vgextend

        缩减卷组——vgreduce

        扩展逻辑卷和ext4文件系统——lvextend,resize2fs

        减少逻辑卷和文件系统——lvreduce,resize2fs

        删除卷——lvremove

        检查物理卷,卷组,逻辑卷——pyscan,vgscan,lvscan

创建快照(数据备份)

LVM应用示例

1. 转化物理卷

2. 创建卷组

3. 创建逻辑卷

为逻辑卷扩容

为逻辑卷缩减

 创建逻辑卷快照

配置本地yum源: 


LVM简介

        逻辑卷管理器(Logical Volume Manager),最早应用在IBM AIX系统上。

        它的主要作用是动态分配磁盘分区及调整磁盘分区大小,并且可以让多个分区或者物理硬盘作为一个逻辑卷(相当于一个逻辑硬盘)来使用。

        这种机制可以让磁盘分区容量划分变得很灵活。

LVM机制的基本概念

PV(Physical Volume,物理卷)  

        物理卷:物理卷处于LVM的最底层,可以是整个物理磁盘,也可以是硬盘中的分区。

        整个硬盘,或使用fdisk等工具建立的普通分区.

        包括许多默认4MB大小的PE(Physical Extent,基本单元)

VG(Volume Group,卷组)  

        卷组:可以看成单独的逻辑磁盘,建立在PV之上,是PV的组合。一个卷组中至少要包括一个PV,在卷组建立之后可以动态的添加PV到卷组中。

LV(Logical Volume,逻辑卷)  

        逻辑卷:相当于物理分区的/dev/hdaX。逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展或缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

        从卷组中分割出的一块空间,用于建立文件系统

PE(Physical Extent)

        物理区域:物理区域是物理卷中可用于分配的最小存储单元,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要一致。当多个PV组成一个VG时,LVM会在所有PV上做类似格式化的动作,将每个PV切成一块块的空间,这一块块的空间就称为PE, 通常是4MB。

逻辑卷的管理方法

LVM进行逻辑卷的管理时,创建顺序是pv->vg->lv。

  • 首先创建一个物理卷(对应一个物理硬盘分区或者一个物理硬盘)
  • 然后把这些分区或者硬盘加入到一个卷组中(相当于一个逻辑上的大硬盘)
  • 再在这个大硬盘上划分分区lv(逻辑上的分区,就是逻辑卷)
  • 最后,把lv逻辑卷格式化以后,就可以像使用一个传统分区那样,把它挂载到一个挂载点上
  • 需要的时候,这个逻辑卷可以被动态缩放

LVM的管理命令

主要命令的用法

  • pvcreate  设备名
  • vgcreate  -s  8M    卷组名  物理卷名1 物理卷名2
  • lvcreate   -L  大小  -n  逻辑卷名  卷组名
  • lvextend  -L  大小  /dev/卷组名/逻辑卷名  
  • lvreduce –L  大小  /dev/卷组名/逻辑卷名

-L参数指定了逻辑卷的大小,-n参数指定了逻辑卷的名称

使用命令行工具实现 LVM存储

准备物理卷

  1. fdisk (type 0x8e linux LVM)
  2. pvcreate /dev/sdb5

创建卷组

  1. vgcreate –s 8M  wgroup /dev/sdb5

创建和使用新逻辑卷

  1. lvcreate –n wshare –L 100M /dev/wgroup
  2. mkfs –t vfat /dev/wgroup/wshare
  3. mkdir /mnt/wshare
  4. add an entry to the /etc/fstab file:   /dev/wgroup/wshare   /mnt/wshare  vfat  defaults 0 0 5.mount –a

具体流程

        建立LVM分区——fdisk

        利用fdisk命令在 /dev/sdb上建立LVM类型的分区/dev/sdb1、/dev/sdb2。

fdisk /dev/sdb

使用相关指令创建分区:

n——创建分区 ;

p——创建主分区;   e——创建扩展分区;

p——查看分区情况;t——修改分区类型(8e:LVM类型);

w——保存;              q——退出;

其中选择编号(1,2,3,4)和选择分区大小

        建立物理卷——pvcreate

        物理卷直接建立在物理硬盘或者硬盘分区上,所以物理卷的设备文件使用系统中现有的磁盘分区设备文件的名称。

  • pvcreate /dev/sdb1      //创建物理卷
  • pydisplay /dev/sdb1     //显示指定物理卷的属性

        建立卷组——vgcreate

        在创建好物理卷后,建立卷组。

        卷组设备文件使用/dev目录下与卷组同名的目录表示,该卷组中的所有逻辑设备文件都将建立在该目录下。

        卷组中可以包含多个物理卷也可以只有一个物理卷

  • vgcreate vg0 /dev/sdb1    // 创建卷组vg0,vg0为要建立的卷组名称。
  • vgdisplay vg0                   // 查看vg0信息

        建立逻辑卷——lvcreate

        建立好卷组后,可以使用命令lvcreate在已有卷组上建立逻辑卷。

        逻辑卷设备文件位于其所在的卷组的卷组目录中。

  • lvcreate -L 20M -n lv0 vg0   // 创建逻辑卷
  • lvdisplay /dev/vg0/lv0

格式化逻辑卷:使用mkfs命令格式化新创建的逻辑卷。例如,如果你使用的是ext4文件系统:

  • mkfs.ext4 /dev/vg0/lv0

        扩大卷组——vgextend

        扩展卷组 当卷组中没有足够的空间分配给逻辑卷时,可以用给卷组增加物理卷的方法来增加卷组的空间

  1. fdisk /dev/vda                           创建新分区 (必须为LVM类型)
  2. pvcreate /dev/vdaN                  初始化分区
  3. vgextend vgname /dev/vdaN    将新物理卷添加到现有卷组vgname
  4. vgdisplay vgname                     显示卷组状态

        缩减卷组——vgreduce

  1. vgreduce vgname /dev/vdaN 从卷组删除物理卷

        扩展逻辑卷和ext4文件系统——lvextend,resize2fs

当逻辑卷的空间不能满足要求时,可以利用lvextend命令把卷组中的空闲空间分配到该逻辑卷以扩展逻辑卷的容量。

  1. 验证已挂载文件系统的当前大小            df  -h  /data
  2. 验证可用物理区块是否够用                    vgdisplay  vgname
  3. 使用部分或全部可用区块扩展逻辑卷      lvextend  -L  128M  /dev/vgname/lvname
  4. 扩展在/data 上挂载的关联文件系统        resize2fs  -p  /dev/vgname/lvname
  5. 验证以挂载文件系统 /data的新大小        df  -h  /data  

        减少逻辑卷和文件系统——lvreduce,resize2fs

  1. 解除挂载要减小的文件系统                          umount  /date
  2. 验证所有文件系统数据结构是否得到清理    fsck –f /dev/mapper/vgname-lvname
  3. 将文件系统大小调整为512M      resize2fs  –p  /dev/mapper/vgname-lvname 512M
  4. 将逻辑卷减小到512M                 lvreduce –L 512M  /dev/mapper/vgname-lvname
  5. 重新挂载/etc/fstab中列出的所有文件系统,包括现在较小的逻辑卷        mount –a  

        删除卷——lvremove

必需按照删除“逻辑卷-卷组-物理卷”的先后顺序来执行删除

  1. lvremove /dev/vg0/lv0
  2. vgremove vg0
  3. pvremove /dev/sdb1

        检查物理卷,卷组,逻辑卷——pyscan,vgscan,lvscan

  • pyscan
  • vgscan
  • lvscan

创建快照(数据备份)

快照是临时保留所更改的逻辑卷的原始数据的逻辑卷

快照提供原始卷的静态视图,从而能够以一致状态备份其数据

创建和使用快照进行备份

  1. 创建lvname名为snaplvname,大小为20M的新快照卷                                                                                                          lvcreate –s –n snaplv –L 20M /dev/vgname/lvname
  2. 挂载快照,并使备份程序指向新挂载点   mkdir  /snapmount                                                                                                            mount –ro /dev/vgname/snaplv  /snapmount
  3. 验证快照逻辑卷的状态                            lvs /dev/vgname/lvname
  4. 不在使用快照时,解除挂载并删除          umount /snapmount                                                                                                          lvremove  /dev/vgname/lvname

LVM应用示例

需求描述: 公司的邮件服务器由于用户数量众多,邮件存储需要大量的空间,考虑到动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷,挂载到“/mail”目录专门用于存放邮件数据

步骤: PV → VG → LV → 格式化,挂载使用文件系统

1. 转化物理卷

  • 使用fdisk命令规划两个分区,类型设置为“8e”  /dev/sdb1、/dev/sdc1
  • 使用pvcreate命令转换上述分区为物理卷

[root@localhost ~]# fdisk -l /dev/sdb /dev/sdc | grep "LVM"

/dev/sdb1     1     9660    77593918+  8e  Linux LVM

/dev/sdc1     1     9660    77593918+  8e  Linux LVM

[root@localhost ~]# pvcreate /dev/sdb1  

Physical volume "/dev/sdb1" successfully created

[root@localhost ~]# pvcreate /dev/sdc1  

Physical volume "/dev/sdc1" successfully created

2. 创建卷组

  • 使用vgcreate命令创建卷组mail_store

[root@localhost ~]# vgcreate mail_store /dev/sdb1 /dev/sdc1  

Volume group "mail_store" successfully created

3. 创建逻辑卷

  • 使用lvcreate命令创建逻辑卷 mail  从卷组mail_store上划出20GB空间
  • 使用mkfs命令创建ext4文件系统

[root@localhost ~]# lvcreate  -L  20G  -n  mail  mail_store  

/dev/cdrom: open failed: Read-only file system  

Logical volume "mail" created

[root@localhost ~]# mkfs -t ext4 /dev/mail_store/mail

为逻辑卷扩容

  • 使用lvextend命令为逻辑卷 mail扩充容量  从卷组 mail_store 上再划出10GB给逻辑卷mail
  • 使用resize2fs命令更新系统识别的文件系统大小

[root@localhost ~]#  lvextend -L +10G  /dev/mail_store/mail

[root@localhost ~]#  resize2fs –p /dev/mail_store/mail

为逻辑卷缩减

  • 使用lvreduce命令为逻辑卷 mail缩减容量,必须先卸载  
  • 从卷组 mail_store 上缩小逻辑卷mail到10G
  • 使用resize2fs命令更新系统识别的文件系统大小
  • 使用fsck 命令清理文件系统数据结构 

[root@localhost ~]#  umount  /mail

[root@localhost ~]#  fsck –f  /dev/mail_store/mail

[root@localhost ~]#  resize2fs –p /dev/mail_store/mail 10G

[root@localhost ~]#  lvreduce –L 10G  /dev/mail_store/mail

[root@localhost ~]#  mount  -a

 创建逻辑卷快照

lvcreate -L 512M -s -n snapshot dev/vg0/lv0

在挂载目录中创建一个文件,创建挂载在该目录下的逻辑卷快照,删除此文件,使用快照恢复:

1.挂载逻辑卷

        mount /dev/vg0/lv0 /data

        cd /data

        touch a.txt

2.制作快照

        lvcreate -L 500M -s -n lv0_snap /dev/vg0/lvo

3.删除文件

        rm /data/a.txt

4.从快照中恢复文件

        mkdir /datasnap

        mount /dev/vg0/lv0_snap /datasnap

        ls -al /datasnap

        cp /datasnap/a.txt /data

5.删除快照

        umount /datasnap

        lvremove /dev/vg0/lv0_snap

配置本地yum源: 

[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo  

[dvd]

name=dvd

baseurl=file:///mnt/cdrom

enabled=1

gpgcheck=0

安装system-config-lvm:

[root@localhost ~]# yum install system-config-lvm

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手写SpringBoot(三)之自动配置

系列文章目录 手写SpringBoot(一)之简易版SpringBoot 手写SpringBoot(二)之动态切换Servlet容器 手写SpringBoot(三)之自动配置 手写SpringBoot(四)之bean动态加载 手写SpringBoot…

GPU-CPU-ARM-X86-RISC-CUDA

CPU更适合处理复杂逻辑运算和单线程任务,而GPU则更适合处理大规模并行计算任务。 CPU(中央处理器)通常具有较少的核心数量(一般在2到16个之间),但每个核心的性能较强,擅长执行复杂的运算和逻辑…

【C++】const限定符|const引用

const的引用 说const引用之前需要说明,这是建立在引用的前提下,如果是普通的拷贝赋值就基本不需要使用到const(有关权限)。 1 权限不能放大(可平移、缩小) 如何解释权限不能放大? 阅读下面的代码 可以看到&#xff1a…

sadtalker学习用于风格化音频驱动单图像说话人脸动画的真实 3D 运动系数的应用

论文出处 https://arxiv.org/abs/2211.12194 使用方法 1. 打开项目的colab链接 https://colab.research.google.com/github/Winfredy/SadTalker/blob/main/quick_demo.ipynb#scrollTofAjwGmKKYl_I 在examples/source_image文件夹中添加希望动起来说话的图片,这…

基于GA遗传优化的离散交通网络双层规划模型设计matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于GA遗传优化的离散交通网络双层规划模型设计.优化输出路段1和路段2的收费情况收敛过程。 2.测试软件版本以及运行结果展示 MATLAB2022a版本运行 3.核心程序…

组蛋白脱乙酰酶介导的胃癌肿瘤微环境特征及协同免疫治疗(多组学文献学习)

目录 ①HDAC转录组多数据NMF一次聚类 ②ACRG队列中HDAC单独NMF聚类 ③HDS评分在胃癌中的临床特征和基因组特征 ④高 HDS 可能提示胃癌的“热”肿瘤状态 ⑤HDS是胃癌免疫治疗效果的有力预测指标 ⑥单细胞转录组测序揭示了高HDS和低HDS患者的TME ⑦内皮细胞和成纤维细胞可…

BGP实训

BGP基础配置实训 实验拓扑 注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为2的设备,以此类推;另外,同一网段中,IP 地址的主…

web学习笔记(四十五)Node.js

目录 1. Node.js 1.1 什么是Node.js 1.2 为什么要学node.js 1.3 node.js的使用场景 1.4 Node.js 环境的安装 1.5 如何查看自己安装的node.js的版本 1.6 常用终端命令 2. fs 文件系统模块 2.1引入fs核心模块 2.2 读取指定文件的内容 2.3 向文件写入指定内容 2.4 创…

git下载安装教程

git下载地址 有一个镜像的网站可以提供下载: https://registry.npmmirror.com/binary.html?pathgit-for-windows/图太多不截了哈哈,一直next即可。

鸿蒙 UIAbility和Compent 生命周期

一、UIAbility的生命周期 在UIAbility的使用过程中,会有多种生命周期状态,掌握UIAbility的生命周期,对于应用的开发非常重要。 1、UIAbility的生命周期 UIAbility的生命周期主要分为以下4个: Create---Foreground---Background---…

RabbitMQ 延时消息实现

1. 实现方式 1. 设置队列过期时间:延迟队列消息过期 死信队列,所有消息过期时间一致 2. 设置消息的过期时间:此种方式下有缺陷,MQ只会判断队列第一条消息是否过期,会导致消息的阻塞需要额外安装 rabbitmq_delayed_me…

C++从入门到精通——缺省参数

缺省参数 前言一、缺省参数概念二、缺省参数分类位置参数的缺省参数全缺省参数半缺省参数 关键字参数的缺省参数函数指针的缺省参数lambda表达式 三、缺省参数的具体代码展示main.cpp 前言 缺省参数是在函数定义时指定的默认值,当调用函数时未提供该参数的值时&…

暴雨服务器X7740赋能大模型训练

数字经济浪潮愈演愈烈,大模型训练对服务器的要求也越来越高。在此背景下,暴雨信息发布专门为大规模模型训练而设计的全新旗舰GPU服务器—X7740,以卓越的计算性能、高速网络通信能力以及创新的能效表现,有效赋能大模型训练。 X7740 搭载了暴雨信息最新一代的英特尔至强可扩展处理…

如何划分训练集、测试集、验证集

训练集、测试集和验证集是在机器学习和数据科学中常用的术语,用于评估和验证模型的性能。它们通常用于监督学习任务中。 1. 训练集(Training Set):训练集是用于训练机器学习模型的数据集。在训练期间,模型使用训练集中…

Leetcode - 周赛390

目录 一,3090. 每个字符最多出现两次的最长子字符串 二,3091. 执行操作使数据元素之和大于等于 K 三,3092. 最高频率的 ID 四,3093. 最长公共后缀查询 一,3090. 每个字符最多出现两次的最长子字符串 本题是一道标准…

嵌入式C语言中头文件计设规则方法

我是阿梁,最近在负责的项目代码,也算是祖传代码了,里面有很多头文件嵌套的情况,即a.h包含b.h,b.h又包含c.h,c.h又包含d.h......遂找到一份华子的C语言编程规范学习一下,并结合自己的理解写成这篇文章,以规范自己的代码。 1. 头文件嵌套的缺点 依赖:若x.h包含了y.h,则…

启信宝商业大数据助力全国经济普查

近日,合合信息旗下启信宝收到中国青年创业就业基金会感谢信,对启信宝协同助力全国经济普查和服务青年创业就业研究表达感谢。 第五次全国经济普查是新时代新征程上一次重大国情国力调查,是对国民经济“全面体检”和“集中盘点”,…

武汉星起航:亚马逊受惠国家政策,企业成长与行业发展齐头并进

亚马逊电商平台作为国际知名的跨境电商巨头,在中国市场也展现出了强劲的发展势头。近年来,国家政策对亚马逊电商平台的支持力度不断加大,为企业提供了良好的发展环境和机遇。武汉星起航将探讨国家政策对亚马逊电商平台的重要影响,…

深度思考:雪花算法snowflake分布式id生成原理详解

雪花算法snowflake是一种优秀的分布式ID生成方案,其优点突出:它能生成全局唯一且递增的ID,确保了数据的一致性和准确性;同时,该算法灵活性强,可自定义各部分bit位,满足不同业务场景的需求&#…