linux lvm
一、linux的lv(logical volume)
lv各层次示例图如下:
核心思想:最底层的pv就是一个一个的磁盘,在保证总体容量的情况下,可以移除部分磁盘,在pv上面设置一个vg,相当于vg把所有pv的容量融合在一起,在vg之上再进行逻辑磁盘的容量分配,vg给lv进行空间分配时,是以pe为单位进行的。pe在lv层面叫le,这些功能都是由linux的dm模块,也就是device mapper模块实现的。
实现lv的好处在于,在保证总体容量,不影响使用的情况下,lv,vg可以扩展或者减少容量,pv同样可以加可以撤。
lv可以实现:多路径(几个路径做备份,那个坏了,另一个可以顶上,而且平时还可以让数据并行传输),快照(快照中只保存数据更改的部分)
二、新建lv过程
新建分区(磁盘类型调整为linux lvm类型的)
1.pvcreate /dev/sda{10,11} 创建pv
2.pvs 简单查看pv信息或者pvdisplay 查看pv的详细信息
pvdisplay /dev/sda10
pvscan 扫描当前系统上的pv
3.创建vg
vgcreate myvg /dev/sda{10,11}
vgcreate 用法:
-s:可以指定pe大小,默认为4M。单位可以为b、k、m、g
延伸:
删除vg命令
vgremove vgname
缩减vg过程:
先执行pvmove命令:
pvmove /dev/sda11,将pv sda11中的数据移到其他pv
vgreduce myvg /dev/sda11
pvremove /dev/sda11 将pv删除
4.vgs
vgdisplay myvg
5.扩展vg
vgextend myvg /dev/sda12
6.创建lv
lvcreate -n LV_NAME -L (容量大小)#M,G VG_NAME
lvcreate -L 50M -n testlv myvg
lv 存放在 /dev/mapper/VG_NAME-LV_NAME, 被/dev/VG_NAME/LV_NAME软链接
7.格式化
mke2fs -j /dev/myvg/testlv
8.挂载
mount /dev/myvg/testlv
9.移除lv
umount /dev/myvg/testlv
lvremove /dev/myvg/testlv
三、扩展lv
先扩展物理边界,再扩展逻辑边界
扩展物理边界:先检查vg是否够用
lvextend -L
-L[+]#:表示扩展了5G,-L +5G ,扩展到5G: -L 5G
扩展逻辑边界
resize2fs
resize2fs -p /path/to/lv 物理设备能提供多少,就扩展多少。
四、缩减逻Lv
umonut /path/to/lv
缩减逻辑边界
resize2fs /path/to/lv # 表示缩减逻辑卷
不能在线缩减,得先卸载
确保缩减后的空间大小,依然能存储原有的数据
在缩减之前应该先检查文件系统,确保文件系统处于一致性状态。e2fsck -f
缩减物理边界
lvredude -L{-} # /path/to/lv
缩减逻辑边界
lvreduce -l /path/to/lv
五、创建快照卷
1.注意:
(1).生命周期为整个数据访问时长,在这段时长内,数据的增长量不能超出快照卷大小,
(2).快照卷应该是只读的
(3).快照卷要跟原卷在同一卷组
2.创建
lvcreate
-s
-p r|w
lvcreate -L #
eg:lvcreate -L 50M -N testlv-snap -s -p r /dev/myvg/testlv
挂载
mount /dev/myvg/testlv-snap /mnt
快照创建后,对原卷中的数据进行改变,不会影响快照中的数据。
linux lvm的更多相关文章
- Linux LVM学习总结——扩展卷组VG
Linux服务器由于应用变更或需求的缘故,有可能出现分区空间不足的情况,此时往往需要进行扩容(要增加分区的空间),而采用LVM的好处就是可以在不需停机的情况下可以方便地调整各个分区大小.如下所示,分区 ...
- Linux LVM学习总结——创建卷组VG
在Linux平台如何创建一个卷组(VG)呢?下面简单介绍一下卷组(VG)的创建步骤.本文实验平台为Red Hat Enterprise Linux Server release 6.6 (Santia ...
- Linux LVM学习总结——删除物理卷
本篇介绍LVM管理中的命令vgreduce, pvremove.其实前面几篇中以及有所涉及. vgreduce:通过删除LVM卷组中的物理卷来减少卷组容量.注意:不能删除LVM卷组中剩余的最后一个物理 ...
- Linux LVM简明教程
逻辑卷管理LVM是一个多才多艺的硬盘系统工具.无论在Linux或者其他类似的系统,都是非常的好用.传统分区使用固定大小分区,重新调整大小十分麻烦.但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物 ...
- [转载]Linux LVM硬盘管理及LVM扩容
最近项目中一直在用Linux,其中涉及到了Linux的LVM,本来想自己写一篇关于LVM的文章,搜了一下,发现了一篇更好的,转载过来,也感谢作者gaojun 原文Linux LVM硬盘管理及LVM扩容 ...
- LINUX LVM和快照卷配置和管理
具体参考这个文章把: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_042_lvm.html 1.LVM是什么 逻辑卷管理LVM是一个多 ...
- Linux LVM动态扩容
引用自: https://blog.csdn.net/u012439646/article/details/73380197 xfs_growfs /dev/centos/root 一.首先安 ...
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- Linux LVM使用小记
对于Linux LVM一直不太理解,直到最近使用了简单功能后才稍微明白点. 对于硬盘空间物理上的使用,我们都是先对硬盘进行分区,然后格式化成文件系统支持的类型,最后给操作系统使用.但是这种使用方式很不 ...
- Linux LVM磁盘管理
几个概念: PV:物理卷,指LVM的基本逻辑卷,包含LVM的基本参数,如/dev/sdb1等. VG:卷组,类似于非LVM的硬盘,由多个PV组成. LV:逻辑卷,类似于非LVM硬盘中的分区. PE:物 ...
随机推荐
- ListView中CheckBox使用问题
因为CheckBox的点击事件优先级比ListView的高,所以当ListView中使用CheckBox会导致ListView的setOnItemClickListener失去响应. 解决的方法:在C ...
- js中的DOM节点
文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法. DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 把上面的代码拆分为Dom节 ...
- member access within misaligned address 0x000000000031 for type 'struct ListNode', which requires 8 byte alignment
在做LeetCode的two sum题目的时候,提交代码遇到了如题的runtime error,后来在一篇博客上看到了解决方法. 现有如下结构体: struct ListNode { int val; ...
- eclipse +cygwin+C++
用Android eclipse做C++开发,一开始提示no binary的错误,貌似是因为没有编译二进制出来,我本机装了cygwin, 在命令台输入gcc,无显示,说明我没有把cygwin/bin的 ...
- Mongodb搭建
1.配置yum源,创建/etc/yum.repos.d/mongodb-org-3.2.repo文件,添加如下文件内容: [mongodb-org-3.2] name=MongoDB Reposito ...
- 解决Tomcat下连接Oracle报错"Error while registering Oracle JDBC Diagnosability MBean."
Tomcat不失为一个好的开发学习容器,但使用Oracle 11g自带的JDBC驱动ojdbc6.jar和JDK6一起运行的时候,特别是和spring框架一起使用会报错:SEVERE: Error w ...
- 读书笔记-HBase in Action-第三部分应用-(1)OpenTSDB
OpenTSDB是基于HBase的开源监控系统,能够支持上万规模集群监控和上亿数据点採集. 当中TSDB代表Time Series Database,OpenTSDB在时间序列数据的存储和查询上都做了 ...
- Pairs of Integers
Pairs of Integers You are to find all pairs of integers such that their sum is equal to the given in ...
- js城市联动选择器
<html> <head> <META charset="utf8"> <script type="text/javascrip ...
- JavaScript点击事件-一个按钮触发另一个按钮
<input type="button" value="Click" id="C" onclick="Go();" ...