## **RAID 是什么**
**RAID ( Redundant Array of Independent Disks )**即獨立磁盤冗余陣列,簡稱為**磁盤陣列**,其實就是用**多個獨立的磁盤組成**在一起形成一個大的磁盤系統,從而**實現比單塊磁盤更好的存儲性能和更高的可靠性**。
## **RAID 有哪些**
常見分類:
* **RAID0**:至少需要兩塊硬盤,磁盤越多,讀寫速度越快,沒有冗余。
* **RAID1**:只能用兩塊硬盤,兩塊硬盤的數據互為鏡像(寫慢,讀快),一塊磁盤冗余。
* **RAID5**:至少需要3塊硬盤,一塊磁盤冗余。它是最通行的配置方式。具有奇偶校驗的數據恢復功能的數據存貯方式。奇偶校驗數據塊分布于陣列里的各個硬盤中。
* **RAID6**:至少需要4塊硬盤,2塊磁盤冗余,硬盤的總數大于等于4即可。
* **RAID10**:至少需要4塊硬盤,冗余一半的硬盤數量,但是硬盤的總數必須是大于或等于4的偶數(相當于每兩塊硬盤做一個Raid0,然后把各個Raid0做成一個Raid1)。
### **RAID0**
RAID0 是一種非常簡單的的方式,**它將多塊磁盤組合在一起形成一個大容量的存儲**。當我們要寫數據的時候,會將數據分為N份,以獨立的方式實現N塊磁盤的讀寫,那么這**N份數據會同時并發的寫到磁盤中**,因此**執行性能非常的高**。
:-: 
RAID0 的讀寫性能理論上是單塊磁盤的N倍(僅限理論,因為實際中磁盤的尋址時間也是性能占用的大頭)
**缺點: 不提供數據校驗或冗余備份。一旦某塊磁盤損壞了,數據就直接丟失,無法恢復了。**
因此RAID0就不可能用于高要求的業務中,但可以用在對可靠性要求不高,對讀寫性能要求高的場景中
### **RAID1**
:-: 
**RAID1** 是磁盤陣列中**單位成本最高**的一種方式。因為它的原理是在往磁盤寫數據的時候,**將同一份數據無差別的寫兩份到磁盤**,分別寫到**工作磁盤**和**鏡像磁盤**,那么它的實際空間使用率只有50%了,**兩塊磁盤當做一塊用**,這是一種比較昂貴的方案。
RAID1其實與RAID0效果剛好相反。RAID1 這種寫雙份的做法,就給數據做了一個**冗余備份**。這樣的話,任何一塊磁盤損壞了,都可以再基于另外一塊磁盤去恢復數據,數據的**可靠性非常強**,但性能就沒那么好了
### **RAID5**
:-: 
**這是目前用的最多的一種方式。**
**RAID5** 是一種將 **存儲性能**、**數據安全**、**存儲成本** 兼顧的一種方案。
在了解**RAID5**之前,我們可以先簡單看一下**RAID3**,雖然**RAID3**用的很少,但弄清楚了**RAID3**就很容易明白**RAID5**的思路。
**RAID3的方式**是:將數據按照RAID0的形式,分成多份同時寫入多塊磁盤,但是還會另外再留出一塊磁盤用于寫**奇偶校驗碼**。例如總共有N塊磁盤,那么就會讓其中額度N-1塊用來并發的寫數據,第N塊磁盤用記錄校驗碼數據。一旦某一塊磁盤壞掉了,就可以利用其它的N-1塊磁盤去恢復數據。
但是由于第N塊磁盤是校驗碼磁盤,因此有任何數據的寫入都會要去更新這塊磁盤,導致這塊磁盤的**讀寫是最頻繁**的,也就非常的容易損壞。
RAID5的方式可以說是對RAID3進行了改進
RAID5模式中,不再需要用單獨的磁盤寫校驗碼了。它把校驗碼信息分布到各個磁盤上。例如,總共有N塊磁盤,那么會將要寫入的數據分成N份,并發的寫入到N塊磁盤中,同時還將數據的校驗碼信息也寫入到這N塊磁盤中(數據與對應的校驗碼信息必須得分開存儲在不同的磁盤上)。一旦某一塊磁盤損壞了,就可以用剩下的數據和對應的奇偶校驗碼信息去恢復損壞的數據。
**RAID5的方式,最少需要三塊磁盤來組建磁盤陣列,允許最多同時壞一塊磁盤。如果有兩塊磁盤同時損壞了,那數據就無法恢復了。**
### **RAID6**
為了進一步提高存儲的高可用,又提出了**RAID6**方案,**可以在有兩塊磁盤同時損壞的情況下,也能保障數據可恢復。**
**RAID6**在**RAID5**的基礎上再次改進,引入了**雙重校驗**的概念。
**RAID6**除了每塊磁盤上都有**同級數據XOR校驗區**以外,還有針對**每個數據塊的XOR校驗區**,這樣的話,相當于每個數據塊有兩個校驗保護措施,因此數據的冗余性更高了。
**雖然數據冗余性好,讀取的效率也比較高,但是寫數據的性能就很差**。因此RAID6在實際環境中應用的比較少。
### **RAID10**
:-: 
**RAID10**其實就是**RAID1**與**RAID0**的一個合體。
RAID10 **兼備了RAID1和RAID0的有優點**。首先基于**RAID1**模式將磁盤分為2份,當要寫入數據的時候,將所有的數據在兩份磁盤上同時寫入,相當于寫了雙份數據,起到了數據保障的作用。且在每一份磁盤上又會基于RAID0技術講數據分為N份并發的讀寫,這樣也保障了數據的效率。
出RAID10模式是有**一半的磁盤空間用于存儲冗余數據的**,浪費的很嚴重,因此用的也不是很多。
- PHP
- PHP 核心架構
- PHP 生命周期
- PHP-FPM 詳解
- PHP-FPM 配置優化
- PHP 命名空間和自動加載
- PHP 運行模式
- PHP 的 Buffer(緩沖區)
- php.ini 配置文件參數優化
- 常見面試題
- 常用函數
- 幾種排序算法
- PHP - 框架
- Laravel
- Laravel 生命周期
- ThinkPHP
- MySQL
- 常見問題
- MySQL 索引
- 事務
- 鎖機制
- Explain 使用分析
- MySQL 高性能優化規范
- UNION 與 UNION ALL
- MySQL報錯:sql_mode=only_full_group_by
- MySQL 默認的 sql_mode 詳解
- 正則表達式
- Redis
- Redis 知識
- 持久化
- 主從復制、哨兵、集群
- Redis 緩存擊穿、穿透、雪崩
- Redis 分布式鎖
- RedisBloom
- 網絡
- 計算機網絡模型
- TCP
- UDP
- HTTP
- HTTPS
- WebSocket
- 常見幾種網絡攻擊方式
- Nginx
- 狀態碼
- 配置文件
- Nginx 代理+負載均衡
- Nginx 緩存
- Nginx 優化
- Nginx 配置 SSL 證書
- Linux
- 常用命令
- Vim 常用操作命令
- Supervisor 進程管理
- CentOS與Ubuntu系統區別
- Java
- 消息隊列
- 運維
- RAID 磁盤陣列
- 邏輯分區管理 LVM
- 業務
- 標準通信接口設計
- 業務邏輯開發套路的三板斧
- 微信小程序登錄流程
- 7種Web實時消息推送方案
- 用戶簽到
- 用戶注冊-短信驗證碼
- SQLServer 刪除同一天用戶重復簽到
- 軟件研發完整流程
- 前端
- Redux
- 其他
- 百度云盤大文件下載
- 日常報錯記錄
- GIT
- SSL certificate problem: unable to get local issuer certificate
- NPM
- reason: connect ECONNREFUSED 127.0.0.1:31181
- SVN
- SVN客戶端無法連接SVN服務器,主機積極拒絕
- Python
- 基礎
- pyecharts圖表
- 對象
- 數據庫
- PySpark
- 多線程
- 正則
- Hadoop
- 概述
- HDFS