文章目錄
RAID技術
RAID:磁盤陣列
優點:
提高磁盤IO能力,磁盤能夠並行讀寫
提高耐用性,磁盤冗餘來實現
簡單理解感覺就是把多個相對便宜的硬盤組合起來,成爲一個硬盤數組,使性能達到甚至超過一個價格昂貴、容量巨大的硬盤。
實現方式:
外接式磁盤陣列:通過擴展卡提供適配功能
內接式磁盤陣列:集成到主板上的RAID控制器
Software RAID: 通過軟件來實現RAID功能
1. 軟RAID:通過軟件方式模擬實現
2. 硬RAID:從物理服務器層面:通過RAID適配器實現RAID
級別:
多塊磁盤組成在一起工作的方式不同
RAID0
- 讀寫性能會提高
- 可用空間: N * MIN (總的可用空間由最小的硬盤決定,類似於木桶效應)
- 沒有冗餘特性和容錯特性
- 最少磁盤數量: 2
數據分爲多塊。每塊存在不同硬盤上。
RAID1
- 讀性能提升,寫性能略有下降
- 可用空間: 1 * MIN
- 用容錯能力
- 最少磁盤數量: 2
一份數據寫多次,其他盤作爲備用盤備份,安全性高。
RAID4
- 讀性能提升,寫性能略有下降
- 可用空間:N * MIN
- 有冗餘特性(有專門的備份盤)
- 最少磁盤數量: 2
類似於RAID1,但有一塊專門的硬盤作爲數據的備份盤。
RAID5
- 讀寫性能都會提高
- 可用空間: N-1 * MIN
- 有冗餘特性(通過校驗數據的方式:1個盤的空間)
- 最少磁盤數:3
僅能容許一塊磁盤損毀,可通過校驗數據逆推恢復損壞的磁盤。
RAID6
- 讀寫性能都會提高
- 可用空間: N-2 * MIN
- 有冗餘特性(通過校驗數據的方式:2個盤的空間)
- 最少磁盤數:4
RAID10 : 先做RAID1再做RAID0
- 讀寫性能都會提高
- 可用空間: N * min /2
- 有冗餘特性
- 最少磁盤數: 4
RAID 10 就是先建立 2 組 RAID 1(一份數據存兩份),接着這 2 組 RAID 1 再組合成 RAID 0(數據分多塊寫入不同盤上)
RAID01 : 先做RAID0再做RAID1
- 讀寫性能會提高
- 可用空間:N * min /2
- 有冗餘特性
- 最少磁盤數: 4
LVM技術
LVM 邏輯卷管理: 在物理設備上進行一層抽象,允許生成邏輯存儲卷,相比於物理存儲管理更加靈活。
LVM將存儲虛擬化,不受限於物理設備,屏蔽硬件相關存儲參數,不需要卸載文件系統來去調整卷大小或者數據遷移等。
優點:靈活/可伸縮的存儲池/在線的數據分配/管理命令簡潔/卷快照等等
- 基本術語:
物理存儲介質: 系統上的/dev/sda
物理卷: PV /dev/sda1 /dev/sdb1…
卷組: VG 由多個PV組成的存儲資源池
邏輯卷: LV 從VG中拿存儲資源直接使用
PE: 物理卷被劃分成PE的基本單元(每個PE默認爲4MB)
LE: 邏輯卷被劃分成LE的基本單位(同一個卷組中 LE和PE相同的)
關係:
用戶直接使用邏輯卷。
環境準備
右擊虛擬機設置,點擊硬盤,添加。
磁盤類型選擇SCSI
接下來查看一下新加的磁盤,因爲使第二塊添加的磁盤,所以可以找到磁盤sdb
接下來用fdisk /dev/sdb命令,分區。
重複三次後,w命令保存退出,最後看一下結果。
PV管理工具
pvcreate命令: 創建PV
使用方式: pvcreate <devices…>
[root@test ~]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
pvs命令: 顯示pv的相關信息
pvdisplay命令:顯示PV的詳細信息
VG管理工具
vgcreate命令:創建VG
使用方式: vgcreate <vg_name> <pvs…>
[root@test ~]# vgcreate vg_test /dev/sdb1 /dev/sdb2
vgs命令:查看vg相關信息
vgdisplay命令:查看vg詳細信息
vgextend命令:擴展vg大小
[root@test ~]# vgextend vg_test /dev/sdb3
vgreduce命令:縮減vg大小
vgremove命令:刪除vg
LV管理工具:
lvcreate命令:創建lv
使用方式: lvcreate -L #[mMg…] -n [name] <vg_name>
lvs命令:顯示lv相關信息
lvdisplay命令:顯示lv詳細信息
[root@test ~]# lvdisplay /dev/vg_test/lv_test1
lvsremove命令: 刪除lv
使用方式:
- lvremove <vg_name> <lv_name>
- lvremove </path/to/lv>
path: [root@test ~]# cat /dev/vg_test/lv_test
[root@test ~]# lvremove vg_test lv_test1
擴展邏輯卷:
lvextend -L [+]#[MmGg] <lv_name|path/to/lv>
resize2fs <lv_name|/path/to/lv>
縮減邏輯卷:
umount /path/to/lv
lvreduce -L [+]#[MmGg] <lv_name|path/to/lv>
e2fsck -f /path/to/lv
resize2fs /path/to/lv
mount
快照功能:
lvcreate -s|–snapshot -L|–size Size[m|UNIT] LV
使用方式:
lvcreate -L Size[MmGg…] -s -n <Snapshot_name> <lv_name>
[ -p|--permission rw|r ] 設置快照權限
練習題
- 創建一個至少有兩個PV組成的大小爲20G名爲testvg的VG;要求PE大小爲16MB,然後在卷組中創建大小爲5G的邏輯卷testlv,掛載至/users目錄
- 新建用戶eagle,家目錄爲/users/eagle/,然後切換至centos用戶,複製/etc/fstab文件至自己的家目錄
- 擴展testlv至7G,要求eagle用戶的文件不能丟失
- 收縮testlv至3G,要求eagle用戶的文件不能丟失
- 對testlv創建快照,並嘗試基於快照備份數據,驗證快照的功能