linux 如何做共享磁盤陣列,在Linux上玩轉磁盤陣列分享

大部分用戶都會擔心,萬一硬盤發生故障,

一、使用磁盤陣列可以帶來哪些好處?

在具體如何配置磁盤陣列之前,筆者要先給大家介紹一下利用磁盤陣列的好處。先給大家一點動力,讓大家能夠繼續看下面的內容。

第一個好處是磁盤陣列可以提高數據存取的效率。硬盤其實就好像是一個盒子,其內部空間很大,但是出入的口子很小。當要把大量數據保存在這個盒子的時候,只有通過這個小小的盒子來保存數據。其存取的效率明顯不是很高。但是,如果采用磁盤陣列的話,當

第二個好處是可以整合多塊硬盤。多數的

第三個好處是可以提供比較高的安全性。當硬盤中的數據存儲發生錯誤時,磁盤陣列技術能夠利用現有的信息對損壞的數據進行自動修復。磁盤陣列會產生一個校驗碼。這個校驗碼會存放在不同的磁盤上。當某塊磁盤突然出現損壞時,磁盤陣列技術就可以利用這個校驗碼來恢復損壞磁盤的數據。故磁盤陣列技術也經常被用在Linux服務器,以提高服務器數據的安全性。

二、Linux磁盤陣列與其它操作系統的差異。

從磁盤陣列的概念中,我們知道磁盤陣列是由一個個不同的硬盤組合而成的一個虛擬硬盤。其他操作系統,如

不過在同一塊硬盤上分割成多塊分區,并重新組合成一個磁盤陣列的話,就不能夠享受磁盤陣列所帶來的好處。如上面所講的提高硬盤數據存取效率、提高數據安全性等等,都將不在有。也就是說,其已經失去了將數據存放在不同磁盤、以降低數據損壞風險、提高數據存儲效率的目的。磁盤陣列的使用價值將無法體現。

故系統管理員之所以把一塊硬盤分割成不同的分區,并實現磁盤陣列,主要是出于實驗、學習的目的。在實際部署中,筆者建議

三、Linux系統下如何設置磁盤陣列?

在Linux系統中,磁盤陣列主要通過/etc/raidtab配置文件來控制的。若系統管理員需要實現磁盤陣列的話,就需要手工創建這個配置文件。或者從其他地方復制這個文件,并進行相應的修改。默認情況下,在Linux系統中不會有這個文件。下面筆者就對這個文件中的主要參數進行講解,幫助大家建立一個正確的磁盤陣列配置文件。

參數一:raid-level 指定磁盤陣列的類型。

磁盤陣列到目前為止,有不下于十種的類型。而Linux系統則只支持其中的不種類型。系統管理員需要了解這五種磁盤陣列類型的特點,并根據企業的實際應用場景選擇合適的磁盤類型。筆者平時比較喜歡采用Linear或者RAID-5這兩種磁盤陣列類型。為此就給大家分析一下這兩個磁盤類型的特點。

Linear磁盤陣列模式比較簡單,它只是起到一個磁盤的整和作用。如果采用這種磁盤陣列模式,Linux系統會先將數據存放在第一塊硬盤中。只有當這個硬盤空間已經使用完了,操作系統才會將數據存儲到第二塊硬盤中。以此類推。在這種模式下,由于沒有把數據分塊同時存入到多個硬盤中,所以不能夠提高數據存取效率。同時,也不存在校驗碼,故也沒有數據自我修復的功能。也就是說,這種模式的磁盤陣列,只起到了把小容量的硬盤整和中一塊大硬盤的作用。所以這種模式實際應用的不多。但是因為其配置簡單,所以是用來理解磁盤陣列這種技術的好渠道。

RAID-5磁盤陣列模式是現在主流的磁盤陣列模式。在這種模式下,Linux操作系統會將數據切割成固定大小的小區塊,并同時分別保存到不同的硬盤中。而且這種磁盤陣列模式,會產生校驗碼,并且把校驗碼存放在不同的硬盤中。由于其并沒有保留固定的一塊硬盤來存放同為校驗碼,所以當任何一塊硬盤損壞時,損壞的數據都可以被修復。若采用這種模式,可以提高數據的存儲效率、增強數據的安全性、把不同硬盤整和成一塊虛擬硬盤。而且,其沒有把同位校驗碼存放在同一塊硬盤中,所以不會造成整體系統性能的瓶頸。筆者現在企業中的服務器,就是采用了這種磁盤陣列模式。

參數二:chunk-size 指定分塊的大小。

采用磁盤陣列后,數據會被分割成許多小塊,然后寫入到硬盤中。那么這個塊的大小是多少呢?在磁盤陣列配置文件中,需要指定每個寫入區塊的大小。其最小單位是2KB。用戶指定的區塊大小,必須都是2的整數次方。如可以設置為4、8、16等等。不過這個參數配置對于Liner模式下沒有實際意義。因為在Liner模式下實際上不會對數據進行分塊。因為其先把數據存儲在第一塊硬盤上。當第一塊硬盤滿后在存儲在第二塊上,以此類推。故不會對數據進行分塊。所以這個參數對Liner這種磁盤陣列模式不起作用。

參數三:persistent-superblock:設置是否要寫入超級塊。

在微軟的操作系統下部署磁盤陣列的話,就不需要設置這個內容。但是在Linux下,必須對此進行設置。因為Linux系統采用的是Ext2/3文件系統。對于這個文件系統來說,硬盤分區首先被劃分為一個個Block。同一個ext2文件系統上的每個block大小都是一樣的。但是對于不同的ext2文件系統,block的大小可以有區別。典型的block大小是1024 bytes或者4096 bytes。這個大小在創建ext2文件系統的時候被決定,它可以由系統管理員指定,也可以由文件系統的創建程序根據硬盤分區的大小,自動選擇一個較合理的值。一個硬盤分區上的block計數是從0開始的,并且這個計數對于這個硬盤分區來說是全局性質的。

編輯推薦:關于LINUX系統ROOT帳號管理的幾個啟示

Superblock有一個比較時髦的中文名稱,叫做超級塊。超級塊是硬盤分區開頭(開頭的第一個byte是byte 0)從 byte 1024開始往后的一部分數據。由于 block size最小是 1024 bytes,所以super block可能是在block 1中(可能此時block 的大小正好是 1024 bytes),也可能是在block 0中(可能此時block 的大小超過 1024 bytes)。超級塊中的數據其實就是文件卷的控制信息部分,也可以說它是卷資源表,有關文件卷的大部分信息都保存在這里。所以這個超級塊中的信息就好像是FAT32文件系統下的分區格式,非常的重要。

這個參數就是用來控制是否需要寫入硬盤的這個塊。如果要寫入的話,就設置為1;不寫入的話,就設置為0

—-想了解更多的

本文來自網絡收集,不代表猴子技術宅立場,如涉及侵權請點擊右邊聯系管理員刪除。

如若轉載,請注明出處:https://www.ssfiction.com/linuxxt/61999.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/373170.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373170.shtml
英文地址,請注明出處:http://en.pswp.cn/news/373170.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

my-innodb-heavy-4g.cnf

my-innodb-heavy-4g.cnf轉載于:https://www.cnblogs.com/xiluhua/p/6231834.html

易于使用的單位和集成代碼

此示例說明如何使用Maven和Sonar生成單元測試和集成測試的覆蓋率。 它使用非常簡單的技術,只需10-15分鐘即可在任何現有的Maven構建中運行。 它可用于單元,集成,ATDD或任何其他類型的測試套件。 覆蓋率結果顯示在Sonar中。 有什么事嗎&#x…

Dij的堆優化

#include<algorithm> #include<iostream> #include<cstdio> #include<cstring> #include<queue> #define M 100000 #define pa pair<int,int>//優先比較第一個元素 using namespace std; int d[M],n,m,cnt,head[M],next[M],u[M],dis[M],n…

linux db2sysc 內存,db2sysc進程占用linux內存持續增長,請各位指點。

該服務器近期做過的變更情況&#xff1a;變更前&#xff0c;使用 sar -r 1 3 看內存使用率服務器內存使用率一直是70%該服務器原為獨立物理服務器&#xff0c;經過虛擬化遷移到EXS上成為虛擬服務器。遷移后發現swap無法啟動。原因是原物理服務器硬盤控制器為cciss。/etc/fstab …

k8s的探針

一、探針原理 分布式系統和微服務體系結構的挑戰之一是自動檢測不正常的應用程序&#xff0c;并將請求&#xff08;request&#xff09;重新路由到其他可用系統&#xff0c;恢復損壞的組件。健康檢查是應對該挑戰的一種可靠方法。使用 Kubernetes&#xff0c;可以通過探針配置運…

第一百三十節,JavaScript,封裝庫--連綴

JavaScript&#xff0c;封裝庫--連綴 學習要點&#xff1a; 1.連綴介紹 2.改寫庫對象 本章我們重點來介紹&#xff0c;在調用庫的時候&#xff0c;我們需要能夠在前臺調用的時候可以同時設置多個操作&#xff0c;比如設置CSS&#xff0c;設置innerHTML&#xff0c;設置click事件…

Spring3:類型安全依賴項注入

在從Spring跳到類型安全依賴注入之前&#xff0c;我想討論一下我們之前所做的方式。 我們一直在借助Spring的Autowired注釋按類型使用依賴項注入。 像這樣的東西會注入Spring Bean。 Autowired private StudentDao studentDao; // Autowires by type. Injects the instance who…

userData IE

蠻討厭IE的&#xff0c;因為他常常需要特別照顧&#xff0c;就像DOM Storage(sessionStorage和localStorage)只能支持IE8&#xff0c;對于以下的只能使用userData。 原理&#xff1a;通過在document元素后面附加一個專屬的“DHTML行為”來實現客戶端存儲&#xff0c; var memor…

context元素大概解說

Context元素代表一個web應用&#xff0c;運行在某個特定的虛擬主機上。如Servlet Specification 2.2或以后版本中描述的那樣&#xff0c;每個web應用基于一個Web Application Archive(WAR)文件&#xff0c;或者是一個目錄&#xff0c;包含WAR文件解壓后的內容。有關Web Applica…

全新的Play模塊資料庫

去年11月&#xff0c;我曾與Play框架的 Nicolas Leroux談過創建模塊存儲庫的問題。 他同意這將是一個好主意&#xff0c;但是時間不足使我無法開始。 在上周Google Play小組發生了暴風雨之后&#xff0c;我決定將其優先處理。 可以在幾周內提供可工作的原型。 概述&#xff1a;…

Ubuntu 16.04 安裝 VMware-Workstation-12

以前一直使用 Ubuntu Virtaulbox &#xff0c;最近測試了 VMware-Workstation-9,性能超過 Virtaulbox-4.2.x,下面是詳細步驟:1 首先準備一個Ubuntu 系統 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04 LTS Release: 16.04 …

Linux的md64進程,在Linux上安裝Elasticsearch Kibaba.md(示例代碼)

在Linux上安裝Elasticsearch KibabaKibana是一個開源為elasticsearch 引擎提供數據和數據分析1、下載安裝切換到root賬戶&#xff0c;按順序依次執行以下命令rpm包安裝$wget -c https://artifacts.elastic.co/downloads/kibana/kibana-5.5.3-x86_64.rpm$sha1sum kibana-5.3.2-x…

SSH實戰 · 唯唯樂購項目(中)

用戶模塊三&#xff1a;一級分類的查詢創建一級分類表并導入基本數據CREATE TABLE category (cid int(11) NOT NULL AUTO_INCREMENT,cname varchar(255) DEFAULT NULL,PRIMARY KEY (cid)) ENGINEInnoDB AUTO_INCREMENT11 DEFAULT CHARSETutf8;建包及相應的類:com.weiwei.shoppi…

播放2 –模塊,插件有什么區別?

關于Play 2模塊和插件似乎有些混亂。 我想這是因為兩者經常是同義詞。 在Play&#xff08;兩個版本-1和2&#xff09;中&#xff0c;存在明顯的差異。 在本文中&#xff0c;我將介紹什么是插件&#xff0c;如何在Java和Scala中實現插件&#xff0c;以及如何從模塊導入插件。 外…

Linux多線程貝葉斯建樹教程,建樹經驗.doc

建樹經驗分子進化樹構建及數據分析的簡介mediocrebeing, rodger, lylover, klaus, oldfish, yzwpf一、引言開始動筆寫這篇短文之前&#xff0c;我問自己&#xff0c;為什么要寫這樣的文章&#xff1f;寫這樣的文章有實際的意義嗎&#xff1f;我希望能夠解決什么樣的問題&#x…

Android的IPC機制(一)——AIDL的使用

綜述 IPC(interprocess communication)是指進程間通信&#xff0c;也就是在兩個進程間進行數據交互。不同的操作系統都有他們自己的一套IPC機制。例如在Linux操作系統中可以通過管道、信號量、消息隊列、內存共享、套接字等進行進程間通信。那么在Android系統中我們可以通過Bin…

python學習筆記(python介紹)

為什么要學python&#xff1f; python和shell的比較&#xff0c;和PHP、和JAVA比較 運維開發只是用到python的很小一部分 python在一些知名公司的應用&#xff1a; 谷歌&#xff1a;python的創始人原來在谷歌工作。 CIA&#xff1a;美國中情局網站用python開發的 NASA&#xff…

Netty:透明地使用SPDY和HTTP

大多數人已經從谷歌那里聽說過SPDY&#xff0c;該協議被提議作為老化的HTTP協議的替代品。 Web服務器是瀏覽器正在緩慢地實現該協議&#xff0c;并且支持正在增長。 在最近的文章中&#xff0c;我已經寫過SPDY的工作方式以及如何在Jetty中啟用SPDY支持。 由于Netty&#xff08;…

selenium 等待頁面加載完成

一、隱形加載等待&#xff1a; file:///C:/Users/leixiaoj/Desktop/test.html 該頁面負責創建一個div <html> <head><title>Set Timeout</title><style>.red_box {background-color: red; width 20%; height:100px; border: none;}</style&…

linux nfsnobody用戶,處理CentOS 5.5 x64 配置NFS服務過程中nfsnobody用戶造成的問題

4、我們編譯一下這個NFS的配置文件。[rootNFS /]# vi /etc/exports/share 192.168.60.0/24(rw,sync,all_squash,root_squash) (我們允許這個共享對192.168.60.0/24網段可讀可寫&#xff0c;且將所有訪問者包括root的身份都改為nfsnobody)[rootNFS /]# /etc/init.d/nfs resta…