LVMRAID

news/2024/7/7 11:35:33

RAID技术主要是针对传统服务器部署的,应该是云服务商或硬件服务商底层部署实现。

LVM则是允许对硬盘分区大小进行灵活管理的一种机制。
以下是学习的笔记内容,主要是参考学习了红帽培训书籍《Linux就该这么学》《高性能MySQL》以及掺杂了一些自己实践后的理解。
 
LVM (Logical Volume Manager)逻辑卷管理器
LVM是解决在生产环境中无法评估每个硬盘分区在日后的使用情况,可能会导致原先分配的硬盘分区不够用,LVM则可以允许用户动态的调整硬盘资源。LVM技术就是在硬盘分区与文件系统中间添加了一个逻辑层,提供一个抽象的卷组,可以把多块硬盘进行卷组合并(硬盘分区,物理硬盘,RAID磁盘阵列都可以)。一个卷组可以包含多个物理卷,创建之后也可以动态的添加新的物理卷。逻辑卷则是用卷组中空闲资源建立的,并且在逻辑卷建立后仍可以动态的扩展和缩小空间。
 
RAID(Redundant Array of Inexpensive Disks)独立冗余磁盘阵列
RAID可以帮助做冗余,扩展存储容量,缓存,以及加速。
  • RAID 0 技术把多块物理硬盘通过硬件或软件的方式串联在一起,组成一个巨大的卷组,并将数据依次分别写入各个物理硬盘中。在最理想的状态下,硬盘的读写性能得到成倍的提升。但一旦其中一块硬盘发生意外,会带来毁灭性的灾难。
  • RAID 1 技术是把两块以上硬盘进行绑定,在写入时,将数据同时写入多块硬盘(可以将其视为备份or镜像),当其中一块发生故障后,一般会立即以热交换的方式来恢复数据正常使用。但2块硬盘的情况,磁盘利用率只有原本的50%,而且增大了系统计算功能的负载。
  • RAID 5技术是通过分布奇偶校验块,把数据分散存在在多个硬盘,如果其中一块硬盘的数据失效,都可以从奇偶校验快中重建(最多允许一块硬盘失效)。就每个存储单元的成本来讲,整个阵列只消耗了一块磁盘的存储空间来存储奇偶校验信息,冗余较少,但奇偶校验块也带来了额外的性能开销。RAID控制器往往对RAID 5做了高度优化,虽然理论极限,但是智能控制器充分利用高速缓存使得RAID 5在某些场景下有时可以达到RAID 10的性能。
  • RAID 10技术实际为RAID 1 + RAID 0的组合。至少需要4快硬盘来创建,先分别制作2组RAID 1磁盘阵列保证数据安全性,然后再对2个RAID 1实施 RAID 0 技术,进一步提高RAID 10读写速度。需要注意的是,RAID控制器对RAID 10采用的是一种串联镜像的实现。由于条带化的缺点是最经常访问的数据可能仅被放置在一对机械磁盘上而不是分布很多份,所以可能会遇到性能不佳的情况。
 
RAID等级之间的比较。(虽然实际也在虚拟机通过mdadm部署了上面提到的几种阵列,但虚拟机测试数据并不足以说明什么。以下数据比较摘自高性能MySQL)
等级
概要
冗余
盘数
读快
写快
RAID0
便宜,快速,危险
NO
N
YES
YES
RAID1
高速读
YES
2(通常)
YES
NO
RAID5
安全(速度)成本折中
YES
N+1
YES
YES
RAID10
昂贵,高速,安全
YES
2N
YES
YES

 

转载于:https://www.cnblogs.com/zhanzhijie/p/9198276.html


http://www.niftyadmin.cn/n/2067588.html

相关文章

二叉树层序遍历递归与非递归_秋招之路-二叉树四种遍历(递归和非递归代码实现)...

前言今天和大家带来的是二叉树的常见面试题,前序,中序,后序,层次遍历,递归和非递归,这里用 C 代码实现。二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种…

oracle根据分区移动,讲解Oracle移动数据文件到新分区的过程

讲解Oracle移动数据文件到新分区的过程以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!此过程用sqlplus以sys登录后进行如下步骤 ◆ 将数据文件offlinealter database datafile D:\ORACLE\PR…

python tkinter button_python-tkinter按钮不显示

当我执行脚本时,背景图像可以正常工作,它将与窗口的大小匹配,但是,我无法显示按钮(它们尚无功能).我对python相当陌生,所以不确定是否将按钮用作事件是一个好主意.任何帮助表示赞赏. import turtle import tkinter as tk from tkinter import * from PIL import Image,ImageTk …

oracle里面cat,Oracle 12c 中推荐使用 catcon.pl 执行SQL脚本

https://www.cndba.cn/dave/article/225https://www.cndba.cn/dave/article/2251 说明在Oracle 12c中,Oracle 建议使用catcon.pl 脚本来执行SQL 脚本和SQL 语句,其可以在root 和指定的PDB中执行。 Catcon.pl脚本是一个perl 脚本,需要在操作…

面试:做过sql优化吗?

近来面试找工作经常会遇见这种问题: 做过数据库优化吗?大数据量基础过吗?系统反应慢怎么查询? 这咱也没背过啊,面试还老问,现在的网站主要的压力都来自于数据库,频繁的数据库访问经常会使系统瘫…

python动态加载模块_python3使用exec来动态加载模块

xxglsvr.py import sys # locals() 函数来得到一个局部变量字典。 # 之后你就能从局部字典中获取修改过后的变量值了 def main(procName): loc locals() exec("from %s import call_sub" % procName) call_sub loc[‘call_sub‘] call_sub("private " p…

检测接口数据 - Charles使用

1.Charles下载地址 : 百度一下 2.使用方法 : http://blog.devtang.com/2015/11/14/charles-introduction/ 3.charles破解: Registered Name:https://zhile.ioLicense Key: 48891cf209c6d32bf4 破解步骤 董铂然的博客 - 详解https://www.cnblo…

oracle pue考试,oracle分布式事务(理论)

基本概念Local Coordinator:在分布事务中,必须参考其它节点上的数据才能完成自己这部分操作的站点。Global Coordinator:分布事务的发起者,负责协调这个分布事务。Commit Point Site:在分布事务中,首先执行…