Linux系统——lvm逻辑卷

Linux系统——lvm逻辑卷

  • 一、lvm逻辑卷
    • 1、lvm操作流程
    • 2、操作指令
  • 二、逻辑卷操作
    • 1、创建逻辑卷
      • 1.1 /dev/cloud/openstack 5G xfs /cloud/openstack
      • 1.2 /dev/cloud/docker 10G ext4 /cloud/docker
    • 2、逻辑卷扩容
      • 2.1 扩容流程
      • 2.2 需求一:扩容ext4文件系统的逻辑卷
      • 2.3 需求二:扩展xfs文件系统的逻辑卷
      • 2.2.4 需求三:扩展逻辑卷(卷组空间不足)
    • 3、逻辑卷缩容
      • 3.1 缩容流程
      • 3.2 需求一:将逻辑卷docker缩减到5G
    • 4、删除逻辑卷

一、lvm逻辑卷

Logical Volume Managemant
优势: 在线扩容、缩容

1、lvm操作流程

在这里插入图片描述

2、操作指令

  • 查看PV
[root@martin-host ~]# pvscan PV /dev/sda2   VG centos          lvm2 [19.21 GiB / 0    free]Total: 1 [19.21 GiB] / in use: 1 [19.21 GiB] / in no VG: 0 [0   ]
  • 查看VG
[root@martin-host ~]# pvscan PV /dev/sda2   VG centos          lvm2 [19.21 GiB / 0    free]Total: 1 [19.21 GiB] / in use: 1 [19.21 GiB] / in no VG: 0 [0   ]
[root@martin-host ~]# 
[root@martin-host ~]# vgscan Reading volume groups from cache.Found volume group "centos" using metadata type lvm2
[root@martin-host ~]# vgdisplay centos --- Volume group ---VG Name               centosSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  3VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                1Act PV                1VG Size               19.21 GiBPE Size               4.00 MiBTotal PE              4919Alloc PE / Size       4919 / 19.21 GiBFree  PE / Size       0 / 0   VG UUID               Pgh5Zq-mdOk-I64Z-NDPa-XkUb-RpsR-JRzCsk
  • 查看lv
[root@martin-host ~]# lvscan ACTIVE            '/dev/centos/swap' [1.00 GiB] inheritACTIVE            '/dev/centos/root' [18.21 GiB] inherit[root@martin-host ~]# ls -l /dev/centos/root 
lrwxrwxrwx 1 root root 7 1011 09:02 /dev/centos/root -> ../dm-0[root@martin-host ~]# ls -l /dev/dm-0 
brw-rw---- 1 root disk 253, 0 1011 09:02 /dev/dm-0

二、逻辑卷操作

1、创建逻辑卷

1.1 /dev/cloud/openstack 5G xfs /cloud/openstack

  • 确认裸设备
[root@martin-host ~]# blkid /dev/sde
[root@martin-host ~]# blkid /dev/sdf
  • 创建pv物理卷
[root@martin-host ~]# pvcreate /dev/sde /dev/sdfPhysical volume "/dev/sde" successfully created.Physical volume "/dev/sdf" successfully created.
[root@martin-host ~]# 
[root@martin-host ~]# pvscan PV /dev/sda2   VG centos          lvm2 [19.21 GiB / 0    free]PV /dev/sdf                       lvm2 [20.00 GiB]PV /dev/sde                       lvm2 [20.00 GiB]Total: 3 [59.21 GiB] / in use: 1 [19.21 GiB] / in no VG: 2 [40.00 GiB]
  • 创建卷组,名称cloud
[root@martin-host ~]# vgcreate cloud /dev/sde /dev/sdfVolume group "cloud" successfully created[root@martin-host ~]# vgdisplay cloud --- Volume group ---VG Name               cloudSystem ID             Format                lvm2Metadata Areas        2Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                2Act PV                2VG Size               39.99 GiBPE Size               4.00 MiBTotal PE              10238Alloc PE / Size       0 / 0   Free  PE / Size       10238 / 39.99 GiBVG UUID               2cyeQa-pxwF-TDQ3-3buR-04Tc-My5z-WINKYY
  • 创建逻辑卷,名称为openstack
[root@martin-host ~]# lvcreate -L 5G -n openstack cloudLogical volume "openstack" created.
[root@martin-host ~]# 
[root@martin-host ~]# lvscan ACTIVE            '/dev/cloud/openstack' [5.00 GiB] inherit
  • 挂载使用
[root@martin-host ~]# mkfs -t xfs /dev/cloud/openstack [root@martin-host ~]# 
[root@martin-host ~]# mkdir -p /cloud/openstack[root@martin-host ~]# tail -n 1 /etc/fstab
/dev/cloud/openstack	/cloud/openstack	xfs	defaults	0 0
[root@martin-host ~]# 
[root@martin-host ~]# mount -a[root@martin-host ~]# df -hT 
文件系统                    类型      容量  已用  可用 已用% 挂载点
/dev/mapper/cloud-openstack xfs       5.0G   33M  5.0G    1% /cloud/openstack[root@martin-host ~]# touch /cloud/openstack/{1..20}
[root@martin-host ~]# ls /cloud/openstack/
1  10  11  12  13  14  15  16  17  18  19  2  20  3  4  5  6  7  8  9
[root@martin-host ~]# 

1.2 /dev/cloud/docker 10G ext4 /cloud/docker

[root@martin-host ~]# lvcreate -L 10G -n docker cloudLogical volume "docker" created.[root@martin-host ~]# lvscan ACTIVE            '/dev/cloud/openstack' [5.00 GiB] inheritACTIVE            '/dev/cloud/docker' [10.00 GiB] inheritACTIVE            '/dev/centos/swap' [1.00 GiB] inheritACTIVE            '/dev/centos/root' [18.21 GiB] inherit[root@martin-host ~]# df -hT | grep cloud
/dev/mapper/cloud-openstack xfs       5.0G   33M  5.0G    1% /cloud/openstack
/dev/mapper/cloud-docker    ext4      9.8G   37M  9.2G    1% /cloud/docker

2、逻辑卷扩容

2.1 扩容流程

1、确认卷组有足够的剩余空间
2、先扩展逻辑卷的物理大小
3、再扩展逻辑卷的文件系统大小

2.2 需求一:扩容ext4文件系统的逻辑卷

[root@martin-host ~]# blkid /dev/cloud/docker
/dev/cloud/docker: UUID="722ade99-6f1d-40a9-8731-2097b6b8e385" TYPE="ext4" 
  • 查看卷组的剩余空间
[root@martin-host ~]# vgdisplay cloud | grep -i freeFree  PE / Size       6398 / 24.99 GiB
  • 扩展逻辑卷物理大小
[root@martin-host ~]# lvextend -L 15G /dev/cloud/docker Size of logical volume cloud/docker changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).Logical volume cloud/docker successfully resized.
[root@martin-host ~]# 
[root@martin-host ~]# lvscan ACTIVE            '/dev/cloud/openstack' [5.00 GiB] inheritACTIVE            '/dev/cloud/docker' [15.00 GiB] inheritACTIVE            '/dev/centos/swap' [1.00 GiB] inheritACTIVE            '/dev/centos/root' [18.21 GiB] inherit
[root@martin-host ~]# 
[root@martin-host ~]# df -hT | grep "docker"
/dev/mapper/cloud-docker    ext4      9.8G   37M  9.2G    1% /cloud/docker
  • 扩展文件系统大小
// resize2fs:只适用于ext文件系统
[root@martin-host ~]# resize2fs /dev/cloud/docker 
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/cloud/docker is mounted on /cloud/docker; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/cloud/docker is now 3932160 blocks long.[root@martin-host ~]# 
[root@martin-host ~]# lvscan | grep "docker"ACTIVE            '/dev/cloud/docker' [15.00 GiB] inherit[root@martin-host ~]# df -hT | grep "docker"
/dev/mapper/cloud-docker    ext4       15G   41M   14G    1% /cloud/docker[root@martin-host ~]# ls /cloud/docker/
file01  file010  file02  file03  file04  file05  file06  file07  file08  file09 

2.3 需求二:扩展xfs文件系统的逻辑卷

[root@martin-host ~]# blkid /dev/cloud/openstack 
/dev/cloud/openstack: UUID="6ef5d418-8fa7-410f-8447-d01f636a791c" TYPE="xfs" 
[root@martin-host ~]# 
[root@martin-host ~]# vgdisplay cloud | grep -i freeFree  PE / Size       5118 / 19.99 GiB
[root@martin-host ~]# 
[root@martin-host ~]# lvextend -L 20G /dev/cloud/openstack Size of logical volume cloud/openstack changed from 5.00 GiB (1280 extents) to 20.00 GiB (5120 extents).Logical volume cloud/openstack successfully resized.
[root@martin-host ~]# // xfs_growfs: 适用于xfs文件系统
[root@martin-host ~]# xfs_growfs /dev/cloud/openstack 
meta-data=/dev/mapper/cloud-openstack isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1310720 to 5242880
[root@martin-host ~]# 
[root@martin-host ~]# 
[root@martin-host ~]# lvscan | grep openstackACTIVE            '/dev/cloud/openstack' [20.00 GiB] inherit
[root@martin-host ~]# 
[root@martin-host ~]# df -hT | grep opensta
/dev/mapper/cloud-openstack xfs        20G   33M   20G    1% /cloud/openstack
[root@martin-host ~]# 
[root@martin-host ~]# 
[root@martin-host ~]# ls /cloud/openstack/
1  10  11  12  13  14  15  16  17  18  19  2  20  3  4  5  6  7  8  9

2.2.4 需求三:扩展逻辑卷(卷组空间不足)

[root@martin-host ~]# vgdisplay cloud | grep -i freeFree  PE / Size       1278 / 4.99 GiB
  • 扩容卷组的容量
[root@martin-host ~]# pvcreate /dev/sdgPhysical volume "/dev/sdg" successfully created.[root@martin-host ~]# vgextend cloud /dev/sdg Volume group "cloud" successfully extended[root@martin-host ~]# vgdisplay cloud | grep -i freeFree  PE / Size       6397 / <24.99 GiB
  • 扩展逻辑卷
[root@martin-host ~]# lvextend -L 20G /dev/cloud/docker 
[root@martin-host ~]# resize2fs /dev/cloud/docker

3、逻辑卷缩容

注意:
1、谨慎操作、数据无价
2、xfs文件系统不支持缩减

3.1 缩容流程

1、卸载设备, 不支持在线
2、先缩减文件系统大小
3、再缩减逻辑卷的物理大小

3.2 需求一:将逻辑卷docker缩减到5G

  • 将数据备份
[root@martin-host ~]# tar czf /backup/docker.tar.gz   /cloud/docker/ 
tar: 从成员名中删除开头的“/”
[root@martin-host ~]# 
  • 卸载逻辑卷
[root@martin-host ~]# umount /dev/cloud/docker
[root@martin-host ~]# 
[root@martin-host ~]# df -hT | grep "docker"
[root@martin-host ~]# 
  • 检查文件系统是否有损坏
[root@martin-host ~]# e2fsck -f /dev/cloud/docker 
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/cloud/docker: 21/1310720 files (0.0% non-contiguous), 126311/5242880 blocks
  • 先缩减文件系统
[root@martin-host ~]# resize2fs /dev/cloud/docker 5G 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/cloud/docker to 1310720 (4k) blocks.
The filesystem on /dev/cloud/docker is now 1310720 blocks long.
  • 缩减逻辑卷的物理大小
[root@martin-host ~]# lvreduce -L 5G /dev/cloud/docker WARNING: Reducing active logical volume to 5.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce cloud/docker? [y/n]: ySize of logical volume cloud/docker changed from 20.00 GiB (5120 extents) to 5.00 GiB (1280 extents).Logical volume cloud/docker successfully resized.
  • 重新挂载,验证数据
[root@martin-host ~]# mount /dev/cloud/docker /cloud/docker/
[root@martin-host ~]# 
[root@martin-host ~]# ls /cloud/docker/
file01  file010  file02  file03  file04  file05  file06  file07  file08  file09  lost+found
[root@martin-host ~]# 
[root@martin-host ~]# lvscan ACTIVE            '/dev/cloud/openstack' [20.00 GiB] inheritACTIVE            '/dev/cloud/docker' [5.00 GiB] inheritACTIVE            '/dev/centos/swap' [1.00 GiB] inheritACTIVE            '/dev/centos/root' [18.21 GiB] inherit
[root@martin-host ~]# 
[root@martin-host ~]# df -hT | grep docker
/dev/mapper/cloud-docker    ext4      4.8G   33M  4.6G    1% /cloud/docker
[root@martin-host ~]# 

4、删除逻辑卷

  • 卸载设备
  • 删除fstab文件中的挂载条目
  • 删除逻辑卷
[root@martin-host ~]# lvremove /dev/cloud/openstack 
Do you really want to remove active logical volume cloud/openstack? [y/n]: yLogical volume "openstack" successfully removed

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

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

相关文章

Ubuntu-Ubuntu22.04下Anacodna3的qmake和Qt的qmake冲突问题

Ubuntu22.04下Anacodna3的qmake和Qt的qmake冲突问题 一、问题描述二、原因分析三、解决办法 一、问题描述 Ubuntu22.04下Anacodna3的qmake和Qt的qmake冲突问题 zhyzhy-HP:~/Sources/mpv-examples/libmpv/qt$ make g -c -pipe -g -Wall -Wextra -D_REENTRANT -fPIC -DQT_WIDGET…

SQL JOIN的学习

SQL JOIN (w3school.com.cn) 之前跟着老师学数据库的时候学过&#xff0c;最近又比较频繁的在使用。 再复习一下。 Id_P是主键 Id_O是主键 1. SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons, Orders WHERE Persons.Id_P Orders.Id_P 2. SEL…

Idea 2023.2.7构建SpringCloud多模块项目

Idea 2023.2.7构建SpringCloud多模块项目 本文介绍如何使用idea 2023.2.7构建基于SpringCloud alibaba微服务项目&#xff0c;基于Nacos注册中心。 环境准备&#xff1a; JDK版本&#xff1a;jdk17 SpringBoot:3.3.4 SpringCloud:2023.0.3 Nacos服务端:2.4.3 1、创建父工程&a…

大数据测试:Charles修改响应数据

上一篇大数据测试&#xff1a;Fiddler修改响应数据-CSDN博客 &#xff0c;有同学反馈有没有Charles的方式修改响应数据&#xff0c;本篇就是Charles修改数据操作步骤&#xff0c;相比较fiddler&#xff0c;Charles相对简单&#xff0c;便捷&#xff0c;我很喜欢 1、背景&…

为什么SSH协议是安全的?

SSH的传输层协议&#xff08;Transport Layer Protocol&#xff09;和用户鉴权协议&#xff08;Authentication Protocol&#xff09;确保数据的传输安全&#xff0c;这里只介绍传输层协议&#xff0c;是SSH协议的基础。 本文针对SSH2协议。 1、客户端连接服务器 服务器默认…

Web组态数据联动

1. 通过get/post获取设备列表信息 2. websocket连接mqtt服务器&#xff0c;接收json报文信息 3. 通过Alpine进行数据联动 4. 封装svg对象&#xff0c;更新属性值 index.html <!DOCTYPE html> <html lang"en"> <head> <meta charset&qu…

Wavelet Convolutions for Large Receptive Fields

大感受野的小波卷积 论文链接&#xff1a;https://arxiv.org/abs/2407.05848v2 项目链接&#xff1a;https://github.com/BGU-CS-VIL/WTConv Abstract 近年来&#xff0c;人们一直试图增加卷积神经网络&#xff08;CNN&#xff09;的核大小&#xff0c;以模拟Vision Transfo…

基于深度学习的车辆车型检测识别系统(YOLOV5)

界面图&#xff1a; 项目简介&#xff1a; 网络&#xff1a;深度学习网络 yoloV5 软件&#xff1a;PycharmAnaconda 环境&#xff1a;python3.8 opencv PyQt5 torch1.9 文件&#xff1a;训练集8000张图片 测试集1000张图片 系统包含所有文件夹 环境文件 UI文件 功能&a…

Zookeeper快速入门:部署服务、基本概念与操作

文章目录 一、部署服务1.下载与安装2.查看并修改配置文件3.启动 二、基本概念与操作1.节点类型特性总结使用场景示例查看节点查看节点数据 2.文件系统层次结构3.watcher 一、部署服务 1.下载与安装 下载&#xff1a; 一定要下载编译后的文件&#xff0c;后缀为bin.tar.gz w…

PE结构之导出表

导出表结构中各种值的意义 ​​​​​​ 根据函数地址表遍历函数名称RVA表,和上面的图是逆过程 //函数地址表 和当前内存中的位置DWORD AddressOfFunctionsFOA RVAToFOA(LPdosHeader, LPexprotDir->AddressOfFunctions);PDWORD LPFunctionsAddressInMemary (PDWORD)((cha…

ssm基于VUE的图书馆管理系统的设计与实现+vue

系统包含&#xff1a;源码论文 所用技术&#xff1a;SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习&#xff0c;获取源码请私聊我 需要定制请私聊 目 录 目 录 III 第1章 绪论 1 1.1 课题背景 1 1.2 课题意义 1 1.3 研究内容 2 第2章 开发环境与技术 3 …

Android终端GB28181音视频实时回传设计探讨

技术背景 好多开发者&#xff0c;在调研Android平台GB28181实时回传的时候&#xff0c;对这块整体的流程&#xff0c;没有个整体的了解&#xff0c;本文以大牛直播SDK的SmartGBD设计开发为例&#xff0c;聊下如何在Android终端实现GB28181音视频数据实时回传。 技术实现 Andr…

基于ESP32的灌溉系统

精准灌溉优化与高效水资源利用&#xff1a;基于IoT的农业解决方案 引言 传统农业实践缺乏实时监控和高效操作&#xff0c;导致效率低下和产量不高。本项目旨在利用物联网&#xff08;IoT&#xff09;技术和低成本通信协议&#xff0c;设计一个解决方案来解决这一问题。提出的…

Docker实践与应用举例

目录 1. 引言 2. Docker的基本概念 2.1 什么是Docker容器 2.2 Docker镜像 2.3 Docker架构 3. Docker的应用场景 3.1 开发与测试环境的隔离 3.2 持续集成与持续交付&#xff08;CI/CD&#xff09; 3.3 微服务架构 4. Docker的实践案例 4.1 部署Nginx反向代理 4.2 使用…

研发线上事故风险解读之缓存篇

专业在线打字练习平台-巧手打字通&#xff0c;只输出有价值的知识。 一 前言 本文继续基于《线上事故案例集》&#xff0c;进一步深入梳理线上事故缓存使用方面的问题点&#xff0c;重点关注缓存在使用和优化过程中可能出现的问题&#xff0c;旨在为读者提供具有实践指导意义的…

学习如何将Spring Boot Jar包注册成Windows服务

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 在开发Spring Boot应用时&#xff0c;我们通常通过命令行或IDE手动启动项目。然而&#xff0c;在生产环境中&#xff0c;为了提升效率和稳定性&#xff0c;我们更希望应用能够自动启动&#xff0c;并且作为Wi…

OpenCV高级图形用户界面(5)获取指定滑动条(trackbar)的当前位置函数getTrackbarPos()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 返回滑动条的位置。 该函数返回指定滑动条的当前位置。 cv::getTrackbarPos() 函数用于获取指定滑动条&#xff08;trackbar&#xff09;的当前…

【H2O2|全栈】JS入门知识(二)

目录 JS 前言 准备工作 运算符 算数运算符 比较运算符 自增、自减运算符 逻辑运算符 运算符的优先级 分支语句 if-else语句 switch语句 三元表达式 结束语 JS 前言 本系列博客主要分享JavaScript的基础语法知识&#xff0c;本期为第二期&#xff0c;包含一些简…

Linux基础命令系列一小白必掌握

前言 为了有一个大概的复习框架所以先给出总的思维导图&#xff0c;如图&#xff1a; 目录 1.Linux的目录结构&#xff1f;Linux命令与命令行是什么&#xff1f;Linux命令基础格式&#xff1f; 2.ls命令 3.cd命令 4.mkdir命令 5.touch命令 6.cat命令 7.cp命令 8.mv命令…

大数据开发电脑千元配置清单

大数据开发电脑配置清单 电脑型号HUANANZHI 台式电脑操作系统Windows 11 专业版 64位&#xff08;Version 23H2 / DirectX 12&#xff09;处理器英特尔 Xeon(至强) E5-2673 v3 2.40GHz主板HUANANZHI X99-P4T&#xff08;P55 芯片组&#xff09;显卡NVIDIA GeForce GT 610 ( 2…