CentOS 7 lvm 裸盘的扩容和缩容减盘 —— 筑梦之路

news2025/1/18 7:24:26

背景介绍

之前写过比较多的关于lvm的文章:

CentOS 7 lvm 更换坏盘操作步骤小记 —— 筑梦之路_centos更换硬盘操作-CSDN博客

xfs ext4 结合lvm 扩容、缩容 —— 筑梦之路_ext4扩盘-CSDN博客

LVM逻辑卷元数据丢失恢复案例 —— 筑梦之路_pve lvm数据恢复-CSDN博客

LVM逻辑卷管理之磁盘镜像——筑梦之路_linux lv创建卷镜像-CSDN博客

CentOS7 LVM 逻辑卷2种读写策略(磁盘IO性能优化)—— 筑梦之路_lvm 磁盘读写负载均衡-CSDN博客

CentOS7 利用lvm cache结合机械盘和SSD盘实现磁盘IO性能提升 —— 筑梦之路_lvmcache-CSDN博客 linux操作系统比较完善的LVM逻辑卷管理——筑梦之路_pvresize -v /dev/sda-CSDN博客

CentOS 7 非LVM分区扩容(必须是同一块硬盘)——筑梦之路_非lvm分区 中间分区能扩容么-CSDN博客

Centos 7 xfs 文件系统 lvm 分区容量调整_centos7如何调整文件系统大小-CSDN博客 

而现实情况相对复杂,以上文章的共同点均需要首先对一块裸盘进行分区,然后在分区的基础上使用lvm逻辑卷管理,而某些用户使用时则未进行分区,直接使用了裸盘,比如/dev/sdb,这里主要针对这种情况记录下如何进行lvm的扩容和缩容。

环境说明

centos 7  

系统盘20G  数据盘10G(裸盘)文件系统xfs

lvm扩容

现需要对数据盘进行在线扩容到20G,并不影响现有数据

# 查看块设备

lsblk

# 此时发现pv仍然还是10G

调整pv大小

pvresize /dev/sdb

 lv扩容

lvextend -l +100%FREE /dev/mapper/data-lv

xfs_growfs /dev/mapper/data-lv

至此扩容成功。

lvm缩容

 xfs文件系统不支持在线缩容,因此要缩容的话得做好数据备份,重建lv

这里分两种情况来说明

1. 收缩容量

2. 回收硬盘

收缩容量

现需要逻辑分区缩容10G

# 做好数据备份 
cp -aR /mnt /opt/backup/

# 收缩lv

lvresize -L 10G /dev/mapper/data-lv

由于xfs文件系统并不支持缩容,因此查看挂载还是没变化

 需要卸载挂载,重新格式化lv,注意挂载点是否有进程占用,若有进程占用需要先停掉服务,确保数据不会丢失。

# 卸载

umount /mnt

# 格式化

mkfs.xfs /dev/mapper/data-lv

# 重新挂载

mount /dev/mapper/data-lv /mnt

# 查看容量

df -hT /mnt

 缩容减盘

现需要将硬盘/dev/sdb下架

# 数据做好备份

# 卸载挂载点

umount /mnt

# 移除lv

lvremove /dev/mapper/data-lv

# 移除vg

vgremove data

# 移除物理卷

pvremove /dev/sdb

 此时就可以将系统关机,移除硬盘了

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

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

相关文章

Java多线程技术8——并发集合框架

1 集合框架结构 Java中的集合框架父接口是Iterable,从这个接口向下一一继承就可以得到完整的Java集合框架结构。集合框架的继承与实现关系相当复杂,简化的集合框架接口结构如下图: 可以发现,出现了3个继承分支(List,Set,Queue&…

NR Scell上能收common search space dci吗?

答案肯定是能的,先看下common search space都有哪些。 1 Type0-PDCCH CSS set:在 MCG的primary cell上设置,主要包含MIB 中的pdcch-ConfigSIB1 或 PDCCH-ConfigCommon 中的 searchSpaceSIB1 或searchSpaceZero ,用于接收由SI-RNTI…

Jupyter Notebook 开启远程登录

Jupyter Notebook可以说是非常好用的小工具,但是不经过配置只能够在本机访问 安装jupyter notebook conda install jupyter notebook 生成默认配置文件 jupyter notebook --generate-config 将会在用户主目录下生成.jupyter文件夹,其中jupyter_noteb…

Spring漏洞合集

目录 什么是spring区分Spring与Struts2框架的几种新方法CVE-2016-4977:Spring Security OAuth2 远程命令执行漏洞漏洞介绍 & 环境准备漏洞发现漏洞验证 & 利用1利用2 CVE-2017-4971:Pivotal Spring Web Flow 远程代码执行漏洞漏洞介绍 & 环境…

国产化软硬件升级之路:πDataCS 赋能工业软件创新与实践

在国产化浪潮的推动下,基础设施软硬件替换和升级的需求日益增长。全栈国产化软硬件升级替换已成为许多领域中的必选项,也引起了数据库和存储领域的广泛关注。近年来,虽然涌现了许多成功的替换案例,但仍然面临着一些问题。 数据库…

SpringBoot系列---【过滤器Filter和拦截器HandlerInterceptor的区别和用法】

1.作用时机 1.1 过滤器 过滤器(Filter)主要作用在请求到达Servlet或JSP之前,对请求进行预处理,可以对HTTP请求进行过滤、修改。过滤器是基于回调函数实现的,开发人员通过重写doFilter()方法实现过滤逻辑,其主要功能有:…

自动化运维平台Spug本地部署结合内网穿透实现远程访问

文章目录 前言1. Docker安装Spug2 . 本地访问测试3. Linux 安装cpolar4. 配置Spug公网访问地址5. 公网远程访问Spug管理界面6. 固定Spug公网地址 前言 Spug 面向中小型企业设计的轻量级无 Agent 的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件…

js中变量的使用

文章目录 一、变量二、声明三、赋值四、更新变量五、声明多个变量(不推荐)六、变量的本质七、关键字八、变量名命名规则 一、变量 理解变量是计算机存储数据的“容器”,掌握变量的声明方式 白话:变量就是一个装东西的盒子。通俗:变量是计算机…

C#高级 01.Net多线程

一.基本概念 1.什么是线程? 线程是操作系统中能独立运行的最小单位,也是程序中能并发执行的一段指令序列线程是进程的一部分,一个进程可以包含多个线程,这些线程共享进程资源进程有线程入口,也可以创建更多的线程 2.…

Pandas教程(三)—— 数据清洗与准备

1.处理缺失值 1.1 数据删除函数 作用:删除Dataframe某行或某列的数据 语法:df.drop( labels [ ] ) drop函数的几个参数: labels :接收一个列表,内含删除行 / 列的索引编号或索引名 axis &…

BUUCTF Reverse/[2019红帽杯]Snake

BUUCTF Reverse/[2019红帽杯]Snake 下载解压缩后得到可执行文件,而且有一个unity的应用程序,应该是用unity编写的游戏 打开是一个贪吃蛇游戏 用.NET Reflector打开Assembly-CSharp.dll。(unity在打包后,会将所有的代码打进一个Ass…

使用克魔助手进行iOS数据抓包和HTTP抓包的方法详解

摘要 本文博客将介绍如何在iOS环境下使用克魔助手进行数据抓包和HTTP抓包。通过抓包,开发者可以分析移动应用程序的网络请求发送和接收过程,识别潜在的性能和安全问题,提高应用的质量和安全性。 引言 在移动应用程序的开发和测试过程中&am…

【unity3D-粒子系统】粒子系统主模块-Particle System篇

💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的粒子系统主模块-Particle System 基础知识 Particle System 介绍:粒子系统的主模块,是必需的模块&#x…

Docker部署Plik临时文件上传系统并实现远程访问设备上传下载文件

文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…

golang并发安全-sync.map

sync.map解决的问题 golang 原生map是存在并发读写的问题,在并发读写时候会抛出异常 func main() {mT : make(map[int]int)g1 : []int{1, 2, 3, 4, 5, 6}g2 : []int{4, 5, 6, 7, 8, 9}go func() {for i : range g1 {mT[i] i}}()go func() {for i : range g2 {mT[…

打开相机失败 出现错误的原因

如何解决? Debug中缺少DLL文件 以下参考周姐文档 相机调用步骤 学习相机第三方库的安装 https://blog.csdn.net/Qingshan_z/article/details/117257136书签:QT添加库(静态库和动态库)_Qingshan_z的博客-CSDN博客_qt添加库 添加文…

在 Android 手机上从SD 卡恢复数据的 6 个有效应用程序

如果您有 Android 设备,您可能会将个人和专业的重要文件保存在设备的 SD 卡上。这些文件包括照片、视频、文档和各种其他类型的文件。您绝对不想丢失这些文件,但当您的 SD 卡损坏时,数据丢失是不可避免的。 幸运的是,您不需要这样…

22、Qt使用QSettings类读/写初始化文件(.ini)和读/写注册表(Registry)

一、读/写初始化文件(.ini) 1、写 使用如下代码会生成"config.ini"文件,文件内容如下: QSettings settings("config.ini", QSettings::IniFormat); settings.setValue("/MySettings/name", "root"); setti…

基于Java Swing的图书管理系统

一、项目总体架构 本项目基于Java Swing框架,数据库采用的是MySQL。项目文件夹如下: 二、项目截图 1.登录和注册界面 2.用户界面 3.管理员管理图书类别 4.管理员管理书籍 5.管理员管理用户 项目总体包括源代码和课程论文,需要源码的…

nc不支持-e时的反弹

如果你想要使用nc反弹shell,但是不能使用-e选项,你可以尝试以下的替代方法: 使用mkfifo或mknod命令创建一个命名管道,然后使用cat命令读取管道中的内容,并将其传递给/bin/sh执行,再将输出重定向到nc连接。…