分享一個RAID+LVC的組合
之前解決過這麼一個需求:伺服器的一塊或者兩塊磁碟壞了,伺服器裡的資料不會丟。並且當磁碟空間不足的時候可以非常方便的擴大容量。
首先,先來介紹一下RAID
RAID,廉價的磁碟陣列
RAID分為硬體RAID和軟體RAID
硬體RAID:
速度快,效能好,支援熱插拔。
需專門的RAID磁碟陣列卡,價格昂貴,還需要配合相應的驅動
軟體RAID:
通過Linux核心來實現。
使用mdadm軟體模擬磁碟列陣功能。
無需專門硬體,價效比較好
裝置檔案識別標識是/dev/md0
根據可靠性、效能和成本對RAID劃分了等級:RAID0/1/5/6/10/01
級別 | RAID0 | RAID1 | RAID5 | RAID6 |
磁碟數 | >=2 | 2 | >=3 | >=4 |
容錯功能 | 無 | 有 | 有 | 較強 |
讀寫速度 | 最快 | 寫入較慢 | 較快 | 較快 |
磁碟空間利用 | 100% | 50% | n-1 | n-2 |
然後再來講一下LVM
LVM主要就是跟傳統分割槽作比較
傳統分割槽 | LVM邏輯卷管理 | |
磁碟空間獨立性 | 不能充分利用,尤其是一個fs 只能對應一個分割槽 |
多次盤PV組成儲存池VG,再根據應 用細分邏輯卷LV,空間利用率提高 |
空間擴充套件性 | 重新分割槽 | 採取動態或靜態線上擴充套件卷組容量 |
資料備份 | 業務繁忙時,IO介面讀寫頻繁 | 可採取快照方式捕捉某一邏輯卷的 瞬間精確拷貝已完成線上備份工作 |
使用者使用性 | 分割槽標識無法滿足大量使用者需求。 | 可根據使用者需求定義LV邏輯卷的卷標 |
所以根據這些,我做出如下方案:
1.將10塊磁碟做成RAID5,2塊做熱備
2.然後將RAID5做成PV,然後建立單PV的VG,從而做成LVM管理,從VG中劃分出LV供公司使用
當空間不夠時,將新磁碟做成RAID5,然後也做成PV,並且加入到這個VG,那麼就達到了擴容的目的
建立RAID5
首先檢視磁碟裝置檔案
[root@memeda ~]# ll /dev/sd*
brw-rw—-. 1 root disk 8, 0 Sep 13 04:08 /dev/sda
brw-rw—-. 1 root disk 8, 1 Sep 13 04:08 /dev/sda1
brw-rw—-. 1 root disk 8, 2 Sep 13 04:08 /dev/sda2
brw-rw—-. 1 root disk 8, 3 Sep 13 04:08 /dev/sda3
brw-rw—-. 1 root disk 8, 16 Sep 13 04:08 /dev/sdb
brw-rw—-. 1 root disk 8, 32 Sep 13 04:08 /dev/sdc
brw-rw—-. 1 root disk 8, 48 Sep 13 04:08 /dev/sdd
brw-rw—-. 1 root disk 8, 64 Sep 13 04:08 /dev/sde
brw-rw—-. 1 root disk 8, 80 Sep 13 04:08 /dev/sdf
brw-rw—-. 1 root disk 8, 96 Sep 13 04:08 /dev/sdg
brw-rw—-. 1 root disk 8, 112 Sep 13 04:08 /dev/sdh
brw-rw—-. 1 root disk 8, 128 Sep 13 04:08 /dev/sdi
brw-rw—-. 1 root disk 8, 144 Sep 13 04:08 /dev/sdj
brw-rw—-. 1 root disk 8, 160 Sep 13 04:08 /dev/sdk
sda為系統盤,從sdb到sdk正好10塊磁碟
[root@memeda /]# mdadm -C /dev/md0 -l5 -n8 -x2 /dev/sd[bcdefghijk] //RAID級別5,兩塊熱備盤
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@memeda /]# cat /proc/mdstat
Personalities : [raid10] [raid6] [raid5] [raid4]
md0 : active raid5 sdi[10]sdk[9](S) sdj[8](S)sdh[6] sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
58688000 blocks super 1.2 level 5, 512k chunk, algorithm 2 [8/7] [UUUUUUU_]
[==>………………] recovery = 12.3% (1037824/8384000) finish=0.9min speed=129728K/sec
unused devices: <none>
RAID正在建立,sdk、sdj為熱備盤
再次檢視
[root@memeda /]# cat /proc/mdstat
Personalities : [raid10] [raid6] [raid5] [raid4]
md0 : active raid5 sdi[10] sdk[9](S) sdj[8](S) sdh[6] sdg[5] sdf[4] sde[3] sdd[2] sdc[1] sdb[0]
58688000 blocks super 1.2 level 5, 512k chunk, algorithm 2 [8/8] [UUUUUUUU]
unused devices: <none>
RAID建立完成
檢視RAID詳細資訊
[root@memeda /]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Sep 13 04:22:23 2015
Raid Level : raid5
Array Size : 58688000 (55.97 GiB 60.10 GB)
Used Dev Size : 8384000 (8.00 GiB 8.59 GB)
Raid Devices : 8
Total Devices : 10
Persistence : Superblock is persistent
Update Time : Sun Sep 13 04:25:27 2015
State : clean
Active Devices : 8
Working Devices : 10
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Name : memeda:0 (local to host memeda)
UUID : 619fa09f:aca65c16:d6d752a4:84d63d1d
Events : 18
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 3 active sync /dev/sde
4 8 80 4 active sync /dev/sdf
5 8 96 5 active sync /dev/sdg
6 8 112 6 active sync /dev/sdh
10 8 128 7 active sync /dev/sdi
8 8 144 – spare /dev/sdj
9 8 160 – spare /dev/sdk
掃描RAID配置資訊,並重定向成mdadm.conf檔案
[root@memeda /]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 spares=2 name=memeda:0 UUID=619fa09f:aca65c16:d6d752a4:84d63d1d
[root@memeda /]# mdadm -Ds>/etc/mdadm.conf
[root@memeda /]# cat /etc/mdadm.conf
ARRAY /dev/md0 metadata=1.2 spares=2 name=memeda:0 UUID=619fa09f:aca65c16:d6d752a4:84d63d1d
建立LVM
1、建立PV
[root@memeda /]# pvcreate /dev/md0
Physical volume “/dev/md0” successfully created
檢視PV資訊
[root@memeda /]# pvscan
PV /dev/md0 lvm2 [55.97 GiB]
Total: 1 [55.97 GiB] / in use: 0 [0 ] / in no VG: 1 [55.97 GiB]
[root@memeda /]# pvdisplay
“/dev/md0” is a new physical volume of “55.97 GiB”
— NEW Physical volume —
PV Name /dev/md0
VG Name
PV Size 55.97 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID rd3YxS-wSoy-k1EH-RzlV-ad5C-T0rk-SRFcCi
2、建立VG
[root@memeda /]# vgcreate laoliu /dev/md0
Volume group “laoliu” successfully created
再次檢視PV
[root@memeda /]# pvscan
PV /dev/md0 VG laoliu lvm2 [55.96 GiB / 55.96 GiB free]
Total: 1 [55.96 GiB] / in use: 1 [55.96 GiB] / in no VG: 0 [0 ]
[root@memeda /]# pvdisplay
— Physical volume —
PV Name /dev/md0
VG Name laoliu
PV Size 55.97 GiB / not usable 4.50 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 14327
Free PE 14327
Allocated PE 0
PV UUID rd3YxS-wSoy-k1EH-RzlV-ad5C-T0rk-SRFcCi
檢視VG
[root@memeda /]# vgscan
Reading all physical volumes. This may take a while…
Found volume group “laoliu” using metadata type lvm2
[root@memeda /]# vgdisplay
— Volume group —
VG Name laoliu
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 55.96 GiB
PE Size 4.00 MiB
Total PE 14327
Alloc PE / Size 0 / 0
Free PE / Size 14327 / 55.96 GiB
VG UUID vX1ADB-bFa7-vjoQ-Q0KJ-B8mz-7Vpn-0MSMuy
3、從卷組劃分LV使用
[root@memeda /]# lvcreate -L 5G -n laoliu_lv1 laoliu //-L大小5G,-n name邏輯卷名laoliu_lv_1
Logical volume “laoliu_lv1” created
檢視lv資訊
[root@memeda /]# lvscan
ACTIVE `/dev/laoliu/laoliu_lv1` [5.00 GiB] inherit
[root@memeda /]# lvdisplay /dev/laoliu/laoliu_lv1
— Logical volume —
LV Path /dev/laoliu/laoliu_lv1
LV Name laoliu_lv1
VG Name laoliu
LV UUID HyEfed-F9vw-oETY-Z5Kc-0DPt-vQ5G-tUF3dk
LV Write Access read/write
LV Creation host, time memeda, 2015-09-13 04:48:28 +0800
LV Status available
# open 0
LV Size 5.00 GiB
Current LE 1280
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 14336
Block device 253:0
4、格式化LV,掛載使用
[root@memeda /]# mkfs.ext4 /dev/laoliu/laoliu_lv1
[root@memeda /]# mkdir /lv1
[root@memeda /]# mount /dev/laoliu/laoliu_lv1 /lv1/
相關文章
- 一個關於風險和投資組合的內部知識分享文件
- 組合模式-統一的處理個別物件與組合物件模式物件
- 分享幾個組合Git+Shell提升工作效率的小技巧Git
- 兩個影片怎麼合成一個影片?合併影片的方法分享
- 每天一個設計模式之組合模式設計模式
- 如何做一個流暢的UI 組內分享記錄UI
- 設計模式之組合模式(Composite)分享設計模式
- 位元組一面-分享
- 這個處理器的組合語言:組合語言
- 求:1,2,5這三個數不同組合的和為100的組合的個數!Java實現。Java
- SQL 兩個表組合查詢SQL
- 適合小型外包團隊的5個Web應用程式組合Web
- 求陣列中k個數的所有組合陣列
- 【力扣】組合總和3(組合的去重)力扣
- 啟明雲端分享:3.5寸的彩屏方案與料理機的完美組合
- 組合語言學習記錄--第一個彙編程式組合語言
- 轉享:JVM 是下一個組合語言嗎?不會JVM組合語言
- 一本組合學習題集——《組合問題與練習》
- 組合
- 組合和繼承怎麼整合一個效能較好的專案繼承
- mysql的組合索引MySql索引
- IT組合和專案組合管理(轉)
- 【數學】組合數學 - 排列組合
- 專案組合管理(PPM)的4個步驟(轉)
- linux shell組合多個變數為一個新變數並執行Linux變數
- 分享一款基於 VUE 的組態工具Vue
- 分享一組優秀的中文藝術海報
- Retrofit @Multipart@PartMap@Part組合的一種用法
- 從itpub看來的一道組合題
- 樹形結構的處理——組合模式(一)模式
- 找出一堆整數中兩個元素和為指定值的所有組合
- 分享一個composer的坑
- 機器學習之特徵組合:組合獨熱向量機器學習特徵
- 組合數學筆記-排列與組合筆記
- 【原創】開源.NET排列組合元件KwCombinatorics使用(一)—組合生成元件
- 電商 | 今天是一個特別的日子 分享一組情人節電商活動介面設計
- LeetCode-175:組合兩個表LeetCode
- 組合模式模式