Linux系统存储之LVM

1.lvm存在意义及名词解释

- lvm存在意义:

解决存储容量的问题:

- 图解lvm如何解决存储容量的问题

- 名词解释

2.lvm的建立

pvcreate---->vgcreate---->lvceate
在创建过程中我们可以用以下命令监控,可以更好的看到创建效果:

watch -n 1 "pvs;echo ======;vgs;echo ======;lvs;echo ======;df -h /weixindata"
  • step1
    划分lvm所用到的设备(划分物理分区),这些设备的功能id必须是linux LVM
fdisk /dev/vdb


  • step2
    建立pv(相当于把橘子榨汁的过程)
pvcreate /dev/vdb1                           ##把物理分区做成物理卷
pvs|pvdisplay                               ##查看物理卷

  • step3
    建立vg(相当于把果汁倒进大容器的过程)
vgcreate vg0 /dev/vdb1       ##用制作好的/dev/vdb1这个物理卷制作一个物理卷组vg0
vgs|vgdisplay               ##查看物理卷组

  • step4
    建立lvm
lvcreate -L 100M -n lv0 vg0          ##在vg0这个组中建立出lv0设备 -L 指定设备大小 -n 指定设备名字
lvs|lvdisplay                       ##对逻辑卷设备进行查看

  • step5
    lvm建立成功之后要进行以下两步:
mkfs.xfs /dev/vg0/lv0                    ##格式化
mount /dev/vg0/lv0 /weixindata          ##挂载到/weixindata

创建成功后用watch命令监控的界面如下:

3.lvm设备的扩大

- 针对xfs文件系统

vg扩大:

pvcreate /dev/vdb2                       ##在pv中增加一块设备/dev/vdb2
vgextend vg0 /dev/vdb2                  ##把新建立的/dev/vdb2添加到vg0中

lvm扩大:

lvextend -L 500M /dev/vg0/lv0            ##扩大lvm设备到500M
xfs_growfs /dev/vg0/lv0                 ##扩大xfs文件系统到设备大小

- 针对ext文件系统

由于我们系统中目前的文件系统是xfs系统,我们先通过以下方法把它转化成ext系统

umount /weixindata                       ##卸载(进行文件系统转换时要先卸载)
mkfs.ext4 /dev/vg0/lv0                  ##格式化成ext文件系统
mount /dev/vg0/lv0 /weixindata


vg扩大:(和xfs系统相同)

pvcreate /dev/vdb3                   ##在pv中增加一块设备/dev/vdb3
vgextend vg0 /dev/vdb3                  ##把新建立的/dev/vdb3添加到vg0中

lvm扩大:

lvextend -L 900M /dev/vg0/lv0                ##扩大lvm设备到900M
resize2fs /dev/vg0/lv0                  ##设定文件系统大小和设备同步

4.lvm设备的缩减

注意:xfs文件系统不能缩减,只有ext文件系统可以缩减
lvm缩减:

umount /dev/vg0/lv0                  ##卸载设备,因为文件系统缩减不支持在线操作
e2fsck -f /dev/vg0/lv0              ##检测文件系统,确定文件系统中已有数据大小防止过度缩减
resize2fs  /dev/vg0/lv0  300M       ##把文件系统缩减到300M
lvreduce  -L 300M /dev/vg0/lv0      ##设备缩减到300M

vg缩减:
注意:在vg缩减时只能缩减没有被占用的设备

pvmove   /dev/vdb2 /dev/vdb1         ##把设备2上的所有数据移动到设备1上
vgreduce vg0 /dev/vdb2              ##把vg0中的/dev/vdb2删除
pvremove /dev/vdb2                  ##把/dev/vdb2上的lvm管理信息删除

5.lvm快照

lvcreate -L 20M -n lv0backup -s /dev/vg0/lv0     ##给/dev/vg0/lv0建立快照,-L指定快照大小,-n指定快照名字,-s指定快照模板设备
mount /dev/vg0/lv0backup /weixindata                ##挂载

注意:
1.当快照设备里的数据被更改,如果想还原,删除快照设备,再重新建立快照即可
2.创建快照时要预估好快照大小,如果在使用时截取一个比快照大的文件,快照会被撑坏

6.删除lvm

lvremove---->vgremove----->pvremove
step1 卸载设备

umount /dev/vg0/lv0                          ##卸载
df                                          ##查看设备挂载情况

step2 lvremove

lvremovde /dev/vg0/lv0backup             ##删除快照
lvremovde /dev/vg0/lv0                      ##删除lv0

step3 vgremove

vgremove vg0                             ##删除vg

step4 pvremove

pvremove /dev/vdb1                           ##删除物理卷

7.lvm丢失设备的删除

  • 模拟设备丢失情况:

step1 首先建立好lvm,挂载好,并且用命令监控实时情况

watch -n 1 "pvs;echo ======;vgs;echo ======;lvs;echo ======;df -h /weixindata"       ##监控命令

step2 用fisk /dev/vdb 命令手动删除设备/dev/vdb1

删除后在监控界面会出现报错:PV g2OIge-1awl-HOFo-XwNG-EhUg-KP5E-GBQGRt not recognised. Is the device missing?

  • 删除丢失的设备
vgreduce --removemissing vg0                 ##删除vg0中丢失的设备

Linux系统存储之LVM相关推荐

  1. Linux系统存储交换机日志

    Linux系统存储交换机日志     日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录.目前公司系 ...

  2. Linux系统分区及LVM使用(一)

    一.MBR分区 使用fdisk等分区工具,使用MBR(Master Boot Record)管理单个磁盘,这就决定了其分区表最多支持4个分区,分区类型包括主分区和扩展分区,逻辑分区可以被再次分割成多个 ...

  3. linux系统存储文件系统,Linux文件系统的深入分析

    [IT168 技术]本人很喜欢Linux,在工作中也很喜欢总结关于Linux文件系统的经验,下面就这个问题来详细说说吧.Linux支持多种文件系统,包括ext2.iso9660.jffs.ext3.v ...

  4. 如何将 Linux 系统转移至 LVM 卷

    摘要: 一.预备知识 了解什么是 dd 以及什么是 dump? dd 命令用于复制一个设备/分区,原样输出到另外一个文件/设备/分区. dump 命令用于备份 ext2 或者 ext3 文件系统.可将 ...

  5. linux系统核心已存储,Linux系统 存储

    linux系统管理 1.存储管理 传统的磁盘分区 RAID技术,软RAID的实现 LVM 文件管理系统 ext xfs btrfs 2.程序包管理 rpm yum dnf 3.sed gawk 4.进 ...

  6. linux银行存储系统代码,Linux系统 存储(示例代码)

    linux系统管理 1.存储管理 传统的磁盘分区 RAID技术,软RAID的实现 LVM 文件管理系统 ext xfs btrfs 2.程序包管理 rpm yum dnf 3.sed gawk 4.进 ...

  7. linux文件系统逻辑,Linux系统——文件系统与LVM 逻辑

    格式化命令 mkfs. mkswap mkfs格式化数据磁盘 # mkfs -t ext4 /dev/sdb1 # mkfs.ext4 /dev/sdb1 -t 指定格式化文件类型 -b 指定bloc ...

  8. Linux系统LVM逻辑卷工作原理,必看~

    一.传统的磁盘管理 其实在Linux操作系统中,磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进 ...

  9. Linux系统中磁盘创建管理(一)

    Linux系统中磁盘创建管理(一) 在linux系统中安装lvm必要的服务 install lvm-common lvm2 evms Linux系统中有一张分区表,系统在开机之后根据这个表里面的记录来 ...

最新文章

  1. [k8s] 第十章 DashBoard
  2. Hibernate程序性能优化的考虑要点
  3. MySQL服务的启动和停止
  4. AQS(AbstractQuenedSynchronizer)详解
  5. C# 中intptr用法
  6. 微信jssdk 图片上传 JAVA_微信JSSDK上传图片
  7. 启动不了 驱动程序签字功能,bios关闭驱动数字签名 如何在bios禁用驱动程序签名,装系统,启动行为那个无效?...
  8. android view viewgroup 区别,Android笔记:View ViewGroup 对比
  9. RecorderManager安卓仿微信自定义音视频录制第三方库
  10. java多线程之Guarded Suspension模式
  11. 简单的LED恒流电路
  12. 明日之后服务器维修公告维修,《明日之后》排队问题维护进度公告
  13. 任务调度的合理性 (25 分)
  14. acrobat导出html没图片,PDF 导出的文件格式选项
  15. mysql8三种安装方式
  16. activemq使用详解
  17. MATLAB符号计算总结
  18. 实力赢得信任丨西安珠江新城业主喜迎公元物业
  19. python 分词包_python调用hanlp分词包手记
  20. b500k电位器引脚接法_精密电位器的接线图及接线方法

热门文章

  1. 【深度学习】语义分割:论文阅读:(CVPR 2022) MPViT(CNN+Transformer):用于密集预测的多路径视觉Transformer
  2. 昆石VOS2009/VOS3000 2.1.6.00 新功能介绍
  3. 2020-10-19 进制转换
  4. 骁龙8gen2和骁龙8gen1plus区别
  5. gitlab从安装到使用到常见问题处理
  6. 青龙面板教程(五):代理设置
  7. mysql useing_mysql中using where,using index
  8. 如何在Word中制作三线表
  9. 你所不了解的手机程序数据外泄
  10. “无须”与“无需”最简易区别法