磁盘管理二-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)都是通过先对一个硬盘进行分区,然后再将该 ...
随机推荐
- apache用户认证、默认主机、301跳转
我更正论坛一个同学帖子(今天坑我一下午):原文http://www.apelearn.com/bbs/foru ... 3%BB%A7%C8%CF%D6%A4 apache用户认证.默认主机.301跳 ...
- sqlplus 一次奇葩问题 HTTP proxy setting has incorrect value
y@y:~$ sqlplus Error 46 initializing SQL*PlusHTTP proxy setting has incorrect valueSP2-1502: The HTT ...
- Unix/Linux环境C编程入门教程(39) shell命令之系统管理
df命令 用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况.命令的使用格式如下: df [选项] 常用参数及含义如下表所示. df -a:显示所有文件系统的磁盘 ...
- exe可执行程序及堆栈分配(转载)
可执行程序的内存分布 GNU编译器生成的目标文件默认格式为elf(executive linked file)格式,这是Linux系统所采用的可执行链接文件的通用文件格式.elf格式由若干个段(sec ...
- linux下添加中文输入法
一.安装环境 查看linux版本号 [ztteng@ztteng ~]$ lsb_release -aLSB Version: :core-4.0-ia32:core-4.0-noarch:gr ...
- 12 个 Linux 进程管理命令介绍
执行中的程序在称作进程.当程序以可执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作系统 ...
- 关于sem_unlink什么时候删除信号量
sem_unlink在man手册里有这么一段话: sem_unlink() removes the named semaphore referred to by name. The semaphore ...
- Unity 屏幕适配小脚本
屏幕适配是可以通过代码实现的,相信给你时间就一定能写出来. 我们公司貌似没有分辨率适配框架通常对应小屏幕的苹果4要额外设置下等等就完了! 屏幕适配框架实现思路: 通过代码获取当前的分辨率 –> ...
- 一段代码说明javascript闭包执行机制
假设你能理解以下代码的执行结果,应该就算理解闭包的执行机制了. var name = "tom"; var myobj = { name: "jackson", ...
- 下拉框Html.DropDownList 和DropDownListFor 的经常用法
一.非强类型: Controller: ViewData["AreId"] = from a in rp.GetArea() ...