当前位置: 首页 > news >正文

Linux之lvm存储卷管理篇

一、使用场景

在企业生产环境下,通常情况下我们会考虑对磁盘进行扩容情况,但随着用户的增长,磁盘可能逐渐被填满,这时候你只能添加新硬盘,新分区,但是旧的磁分区还在旧的磁盘分区上,你只能停止业务进行数据迁移了

LVM是把多个磁盘化成一个硬盘,但特点是:后期可以加入新硬盘,这个逻辑卷的容量就增加了,等于这个大硬盘容量更大

逻辑卷组(500G+100G=600G),大硬盘500G------>获取部分的容量,化为一个逻辑组(分区)---->逻辑组进行格式化(分区进行格式化)-------->挂载使用

如果你使用了Lvm,你可以将多个物理分区抽象为一个逻辑卷组,并且这个逻辑卷组是可以动态扩容的。当逻辑卷组容量不够时,只需要买硬盘,通过命令添加到这个指定的逻辑卷组中

lvm工作流程

挂载流程

这里的物理层也叫pe ,我们需要将物理卷pe整合在pv中,然后我将我整合的逻辑上的pv整合成一个大的VG组,然后对VG组进行分区得到多个LV(LV中包含多个LE(逻辑单元))

二、Lvm常用命令

  • 通过lsblk查看磁盘信息

[root@localhost ~]# 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 ├─openeuler-root 253:0    0   17G  0 lvm  /└─openeuler-swap 253:1    0    2G  0 lvm  [SWAP]
sr0                 11:0    1  3.8G  0 rom  
  • pv命令的使用

##  安装lvm命令
yum install lvm2 -y### 安装该工具后,即可使用lvm的命令(图片解释)
pvcreate
pvs
[root@localhost ~]# pvsPV         VG        Fmt  Attr PSize   PFree/dev/sda2  openeuler lvm2 a--  <19.00g    0 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# pvscanPV /dev/sda2   VG openeuler       lvm2 [<19.00 GiB / 0    free]Total: 1 [<19.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 0 [0   ]
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# pvdisplay --- Physical volume ---PV Name               /dev/sda2VG Name               openeulerPV Size               <19.00 GiB / not usable 3.00 MiBAllocatable           yes (but full)PE Size               4.00 MiBTotal PE              4863Free PE               0Allocated PE          4863PV UUID               CdcPrY-yVNv-2Bxa-M1lh-poRu-kz4t-gEdwjD## 删除pv
pvremove /dev/sdb

三、操作流程

  • 添加一块30G硬盘

查看到已经创建的磁盘

查看vg状态

将两块硬盘sdb  sdc 创建为vg-0224

#### pv实例化   ###
[root@localhost ~]# pvcreate /dev/sdb Physical volume "/dev/sdb" successfully created.###  将pv加入到卷组
[root@localhost ~]# vgcreate vg666 /dev/sdb Volume group "vg666" successfully created## vg状态
[root@localhost ~]# vgdisplay--- Volume group ---VG Name               vg666System ID             Format                lvm2Metadata Areas        1Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                1Act PV                1VG Size               <30.00 GiBPE Size               4.00 MiBTotal PE              7679Alloc PE / Size       0 / 0   Free  PE / Size       7679 / <30.00 GiBVG UUID               eiBxNz-mSc1-VXDT-ip1R-1MMD-DIaa-4EuFuj

转换成lv逻辑卷格式

lvcreate 
-L 指定逻辑卷的大小,单位为“kKmMgGtT”字节
-l 指定逻辑卷的大小(PE个数)
-n 后面跟逻辑卷名 
-s 创建快照###  查看当前机器的逻辑卷信息
### lvs状态查看
[root@localhost ~]# lvsLV   VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot openeuler -wi-ao---- <17.00g                                                    swap openeuler -wi-ao----   2.00g     ###  创建lv  设置卷组容量的一半(参考下图)
lvcreate -n vg666 -l 50%VG vg666
[root@localhost ~]# lvsLV    VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot  openeuler -wi-ao---- <17.00g                                                    swap  openeuler -wi-ao----   2.00g                                                    vg666 vg666     -wi-a----- <15.00g    ## 删除逻辑卷
[root@localhost ~]# lvremove /dev/vg666/vg666 
Do you really want to remove active logical volume vg666/vg666? [y/n]: yLogical volume "vg666" successfully removed.
[root@localhost ~]# ## 指定逻辑卷大小
lvcreate -n lv1-666 -L 20G vg666## 查看lvs分配情况
[root@localhost ~]# lvsLV      VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot    openeuler -wi-ao---- <17.00g                                                    swap    openeuler -wi-ao----   2.00g                                                    lv1-666 vg666     -wi-a-----  20.00g

卷组分配情况

清空lvm环境

#### 删除卷组情况[root@localhost ~]# lvremove /dev/vg666/vg666 #### 删除pv卷
[root@client-242 ~]# pvremove /dev/sdbLabels on physical volume "/dev/sdb" successfully wiped.##    查看pv状态
[root@client-242 ~]# pvs### 如果vg没有清理完成,pv是无法直接额删除的
[root@localhost ~]# pvremove /dev/sdbPV /dev/sdb is used by VG vg666 so please use vgreduce first.(If you are certain you need pvremove, then confirm by using --force twice.)/dev/sdb: physical volume label not removed.
[root@localhost ~]# ## 查看vg状态
[root@client-242 ~]# vgs

挂载方式分析


### 方式1 临时挂载
# 临时挂载(重启后失效)
mount /dev/vg666/lv1--666 /data### 方式2  永久挂载
[root@localhost ~]# vim /etc/fstab ## 查看uuid情况
blkid /dev/vg666/lv1--666

扩展文件类型

# 如果有新分区,扩展物理卷和卷组
pvcreate /dev/sdb2
vgextend vg666 /dev/sdb2# 扩展逻辑卷
lvextend -l +100%FREE /dev/vg666/lv1--666#  扩展文件系统(使得文件系统能够使用扩展30G)
resize2fs /dev/vg666/lv1--666## 验证
[root@localhost ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
devtmpfs                    4.0M     0  4.0M   0% /dev
tmpfs                       1.3G     0  1.3G   0% /dev/shm
tmpfs                       524M  7.5M  516M   2% /run
tmpfs                       4.0M     0  4.0M   0% /sys/fs/cgroup
/dev/mapper/openeuler-root   17G  3.5G   13G  23% /
tmpfs                       1.3G     0  1.3G   0% /tmp
/dev/sda1                   974M  145M  762M  16% /boot

扩容成功截图

转换成

UUID="1b921c3d-f782-4c17-b08f-2e38a41ea56b" /      ext4defaults  1 1## 挂载
mount -a## 测试是否挂载成功
[root@localhost ~]# 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 ├─openeuler-root 253:0    0   47G  0 lvm  /└─openeuler-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                  8:16   0   30G  0 disk 
└─openeuler-root   253:0    0   47G  0 lvm  /
sr0                 11:0    1 1024M  0 rom  [root@localhost ~]# df -h
Filesystem                  Size  Used Avail Use% Mounted on
devtmpfs                    4.0M     0  4.0M   0% /dev
tmpfs                       1.3G     0  1.3G   0% /dev/shm
tmpfs                       524M  7.5M  516M   2% /run
tmpfs                       4.0M     0  4.0M   0% /sys/fs/cgroup
/dev/mapper/openeuler-root   47G  3.5G   41G   8% /
tmpfs                       1.3G     0  1.3G   0% /tmp
/dev/sda1                   974M  145M  762M  16% /boot

注意:如果当逻辑卷已经被文件占用,但又不想删除原卷组数据,想单独取出pv逻辑卷时,可以考虑下面方法

# 3. 如果 /dev/sdb 上有数据,需要先迁移数据
pvmove /dev/sdb /dev/sda2# 4. 从卷组中移除物理卷
vgreduce openeuler /dev/sdb# 5. 移除物理卷属性
pvremove /dev/sdb

http://www.dtcms.com/a/461060.html

相关文章:

  • 数字大健康浪潮下:智能设备重构人力生态,传统技艺如何新生?
  • 郑州陆港开发建设有限公司网站西安有哪些家做网站的公司
  • 整体设计 逻辑系统程序 之19 内核层最大资本箱为核心的完整设计讨论— 含分层架构、CNN 数据处理支撑、监督闭环与多场景交付物
  • GPT系列模型-详解
  • 【pytest 】 pytest 生命周期
  • DMAIC各个阶段用到的图
  • 企业网站建设 网络服务dedecms网站后台模板修改
  • 国外网站开发现状毕业设计做网站教程
  • 【鸿蒙心迹】参加ICT大赛对我的影响和帮助
  • 从轮询到实时推送:将站内消息接口改造为 WebSocket 服务
  • 海口小微企业网站建设公司注册写10万还是50万好
  • 第四部分:VTK常用类详解(第124章 vtkFlyingEdges3D飞行边缘3D类)
  • 混合云新篇章:H100裸金属租赁与云计算的协同效应
  • 第二章:动态 Prompt 管理与多科室智能问答系统
  • 【项目实战 Day12】springboot + vue 苍穹外卖系统(Apache POI + 工作台模块 + Excel表格导出 完结)
  • 微信小程序-8-电影数据布局案例和对话框及本地存储的应用
  • SD:Ubuntu 系统 stable diffusion Web UI - 安装更多插件
  • 什么是负载均衡?
  • 前端框架学习指南:提升开发效率
  • Avast Cleanup安卓版(手机清理优化) 修改版
  • c++多线程(6)------ 条件变量
  • 旅游网站建设与网页设计大连做网站报价
  • 网站排名英文服装加工厂网站建设方案计划书
  • 专题:2025中国人工智能医疗健康研究报告(智慧医院+医保+器械+AI)深度洞察|附130+份报告PDF、8个数据仪表盘汇总下载
  • 【学习记录】vscode+ros2+cpp调试
  • 性价比高的热冷分离真空共晶炉企业
  • 嵌入式分享#41:RK3576改UART波特率【精简版】
  • pc端pdf预览
  • 网站建设衤金手指花总十五wordpress电商主题数据
  • 【STM32项目开源】基于STM32的智能天然气火灾监控