LVM管理linux

news2024/11/14 22:40:08

1. lvm的应用场景及其弊端

应用场景:
随着公司的发展,数据增长较快,最初规划的磁盘容量不够用了
弊端:
数据不是直接存放在硬盘上,而是在硬盘的上面又虚拟出来一层逻辑卷存放数据,故而增加了磁盘数据恢复的难度

2. 物理卷、卷组、逻辑卷

在这里插入图片描述

物理卷(PV):把常规的块设备(硬盘,分区等可以读写数据的设备)通过pvcreate命令对其进行初始化,就成了物理卷
卷组(VG):把多个物理卷的容量组成一个逻辑整体,可以从里面灵活分配容量
逻辑卷(LV):从卷组中划分部分空间成为一个可以读写数据的逻辑单元。需要对其格式化然后挂载使用

3. lvm管理

3.1 部署lvm

创建lvm步骤:
a) 添加物理磁盘,创建物理卷
b) 创建卷组,将物理卷加入卷组
c) 在卷组中划分逻辑卷
d) 格式化逻辑卷
e) 挂载使用

//1.准备物理磁盘
[root@localhost ~]# lsblk |grep "sd[bcd]"
sdb             8:16   0    1G  0 disk
sdc             8:32   0    1G  0 disk
sdd             8:48   0    1G  0 disk

//1.将磁盘加入pv
[root@localhost ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
//检查pv创建情况
[root@localhost ~]# pvs
PV         VG     Fmt  Attr PSize   PFree
/dev/sdb          lvm2 ---    1.00g 1.00g

//2.创建名为datavg的卷组
[root@localhost ~]# vgcreate datavg /dev/sdb
Volume group "datavg" successfully created
//检查卷组
[root@localhost ~]# vgs
VG      #PV #LV #SN Attr   VSize    VFree
datavg   1   0   0 wz--n- 1020.00m 1020.00m

//3.创建逻辑卷, 分配名称, 以及大小, 指定卷组
[root@localhost ~]# lvcreate -L 100M -n lv1 datavg
Logical volume "datalv1" created.
//检查逻辑卷
[root@localhost ~]# lvscan
ACTIVE            '/dev/datavg/lv1' [100.00 MiB] inherit

//4.格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/datavg/lv1

//挂载并使用
[root@localhost ~]# mkdir /lv1
[root@localhost ~]# mount /dev/datavg/lv1 /lv1/
[root@localhost ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
...
/dev/mapper/datavg-lv1   97M  5.2M   92M   6% /lv1

3.2 卷组管理

  • 扩展卷组,将新磁盘加入卷组
//1.新硬盘加入pv
[root@localhost ~]# pvcreate /dev/sdc

2.使用vgextend扩展
[root@localhost ~]# vgextend datavg /dev/sdc
Volume group "datavg" successfully extended
  • 缩减卷组,将指定磁盘从卷组中删除
[root@localhost ~]# vgreduce datavg /dev/sdb
  Removed "/dev/sdb" from volume group "datavg"
  • 数据迁移卷组,同一卷组的磁盘才可以进行在线迁移
//1.检查当前逻辑卷VG中PV使用情况
[root@localhost ~]# pvs
PV      VG   Fmt  Attr PSize PFree
/dev/sdb vg1 lvm2 a -- 2.00g 1.76g 
/dev/sdc vg1 lvm2 a -- 2.00g 2.00g

//2.pvmove在线数据迁移至其他pv 
[root@localhost ~]# pvmove /dev/sdb
  /dev/sdb: Moved: 41.33%
  /dev/sdb: Moved: 100.00%

//3.检查是否将sdb数据迁移至sdc 
[root@localhost ~]# pvs
PV      VG   Fmt  Attr PSize PFree 
/dev/sdb vg1 lvm2 a -- 2.00g 2.00g 
/dev/sdc vg1 lvm2 a -- 2.00g 1.76g

3.3 逻辑卷管理

  • 逻辑卷扩展,逻辑卷的扩展取决于卷组中的容量,逻辑卷扩展的容量不能超过卷组的容量
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree 
vg1 2 2 0 wz --n-   1.88g 1.00g

1.扩展lv逻辑卷
//增加800M分配给逻辑卷 {注意: 800M +800M 不一样}
[root@localhost ~]# lvextend -L +800M /dev/datavg/lv1
//分配磁盘池中多少百分比给逻辑卷
[root@localhost ~]# lvextend -l +50%FREE /dev/datavg/lv1

2.扩展fs文件系统
//xfs扩容
[root@localhost ~]# xfs_growfs /dev/datavg/lv1
//ext扩容
[root@localhost ~]# resize2fs /dev/datavg/lv1
  • 对ext4文件系统的逻辑卷裁剪容量
首先自己创建一个1G的逻辑卷作为裁剪的对象
# lvcreate  -n uplooking -L 1G finance
# mkfs.ext4 /dev/finance/uplooking 

# mkdir -p /finance/uplooking
# mount /dev/finance/uplooking  /finance/uplooking/
# cp /etc/host* /finance/uplooking/


1、如果已经挂载,必须先卸载
# umount /dev/finance/uplooking

2、裁剪容量,必须是先检测文件系统
# e2fsck -f /dev/finance/uplooking
# resize2fs /dev/finance/uplooking 512M

3、调整完毕后采取裁剪逻辑卷容量
# lvreduce  -L 512M /dev/finance/uplooking 
  WARNING: Reducing active logical volume to 512.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce uplooking? [y/n]: y

4、强烈建议裁剪后,再次检测文件系统
# e2fsck -f /dev/finance/uplooking


5、挂载测试
如果能够挂载,一般说明裁剪成功,文件系统没有损坏

# mount /dev/finance/uplooking /mnt
...
/dev/mapper/finance-uplooking  472M  1.6M  435M    1% /mnt 而且文件系统容量被刷新了

缩减逻辑卷注意事项:
1.不能在线缩减,得先卸载;
2.确保缩减后的空间大小依然能存储原有的所有数据;
3.在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态。使用命令e2fsck -f /PATH/TO/LV

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

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

相关文章

Web3 将 MetaMask添加入谷歌浏览器 扩展程序中

Web3到现在理论这段是说的有点太多了 那么 我们先来看个东西 叫 MetaMask 这个在我们项目开发过程中需要使用 MetaMask是一个开源的以太坊的一个钱包 那么 钱包肯定就是用来管理数据资产的 MetaMask 是以一个浏览器插件形式存在的 它可以直接连接到以太坊的网络中来管理我们…

冒泡排序代码

时间复杂度O(n)

03_Linux设备树与设备树语法

目录 什么是设备树 DTS、DTB和DTC DTS语法 dtsi头文件 设备节点 标准属性 compatible属性 model属性 status属性 #address-cells和#size-cells属性 reg属性 ranges属性 name属性 device_type属性 根节点compatible属性 使用设备树之前设备匹配方法 使用设备树以…

K8S之 metrics-server 组件(十八)

首先下载:K8S之 metrics-server 组件 metrics-server 是一个集群范围内的资源数据集和工具,同样的,metrics-server 也只是显示数据,并不提供数据存储服务,主要关注的是资源度量 API 的实现,比如 CPU、…

重塑癌细胞嚣张形象!《自然》重磅论文显示,癌细胞不仅懒还很节俭

▎药明康德内容团队编辑 在我们的印象中,癌细胞都是身体内失去控制的猛兽,它们会疯狂地复制、转移,形成巨大的肿瘤。因此过去很长一段时间内我们都认为肿瘤是一个对资源极度贪婪的群体,比如一百年前,生理学家就发现癌…

vue2.6源码学习:数据变化监听原理之数据驱动视图(observer)

上次我们看vue2.6源码的时候,大概看了一下整体的项目结构目录。主要是里面的Observer和vdom这两个文件夹。 也是vue里面最核心的两个文件夹,今天我们继续来学习。 instance文件夹是用来做什么的 这个也是vue比较核心的一块,这个是与vuejs实例…

UVM中uvm_config_db机制背后的大功臣

1. 前言 本次讲一下UVM中的uvm_config_db,在UVM中提供了一个内部数据库,可以在其中存储给定名称下的值,之后可以由其它TB组件去检索。这样的数据库允许我们以不同的名称存储不同的配置设置,这些配置可以在需要时潜在地配置TB组件…

spring.session 随笔0 集成设计

0. 上个月划水时间关注的,最近断断续续的了解了一些 RUNOOB redis命令:APPEND 整合shiro实现分布式session同步(定制cacheManager) 我想想,还是照自己思绪发散的顺序开始描述这块的内容吧,可能侧重点有些奇怪。 由于工程使用的spring.boot.…

树莓派+Docker+cpolar(内网穿透)+Nignx

首先安装Raspberry Pi Imager,用于给SD卡安装系统镜像。 使用Raspberry Pi Imager(树莓派镜像烧录器)烧录镜像文件到SD中,操作步骤如下图所示: docker安装nginx提供web服务 获取最新版本的docker安装包: su…

linux上启动两个nginx实例

一台机器上启动两个nginx实例,主要是端口冲突问题,另外,如果一个是通过编译安装,另一个是拷贝的,那么还需要修改静态文件根路径。 这里,我第一个nginx是通过源码编译安装,安装目录是默认的/usr/…

live555交叉编译

下载live555最新源码:http://www.live555.com/liveMedia/public/live555-latest.tar.gz 如果是要下载具体的live555版本,比如2023.06.14发布的版本,则可以浏览器输入:http://www.live555.com/liveMedia/public/live.2023.06.14.t…

GPT 模型的工作原理 你知道吗?

动动发财的小手,点个赞吧! Source[1] 简介 当我使用 GPT 模型编写我的前几行代码时是 2021 年,那一刻我意识到文本生成已经到了一个拐点。在此之前,我在研究生院从头开始编写语言模型,并且我有使用其他文本生成系统的经…

GPT-4满分通过MIT本科数学考试这套提示词火了

万万想不到啊,MIT数学考试,被GPT-4攻破了?! 突然有人在最新论文工作中高调宣布: GPT-4在MIT的数学和EECS(电气工程和计算机科学系)本科学位考试中,表现出的能力完全满足毕业要求。…

图解左连接、右连接、内连接、全连接(小白入门)

目录 一、七种连接情况二、左连接具体例子:力扣数据库题目 175. 组合两个表答案1. 连接条件为:on Person.PersonId Address.personId2. 连接条件为:on Person.PersonId ! Address.personId 三、左连接不包含内连接四、右连接五、右连接不包含…

利用腾讯云函数隐藏C2服务器

1、简介 腾讯云函数,可以为企业和开发者提供无服务器执行环境,无需购买和管理服务器,只需要在腾讯云上使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性 安全地运行代码。 C2服务器所有流量通过腾…

CSS入门(网络安全方向)——id与class

CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。 通过使用 CSS 我…

Python电商数据分析系列-薪资预测

Python电商数据分析系列-薪资预测 学习目标: 快速掌握简单且常用的数据分析任务 自己实现预测简单预测任务 学习内容: 搭建 Java 开发环境掌握 Java 基本语法掌握条件语句掌握循环语句 学习对象 想快速入门的本科生转行人员想学习新技能&#xff0c…

【Python】遇到 from PIL import Image 报错怎么办?

嗨害大家好鸭!我是小熊猫~ 很久之前有一个辛苦的小程序员 它在做验证码识别的的时候 遇上了一个小小的错误沙堆 经过它一点也不辛苦的努力,解决了它 于是它决定把这个宝贵的经历分享给大家~ 问题的出现: 前方出现红色波浪线 开始感到有一…

基于风险的测试

测试级别划分 测试级别的划分能对应解决软件开发的复杂性问题。将一个大规模复杂的系统分解,从小的模块开始(单元测试),逐步放大到整个系统级别。 测试类型的设计和安排,将测试类型安排在最适合对应的测试级别中来识别…

精准医疗、空间组学、细胞图谱,腾讯AI Lab用深度学习助力生命科学研究

近日,腾讯 AI Lab 三项研究分别入选国际顶级学术期刊 Nature Methods 和 Nature Communications,再次展示了在生命科学前沿领域上国际领先的技术实力。 这三项研究成果都属于生物细胞研究中的空间组学技术,对于推动精准医疗、细胞图谱绘制、人…