首页 > 其他分享 >教程:LVM操作讲解

教程:LVM操作讲解

时间:2024-06-19 22:27:42浏览次数:21  
标签:gentlewok 教程 vg data host0 lv 讲解 LVM root

LVM简介

在系统运维过程中,对磁盘扩缩容是常见的操作。如何高效的管理磁盘容量,lvm提供了很好的解决方案。

LVM将磁盘抽象成PV、VG、LV,方便用户进行磁盘管理,简单来讲,是由物理磁盘划分成PV,PV加入到具体的VG,LV从VG中划分指定容量的空间,再经挂载操作、格式化为具体的文件系统后供进程使用。

本文通过样例讲解数据盘扩缩容。

下图描述了lvm组件之间的关系

在这里插入图片描述

文本有惊喜!!!
在这里插入图片描述

样例环境

  • 添加挂载两块容量为5G scsi的硬盘
    在这里插入图片描述
  • 执行lsblk 命令,显示sdbsdc各5g,说明添加成功

在这里插入图片描述

如果是开机情况下挂载的,由于业务需要不方便关机的话,需要执行磁盘扫描命令

在这里插入图片描述
在这里插入图片描述

执行如下命令即可在线扫描磁盘

echo "- - -" > /sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0/scan
lsblk #查看是否扫描出来

执行 echo "- - -" > /sys/class/scsi_host/host0/scan 效果一样的,该路径软链接到了/sys/devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0

[root@gentlewok ~]# ll /sys/class/scsi_host/host0
lrwxrwxrwx. 1 root root 0 Jun  4 09:29 /sys/class/scsi_host/host0 -> ../../devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0

当前lvm信息

  • pvs显示有哪些pv
[root@gentlewok ~]# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  rl lvm2 a--  <19.00g    0 
  • vgs显示有哪些vg
[root@gentlewok ~]# vgs
  VG #PV #LV #SN Attr   VSize   VFree
  rl   1   2   0 wz--n- <19.00g    0 
  • lvs显示有哪些lv
[root@gentlewok ~]# lvs
  LV   VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rl -wi-ao---- <17.00g                                                    
  swap rl -wi-ao----   2.00g      
  • df -h 查看下当前容量
    在这里插入图片描述

磁盘扩容

系统盘扩容

  • pvcreate创建一个pv
[root@gentlewok ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   20G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  ├─rl-root 253:0    0   17G  0 lvm  /
  └─rl-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0    5G  0 disk 
sdc           8:32   0    5G  0 disk 
sr0          11:0    1  1.7G  0 rom  
[root@gentlewok ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
[root@gentlewok ~]# 

  • 将pv加入到vg
[root@gentlewok ~]# vgs
  VG #PV #LV #SN Attr   VSize   VFree
  rl   1   2   0 wz--n- <19.00g    0 
[root@gentlewok ~]# vgextend rl /dev/sdb
  Volume group "rl" successfully extended
[root@gentlewok ~]# vgs
  VG #PV #LV #SN Attr   VSize  VFree 
  rl   2   2   0 wz--n- 23.99g <5.00g
  • 将vg新加的5g加到 lv 上
[root@gentlewok ~]# lvs
  LV   VG Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rl -wi-ao---- <17.00g                                                    
  swap rl -wi-ao----   2.00g                                                    
[root@gentlewok ~]# lvextend -l +100%FREE /dev/rl/root
  Size of logical volume rl/root changed from <17.00 GiB (4351 extents) to 21.99 GiB (5630 extents).
  Logical volume rl/root successfully resized.
[root@gentlewok ~]# lvs
  LV   VG Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root rl -wi-ao---- 21.99g                                                    
  swap rl -wi-ao----  2.00g                                                   
  • 扩展文件系统
    先执行df -Th 确定文件系统
# xfs文件系统使用该命令使扩容生效
xfs_growfs /dev/mapper/vg-lv
# ext4文件系统使用该命令使扩容生效
resize2fs /dev/mapper/vg-lv

在这里插入图片描述
在这里插入图片描述

数据盘扩容

创建data目录 mkdir -p /data

在这里插入图片描述

扩容前lvm信息

在这里插入图片描述

创建pv

在这里插入图片描述

创建数据盘vg并将刚创建的pv加入到vg

vgcreate vg pv

在这里插入图片描述
在这里插入图片描述

创建数据盘lv并将刚创建的vg所有容量加入到 lv

lvcreate -l +100%FREE --name lv vg

在这里插入图片描述

挂载到/data 目录下

在这里插入图片描述
设置开机自动挂载

echo "/dev/mapper/vg--data-lv--data     /data xfs     defaults   0 0" >> /etc/fstab

磁盘缩容

对于扩容来讲,操作正确的情况下,业务是无感知的。缩容本身的逻辑比较简单,只是缩容会影响到到应用的数据读取,实际缩容方案需要综合评估。涉及应用层的变更可简单可复杂,本文不讨论。

本文作为技术点讲解假设应用可以停的情况下,该如何操作? 下面为大概步骤

注意:生产环境所有变更应做好备份后操作

  • 停应用,应用数据目录假设为 /data

  • 新挂载磁盘,创建新挂载点 /data-copy

  • 创建新的pv、vg、lv

  • 新的lv挂载到/data-copy

  • 复制迁移的数据到/data-copy ;命令:cp -a xx /data-copy

  • 卸载/data ;命令: umount /data

  • 卸载/data-copy ;命令: umount /data-copy

  • 挂载新lv/data; 命令:mount 新lv /data

  • 起应用

    就这样!
    在这里插入图片描述

    惊喜

    笔者收集了关于lvm的详细文档,下图为文档目录,需要的回复暗号 lvm

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:gentlewok,教程,vg,data,host0,lv,讲解,LVM,root
From: https://blog.csdn.net/qq_35630153/article/details/139813955

相关文章

  • python金融实战教程pdf 目录
    python金融实战教程pdf目录:http://literalink.top/resource/detail/7186336410574524416第1章Python简介及安装11.1Python简介 11.2如何安装Python 31.3Python的不同版本 31.4运行Python的3种方式 41.4.1用GUI启动Python 41.4.2从Python命令行......
  • 基于Python+Django的高校实验室管理系统设计与实现(源码+数据库+讲解)
    文章目录前言详细视频演示项目运行截图技术框架后端采用Django框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • 基于Python+Django的高校成绩分析系统设计与实现(源码+数据库+讲解)
    文章目录前言详细视频演示项目运行截图技术框架后端采用Django框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • (超详细)三级信息通信网络运行管理员第七套linux实操题讲解(五)
    目录一、Linux实操部分前期解析二、创建卷组 ​编辑 三、创建逻辑卷四、磁盘挂载一、Linux实操部分前期解析 接着上一期,我们讲解完了ENSP部分,现在到了Linux部分的实操,如下图:  可以看到Linux部分有17道题,总分50分,难度也是不难的,做linux部分我建议先准备一下前期......
  • 基于SpringBoot+Vue+uniapp的社区门诊管理系统的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的校园二手交易平台的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • Jenkins教程-4-gitlab自动化测试任务构建
    上一小节我们学习了Jenkins构建github自动化测试任务的方法,本小节我们讲解一下公司gitlab自动化测试任务的构建方法。接下来我们以Mac系统为例,讲解一下构建实际自动化测试任务的具体步骤。安装git和gitlab插件点击进入Jenkins插件管理页面安装完插件,http://localhost:8......
  • Windows 10 磁盘管理使用教程 Windows 10 磁盘管理工具的基本步骤和常见操作;高级的 Wi
    Windows10磁盘管理初级使用教程大纲:1. 打开磁盘管理工具方法:右键点击“此电脑”或者“计算机”图标,选择“管理”,然后在左侧面板中找到并点击“磁盘管理”。2. 磁盘基本信息查看查看已安装的物理硬盘和分区的基本信息:硬盘列表分区列表可用空间和已用空间3. 创......
  • Kotlin 编程语言详解:特点、应用领域及语法教程
    什么是Kotlin?Kotlin是一种现代、流行的编程语言,由JetBrains在2016年发布。自发布以来,它已经变得非常流行,因为它与Java兼容(Java是目前最流行的编程语言之一),这意味着Java代码(和库)可以在Kotlin程序中使用。Kotlin用于:移动应用程序(特别是Android应用程序)Web开......
  • 小雅alist搭建教程
    先去服务器拉取小雅镜像可以利用github中的来拉取 拉取到本地后执行bash-c"$(curlhttp://docker.xiaoya.pro/update_new.sh)"然后本地就会出现小雅的docker容器获取阿里云token、opentoken、转存目录folderidtoken获取:获取网址: https://alist.nn.ci/zh/guide/drive......