Linux之LVM设备的管理
LVM可以理解为可扩展的设备;在设备空间不足的时候,保证其在原始数据不变的情况下增大设备的存储大小。那么,要达到这种效果,我们得把可用设备先比变为物理卷,再把物理卷处理为物理卷组,最后成为LVM逻辑卷!现在对以下概念做解释:
物理分区 p ---->虚拟机可用的设备
物理卷 pv ---->被lv命令处理过的物理分区
物理卷组 vg ---->被组装到一起的物理卷
图里扩展 pe ---->lvm设备的最小存储单元,lvm是pe的整数倍
逻辑卷 lvm ---->直接使用的设备,可以增大缩小并保持原有数据
df -h /mnt ## 统计时单位为2^n,总量除以1024
1、LVM的创建
1)步骤:
分区并设定分区标签为8e (使用fdisk /dev/vdb 中,使用t来修改分区标签为8e)
vgcreate vg0 /dev/vdb1 ## 把物理卷处理为物理卷组,且命名为vg0
lvcreate -L 20M -n lv0 vg0 ## 再vg0中取出大小为20M的空间给lv0
mkfs.xfs /dev/vg0/lv0 ##把lv0设备进行格式化
mount /dev/vg0/lv0 /mnt ##挂载
df -H /mnt ## 查看lv0的信息
2)示例:把/dev/vdb1创建为lvm设备
此时,我们可以看到/mnt的大小为18M,
2.LVM支持热拉伸
lvextend -L 80M /dev/vg0/lv0 ##拉伸设备
xfs_grows /dev/vg0/lv0 ##拉伸文件系统
示例: 扩大LV0的容量(提示LV0设备最大可以到52M)
2)当vg中容量不足时
再次建立分区并修改标签为8E
pvcreate /dev/vdb2 ## 拉伸物理卷组
vgextend vg0 /dev/vdb2
lvextend -L 80M /dev/vg0/lv0
xfs_grow /dev/vg0/lv0
pvs ##查看pv信息
vgs ##查看vg信息
lvs ## 查看lv信息
df -H ## 查看挂载信息
df -H /dev/vg0/lv0
示例: 建立分区/dev/vdb2并进行相关操作加入vg0中
注意:xfs文件系统不可以缩减,设备可以
1)查看当前挂载设备的文件类型,并将其格式化为ext
显示/dev/mapper/vg0-lv0的类型为xfs
对数据进行格式化,并查看结果:
2)对ext文件类型进行拉伸
lvextend -L 250M /dev/vg0/lv0 ##此时,lvs显示结果为252
resize2fs /dev/vg0/lv0 ##拉伸文件系统
3)缩减lvm:
卸载/mnt设备后,使用命令-- e2fsck -f /dev/vg0/lv0--进行扫描,确定设备数据的大小(现在为52M)
使用命令--resize2fs /dev/vg0/lv0 40M --缩减文件系统大小(不可以比设备大)
[root@localhost ~]# lvreduce -L 40M /dev/vg0/lv0
##重新指定,并提示是否缩减设备
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv0 vg0 -wi-ao---- 40.00m
4)缩减vg
vgreduce vg0 /dev/vdb2 ##取出多余的设备
5)移动空闲pv
pvmove /dev/vdb1 /dev/vdb2 ## 把设备1中的数据移到2中
vgreduce vg0 /dev/vdb1 ##从组中移出多余的设备2
pvremove /dev/vdb1 ## 把空闲vdb1中pv中移除
当在文件中写入东西后,卸载设备,此时看不到里面的东西。这时需要做一个快照出来。快照的大小取决与要写入文件中的大小.
lvremove /dev/vg0/lv0-backup ##移除快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 ## 文件大小为40M
mount /dev/vg0/lv0 /mnt ##检测文件是否恢复
示例:快照重新照,还原原始数据
首先对LV0中数据进行查看,并创建32M的快照,在快照中创建文件(执行以下操作 )
对快照中的文件进行复原时,先删除快照,再重新创建一个!
使用命令lvremove /dev/vg0/lv0-backup来删除快照
使用命令 lvremove /dev/vg0/lv0 删除lv0
使用命令vgremove vg0 删除物理卷组vg0
使用命令pvremoce /dev/vdb2 删除物理卷pv
Linux之LVM设备的管理的更多相关文章
- 【Linux】LVM 逻辑卷管理
LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...
- Linux之LVM逻辑卷管理
LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...
- Linux中LVM逻辑卷管理
一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区 进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的 ...
- Linux:使用LVM进行磁盘管理
LVM的概念 LVM 可以实现对磁盘的动态管理,在磁盘不用重新分区的情况下动态调整文件系统的大 小,利用 LVM 管理的文件系统可以跨越磁盘. "/boot"分区用于存放系统引导文 ...
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- Linux 系统 LVM(Logical Volume Manager)逻辑卷管理
一.前言 每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到 当前某个分区需要的容量,还要预见该分区以后可能需要 ...
- 【转载】Linux磁盘管理:LVM逻辑卷管理
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...
- linux LVM逻辑卷管理
什么是LVM LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. ...
- linux入门系列13--磁盘管理之RAID、LVM技术
前一篇文章学习了磁盘分区.格式化.挂载等相关知识,本文将讲解RAID和LVM技术. 磁盘管理操作主要是运维人员用的较多,如果只是单纯的开发人员,可以先略过本文.但是在很多小公司里往往都是一人多用,运维 ...
随机推荐
- tiny4412的烧录工具minitool安装【学习笔记】
烧录了半天,在win10下一直就是烧录不进去,但是在Ubuntuh环境却可以,找了很久终于找到了,原来在win10安装minitool驱动的时候没有注意到报了错误,错误内容是驱动的数字签名问题,后来禁 ...
- 资源 | TensorFlow推出新工具Seedbank:即刻使用的预训练模型库【转】
本文转载自:http://tech.ifeng.com/a/20180713/45062331_0.shtml 选自TensorFlow 作者:Michael Tyka 机器之心编译 参与:路.王淑婷 ...
- javaWeb中JNDI的使用,为什么要加java:comp/env前缀
转载自(http://blog.csdn.net/guodongsoft/article/details/52399527) 我们在使用JNDI调用某个对象时,会有下述两种方式 context.loo ...
- Vue中使用百度地图——根据输入框输入的内容,获取详细地址
知识点:在Vue.js项目中调用百度地图API,实现input框,输入地址,在百度地图上定位到准确地址,获得到经纬度 参考博客: 百度地图的引用,初步了解参考博客:http://blog.csdn. ...
- String中的equals方法解析 jdk1.7
注 此篇为jdk1.7中的源码解析 equals()方法中的判断分一下步骤 1先判断内存地址是否相同 如果内存地址相同 那么字符串就是相同的 返回true 2 判断当前字符串和参数字是否属于同一类 ...
- Docker Mysql主主同步配置搭建Demo
主主同步配置和主从配置很相似,仅需稍做修改就可以了,对主从配置有疑问可以查看 上一篇文章. 进行Docker操作前,先建立目录,我的路径是d:/docker/mysql,目录结构如下: --mysql ...
- POJ2739解题报告
2017-09-01 17:04:45 writer:pprp 一开始读错题了,总是想不到,其实不是很难,但是就是心理太着急了,反而浪费了很长时间 /* @param:poj2739 @writer: ...
- spring boot 使用拦截器,注解 实现 权限过滤
http://www.cnblogs.com/zhangXingSheng/p/7744997.html spring boot 使用拦截器 实现 用户登录拦截 http://www.cnblogs. ...
- javascript脚本程序执行消耗的时间
console.time方法是开始计算时间,console.timeEnd是停止计时 // 启动计时器 console.time('time'); // (写一些测试用代码) // 停止计时,输出时间 ...
- arm-linux-gcc安装使用教程
arm-linux-gcc如何下载安装2(转) [转]ubuntu下交叉编译环境构建(arm-linux-gcc-3.4.1.tar.bz2 ) 2009-03-03 10:05 1.下载arm-li ...