软件磁盘阵列与LVM

一、软件磁盘阵列

磁盘阵列(RAID)是通过硬件或软件技术将多个较小的磁盘整合成为一个较大的磁盘设备,而这个较大的磁盘除了存储还具备数据保护功能。

RAID分不同的级别,不同级别具有不同功能:

  • 1、RAID 0:性能最佳

    这种模式的RAID会将磁盘先切出等量的数据块chunk,当一个文件要写入时,该文件会根据chunk的大小切割好,之后再依序放到各个磁盘里去,数据会被等量的放到各个磁盘上,每块磁盘负责的数据量都降低了,因此性能会好。

    但是RAID 0只要有任何一块磁盘损坏,在RAID上面的所有数据都会遗失而无法读取。

  • 2、RAID 1:完整备份

    这种模式主要是让同一份数据完整地保存在两块磁盘上面。由于数据写入时存在复制行为,所以RAID 1的写入性能不佳,但读取性能还可以。

    RAID 1最大的优点就是数据备份,但磁盘容量有一半用作备份,因此总容量会是全部磁盘容量的一半。

  • 3、RAID 5:性能与数据的均衡考虑

    该磁盘阵列类型需要三块以上的硬盘,这种磁盘阵列的写入类似于RAID 0,这不过每次数据写入,都会有奇偶校验值被记录下来,并且每次记录在不同的磁盘。由于需要存储奇偶校验值,因此RAID 5的总容量时整体磁盘数量减一块。而当损坏的磁盘数量大于等于两块时,RAID 5是无法恢复数据的,它只能支持一块磁盘损坏的情况。

  • 4、RAID 1+0/0+1 与RAID 6

    RAID 1+0/0+1 是RAID 1与RAID 0结合的产物,例如RAID 1+0 是宏观方案使用RAID 1,存储两份相同数据,而微观上,每份数据的存储方案都采用RAID 0,即分多块磁盘分散存储数据。RAID 6是最新的磁盘阵列模式,它是RAID 5 的进一步发展,使用两块磁盘存储奇偶校验值,那么允许出错的磁盘数量也达到了两块。

当磁盘阵列的磁盘损坏时,就需要将坏掉的磁盘拔除,然后换一块新的磁盘。换成新磁盘并且顺利启动磁盘阵列后,磁盘阵列就会开始主动重建(rebuild)原本坏掉的那块磁盘数据到新的磁盘上,然后磁盘阵列上面的数据就恢复了,这就是磁盘阵列的优点。不过,我们还是得要动手拔插硬盘,除非系统支持热插拔,否则通常得要关机才能这么做。

为了让系统可以实时地在坏掉硬盘时主动地重建,就需要热备份磁盘(spare disk)的辅助。所谓的热备份磁盘就是一块或多块没有包含在原本磁盘阵列级别中的磁盘,这块磁盘平时并不会被磁盘阵列所使用,当磁盘阵列有任何磁盘损坏时,这块热备份磁盘就会被主动拉进磁盘阵列中,并将坏掉的那块硬盘移出磁盘阵列,然后立即重建数据系统,如此你的系统就可以永保安康。

硬件磁盘阵列是通过磁盘阵列卡来完成磁盘阵列的功能,但是磁盘阵列卡一般较为昂贵,低端主板上集成的磁盘阵列卡通常仅支持RAID 0和RAID 1,因此就发展出软件模拟磁盘阵列的功能。硬件磁盘阵列向上透明。因此硬件磁盘阵列的设备文件名为/dev/sd[a~p],由于软件磁盘阵列是系统模拟的,因此使用的设备文件名是系统的设备文件,文件名为/dev/md[0~128]

二、LVM

为了实现磁盘分区的动态扩容或缩小,引入了LVM。LVM的全名是Logical Volume Manager,中文翻译为逻辑卷管理器。

  • 物理卷(Physical Volume,PV)

我们实际的分区(或Disk)需要调整系统标识符(system ID)成为 LVM的标识符,然后再经过 pvcreate 的命令将它转成 LVM 最底层的物理卷(PV),之后才能够将这些PV加以利用。调整 system ID 的方式就是通过gdisk。

  • 卷组(Volume Group,VG)

所谓的LVM大磁盘就是将许多PV整合成这个VG,所以VG就是LVM组合起来的大磁盘。那么这个大磁盘最大可以到多少容量呢?在64位的Linux系统上面,LV几乎没有啥容量限制。

  • 物理扩展块(Physical Extent,PE)

LVM 默认使用4MB的PE数据块,它是整个LVM最小的存储数据单位,也就是说,其实我们的文件数据都是借由写入PE 来完成的。简单地说,这个PE 就有点像文件系统里面的block大小。LVM可以弹性修改文件系统容量就是通过交换PE来进行数据转换。

  • 逻辑卷(Logical Volume,LV)

最终的VG还会被切成LV,这个LV就是最后可以被格式化使用的类似分区的东西了。那么LV是否可以随意指定大小呢?当然不可以。既然PE 是整个LVM的最小存储单位,那么LV的大小就是PE的整数倍。为了方便用户利用LVM来管理VG,LV的设备文件名通常为【/dev/gname/vname】的样式。

请添加图片描述

建立PV:

pvcreate #将物理分区建立成pv
pvscan #查找目前系统内的pv
pvdisplay #显示某一pv的具体状态
pvremove #删除pv

建立VG:

vgcreate [-s N[mgt]] VG名称  PV名称 #建立VG
# -s后面接PE的大小,单位可以是m、g、t
vgscan #查找系统中所有VG
vgdispaly #显示某一VG的具体状态
vgextend #在VG内增加额外的PV
vgchange #设置VG是否启动
vgremove #删除一个VG

创建LV:

lvcreate [-L N[mgt]] -n LV名称 VG名称 #建立LV
#-L后面接容量,容量单位可以是M、G、T,但是容量需要为PE的整数倍
lvscan #查询所有的LV
lvdisplay #显示某一lv的状态
lvextend #增加容量
lvreduce #减少容量
lvremove #删除一个LV
lvresize [-L +/-N[mgt]] LV名称 #调整LV容量,增加用+号,减少用-号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/664133.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

摸鱼大数据——select查询7-10

7、union联合查询 union: 对重复数据会去重 union all: 对重复数据不会去重 ​ 注意:union和union all中两边的字段(类型、顺序)要对应上 示例: use day08; select * from students; ​ select id,name from students where id in (95001,9…

读天才与算法:人脑与AI的数学思维笔记26_读后总结与感想兼导读

1. 基本信息 天才与算法:人脑与AI的数学思维 [英] 马库斯杜索托伊 (Marcus du Sautoy) 机械工业出版社,2020年4月出版 1.1. 读薄率 书籍总字数284千字,笔记总字数39047字。 读薄率39047284000≈13.7% 1.2. 读厚方向 千脑智…

Python—面向对象小解(3)

一、多态 多态指的是一类事物的多中形态 相同的方法,产生不同的执行结果 运算符 * 的多态 int int 加法计算 str str 字符串拼接 list list 列表的数据合并 在python中可以使用类实现一个多态效果 在python中使用重写的方式实现多态 (1)定…

Git-lfs入门使用教程

在备份我的毕设到github私有库的时候,发现git对于单文件大于100MB的会限制上传,一番折腾一下发现了git-lfs [Git LFS(Large File Storage,大文件存储)是 Github 开发的一个Git 的扩展,用于实现 Git 对大文件的支持]。 …

【效率提升】谷歌浏览器搜索技巧

文章目录 查找快速解答,以关键词形式进行搜索使用搜索运算符限定搜索范围,排除不相干内容使用高级搜索,可以搜索到更详细、具体、专业的结果 查找快速解答,以关键词形式进行搜索 想要哪个领域的快速解答,就使用哪个领…

星鸾云平台:高效配置Anaconda环境

星鸾云平台:高效配置Anaconda环境 多种算力资源和AI一体机在星鸾云平台上安装Anaconda并配置Python环境的步骤注册和登录体验GPU显卡服务选择服务器实例登陆GPU实例挂载数据盘配置CUDA环境安装Anaconda 星鸾云平台的优势 星鸾云平台以其卓越的产品功能和优势&#x…

期权交易有什么利弊点?

今天带你了解期权交易有什么利弊点?期权是一种合约,有看涨期权和看跌期权两种类型,也就是做多和做空两个方向,走势标的物对应大盘指数,这也是期权与其他金融工具的主要区别之一,可以用于套利,对…

Python中限制输入数值范围的技术性探讨

目录 一、引言 二、使用内置函数限制输入范围 三、使用条件语句进行范围检查 四、使用异常处理增强鲁棒性 五、结合第三方库进行输入验证 六、总结 一、引言 在Python编程中,用户输入是程序与用户交互的重要方式之一。然而,由于用户输入的多样…

实验室信息管理系统LIMS可以解决哪些问题

LIMS系统(Laboratory Information Management System)是一种专门针对实验室设计的信息管理系统,它能够帮助实验室解决一系列的问题,提高实验室的管理效率和数据可靠性。以下是LIMS系统可以解决的实验室问题: LIMS系统在实验室管理中的作用 1…

TDesign环境搭建-后台模板的安装和使用-构建web管理端后台系统

TDesign环境搭建-后台模板的安装和使用-构建web管理端后台系统 一、安装Nodejs 下载:nodejs 注意,目前前端代码使用的vue3做为脚手架进行开发,需要强制依赖node版本为16及以上 二、模板安装 2.1 安装脚手架:cli nodejs安装好之…

数字化校园建设让学习更加广阔

校园构建数字化校园的亮点是什么?校园以智能服务、才智办理、数字讲堂为中心内容的智慧校园建造,不只使师生作业和日子更高效,并且使他们有更多的时刻投入到智能教育和智能学习中去,进步教育质量,使学生走出校门时紧跟…

风电功率预测 | 基于TCN-GRU时间卷积门控循环单元的风电功率预测(附matlab完整源码)

完整代码 clc; clear close allX = xlsread(风电场预测.xlsx); X = X(5665:8640,:); %选取3月份数据 num_samples =

辅导男朋友转算法岗的第2天|self Attention与kv cache

文章目录 公式KV CacheMHA、MQA、GQA 面试题为什么除以 d k \sqrt{d_k} dk​ ​Multihead的好处decoder-only模型在训练阶段和推理阶段的input有什么不同?手撕必背-多头注意力 公式 $ \text{Output} \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) \times …

nodemcu32s 和 mini D1 组局域网并用 webSocket 通信

实现思路 使用 mini D1 来搭建一个 webSocket 服务,然后使用 nodemcu32 连接,然后就可以进行通信了。 服务端代码(mini D1) 在代码中主要是需要控制好 loop 函数中的延时,也就是最后一行代码 delay,如果…

B端系统:角色与权限界面设计,一文读懂。

一、什么是角色与权限系统 角色与权限系统是一种用于管理和控制用户在系统中的访问和操作权限的机制。它通过将用户分配到不同的角色,并为每个角色分配相应的权限,来实现对系统资源的权限控制和管理。 在角色与权限系统中,通常会定义多个角色…

入门flask:Python后端开发的首选框架

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:从零开始学习弗拉斯克 二、弗拉斯克的微框架哲学 三、弗拉斯克的核心…

字符串匹配算法(一)BF算法、RK算法

文章目录 BF算法算法详解算法实现 RK算法算法详解算法实现 BF算法 算法详解 BF算法也就是Brute Force 算法,中文叫暴力匹配算法,也叫朴素匹配算法。模式串和主串:例如:我们在字符串A中查找字符串B,那么字符串A就是主…

留言板——增添功能(持久化存储数据,使用MyBatis)

目录 一、数据准备 二、引入MyBatis 和 MySQL驱动依赖 三、配置MySQL账号密码 四、编写后端代码 五、调整前端代码 六、测试 之前的代码:综合性练习(后端代码练习3)——留言板_在线留言板前后端交互-CSDN博客 一、数据准备 创建数据库…

vivo鄢楠:基于OceanBase 的降本增效实践

在3 月 20 日的2024 OceanBase 数据库城市行中,vivo的 体系与流程 IT 部 DBA 组总监鄢楠就“vivo 基于 OceanBase 的降本增效实践”进行了主题演讲。本文为该演讲的精彩回顾。 vivo 在1995年于中国东莞成立,作为一家全球领先的移动互联网智能终端公司&am…

CentOS 7基础操作01_安装CentOS 7操作系统

1、实验环境 因为 Windows图形界面占用系统资源较高,所以公司准备将面向互联网的网站,数据库等重要应用基于Linux平台部署,并计划于近期将服务器安装开源免费的 CentOS 系统。进行前期准备工作时,需要公司的系统管理员尽快掌握 CentOS 系统的安装过程 2、需要描述 …