歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux系統下RAID和LVM的實現

Linux系統下RAID和LVM的實現

日期:2017/3/1 16:30:50   编辑:關於Linux
Linux系統下RAID和LVM的實現

一、本為中主要介紹RAID常用的RAID0、RAID1、RAID01、RAID10、RAID5格式的RAID卷和LVM卷的建立和測試 二、磁盤陣列是一種把若干硬磁盤驅動器按照一定的要求組成一個整體,整體磁盤陣列由陣列控制器管理的系統。冗余磁盤陣列RAID技術1987年由加州大學伯克利分銷提出的。 三、RAID基本結束 RAID:Redundant Array of Inexpensive Disks,全稱為廉價磁盤冗余陣列。 RAID的基本特性就是組合,捆綁2個或多個物理磁盤成組,形成一個單一的邏輯盤。在RAID內數據以塊(chunks)的形式寫入組合套中。另一個特性是具備數據校驗功能,該校驗可以用於RAID級別2、3、4、5、的額外信息,當磁盤失敗的情況發生時,校驗功能結合完好的磁盤中的數據,可以重建失效的磁盤上的數據。 RAID的優點:提高磁盤的存儲容量,多磁盤並行工作,提高了數據的傳輸率,由於數據的校驗功能,提高了數據的可靠性! 四、RAID各個級別的介紹 1、RAID0:條帶技術,亦稱為帶區集。 所需硬盤:至少2塊 處理數據:把數據分塊寫入組成RAID的磁盤內,從而提升了I/O速率。 容錯功能:不提供冗余功能,如果有一個磁盤損壞,則所有數據無法使用 磁盤利用率:nS 磁盤容量:n 2、RAID1:鏡像技術,亦稱為磁盤鏡像。 所需硬盤:至少2塊 處理數據:把數據寫入一個磁盤上後再復制到此磁盤的鏡像盤上進行備份,從而造成寫入能力減慢,但是讀出的時候速度快。 容錯功能:提供冗余功能,只有保證兩個磁盤中的有一個為好的,系統就可以使用此卷內的數據。 磁盤利用率:1/2 磁盤容量: n/2 3、RAID10:鏡像和條帶技術 所需硬盤:至少4塊 處理數據:先把數據按照RAID1的方式進行鏡像存儲組合,然後把組合後的RAID1卷當成物理卷進行RAID0組合。從而讀、寫功能都得到了提高。 容錯功能:利用RAID1技術對數據提供容錯功能。 磁盤利用率:1/2 磁盤容量: n/2 4、RAID01:條帶和鏡像技術 所需硬盤:至少4塊 處理數據:先把數據按照RAID0的方式進行存儲組合,然後把組合後的RAID0卷當成物理卷進行RAID1組合。從而讀、寫功能都得到了提高。 容錯功能:利用RAID1技術對數據提供容錯功能。 磁盤利用率:1/2 磁盤容量: n/2 5、RAID5:校驗碼技術 所需硬盤:至少3塊 處理數據:把數據分別寫入其中的n-1塊磁盤上,然後在另外一塊磁盤上存儲數據的校驗碼,提高了數據的讀寫能力。 容錯功能:根據效驗碼提供冗余功能, 磁盤利用率:(n-1)/n 磁盤容量: n-1 6、RAID50:校驗碼和條帶存儲技術 所需硬盤:至少6塊 處理數據:先把磁盤安裝RAID5進行數據存儲,然後再把RAID5安裝RAID0的方式組合起來,這樣既提供了讀寫能力,也提供了數據冗余功能。 容錯功能:提供冗余功能 磁盤利用率:(n-2)/n 磁盤容量: n-2 五、RAID在linux系統上的實現: 1、RAID的實現有兩種方式:硬RAID和軟RAID, 硬RAID是在硬件上進行RAID陣列的假設,要求主機上面具有RAID卡和RAID控制器。然後在計算機BIOS裡進行設置,此處先不做詳細介紹。 軟RAID:linux系統內核內提供了md模塊,來提供在linux系統內進行RAID磁盤陣列架設所需要的服務和支持。 2、mdadm命令;linux系統上建立RAID卷的命令,這是個模式化的命令 創建模式: -C:新建RAID卷 專用選項: -l:選擇RAID級別 -n:硬盤設備個數 -a:自動為其創建設備文件,後跟yes、no -c:指定chunk(數據庫)大小,為2的整數次方默認為64K -x:指定空閒盤個數--提供冗余,磁盤損壞後直接加載上去 Fg:創建raid0 madadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda{6,7} Mke2fs -j /dev/md0 Mount /dev/mdo /mnt 管理模式: -f | --fail :模擬磁盤為損壞盤 Fg: mdadm /dev/md0 --fail /dev/sda7 -a | --add :新增硬盤 Fg:mdadm /dev/md0 -a /dev/sda8 -r | --remove :移除損壞的硬盤 監控模式: -F 增長模式: -G 裝配模式: -A Fg:mdadm -A /dev/md0 /dev/sda8 /dev/sda9 3、查看當前系統的RAID信息: -D:顯示RAID的相關信息 --detail:顯示信息 4、停止RAID陣列 -S | --stop 5、將當前RAID信息保存至配置文件,一便以後進行裝配 Mdadm -D --scan > /dev/mdadm.conf 裝配:mdadm -A /dev/md# 六、RAID小練習: 創建一個空間大小為10G的RAID5設備;其chuck大小為32k;要求此設備開機時可以自動掛載至/backup目錄; 1、先建立3個大小為5G的磁盤分別為sda{5,6,7},文件格式為fd. fdisk /dev/sda n +5G t fd w Partprobe 創建完成以後查看磁盤效果如下圖 2、創建RAID5,並制定chunk為32K,結果如下圖 3、建立完成,同步結束後效果如下圖: 4、格式化md0並掛載至/backup目錄,並設置為開機啟動 mke2fs -j /dev/md0 monut /dev/md0 /backup 設置為開機啟動: Vim /etc/fstab 七、LVM:由linux內核模塊DM:Device Mapper提供,簡稱為邏輯設備。 1、LVM設備能提供RAID和LVM2、塊照、多路徑等功能,在linux系統內通常利用MD來進行RAID,利用DM來設置LVM2。 2、邏輯卷分為三層: 第一層:邏輯卷LV(Logical Volume) 第二層:卷組VG(Volume Group) 第三層:物理卷PV(Physiacl Volum) 在創建LVM的時候是從第三層向第一層進行一層一層的創建的,第三層的物理卷在linux系統內文件系統為8e。 3、物理層PV的創建: pvcreate :創建PV 、pvmore:挪動數據、pvremove:擦除PV卷、pvdisplay:顯示物理卷的信息、pvscan:掃描並顯示系統上的pv卷、pvs:查看pv信息 Fg:創建物理卷 pvcreate /dev/sda{10,11} 4、卷組的創建: vgcreate :創建Vg 、vgmore:移除、vgremove:刪除vg、vgdisplay:顯示vg的信息、vgs:查看vg信息 Vgcreate -s #:指定pe大小,默認為4Mb,默認單位為mb Fg:創建vg Vgcreate myvg /dev/sda{10,11} 5、邏輯卷的創建: lvcreate、lvreduce、、lvremove(移除lv,後加路徑)、lvextend、lvdisplay(查看lv相關信息)、lvs(查看lv信息) Lvcreate -L #:指定lv卷的大小 Lvcreate -n NAME:指定lv的名字 Fg:創建個50M的lv卷 Lvcreate -L 50M -n mylv myvg mke2fs -j /dev/myvg/mylv 6、擴展邏輯卷 LVM的擴展:先擴展物理卷,再擴展邏輯卷 lvextend:擴展物理邊界 Lvextend -L [+]# /PATH/TO/PV:+是至增加多大,不接+號時,則為擴展到多大 resize2fs:擴展邏輯邊界 resize2fs /PATH/TO/LV 5G:擴展邏輯邊界到5G resize2fs -p /PATH/TO/LV :有多大擴展到多大 7、縮減邏輯卷 LVM縮減:先縮減邏輯邊界,再縮減物理卷邊界、 1、不能在線縮減,得先卸載 2、確保縮減後的空間大小能儲存原來所有文件 3、在縮減之前應該強行檢查文件,以確保文件系統處於一致性狀態。 e2fsck -f:強行檢查文件 df -lh:檢查利用率 umount:縮減之前必須先卸載 e2fsck -f:強行檢查文件 resize2fs /PATH/TO/LV 5G:縮減邏輯卷到5G lvreduce -L [-]# /PATH/TO/PV: 縮減物理卷 重新掛載。 8、快照卷: 1、生命周期為整個數據時長:在這段時長內,數據的增長量不能超出塊照卷大小: 2、快照卷應該是只讀的 3、跟原卷在同一卷組內 創建快照命令: lvcreate -s :指定類型為塊照 -p r|w:表示指定權限 Fg:創建、還原過程 lvcreate -s -L # SLV_NAME -p -r /PATH/TO/LV tar jcf /tmp/usrs.tar.bz2 塊照掛載點內的內容 tar -xf /tmp/users.tar.bz2 解壓縮 八、LVM創建練習 創建一個由兩個物理卷組成的大小為15G的卷組myvg,要求其PE大小為16M;而後在此卷組中創建一個大小為5G的邏輯卷mylv,此邏輯卷要能在開機後自動掛載至/mnt目錄;然後對mylv進行擴展2G 1、創建兩個物理卷大小分別為7G和8G的sda{8,9},並設置為lvm格式的磁盤格式8e。 fdisk /dev/sda n +7G T 8e W pvcreate /dev/sda{8,9} 2、創建卷組myvg Vgcreate -s 16 myvg /dev/sda{7,8} 3、創建邏輯卷mylv lvreate -L 5G -n mylv /dev/myvg 4、邏輯卷要能在開機後自動掛載至/mnt目錄 Mke2fs -j /dev/myvg/mylv mount /dev/myvg/mylv /mnt Vim /etc/fstab內加入啟動項 5、對然後對mylv進行擴展3G Lvextend -L +3G /dev/myvg/mylv
Copyright © Linux教程網 All Rights Reserved