LVM(逻辑卷管理器)部署、扩容、缩小
物理卷 -- Physical Volume -- PV
卷组 -- Volume Group -- VG
逻辑卷 -- Logical Volume -- LV
1、硬盘设备管理技术虽然能够有效的提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为 RAID 的磁盘阵列之后,再想修改硬盘分区大小就不容易了。当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制,这是需要用到另一一项非常普及的硬盘设备资源管理技术——LVM(逻辑卷管理器),LVM 可以允许用户对硬盘资源进行动态调整。
2、逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,其创建的初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对系统的硬盘分区进行强制扩容或缩容从理论上讲师可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并,由此用户不必关心物理硬盘设备的底层架构和布局就可以实现对硬盘分区的动态调整。

3、常用LVM部署命令
功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展 vgextend lvextend
缩小 vgreduce lvreduce
4、环境准备。添加两块新硬盘。
对这两块硬盘进行创建物理卷的操作可以理解成让硬盘设备支持LVM技术或把硬盘设备加入到LVM技术可用的硬件资源池中,然后对这两块硬盘进行卷组合并,卷组的名称可以由用户自定义。
把合并后的卷组切割出一个 150 MB的逻辑卷设备,把这个逻辑卷设备格式化成 ext4 文件系统后挂载使用。
5、LVM技术部署

(1)让新添加的两块硬盘设备支持LVM 技术。
pvcreate /dev/sdb /dev/sdc

(2)把两块硬盘设备加入到 storage 卷组中。
vgcreate storage /dev/sdb /dev/sdc
(3)查看卷组的状态。
vgdisplay

(4)切割出一个约为 150MB 的逻辑卷设备。
注意:切割单位的问题,在对逻辑卷进行切割时有两种计量单位。第一种是以容量为单位,所使用的的参数为-L。例如,使用 -L 150M 生成一个大小为150MB的逻辑卷,另外一种是以基本单元的个数为单位,所使用的参数为 -l 。每个基本单元的大小默认为 4MB。例如,使用 -l 37 可以生成一个大小为 37 ×4MB=148MB 的逻辑卷。
lvcreate -n lv -L 150M storage
# -n 表示指定名字 -L 指定逻辑卷的大小

(5)将生成好的逻辑卷进行格式化,然后挂载使用。
mkfs.ext4 /dev/storage/lv

/dev/sdb 和 dev/sdc 做卷组 storage,新生成的卷组为 /dev/storage,从/dev/storage 卷组中切割出逻辑卷lv,lv所在位置 /dev/storage/lv。
(6)挂载,查看挂载状态。
mkdir /lvm
mount /dev/storage/lv /lvm
df -h

(7)写入到配置文件中永久生效。
echo "/dev/storage/lv /lvm ext4 default 0 0">> /etc/fstab
6、扩容逻辑卷
只要卷组中有足够的资源,就可以一直为逻辑卷扩容。扩容前一定要记得卸载设备和挂载点的关联。
umount /lvm
(1)将逻辑卷的 lv 扩展至 290MB
lvextend -L 290M /dev/storage/lv

(2)检查硬盘完整性
e2fsck -f /dev/storage/lv

(3)重置硬盘容量
resize2fs /dev/storage/lv

(4)重新挂载并查看。

逻辑卷的容量已经改变。
7、缩小逻辑卷
相较于扩容逻辑卷,缩容逻辑卷丢失数据的风险更大。对逻辑卷进行缩容之前,要先检查文件系统的完整性(为了保证数据安全),在执行缩容操作前要先把文件系统卸载。
umount /lvm
(1)检查文件系统的完整性
e2fsck -f /dev/storage/lv
(2)把逻辑卷 lv 的容量减小到 120MB
resize2fs /dev/storage/lv 120M
lvreduce -L 120M /dev/storage/lv
(3)重新挂载文件系统并查看系统状态
mount /dev/storage/lv /lvm
df -h

LVM(逻辑卷管理器)部署、扩容、缩小的更多相关文章
- Linux 笔记 - 第十七章 Linux LVM 逻辑卷管理器
一.前言 在实际生产中,有时会遇到磁盘分区空间不足的情况,这时候就需要对磁盘进行扩容,普通情况下需要新加一块磁盘,重分区.格式化.数据复制.卸载旧分区.挂载新分区等繁琐的步骤,而且有可能造成数据的丢失 ...
- LVM逻辑卷管理器
LVM概述 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...
- LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...
- LVM逻辑卷管理测试——创建逻辑卷
虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...
- 逻辑卷管理器LVM
逻辑卷管理器LVM •将设备指定为物理卷 • 用一个或者多个物理卷来创建一个卷组 • 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 • 在物理卷上创建的逻辑卷是由物理区 ...
- Linux逻辑卷管理器(LVM)
LVM基础 通过使用Linux的逻辑卷管理器(Logical Volume Manager, LVM),用户可以在系统运行时动态调整文件系统的大小,把数据从一块硬盘重定位到另一块硬盘,也可以提高I/O ...
- 10-3 LVM(逻辑卷管理器)
LVM(逻辑卷管理器) 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 允许在多个物理设备间重新组织文件系统 将设备指定为物理卷 用一个或者多个物理卷来创建一个卷组 物理卷是用固定大小的物理 ...
- Linux系统磁盘管理(lvm逻辑卷管理)
linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...
- 十三、LVM 逻辑卷管理
http://note.youdao.com/noteshare?id=0252cd5dcf7f2e5f11de5b3672779201&sub=ED011464ADA3467D9424271 ...
随机推荐
- python CGI编程-----简单的本地使用(1)
本章节需要安装python开发工具,window平台安装地址:https://www.python.org/downloads/windows/,linux安装地址:https://www.pytho ...
- Django--导出项目依赖库requirements.txt
虚拟环境下: 1.导出项目依赖库: pip freeze > requirements.txt 2.使用 pip 一次性安装项目的所有依赖项,方法是在命令行中输入: pip install - ...
- applicationContext-dao.xml 配置错误
https://www.captainbed.net/ 配置文件报错: 不允许有匹配 "[xX][mM][lL]" 的处理指令目标. 错误原因: 由于大部分都是搬砖,所以格式没注意 ...
- saltstack 自动化运维
salt介绍 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. salt强大吗 系统管理员日常会进行大量的重复性操作,例如安装软 ...
- 浏览器中的 Event Loop
当我们执行 JS 代码的时候其实就是往执行栈中放入函数,那么遇到异步代码的时候该怎么办?其实当遇到异步的代码时,会被挂起并在需要执行的时候加入到 Task(有多种 Task) 队列中.一旦执行栈为空, ...
- 管道符和作业控制、shell变量、环境变量配置文件 使用介绍
第6周第1次课(4月23日) 课程内容: 8.6 管道符和作业控制 8.7/8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.ape ...
- C语言l-2019秋作业01
2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? 在进入大学之前,我认为软件工程就是学习开发软件的,后来,从网上搜索了有关它的定义,软件工程是一门研究用工程化方法构建和维护软件的学科,它以 ...
- 浅析vue混入(mixin)
vue中的混入,可以在一定程度上提高代码的复用性.通俗来说,混入类似于“继承”,当前组件对象继承于组件对象,一般情况下遵循“就近原则”.但是与继承不同的是,继承一般都跟随着属性的重写与合并,混入在不同 ...
- Codeforces Round #452 (Div. 2) A B C
Codeforces Round #452 (Div. 2) A Splitting in Teams 题目链接: http://codeforces.com/contest/899/problem/ ...
- Swoole 是 PHP 中的 Node.js?
一想到那些可以使用 Node 的同事,一些 PHP 开发者的脸都嫉妒绿了.异步 Node 系统可以在不同协议间共享代码库,并在代码之外提供服务.这真的想让一个人转 Node 开发.实际上 PHP 中也 ...