#### RAID 0
RAID0技術把多塊物料硬盤設備(至少兩塊)通過硬件或軟件的方式串聯在一起,組成一個大的卷組,并將數據依次寫入到各個物理硬盤中。
這樣硬盤的讀寫性能會提升數倍,但若任意一塊硬盤發生故障將導致整個系統的數據都受到破壞。
通俗來說,RAID0技術能夠有效提升硬盤數據的吞吐速度,但不具備數據備份和錯誤修復能力。數據分別寫入到不通的硬盤中,即disk1和disk2會分別保存數據資料,實現提升讀取、寫入速度的效果。

#### RAID 1
如果生產環境對硬盤設備的讀寫速度沒有要求,希望增加數據的安全性時,就需要用到RAID1技術。

它是把兩塊以上的硬盤進行綁定,在寫入數據時,是將數據同時寫入到多塊硬盤設備上(可以將其視為數據的鏡像或備份)。當其中一塊硬盤發生故障后,一般會立即自動以熱交換的方式來恢復數據的正常使用。
雖然RAID1安全性提高了,但硬盤的利用率下降了,理論上真實可用率只有50%,由三塊硬盤設備組成的RAID1磁盤陣列可用率只有33%左右,以此類推。
#### RAID 5
RAID5技術是把硬盤設備的數據奇偶校驗信息保存到其他硬盤設備中。RAID5的奇偶校驗信息并不是單獨保存到某一塊硬盤中,而是存儲到除自身以外的其他每一塊硬盤設備上,這樣好處是其中任何一設備損壞后不至于出現致命缺陷。下圖中parity部分存放的就是數據的奇偶校驗信息,也就是RAID5技術實際上沒有備份硬盤中的真實數據信息,而是當硬盤設備出現問題后通過奇偶校驗信息來嘗試重建損壞的數據。RAID5這樣的技術特性“妥協”地兼顧了硬盤設備的讀寫速度、數據安全性與存儲成本問題。

#### RAID 10
RAID10是RAID1+RAID0技術的一個“組合體”。RAID10至少需要4塊硬盤來組建,其中先分別兩兩制作成RAID1磁盤陣列,進一步提高硬盤設備的讀寫速度。這樣理論上,不是同一組中的硬盤都壞,那么最多可以損壞50%的硬盤設備而不丟失數據。

#### 部署磁盤陣列
mdadm命令用于管理linux系統中的軟件RAID硬盤陣列,格式為“mdadm \[模式\]<RAID設備名稱>\[選項\]\[成員設備名稱\]”
mdadm命令的常用參數和作用
參數
作用
-a
檢測設備名稱
-n
指定設備數量
-l
指定RAID級別
-C
創建
-v
顯示過程
-f
模擬設備損壞
-r
移除設備
-Q
查看摘要信息
-D
查看詳細信息
-S
停止RAID磁盤陣列
舉例:使用mdadm命令創建RAID 10,名稱為“/dev/md0”
思路:先通過前面的我們知道4塊硬盤是/sdc,/sdd/,/sde,/sdf
在創建用-C,-v顯示創建過程 后面加一個設備名稱/dev/md0;-a yes 自動創建設備文件;-n 4表示使用4塊硬盤來部署RAID陣列;-l 10代表RAID10方案;后面加上4塊硬盤設備名稱就可以了。
然后對其進行格式化;再后進行掛載;最后可以查看下RAID陣列信息,并寫入配置文件中(/etc/fstab),使其永久有效
\# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdc /dev/sdd /dev/sde /sdf (創建RAID)
\# mkfs.ext4 /dev/md0 (格式化文件系統)
\# mkdir /RAID (創建目錄)
\# mount /dev/md0 /RAID (掛載到目錄下)
\# df -h (查看下空間)
\# mdadm -D /dev/md0 (查看陣列的詳細信息)
\# echo “/dev/md0 /RAID ext4 defaults 0 0” >> /etc/fstab (寫入配置文件)
#### 模擬磁盤陣列損壞及修復
模擬下一塊物理硬盤出現損壞后,怎么移除,查看陣列狀態,更換等
\# mdadm /dev/md0 -f /dev/sdc (模擬一塊盤損壞)
\# mdadm -D /dev/md0 (查看陣列狀態詳細信息)
\# umount /RAID (取消掛載)(虛擬機中先重啟系統,實際環境不需要)
\# mdadm /dev/md0 -a /dev/sdc (自動檢測)
\# mdadm -D /dev/md0 (查看詳細信息,如果上面在自動創建可以看到狀態不一 樣rebuild,完成了之后是active)
\# mount -a (把配置文件中的文件系統信息自動掛載上)
模擬一下RAID5和一塊盤做備份(-x 1代表有一塊備份盤)
\# mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde (創建RAID5并一塊盤做備份盤)
\# mdadm -D /dev/md0 (查看下陣列詳細信息)
\# mkfx.ext4 /dev/md0 (進行格式化)
\# echo “/dev/md0 /RAID ext4 defaults 0 0” >> /etc/fstab (寫入到配置文件中)
\# mkdir /RAID (創建目錄)
\# mount -a (掛載所有在/etc/fstab中定義的文件系統)
\# mdadm /dev/md0 -f /dev/sdb (模擬一塊盤損壞)
\# mdadm -D /dev/md0 (迅速查看陣列信息,可看到備份的一塊盤自動同步了)
#### LVM(邏輯卷管理器)
LVM可以允許用戶對硬盤資源進行動態調整。理論上對傳統的硬盤分區進行強制擴容 或縮容是可行的,但是卻可能造成數據的丟失。而LVM技術是在硬盤分區和文件系統之間添加了一個邏輯層,它提供了一個抽象的卷組,可把多塊硬盤進行卷組合并。這樣就不必關系物理硬盤設備的底層架構和布局,即可實現對硬盤分區的動態調整。
LVM技術架構圖:

物理卷\[PV,Physical Volume\]處于LVM中的最底層,可以理解為物理硬盤、硬盤分區或者RAID磁盤陣列。
卷組\[VG,Volume Group\]建立在物理卷之上,一個卷可以包含多個物理卷,而且在卷組創建之后也可以繼續向其中添加新的物理卷。
邏輯卷\[LV,Logical Volume\]是用卷組中空閑資源建立的,并且邏輯卷在建立后可以動態地擴展或縮小空間。
基本單元\[PE,Physical Extent\]是邏輯卷的組成最小單位。也就是說,邏輯卷必須是基本單元的倍數。
常用的LVM部署命令
功能/命令
物理卷管理
卷組管理
邏輯卷管理
掃描
pvscan
vgscan
lvscan
建立
pvcreate
vgcreate
lvcreate
顯示
pvdisplay
vgdisplay
lvdisplay
刪除
pvremove
vgremove
lvremove
擴展
vgextend
lvextend
縮小
vgreduce
lvreduce
#### 部署邏輯卷
舉例:添加兩塊新的硬盤,先創建物理卷,然后進行卷組合并,最后切割出一個約為150MB的邏輯卷設備,并把這個邏輯卷格式化為EXT4文件系統后掛載使用。
\# pvcreate /dev/sdb /dev/sdc (創建物理卷)
\# vgcreate storage /dev/sdb /dev/sdc (合并為一個卷組,卷組名storage)
\# vgdisplay (顯示卷組信息)
\# lvcreate -n vo -l 37 storage (創建邏輯卷,邏輯卷名vo)
注意:-n 表示創建邏輯卷的名稱;-l 表示以基本單元的個數為單位,某個基本單元的大小默認為4MB,所以37\*4MB=148MB(約為150MB);-L表示以容量為單位,所以-L 150M 生成一個大小為150MB的邏輯卷。
\# lvdisplay (顯示邏輯卷信息)
\# mkfs.ext4 /dev/storage/vo (格式化邏輯卷為ext4文件系統)
說明:Linux系統會把LVM中的邏輯卷設備存放在/dev設備目錄中(實際上是一個符號鏈接),同時會以卷組的名稱來建立一個目錄,其中保存了邏輯卷的設備映射文件(即/dev/卷組名稱/邏輯卷名稱)
\# mkdir /linuxprobe (創建需要掛載的目錄)
\# mount /dev/storage/vo /linuxprobe (掛載到目錄linuxprobe下)
\# df -h (查看掛載狀態)
# echo “/dev/storage/vo /linuxprobe ext4 defaults 0 0”>> /etc/fstab (寫入配置文件)
#### 擴容邏輯卷
擴容前一定要記得卸載設備和掛載點的關聯
\# umount /linuxporbe (卸載掛載點)
\# lvextend -L 290M /dev/storage/vo (擴容邏輯卷vo至290MB)
\# e2fsck -f /dev/storage/vo (檢查硬盤的完整性)
\# resize2fs /dev/storage/vo (重置硬盤的容量)
\# mount -a (重新掛載硬盤設備)
\# df -h (查看掛載狀態)
#### 縮小邏輯卷
縮容前一定要記得卸載設備和掛載點的關聯,生產環境記得備份喲。
\# umount /lilnuxprobe (卸載掛載點)
\# e2fsck -f /dev/storage/vo (檢查文件系統的完整性)
\# resize2fs /dev/storage/vo 120MB (重置硬盤的容量)
\# lvreduce -L 120M /dev/storage/vo (把邏輯卷vo容量縮小到120MB)
\# mount -a (重新掛載)
\# df -h (查看系統狀態)
#### 邏輯卷快照
LVM快照卷功能的兩個特點:
- 快照卷的容量必須等同于邏輯卷的容量;
- 快照卷僅一次有效,一旦執行還原操作后則會被立即自動刪除
\# vgdisplay (查看卷組的信息)
\# ehco “Welcome to Linuxprobe.com” > /linuxprobe/readme.txt (寫入一個文件)
\# ls -l /linuxprobe (查看下目錄中的詳細信息)
\# lvcreate -L 120M -s -n SNAP /dev/storage/vo (創建一個快照卷,并指定切割的大小,并指出對那個邏輯卷執行快照操作。-s參數表示生成一個快照卷)
\# lvdisplay (查看次數邏輯卷的詳細信息)
\# dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M (在目錄中建一個100m的垃圾文件做測試用)
\# ls -l /linuxprobe (查看下詳細信息)
\# lvdisplay (查看邏輯卷詳細信息)
\# umount /linuxprobe (快照還原前,先卸載掛載點)
\# lvconvert –-merge /dev/storage/SNAP (進行快照還原操作,快照卷會被自動刪除)
\# mount -a (掛載)
\# ls /linuxprobe (查看目錄信息,測試用數據100MB沒有了)
#### 刪除邏輯卷
刪除之前一定要做好備份。
順序:邏輯卷(LV)——>卷組(VG)——>物理卷(PV)
\# umount /linuxprobe (卸載掛載點)
\# vim /etc/fstab (刪除配置文件中永久生效的設備參數)
\# lvremove /dev/storage/vo (刪除邏輯卷vo)
\# vgremove storage (刪除卷組,此處只寫卷組名稱即可,不需要設備的絕對路徑)
\# pvremove /dev/sdb /dev/sdc (刪除物理卷)
\# (lvdisplay\\vgdisplay\\pvdisplay都不會再看到信息了)
- 常用的RPM軟件包命令
- 常見的Yum命令
- Linux開機過程
- Systemd初始化進程服務的劣勢:
- system 與 system V init 的區別以及作用
- systemctl管理服務的啟動、重啟、停止、重載、查看狀態等常用命令
- systemctl設置服務開機啟動、不啟動、查看各級別下服務啟動狀態等常用命令
- 主流 Linux 系統選擇 Bash 解釋器作為命令行終端主要有以下 4 項優勢
- 常見執行Linux命令的格式:
- man命令中常用按鍵以及用途
- man命令幫助信息的接個歐以及意義
- 常用系統命令(10)
- 系統狀態檢測命令(8)
- 工作目錄切換命令(3)
- 文本文件編輯命令(9)
- 文件目錄管理命令(7)
- 打包壓縮與搜索命令(3)
- 輸入輸出重定向
- 管道命令符
- 命令行的通配符
- 常用的轉義字符
- 重要的環境變量
- Vim文本編輯器
- 編寫Shell腳本
- 流程控制語句
- 計劃任務服務程序
- 用戶身份與文件權限
- 文件權限與歸屬
- 文件的隱藏屬性
- 文件訪問控制列表
- su命令與sudo服務
- 存儲結構與磁盤劃分
- 使用RAID與LVM磁盤陣列技術
- iptables與firewalld防火墻
- 使用SSH服務管理遠程主機