Linux之管理逻辑卷

news2024/11/22 5:37:13

目录

管理逻辑卷

认识LInux逻辑卷

LVM基本概念

部署逻辑卷

常用LVM部署命令

案例

管理与调整LVM卷

1.扩展卷组——添加/dev/nvme0n2p4物理卷到vg01中

2.在线扩展逻辑卷


管理逻辑卷

        逻辑卷管理器是Linux 系统用于对硬盘分区进行管理的一种机制, 理论性较强 ,其创建初衷是为了 解决硬盘设备在创建分区后不易修改分区大小的缺陷 。尽管对传统的硬盘分区进行 强制扩容 缩容 从理论上来讲是可行的,但是却 可能造成数据的丢失 。而LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户 不必关心物理硬盘设备的底层架构和布局 ,就 可以实现对硬盘分区的动态调整

 

认识LInux逻辑卷

LVM基本概念

1.物理存储介质

        这里指系统的存储设备 --- 硬盘如:/dev/hda1/dev/sda等等,是存储系统最低层的存储单元

2.物理卷 --- PV(Physical Volume

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

3.组卷 ---  VGVolumne Group

         卷组建立在物理卷之上 ,一个卷组中 至少要包括一个物理卷 ,在卷组建立之后可动态添加物理卷到卷组中。 一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组 。即卷组由物理卷组成,类似于非LVM系统中的物理硬盘,可以在卷组上创建一个或多个 "LVM 分区 "( 逻辑卷 )
4.逻辑卷 --- LVLogical Volume
         逻辑卷建立在卷组之上 ,卷组中的 未分配空间可以用于建立新的逻辑卷 ,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组

逻辑卷分类:

        线性逻辑卷 (Linear Volumes) --- 一个线性逻辑卷聚合多个物理卷成为一个逻辑卷比如:如果你有两个60GB硬盘,你可以生成120GB的逻辑卷

        条块化的逻辑卷(Striped Logical Volumes) ---  当你写数据到此逻辑卷中时, 文件系统可以将数据放置到多个物理卷中 . 对于大量连接读写操作 , 它能 改善数据I/O效率
        镜像的逻辑卷(Mirrored Logical Volumes) --- 镜像在不同的设备上保存一致的数据。 数据同时被写入原设备及镜像设备。 提供设备之间的容错
         快照卷(Snapshot Volumes)---  快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,它复制一份对当前数据区域的改变,由于 它优先执行这些改变,所以它可以 重构当前设备的状态

5. 物理区域 --- PEPhysical Extent

        物理区域是 物理卷中可用于分配的最小存储单元 ,物理区域的大小可根据实际情况在建立物理卷时指定。物理区域 大小一旦确定将不能更改 ,同一卷组中的所有物理卷的物理区域大小需要一致。 默认为4MB
6.逻辑区域 --- LELogical Extent
        卷组描述区域 存在于每个物理卷中 ,用于 描述 物理卷本身、物理卷所属卷组、卷组中的逻辑卷及逻辑卷中物理区域的分配等所有 信息 ,卷组描述区域是在使用pvcreate建立物理卷时建立的。 VGDA 包括以下内容: PV 描述符、 VG 描述符、 LV 描述符、和一些 PE 描述符
        系统启动LVM 时激活 VG ,并将 VGDA 加载至内存,来识别 LV 的实际物理存储位置。当系统进行 I/O 操作时,就会 根据VGDA建立的映射机制 访问实际的物理位置

部署逻辑卷

常用LVM部署命令

功能/命令物理卷(PV)卷组管理(VG)逻辑卷管理(LV)
扫描
pvscan
vgscan
lvscan
建立
pvcreate
vgcreate
lvcreate
显示
pvdisplay
vgdisplay
lvdisplay
删除
pvremove
vgremove
lvremove
扩展
vgextend
lvextend
缩小
vgreduce
lvreduce

案例

1、创建pv

可以使用磁盘或分区,本例使用分区

[root@localhost ~]# parted /dev/nvme0n2 print

创建pv
[root@localhost ~]# pvcreate /dev/nvme0n2p2 /dev/nvme0n2p3

查看pv,详细查看使用pvdisplay
[root@localhost ~]# pvdisplay

[root@localhost ~]# pvs

更改分区类型(如果物理磁盘不需要用):
[root@localhost ~]# parted /dev/nvme0n2 set 2 lvm on

2.创建vg

[root@localhost ~]# vgcreate -s 4M RHCE /dev/nvme0n2p2

[root@localhost ~]# vgs

3.创建lv

        方法一 --- 制定LV的大小

[root@localhost ~]# lvcreate -n myvgl -L 50M RHCE

[root@localhost ~]# lvs

        方法二 --- 制定LV的PE数量

[root@localhost ~]# lvcreate -n myvg2 -l 10 RHCE

[root@localhost ~]# lvs

        lv路径

[root@localhost ~]# ll /dev/RHCE/myvgl /dev/mapper/RHCE-myvgl /dev/dm-1

管理与调整LVM卷

1.扩展卷组——添加/dev/nvme0n2p4物理卷到vg01

创建nvme0n2p4
[root@localhost ~]#  parted /dev/nvme0n2 mkpart logical xfs 1.21G 2G

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

[root@localhost ~]# parted /dev/nvme0n2 set 4 lvm on

        扩展vg

[root@localhost ~]# vgextend RHCE /dev/nvme0n2p4

[root@localhost ~]# vgs RHCE

2.在线扩展逻辑卷

先格式化然后再挂载
[root@localhost ~]# mkfs.xfs /dev/RHCE/myvgl

[root@localhost ~]# mkdir /mnt/data1
[root@localhost ~]# mount /dev/RHCE/myvgl /mnt/data1/

先扩展 lv
[root@localhost ~]# lvs /dev/RHCE/myvgl

[root@localhost ~]# lvextend -L +50M /dev/RHCE/myvgl 

[root@localhost ~]# lvs /dev/RHCE/myvgl

注意:
        使用 -L + 100M 增加 100M ,如果增加到 400M ,使用 -L 400M ,比如
[root@localhost ~]# lvextend -L 400M /dev/RHCE/myvgl 

[root@localhost ~]# lvs /dev/RHCE/myvgl

但是目前文件系统并没有扩容

[root@localhost ~]# df -h | grep /mnt/data1

使用 xfs_growfs 文件系统扩容
[root@localhost ~]# xfs_growfs /mnt/data1/

[root@localhost ~]# df -h | grep /mnt/data1

注意:

        如果是ext文件系统,即支持扩容(使用resize2fs文件系统扩容),也支持缩减

ext格式lvm缩减
  1. 卸载 umount /mnt/lv0
  2. fsck -f /dev/vg0/lv0 检测文件系统,resize2fs之前会提示先要检测文件系统
  3. resize2fs /dev/vg0/lv0 10G
  4. lvreduce -L 10G /dev/vg0/lv0
  5. mount -a 重新挂载

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

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

相关文章

安装搭建私有仓库 Harbor

目录 一. 准备环境 1.1安装 Docker 1.2安装 Docker Compose 二. 下载 Harbor 安装包 三. 解压安装包 四. 配置 Harbor 五. 安装 Harbor 六. 访问 Harbor 七. 创建项目、用户和角色 一. 准备环境 确保您的服务器满足 Harbor 的系统要求。最低要求是至少 2 核 CPU、4GB…

【沁恒蓝牙mesh】CH58x串口环形FIFO数据处理

本文章主要针对沁恒科技的CH58x芯片,以 BLE_UART 工程为依托,介绍串口数据的接收与处理。 该工程中 串口数据的处理用到了环形FIFO机制,可作为其他开发工具 📋 个人简介 💖 作者简介:大家好,我…

【LLM数据篇】预训练数据集+指令生成sft数据集

note 在《Aligning Large Language Models with Human: A Survey》综述中对LLM数据分类为典型的人工标注数据、self-instruct数据集等优秀的开源sft数据集:alpaca_data、belle、千言数据集、firefly、moss-003-sft-data多轮对话数据集等 文章目录 note构造指令实例…

k8s扩缩容与滚动更新

使用kubectl run创建应用 kubectl run kubernetes-bootcamp \> --imagedocker.io/jocatalin/kubernetes-bootcamp:v1 \> --port8080 端口暴露出去 kubectl expose pod kubernetes-bootcamp --type"NodePort" --port 8080 使用kubectl create创建应用 kubect…

该产品与此版 VMware Workstation 不兼容,因此无法使用

目录 VMware虚拟机开机报错 解决错误 VMware虚拟机开机报错 配置文件“D:\Users\tyn\Documents\Virtual Machines\Ubuntu16 的克隆\Ubuntu16 的克隆.vmx”是由 VMware 产品创建,但该产品与此版 VMware Workstation 不兼容,因此无法使用。 无法打开配…

VMware 虚拟机三种网络模式详解

文章目录 前言桥接模式(Bridged)桥接模式特点: 仅主机模式 (Host-only)仅主机模式 (Host-only)特点: NAT网络地址转换模式(NAT)仅主机模式 (Host-only)特点: 前言 很多同学在初次接触虚拟机的时候对 VMware 产品的三种网络模式不是很理解,本文就 VMware 的三种网络模式进行说明…

线上异常的处理

一、线上问题的排查 进程ID 简称为PID free -m 查看内存使用情况 iostat 查看磁盘读写活动情况 netstat 查看网络连接情况 df -h 查看磁盘空间使用情况 du -sh 查看文件大小情况 1.1、top 命令查看CPU占用情况 top -n num 查看CPU占用最高的num个进程top -Hp PID 或 top -H -p…

Vulnhub系列靶机--- Hackadmeic.RTB1

系列:Hackademic(此系列共2台) 难度:初级 信息收集 主机发现 netdiscover -r 192.168.80.0/24端口扫描 nmap -A -p- 192.168.80.143访问80端口 使用指纹识别插件查看是WordPress 根据首页显示的内容,点击target 点击…

Java-类与对象(上)

什么是面向对象 Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。 面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。 以面向对象方式来进行处理,就…

宏病毒的实践

一、实验目的: 1、了解梅丽莎宏病毒基本概念 2、自己实验梅丽莎宏病毒 二、预备知识: 1.什么是word宏 宏是一个批处理程序命令,正确地运用它可以提高工作效率。微软的office软件运行用户自己编写,叫VBA的脚本来增加其灵活性&…

12. 登录拦截器

由于论坛中的所有功能接口都需要在用户登录的情况下才能访问,所以要做统一的登录身份校验。 1. 在 interceptor 包下创建 LoginInterceptor Component // 交给 Spring 管理 public class LoginInterceptor implements HandlerInterceptor {// 从配置文件中读取配…

ChatGPT和Claude的能力全测评

创造性思维/语言 提示:“写一首 4 行诗,每行只有 3 个词,描写重庆” ChatGPT写诗👇 Claude写诗👇 仁者见仁,您怎么看谁更强? 提示: "如果你随机选择这个问题的答案,…

postgresql 的递归查询

postgresql 的递归查询功能很强大,可以实现传统 sql 无法实现的事情。那递归查询的执行逻辑是什么呢?在递归查询中,我们一般会用到 union 或者 union all,他们两者之间的区别是什么呢? 递归查询的执行逻辑 递归查询的…

⛳ TCP 协议面试题

目录 ⛳ TCP 协议面试题🐾 一、为什么关闭连接的需要四次挥⼿,⽽建⽴连接却只要三次握⼿呢?🏭 二、为什么连接建⽴的时候是三次握⼿,可以改成两次握⼿吗?👣 三、为什么主动断开⽅在TIME-WAIT状态…

shell 简单且常用的几种

目录 一、配置环境的shell脚本 二、系统资源脚本 一、要求 二、脚本内容 三、脚本解析 四、赋权并验证 一、配置环境的shell脚本 systemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManager systemctl disable NetworkManager setenforce…

动物IT

动物是地球上最丰富和多样化的生物群体之一。它们包括鱼类、鸟类、爬行动物、两栖动物和哺乳动物等各种类型。动物在地球上有着不同的生态角色和生活习性。 动物对于维持生态平衡和生态系统的稳定性至关重要。它们在食物链中扮演着重要的角色,通过捕食和被捕食来保…

【李沐】3.5、softmax回归的从0开始实现

注意: 把每个像素位置看作⼀个特征 # 导入PyTorch库 import torch # 从IPython库中导入display模块,用于在交互式环境中显示内容 from IPython import display # 从d2l.torch模块中导入torch作为d2l的别名,方便后续使用d2l库中的功能 from d…

阿里云轻量应用服务器和云服务器有什么区别?2023更新

阿里云轻量应用服务器和云服务器ECS有什么区别?ECS是专业级云服务器,轻量应用服务器是轻量级服务器,轻量服务器使用门槛更低,适合个人开发者或中小企业新手使用,可视化运维,云服务器ECS适合集群类、高可用、…

ForkJoin框架

1. ForkJoin框架概述 ForkJoin模式先把一个大任务分解成许多个独立的子任务,然后开启多个线程并行去处理这些子任务。有可能子任务还是很大而需要进一步分解,最终得到足够小的任务。ForkJoin模式的任务分解和执行过程大致如下图所示。 ForkJoin模式借助…

NSS [CISCN 2019初赛]Love Math

NSS [CISCN 2019初赛]Love Math 开题直接给源码 <?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("…