Linux逻辑卷

Linux 逻辑卷架构与相关命令

1. 为什么要设计逻辑卷(lvm)

Linux操作系统中的存储/文件系统,一般都是基于磁盘分区策略来实现的。

这过程类似聚会上切蛋糕,一块蛋糕切出来,再分给某人(写入文件系统)后,蛋糕的大小是没法再变化的。

image-20230201111747912

这就容易造成:

  1. A的饭量比较小,事先分给他的那块蛋糕,吃不下,造成浪费;
  2. B的饭量比较大,事先分的蛋糕,没吃饱。

多用户主机使用存储资源时,也会遇到上述问题,造成存储资源利用效率不高,使用过程也不灵活。

那么该如何优化上述问题呢?

从效率和灵活角度出发。。。

最容易想到的办法是:能不能各取所需,吃多少,分多少?这意味着:

  1. 起始分配的都比较少,好比大家都拿勺子吃一块蛋糕;
  2. 不够的时候,能追加分配;
  3. 同时也能做到,多余的资源能放回,放回哪里呢?得有一个资源池。

这就促成了逻辑卷的产生和使用。

2. 逻辑卷的架构

设计逻辑卷,首先是要形成统一的资源池,即卷组(Volume Group),作为后续存储资源(逻辑卷)分配的源头。

image-20230201112657196

需要注意的是,逻辑卷技术并不是完全脱离前面说的分区,而是在磁盘分区的基础上,设计出灵活分配的存储技术。

物理磁盘,通过分区工具(常用 fdisk),切割成若干分区,逻辑卷技术可以将物理分区转化为物理卷(pvcreate),

在卷组层面,vg可以将多个物理卷组合起来,这里的物理卷可以来自不同磁盘,逻辑卷的本质是将不同磁盘的存储资源统一成资源池,从而有效组织离散的存储资源。

image-20230201113346251

组织起卷组(vg)之后,可创建逻辑卷(lvcreate),从使用层面来看逻辑卷和物理分区没用多大差别,后续都需创建文件系统,再挂载使用。

image-20230201113810459

总结来看,逻辑卷技术实现以下几点:

image-20230201112146217

3.逻辑卷相关命令

了解完理论基础后,就需要掌握如何使用逻辑卷技术。

作为扩展存储的核心技术,逻辑卷涉及到的维护命令非常多,场景也比较复杂,初次接触想一下全部掌握,是很难的。

需掌握常使用的命令,在实践中逐渐提高。

常用命令参考:https://blog.csdn.net/weixin_58342593/article/details/124329553

4. 逻辑卷高阶

逻辑卷技术并不是独立的Linux存储扩展能力,向下吸收了物理分区的局部自定义能力,实际主要应用中在各种高阶存储设备和软件中,如华为存储OceanStor的Lun能力、虚拟化软件(OpenStack-Cinder)等,都是将逻辑卷技术,完善成API调用、图形化界面的解决方案。

image-20230201115120103
OceanStor 存储资源面

OpenStack-Cinder 架构图

posted @   trylab  阅读(156)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示