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…...

【JavaScript】LeetCode:61-65
文章目录 61 课程表62 实现Trie(前缀树)63 全排列64 子集65 电话号码的字母组合 61 课程表 Map BFS拓扑排序:将有向无环图转为线性顺序。遍历prerequisites:1. 数组记录每个节点的入度,2. 哈希表记录依赖关系。n 6&a…...

【SpringAI】(一)从实际场景入门大模型——适合Java宝宝的大模型应用开发
一、简单场景介绍 假设你需要为一个商城项目接入一个基于SpringAI的智能客服系统,现在我们来基本模拟一下: 当我通过系统提问,大模型会针对我的问题进行回答。 当我们通过程序提问时,SpringAI会将我们的提问封装成Prompts&#x…...

植物大战僵尸杂交版
最新版植物大战僵尸杂交版 最近本款游戏火爆 下载资源如下: win版本:2.3.7 链接:下载地址 提取码:9N3P Mac(苹果版本):2.0.0 链接:下载地址 提取码:Bjaa 介绍ÿ…...

live2d 实时虚拟数字人形象页面显示,对接大模型
live2dSpeek 测试不用gpu可以正常运行 https://github.com/lyz1810/live2dSpeek 运行的话还需要额外下载https://github.com/lyz1810/edge-tts支持语音 ## 运行live2dSpeek >npm install -g http-server >http-server . ## 运行edge-tts python edge-tts.py...

SpringCloud-持久层框架MyBatis Plus的使用与原理详解
在现代微服务架构中,SpringCloud 是一个非常流行的解决方案。而在数据库操作层面,MyBatis Plus 作为 MyBatis 的增强工具,能够简化开发,提升效率,特别是在开发企业级应用和分布式系统时尤为有用。本文将详细介绍 MyBat…...

Servlet的HttpServletRequest
HttpServletRequest是Java Servlet规范中定义的一个接口,它表示客户端向服务器发送的请求,并提供了与HTTP请求相关的方法和属性。 getSession方法():用于获取与当前请求相关联的HttpSession对象。 setAttribute(String name, Object value)…...

U9销售订单不能带出最新价格出来
业务员突然说系统带不出来销售价格。了解之后,不是带不出来价格,是做了价格调整之后,最新价格没有匹配出来,带出来的价格是历史价格。检查,分析相关的单据,生效日期,失效日期,审核状…...

Jmeter接口测试企业级项目实战day1
1.接口测试 接口测试工具: JMeter:支持多种接口类型,还能测试性能,开源,开源进行二次扩展。 Postman:简单,方便,局限性比较大,适合开发临时行调试 APIFox等:新…...

接口测试面试题含答案
1、解释一下正向和逆向测试。 正向测试:针对接口设计预期的功能和行为,验证接口是否按照预期工作。 逆向测试:针对错误输入、不合理的条件或非预期的使用方式,验证接口是否能够适当地处理这些情况并提供合理的错误处理。 2、什…...

横板营业执照提取生成
前言 有一段时间没发博客了,今天分享下几个月前做的营业执照提取器UI 预览图 框架 b-ui很好用,这个前端框架作者 发布的插件我都会用,鱿鱼助手也是基于这个框架开发的 代码 html <template><view><template><view…...