小Q:书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有

书籍,就好像鸟儿没有翅膀。                        —— 莎士比亚

===============================简介=================================

LVM:Logical Volume Manager(逻辑卷管理),它是Linux环境下对磁盘分区进行管理的一种机制

来由:每个Linux使用者在安装Linux时都会遇到这样的困境:在为系统分区时,如何精确评LVM模型

估和分配各个硬盘分区的容量,因为系统管理员不但要考虑到当前某个分区需要的容量,还要预见该

分区以后可能需要的容量的最大值。因为如果估 计不准确,当遇到某个分区不够用时管理员可能甚

至要备份整个系统、清除硬盘、重新对硬盘分区,然后恢复数据到新分区。

卷组volume group (VG)

卷组是LVM中最高抽象层,是由一个或多个PV所组成的存储器池。

物理卷physical volume (PV)

典型的物理卷就是硬盘分区,也可以是整个硬盘或已创建的Software RAID 卷,是LVM的基本存储逻辑块,

包含有与LVM相关的管理参数。

物理块physical extent (PE)

物理卷按大小相等的“块”为单位存储,块的大小与卷组中逻辑卷块的大小相同;默认为4MB,所以PV

由大小等同的基本单元PE组成。

逻辑块logical extent (LE)

逻辑卷按“块”为单位存储,在一卷组中的所有逻辑卷的块大小是相同的。LE的大小和PE是相同的。

逻辑卷logical volume (LV)

逻辑卷相当于非LVM系统中的分区,它在VG上建立,是一个标准的块设备,可以在其上建立文件系统

线性映射

线性映射-把一定范围的物理块按顺序分配给逻辑卷,如LV的LE 1-99映射到PV1,LE 100-347映射

到PV2。

交错模式

交错模式-将把逻辑块交错映射到不同的物理卷中,如 LV的LE 1映射为PV1的PE1,LE 2映射为PV2的PE1,LE 3映射为PV1的PE2.。这种方式可以提高逻辑卷的性能,但是采用这种方式建立的逻辑卷将不

能在它们所在的物理卷中扩展。

==============================创建LVM================================

第一步创建物理文件系统

命令: fdisk /dev/sdb          ——创建物理卷并修改ID为8e

第二步初始化物理卷为PV

创建PV,添加几个文件系统,然后再添加一个RAID文件系统

命令:pvcreate /dev/sdb{5,6,7,8,9}      ————   添加文件系统到PV

pvcreate /dev/md0              ————   添加raid文件系统到PV

pvs,pvdisplay              ————   查看系统现有PV

第三步创建卷组VG

添加PV到卷组,创建VG卷组

命令:vgcreate  [-s=16m]     test_vg      /dev/sdk1  /dev/sdl1

指定PE大小  VG卷组名   要添加到VG中的PV

使用man帮助看一下使用方法

看上面的例子,我们添加PV到卷组中创建VG

命令:vgcreate vg0 /dev/sdb{5,6,7,8,9} /dev/md0

vgs,vgdisplay

注释:[-s=16m] 里面的内容可选,修改默认的PE单元大小,默认为4M,最大一个卷组是256G,修改默

认单元为16M,最大的卷组单元是1024G

命令:vgdisplay testvg | grep "Total PE"

看看默认的PE大小为4M,PV个数为6个,VG的总大小为6.7.G

其他VG卷组的一些操作

激活VG

在被激活之前,VG与LV是无法访问的

用man帮助看一下

命令:vgchange -a y vg0      —— 激活vg0卷组

当不再使用VG时,休眠了vg0卷组

命令:vgchange -a n vg0     —— 使之不再可用

移除VG

在移除一卷组前应确认卷组中不再有逻辑卷

命令:vgchange -a n vg0    ———— 休眠卷组

vgremove  vg0        ———— 移除该卷组

为VG增加新PV

当卷组空间不足时,可以加入新的物理卷来扩大VG卷组容量,这时可用命令vgextend

pvcreate  /dev/sdb15      —— 初始化sdb15为PV

vgextend  vg0  /dev/sdb15     —— 把sdb15加入到卷组vg0中

其中/dev/sdb15是新的PV,当然在这之前,它应使用pvcreate初始化

从VG移除PV

在移除PV之前,应确认该PV没用被LV使用

命令:pvdisplay  /dev/sdb15        —— 查看pv有没有使用

如这个PV仍在被使用,在确认它未被使用后,可用命令vgreduce把它从VG中删除

命令:vgreduce  vg0  /dev/sdb15  ———— 从vg中删除pv

如果所在PV上有数据,则应把数据传移到其它PV上

注释:若要把一个PV从VG中移除,应首先把其上所有活动PE中的数据转移到其它PV上,而新的PV必须是本VG的一部分,有足够的空间,如要把PV1:/dev/md0上的数据移到PV2:/dev/sdb6上可用,建议在转移数据之前备份LV中的数据,如果在该PV之上的LV采用交错方式存放,则这个转移过程不能被打断。

命令:pvmove  /dev/md0 /dev/sdb6

转载于:https://blog.51cto.com/tengxiansheng/1705410

第 三 十 八 天:Linux 的 LVM 逻 辑 卷 管 理相关推荐

  1. OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪 OpenCV学习笔记(三十七)——实用函数、系统函数、宏core OpenCV学习笔记(三十八)——显示当前FPS OpenC

    OpenCV学习笔记(三十六)--Kalman滤波做运动目标跟踪 kalman滤波大家都很熟悉,其基本思想就是先不考虑输入信号和观测噪声的影响,得到状态变量和输出信号的估计值,再用输出信号的估计误差加 ...

  2. Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程)...

    Android项目实战(三十八):2017最新 将AndroidLibrary提交到JCenter仓库(图文教程) 原文:Android项目实战(三十八):2017最新 将AndroidLibrary ...

  3. JavaScript学习(三十八)—面向过程与面向对象

    JavaScript学习(三十八)-面向过程与面向对象 一.程序设计语言中的两大编程思想:面向对象.面向过程 (一).面向过程 就是指完成某个需求的时候,先分析出完成该需求时所需要经历的步骤有哪些,然 ...

  4. 【正点原子Linux连载】第三十五章 Linux内核顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  5. Android版疯狂填字第三关,iOS/安卓版《疯狂填字》答案攻略第三十八关

    <疯狂填字>,最创新的填字玩法,挑战你的脑细胞,现在就下载.疯狂填字是最早的在线中文填字游戏,现在你可以在苹果手机上玩填字也可以在安卓手机上面玩,既打发了时间,又增长了知识,你准备好挑战了 ...

  6. 第五章第三十八题(十进制转换八进制)(Decimal to octal)

    第五章第三十八题(十进制转换八进制)(Decimal to octal) **5.38(十进制转换为八进制)编写程序,提示用户输入一个十进制整数,然后显示对应的八进制值.在这个程序中不要使用Java的 ...

  7. 三十八、Fluent融化凝固模型参数设置依据

    1. 融化凝固模型概述 1.1 模型原理 我们在Chapter37分享了Fluent融化凝固模型案例,前文只是介绍了Fluent中的操作过程. 不知道大家会不会觉得很奇怪,Fluent模拟融化和凝固, ...

  8. CCNA实验三十八 ZFW(区域防火墙)

    CCNA实验三十八 ZFW(区域防火墙) 环境:Windows XP .Packet Tracert5.3 目的:了解ZFW的原理与基本配置 说明: ZFW(Zone-Based Policy Fir ...

  9. 左耳听风 第三十八周

    左耳听风 第三十八周 每周完成一个ARTS: 每周至少做一个 leetcode 的算法题.阅读并点评至少一篇英文技术文章.学习至少一个技术技巧.分享一篇有观点和思考的技术文章.(也就是 Algorit ...

最新文章

  1. 2021年 ,关于AI的哪些未来已来?
  2. MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)
  3. java 之选择排序与冒号排序的详解
  4. 什么地方容易刷出ak_CSGO皮肤推荐——AK燃料喷射器
  5. apache poi 修改docx表格_一个excel(20M)就能干趴你的poi,你信吗(附源码)?
  6. Xcode 创建自定义模板
  7. 【C语言编程】实现猜数字游戏
  8. Java完全自学手册pdf,由浅入深,循序渐进(1)
  9. Zabbix 网页端监控工具
  10. 基于因子分析法分析新冠肺炎疫情对房地产业上市公司财务的影响
  11. Matplotlib设置坐标轴日期格式
  12. visual studio code下载慢解决办法
  13. ant man什么意思_ant是什么意思_ant的翻译_音标_读音_用法_例句_爱词霸在线词典...
  14. unity(登录注册用手机号短信验证)
  15. BP API: cl_md_bp_maintain
  16. 使用苹果cms建视频类的网站
  17. 电子计算机的字母是什么意思,电脑硬件的型号中的数字和字母都代表什么意思...
  18. 联盟链FISCO BCOS权限控制一览
  19. ubuntu14.04 使用keepass
  20. css2d炫酷效果,利用CSS3实现炫酷的飞机起飞动画

热门文章

  1. c++基础学习(04)--(函数、数字、数组、字符串)
  2. 用Tomcat构建一个简单图片服务器
  3. Java JUC工具类--Master-Worker
  4. java 家庭收支账户
  5. C程序员要学C++吗?
  6. 换位思考的最高境界是换待遇,所以,换位思考就是空话!!!
  7. 【简明笔记】循环条件的优化
  8. 会出现 unreachable statement 的可能
  9. 《 图解 TCP/IP 》读书笔记
  10. 快速判断数组中每个对象同一属性值是否相同