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               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.21 GiB
  PE Size               4.00 MiB
  Total PE              4919
  Alloc PE / Size       4919 / 19.21 GiB
  Free  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] inherit
  ACTIVE            '/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/sdf
  Physical 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/sdf
  Volume group "cloud" successfully created

[root@martin-host ~]# vgdisplay cloud 
  --- Volume group ---
  VG Name               cloud
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               2cyeQa-pxwF-TDQ3-3buR-04Tc-My5z-WINKYY
  • 创建逻辑卷,名称为openstack
[root@martin-host ~]# lvcreate -L 5G -n openstack cloud
  Logical 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 cloud
  Logical volume "docker" created.

[root@martin-host ~]# lvscan 
  ACTIVE            '/dev/cloud/openstack' [5.00 GiB] inherit
  ACTIVE            '/dev/cloud/docker' [10.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [1.00 GiB] inherit
  ACTIVE            '/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 free
  Free  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] inherit
  ACTIVE            '/dev/cloud/docker' [15.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [1.00 GiB] inherit
  ACTIVE            '/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 free
  Free  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 openstack
  ACTIVE            '/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 free
  Free  PE / Size       1278 / 4.99 GiB
  • 扩容卷组的容量
[root@martin-host ~]# pvcreate /dev/sdg
  Physical volume "/dev/sdg" successfully created.

[root@martin-host ~]# vgextend cloud /dev/sdg 
  Volume group "cloud" successfully extended

[root@martin-host ~]# vgdisplay cloud | grep -i free
  Free  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]: y
  Size 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] inherit
  ACTIVE            '/dev/cloud/docker' [5.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [1.00 GiB] inherit
  ACTIVE            '/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]: y
  Logical volume "openstack" successfully removed

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

新手给视频加字幕的方法有哪些?4种加字幕方法推荐!

在视频制作中&#xff0c;字幕不仅是传递信息的重要手段&#xff0c;还能增强视频的观感和专业性。对于新手来说&#xff0c;如何给视频添加字幕可能是一个挑战。本文将介绍字幕的类型、推荐添加字幕的工具&#xff0c;以及详细添加字幕方法&#xff0c;帮助新手轻松掌握视频字…

宠物咖啡馆业务自动化:SpringBoot框架的实现方法

3系统分析 3.1可行性分析 通过对本基于Spring Boot的宠物咖啡馆平台的设计与实现实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本基于Spring Boot的宠物咖啡馆…

微前端 Spa qiankun

简介 首先什么是微前端&#xff1f; 他是一个软件架构模式。借鉴了后端的为服务架构思想&#xff0c;是将复杂单一的前端进行拆分成多个可以独立开发、部署、维护的小型应用。不同的应用关注不同的业务。最终将其集成到一个主框架里面。简单来说就是先分后合。 传统前端开发的…

【Unity - 屏幕截图】技术要点

在Unity中想要实现全屏截图或者截取某个对象区域的图片都是可以通过下面的函数进行截取 Texture2D/// <summary>/// <para>Reads the pixels from the current render target (the screen, or a RenderTexture), and writes them to the texture.</para>/…

【氮化镓】低温对p-GaN HEMT迁移率、阈值电压和亚阈值摆幅的影响

本期分享一篇低温对p-GaN HEMT 迁移率、阈值电压和亚阈值摆幅影响进行表征和建模的研究论文。文章作者Shivendra Kumar Singh、Thien Sao Ngo、Tian-Li Wu(通讯作者)和Yogesh Singh Chauhan,分别来资源中国台湾阳明交通大学国际半导体技术学院、印度理工学院坎普尔分校电气工…

(二)Python输入输出函数

一、输入函数 input函数&#xff1a;用户输入的数据&#xff0c;以字符串形式返回&#xff1b;若需数值类型&#xff0c;则进行类型转换。 xinput("请入你喜欢的蔬菜&#xff1a;") print(x) 二、输出函数 print函数 输出单一数值 x666 print(x) 输出混合类型…

专利开放许可与知识产权保护的关系是什么?

专利开放许可在一定程度上是对知识产权保护制度的补充和拓展。知识产权保护的核心目标是鼓励创新&#xff0c;通过赋予专利所有者一定期限内的独占权&#xff0c;使其能够从创新成果中获得经济回报&#xff0c;从而激励更多的创新投入。 专利开放许可则为专利的应用和传播提供了…

如何制作一个宠物店小程序

产品介绍&#xff1a; 出门在外随时都可以看到不少的居民养的有宠物&#xff0c;大多数都是以阿猫阿狗为主&#xff0c;可以所得宠物市场比较大&#xff0c;宠物数量已经统计到的就有上亿只。这么多的宠物肯定需要宠物粮食&#xff0c;宠物服务市场就出来了。 家里有宠…

Git的基本使用入门

参考&#xff1a;Git速查 git的基本概念 git常用命令大部分是基于三大分区来执行的。先来了解一些专有名词吧。 工作区&#xff0c;也叫 Working Directory暂存区&#xff0c;也叫 stage&#xff0c;index版本库&#xff0c;也叫本地仓库&#xff0c;commit History 将代码推…

从混乱到可控:非结构化数据在远程监造中的作用

一、背景远程数字监造&#xff0c;工业制造的新趋势 在光伏组件的生产过程中&#xff0c;其质量和安全性&#xff0c;对产品的整体效益来说至关重要。为保证最终效益&#xff0c;必须要有对生产过程的监造和生产完成的验收。 然而&#xff0c;传统的线下监造模式效率较低&…

facebook受众选择设置策略的最佳方式

在进行Facebookguanggao投放时&#xff0c;受众的选择是一个至关重要的步骤。正确的受众选择不仅能够帮助我们更好地定位目标用户&#xff0c;还能显著提高guanggao的转化率和投资回报率&#xff08;ROI&#xff09;。然而&#xff0c;受众选择的数量和范围同样是需要认真考虑的…

Mybatis全局配置介绍

【mybatis全局配置介绍】 mybatis-config.xml&#xff0c;是MyBatis的全局配置文件&#xff0c;包含全局配置信息&#xff0c;如数据库连接参数、插件等。整个框架中只需要一个即可。 1、mybatis全局配置文件是mybatis框架的核心配置&#xff0c;整个框架只需一个&#xff1b…

物联网IoT平台 | 物联网IoT平台的定义

物联网IoT平台&#xff1a;定义、发展与应用在当今信息化时代&#xff0c;物联网&#xff08;Internet of Things&#xff0c;简称IoT&#xff09;已经成为推动社会进步和产业升级的重要力量。物联网IoT平台&#xff0c;作为连接物理世界与数字世界的桥梁&#xff0c;正逐步改变…

【多线程】线程池(上)

文章目录 线程池基本概念线程池的优点线程池的特点 创建线程池自定义线程池线程池的工作原理线程池源码分析内置线程池newFixedThreadPoolSingleThreadExecutornewCachedThreadPoolScheduledThreadPool 线程池的核心线程是否会被回收?拒绝策略ThreadPoolExecutor.AbortPolicyT…

撸猫变梳毛?怎么解决猫咪掉毛问题?好用的宠物空气净化器推荐

秋风一吹&#xff0c;新一轮的猫咪换毛季又到了&#xff0c;这也意味着我失去了撸猫自由。我每天的治愈方式就是下班撸猫&#xff0c;抚摸着柔软的毛发&#xff0c;好像一天的烦恼都消除了。可是一到换毛季&#xff0c;猫还没撸两下&#xff0c;先从猫咪身上带下一手毛&#xf…

ASP.NET Core8.0学习笔记(二十一)——EFCore关系配置API

一、关系配置API概述 当我们需要指定一个字段作为外键&#xff0c;而这个外键又不符合以上四种约定时&#xff0c;就需要在IEntityTypeConfiguration实现类&#xff08;对应的配置类&#xff09;中使用Fluent API直接配置外键。理论上可以通过API直接指定一个属性&#xff0c;…

关于Qt音乐播放器进度条拖拽无用的问题解决方案

在使用Qt编写音乐播放器的时候&#xff0c;进度条关联播放音乐基本是必须的。那么在设计的过程中你可能会碰到一个奇怪的问题就是拖拽进度条的时候&#xff0c;可能会报错如下&#xff1a; 然后音乐就卡着不动了。。。 connect(ui->volume_toolButton,&VolumeToolBtn::…

LLM - 配置 ModelScope SWIFT 测试 Qwen2-VL 视频微调(LoRA) 教程(3)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/142882496 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 SWIFT …

挖掘空间数据要素典型领域应用场景

空间数据要素作为数字经济的基石&#xff0c;正在多个领域发挥着重要作用。随着技术的发展&#xff0c;空间数据的应用场景不断拓展&#xff0c;为各行各业带来了深刻的变革。以下是几个典型的空间数据要素应用领域&#xff1a; 1. 城市规划与管理 空间数据在城市规划和管理中…

在线培训知识库+帮助中心:教育行业智慧学习的创新桥梁

在数字化转型的浪潮中&#xff0c;教育行业正经历着前所未有的变革。为了应对日益增长的学习需求&#xff0c;提升教育质量&#xff0c;构建一个集在线培训知识库与帮助中心于一体的智慧学习环境&#xff0c;已成为教育行业转型升级的重要方向。这一创新模式不仅优化了学习资源…