磁盘管理二-LVM相关内容
1、基本概念
LVM:logical volume manager 逻辑卷管理器
LVM构成:物理卷PV,卷组VG(PE物理区域,最小存储单元),逻辑卷LV(LE逻辑区域,最小存储单元)
三者如下图所示:
-1 即VG可以包含多个PV,LV可以占用VG的全部或者一部分
-2 LE==PE
-3 lvm2已经不限制LE和PE的上限,故LE和PE的数值可大于65536
2、为什么要用LVM
LVM可以方便的进行磁盘缩放,当最初规划的空间不够用的时候,可以通过增加PV,VG,扩展LV的大小。
3、怎么创建
基本思路:构建PV->VG->LV->格式化->挂载LV
具体步骤:
-1 创建PV
pvcreate /dev/sd[a-z][1-9]
eg:
pvcreate /dev/sdb1
pvcreate /dev/sdb2
-2 创建卷组VG (可指定PE大小,最小为4K,最大根据操作系统版本而定,必须为2的倍数,默认是4M -s 8M指定pe为8M,则创建lv必须为8M的倍数)
vgcreate vg_name pv_device
eg:
vgcreate myvg /dev/sdb1 /dev/sdb2
-3 创建逻辑卷LV
lvcreate -l 100%free -n lv_name vg_name
or
lvcreate -L [+]size -n lv_name vg_name
(-l(非i)表示将多少百分比的空闲空间划给lv
-L表示将多少单位空闲空间划给lv,单位M,G等)
eg:
lvcreate -L 100M -n mylv myvg 指定mylv大小为100M(若是+100M,则表示给mylv增加100M)
-4 格式化处理
mke2fs -t ext4 /dev/myvg/mylv
-5 挂载逻辑卷
mount -t ext4 /dev/myvg/mylv
-6 自动挂载
编辑/etc/fstab
/dev/myvg/mylv /testlvm ext4 defaults 0 0
3、怎么扩展缩放
-1 扩展lv
--1 检查当前vg剩余空间
vgdisplay vg_name
eg:vgdisplay myvg | grep Free
--2 若VG空间足够,则直接进行lv扩展
---1 扩展物理边界,务必先扩展物理边界
lvextend -L [+]SIZE lv_device
eg:lvextend -L +5G /dev/mapper/myvg-mylv #追加5G空间
---2 请先确保物理边界扩展成功(successfully resized),扩展逻辑边界
resize2fs lv_drvice
eg:resize2fs /dev/mapper/myvg-mylv
--3 若VG空间不够,则先进行VG扩展,后进行lv扩展
---1 创建新的pv
pvcreate /dev/sd[a-z][1-9]
eg:pvcreate /dev/sdb3
---2 扩展VG
vgextend vg_name pv_device
eg:vgextend myvg /dev/sdb3
---3 此时和--2就一致了
-2 缩减lv(必须先umount+备份后操作[备份非必须,不过建议备份])
--1 缩减就是将扩展步骤反过来,先缩减逻辑边界,再缩减物理边界
---1 resize2fs lv_device SIZE (这里只能直接指定缩减后的空间大小,故务必先确定逻辑卷已经使用的空间大小)
eg:
resize2fs /dev/mapper/myvg-mylv 17G
---2 lvreduce -L [-]SIZE lv_device
eg:
lvreduce -L -5G /dev/mapper/myvg-mylv
--2 缩减VG
---1 确定需要移除的pv,及所属vg
pvdisplay
---2 转移pv数据
pvmove pv_device
eg:
pvmove /dev/sdb1
---3 缩减vg
vgreduce -a #清除vg中的所有空闲pv,或者指定pv,指定和-a不能同时使用
eg:
vgreduce mylv /dev/sdb1
---4 删除pv
pvremove pv_device
eg:
pvremove /dev/sdb1
4、快照卷用于备份(创建一个区域,用来存储快照卷生成时数据改变前的源数据,只要有数据发生变化,就备份一份放于快照卷,未变的不备份)。
原理:linux自带的快照卷使用的是cow技术,即copy-to-write,也就是只复制发生变化前的源数据,从而保证数据一致性。
创建快照卷的过程:
1、快照卷初始化,复制源卷的所有inode至快照卷的inode map,并监视源卷的block变化
2、当源卷数据发生变化时,将变化前的数据复制到快照卷中,并将对应的bit map位更改成1
3、此时用户访问新数据就通过源卷的inode进入,而老数据就通过快照卷的inode进入
4、需要注意的是,因为快照卷是复制的源卷的inode,故inode号和存储的文件属性和源卷一模一样,但是并不是硬链接中指向了同一个inode,而是两个分区下的两个号相同的inode。
5、当快照卷创建完毕后,若修改源卷的数据,则会发现源卷的数据对应inode会发生变化,而快照卷的依然不变。
-1 特点:
--1 生命周期为整个snap占满前所用时间,生成快照卷期间,发生变化的源数据的原始大小总和不能超过快照卷设定的大小,如果超过,则快照会释放
--2 需设定为只读属性,保证快照卷内容不发生改变
--3 跟关联的原逻辑卷同一个卷组
--4 ls快照卷的时候,输出的大部分数据都是源卷的数据,而真正存储的数据仅仅是生成快照卷期间发生变化的数据块的源数据,因此快照卷不必大于源lv卷(可以查看快照卷挂载路径的inode和源卷的inode,发现是一致的,即显示的数据都是相同数据块的内容)
-2 创建快照卷
lvcreate -L SIZE -s -p r -n lv_snap_name lv_device
(-L指定大小,-s表明创建一个快照卷snap,-p [r|rw]只读|读写权限,-n快照卷名)
eg:
lvcreate -L 100M -s -p r -n mylvsnap /dev/mapper/myvg-mylv
-3 挂载快照卷
mount -t ext4 lv_snap_device path
eg:
mount -t ext4 /dev/mapper/mylvsnap /mylvsnap
(此时可以看到/mylvsnap目录inode号已经指向了源卷的挂载目录)
5、移除逻辑卷
lvremove lv_device
6、移除卷组
vgremove vg_name
7、pv载体出现问题解决步骤
-0 确定问题pv所在的vg
eg:
pvdisplay /dev/sdb3 (假设此处是myvg)
-2 转移要出问题的数据pv(确定转移的pv容量以及pv_device)
-3 缩减lv
-4 缩减vg
-5 删除掉出问题的数据pv
8、做出修改之后,建议进行文件系统检测
fsck -a 自动修复
或者(e2fsck仅用来检测ext系列)
e2fsck [-t fs_type] [-f] [-p] /path/to/device
-f 强行检查
磁盘管理二-LVM相关内容的更多相关文章
- Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用
在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...
- 【转载】Linux磁盘管理:LVM逻辑卷管理
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...
- 20190410Linux中磁盘管理及LVM(week2day1)
Linux磁盘管理及LVM讲解(week2_day2) 硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接 ...
- Linux命令-磁盘管理(二)
Linux命令-磁盘管理(二) Linux mmount命令 Linux mmount命令用于挂入MS-DOS文件系统. mmount为mtools工具指令,可根据[mount参数]中的设置,将磁盘内 ...
- linux磁盘管理系列-LVM的使用
LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...
- Linux磁盘管理及LVM讲解
硬盘接口 硬盘接口分为IDE.SATA.SCSI和SAS四种, IDE接口硬盘多用于家用产品中,也部分应用于服务器.不支持热添加,比较老. SCSI接口的硬盘则主要应用于服务器市场.linux. 而S ...
- Linux磁盘管理及LVM讲解(1)
硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价 ...
- Linux进阶之磁盘管理及LVM逻辑卷
本节内容 磁盘管理 LVM 一.磁盘管理 1.硬盘接口 种类及其应用: IDE接口硬盘多用于家用产品,部分应用于服务器 SATA SCSI接口硬盘主要应用于服务器 SAS只在高端服务器上,价格昂贵 2 ...
- Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该 ...
随机推荐
- 一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全
下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码: document.writeln("<b>喜欢本文,那就分享到 ...
- Silverlight js html 相互调用
1.sl调用js 比如我们在页面中定义一个js函数: <script type="text/javascript"> function fnTest(ms ...
- centos 源码安装git
(1) 添加rpmforge源 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686 ...
- IOS发送Email的两种方法-备
1.openURL 使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段.我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过程会导致程序暂时 ...
- BZOJ 2599 Race(树分治)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2599 题意:给一棵树,每条边有权.求一条路径,权值和等于K,且边的数量最小. 题意:每次 ...
- 关于google的C++ coding style
大家都知道google的开源项目有很多,不过我观察过一些开源项目,觉得代码质量就是这家最好了.这些“教条”式规定的背后是是来自于常年工程经验积累上的理性思考. 为什么好?主要有以下几点: 1.规范,就 ...
- CPU的物理限制
Quote from Solidot 密歇根大学的Igor Markov在上周的<自然>期刊上发表了一篇文章,谈论了CPU面临的基本物理限制.有学者曾估计预言CPU晶体管数目和性能增长的摩 ...
- Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件
本文介绍如何设置Eclipse代码自动补全功能.轻松实现输入任意字母均可出现代码补全提示框. Eclipse代码自动补全功能默认只包括 点"." ,即只有输入”." ...
- JS帮你计算属相
背景:一个人出生在2014年的正月初一,他的生肖到底是属蛇还是属马呢?这就要确定那一天才是一年的开始.是春节还是立春?每年的春节是正月初一,但是生肖必须是从立春日开始计算.春节是1912年孙中 ...
- Redis + Jedis + Spring (list操作)
为了简便操作,我使用了StringRedisTemplate.用字符串操作做展示.当然,你可以继续使用RedisTemplate. 闲言少叙,上代码,一目了然: /** * Mar 5, 2013 * ...