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 10月 11 09:02 /dev/centos/root -> ../dm-0[root@martin-host ~]# ls -l /dev/dm-0
brw-rw---- 1 root disk 253, 0 10月 11 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
相关文章:
Linux系统——lvm逻辑卷
Linux系统——lvm逻辑卷 一、lvm逻辑卷1、lvm操作流程2、操作指令 二、逻辑卷操作1、创建逻辑卷1.1 /dev/cloud/openstack 5G xfs /cloud/openstack1.2 /dev/cloud/docker 10G ext4 /cloud/docker 2、逻辑卷扩容2.1 扩容流程2.2 需求一:扩容ext4文件系统的逻辑卷2.3…...
一键快捷回复软件助力客服高效沟通
双十一临近,电商大战一触即发!在这个购物狂欢的热潮中,客服团队的效率至关重要。今天我要和大家分享一个非常实用的快捷回复软件,特别是为电商客服小伙伴们准备的。这款软件能够极大地提高你的工作效率,让你在处理客户…...
初识Linux之指令(二)
一:head指令 head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 语法:head 【参数】 【文件】 功能&…...
在深度学习中,Epoch、迭代次数、批次大小(Batch Size)和学习速率(Learning Rate)是影响模型训练效果的重要超参数。
1. Epoch 定义:Epoch是指整个训练数据集被完整地用来训练一次。影响:增加Epoch的数量可以使模型更充分地学习数据。然而,过高的Epoch可能导致过拟合,即模型在训练集上表现良好,但在测试集上表现不佳。设置:…...
研究学习的循环递进三段论
在研究学习,编程语言、编译器、计算机科学、类型论、集合论等多门学科及分支后,我貌似隐隐约约地感受到,研究学习的过程分为三个阶段,我称之为研究学习的三段论,其中的段,是阶段的意思。对应了,…...
Linux下如何将代码提交至Gitee
首先在gitee中创建自己的仓库. 下面是已经创建好的仓库 然后复制仓库的链接(点击上图克隆/下载) 接下来打开linux, 1.在命令行输入git clone 链接 2. 输入ll,即可看到linux-course项目仓库 3.cd linux-courses(进入项目仓库) 4.在仓库中可以随意增加文件 例如增加test.c文件…...
【MATLAB源码-第181期】基于matlab的32QAM调制解调系统频偏估计及补偿算法仿真,对比补偿前后的星座图误码率。
操作环境: MATLAB 2022a 1、算法描述 在通信系统中,频率偏移是一种常见的问题,它会导致接收到的信号频率与发送信号的频率不完全匹配,进而影响通信质量。在调制技术中,QPSK(Quadrature Phase Shift Keyi…...
24年856电子线路专业课考场回忆
856考试包含了模电与数电两大部分,24年题型结构为14题选择与14填空,上去大约花了半个小时搞定,唯一记得有几个纠结点:1、开关型稳压电路中开关管怎么接是升压,2、字扩展与位扩展的区别。 接下来就是第三部分的分析计算…...
el-table表格里面有一条横线
表格里面 有一条横线, 出现原因:是自定义了表格头.使用了固定列(fixed),定宽。就很难受。。。 添加样式文件: <style lang"scss" scoped>::v-deep {.el-table__fixed-right {height: 100%…...
QT通过QLocalSocket和QSharedMemory实现进程间通信
文章目录 QLocalSocket和QLocalServer客户端服务端QSharedMemory加载数据到共享内存从共享内存中读取数据进程间通信(Inter-Process Communication, IPC)是指在不同进程之间进行数据交换和消息传递的机制。由于不同进程之间在内存和资源使用上的隔离,IPC 是操作系统提供的一种…...
Python中的数据可视化艺术:用Matplotlib和Seaborn讲故事
Python中的数据可视化艺术:用Matplotlib和Seaborn讲故事 数据可视化不仅仅是图表的绘制,更是通过视觉形式传达复杂信息的一种艺术。使用Python中的两个强大的库——Matplotlib和Seaborn,可以将数据转化为清晰、优美的图表,帮助我…...
python机器学习(手写数字识别)
# 导包 import matplotlib.pyplot as plt import pandas as pd from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier import joblib from collections import Counter # 1. 定义函数 show_digit(idx), 用于查看: 数字图…...
如何针对项目中的技术难点准备面试?——黑马点评为例
最核心的,包装和准备 个人项目,怎么包装?一定要写出代码才可以吗? 你可以在系统A中实现就可以,了解其中实现的细节,怎么跟面试官对线等等,这些话术到位了之后,再把它融入到系统B&a…...
ARP欺骗的多种手法
学习参考: ARP欺骗的各种d玩法-CSDN博客 https://juejin.cn/post/7383702153892954164 一、什么是ARP欺骗 1.什么是ARP? ARP (Address Resolution Protocol) 是一种网络层协议,用于将 IP 地址转换为物理地址(MAC 地址࿰…...
HCIA——one
推荐电影:《模仿游戏》《黑客帝国》《头号玩家》 图灵机每秒五千次计算,当今计算机4080ti算力每秒21万亿次的计算。 OSI七层模型 应用层:人机交互,将抽象语言转换成编码 表示层:将编码转换成二进制 介质访问控制层…...
【vue】⾃定义指令+插槽+商品列表案例
代码获取 07-⾃定义指令插槽商品列表案例 ⼀、⾃定义指令 1. 基本使⽤ 1.1 指令介绍 内置指令:v-model、v-for、v-bind、v-on… 这都是Vue给咱们内置的⼀些指令,可以直接使⽤ ⾃定义指令:同时Vue也⽀持让开发者,⾃⼰注册⼀些…...
多线程——线程的等待通知
目录 前言 一、wait() 方法 1.方法介绍 2.代码示例 3.wait 和 sleep 的区别 二、notify() 方法 1.方法介绍 2.代码示例 三、notifyAll() 方法 1.方法介绍 2.代码示例 结尾 前言 由于线程之间是抢占式执行的,因此线程之间的执行顺序是难以预知的…...
模态与非模态的对话框
本文学习自: 《Qt Creato快速入门》 #include "widget.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }1. #include "widget.h" #include "ui_w…...
C语言练习
题目: 1.运用switch选择语句,编写一段C语言,请根据输入的数字,显示相应的星期日,如果数字所对应的星期日并不存在请显示“抱歉,您输入的内容并不存在。” 分析:1.在本题中,要运用到…...
CyberRt实践之Hello Apollo(Apollo 9.0版本)
apollo9.0环境安装参考官方网站 apollo.baidu.com/community/Apollo-Homepage-Document?docBYFxAcGcC4HpYIbgPYBtXIHQCMEEsATAV0wGNkBbWA5UyRFdZWVBEAU0hFgoIH0adPgCY%2BADwCiAVnEAhAILiAnABZxEgOzK1Y%2BQA51M3ROUnJBsbK2WZoyUdkBhcXoAMhlwDFlARnUXZdzE9AGY%2BbFINADYpUhCEFW…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
