Linux磁碟管理、RAID配置及LVM
Linux磁碟管理
硬碟可以分成若干個分割槽,每個分割槽可視為獨立的磁碟來使用。硬碟的分割槽方案被記錄到“磁碟分割槽表”中,通常該表由4個部分組成,每個部分定義一個分割槽的資訊,因此原始概念中一個硬碟最多隻能建立4個分割槽,稱為“主分割槽”。由於硬碟越來越大,4個分割槽已不無法滿足使用者的需要,為此引入“擴充套件分割槽”的概念。擴充套件分割槽由擴充套件磁碟分割槽表維護,可以把某個主分割槽作為擴充套件分區劃分為若干更小的“邏輯分割槽”。理論上,硬碟空間足夠時,可以建立任意數量的分割槽。
Linux上建議的分割槽有:swap分割槽,即虛擬記憶體;boot分割槽,存放作業系統的核心;根分割槽,整個作業系統的根目錄;/var分割槽,可以避免日誌檔案的大小失控;/home分割槽,控制使用者佔用的空間大小。
檔案系統
檔案系統使用者在硬體儲存裝置中執行的檔案建立、寫入、讀取、修改、轉存與控制等操作都是依靠檔案系統來完成的檔案系統的作用是合理規劃硬碟,以保證使用者正常的使用需求。Linux系統支援數十種的檔案系統,而常見的檔案系統如下
檔案系統 | 說明 |
---|---|
Ext3 | 日誌檔案系統,能夠在系統異常宕機時避免檔案系統資料丟失,並能自動修復資料的不一致與 錯誤。早是從Ext2開始的 |
Ext4 | Ext3的改進版本,作為Centos 6系統中的預設檔案管理系統,它支援的儲存容量高達1EB(1EB=1,073,741,824GB),且能夠有無限多的子目錄 |
Xfs | 高效能的日誌檔案系統,而且是Centos 7中預設的檔案管理系統,優勢在發生意外宕機後尤其明顯,即可以快速地恢復可能被破壞的檔案,而且強大的日誌功能只用花費極低的計算和儲存效能。並且它大可支援的儲存容量為18EB,滿足了所有需求 |
常用的磁碟管理命令
命令 | 作用 |
---|---|
badblocks | 檢查裝置壞塊 |
(-s 顯示檢查進度) | |
du | 統計檔案和目錄佔用的磁碟空間 |
(如果沒有指定檔案或目錄名,則預設對當前目錄進行統計。-s僅顯示檔案或目錄佔用的塊數,預設一塊等於1024位元組。-b以位元組為單位進行統計;-k以1024位元組為單位;-m以1024K為單位;-c同時顯示總計;-h按需顯示K、M或G。-a顯示所有檔案及其子目錄佔用的資料塊數。) | |
df | 顯示檔案系統磁碟空間使用情況 |
(不指定檔案系統的話,則顯示所有當前掛載的檔案系統的可用空間。預設情況下空間以1KB為單位進行顯示,除非環境變數POSIXLY_CORRECT被指定,此時以512位元組為單位。-i以inode模式顯示,列出的都為 inode數量;-h以可讀方式顯示,按需顯示K、M或G;-t type只顯示指定檔案系統的資訊,如df -t ext3;-x type與-t相反,不顯示指定的磁碟型別的磁碟。) | |
fdformat | 格式化磁碟 |
(-n表示格式化完成後不進行驗證。) | |
hdparam | 顯示和設定硬碟引數 |
(-C顯示電源管理,-d 1開啟DMA模式。例:hdparm /dev/sda1。) | |
mkfs | 設定磁碟的檔案系統 |
(例:mkfs -t ext4 /dev/sda2。) | |
mkswap | 設定交換分割槽(swap area) |
(例:mkswap /dev/hda4,將hda4指定為一個新式的交換分割槽。-c在建立交換分割槽前檢查壞塊;-v0建立一箇舊式的交換區,-v1建立一個新式的交換區。) | |
mkisofs | 建立ISO9660/JOLIET/HTS檔案系統 |
(例:mkisofs -o myiso myfile把myfile製作為名為myiso的映象檔案。) | |
mkinitrd | 建立ramdisk的映象檔案。(例:mkinitrd myfile.img 2.2.5-15建立名為myfile.img、核心號為2.2.5-15的映象檔案。ubuntu上不支援。) |
mt | 磁帶驅動操作 |
(語法:mt operation device。操作有rewind、erase等。rmt命令是遠端磁帶傳輸協議模組,可以通過程序間通訊,遠端控制磁帶機進行備份、恢復備份操作。) | |
mzip | 彈出Zip/Jaz裝置中的磁碟 |
(-e彈出磁碟;-f與-e同時使用強制彈出;-q查詢狀態。) | |
sync | 將緩衝區內的資料寫入磁碟 |
(在解除安裝行動硬碟前,可用sync把記憶體資料寫入磁碟。) | |
rsync | 遠端同步 |
(例:rsync -av -e ssh /home/share/*.doc [email protected]:/usr/local/share通過ssh把/home/share下的所有doc檔案備份到了 teacher主機的/usr/local/share目錄下。只同步修改過的檔案和目錄。-a歸檔模式;-v:冗餘模式。) |
mount
引數 | 作用 |
---|---|
-a | 安裝在/etc/fstab檔案中類出的所有檔案系統。 |
-f | 偽裝mount,作出檢查裝置和目錄的樣子,但並不真正掛載檔案系統。 |
-n | 不把安裝記錄在/etc/mtab 檔案中。 |
-r | 講檔案系統安裝為只讀。 |
-v | 詳細顯示安裝資訊。 |
-w | 將檔案系統安裝為可寫,為命令預設情況。 |
-t | 指定裝置的檔案系統型別,常見的有: |
ext2 | linux目前常用的檔案系統 |
msdos | MS-DOS的fat,就是fat16 |
vfat | windows98常用的fat32 |
nfs | 網路檔案系統 |
iso9660 | CD-ROM光碟標準檔案系統 |
ntfs | windows NT/2000/XP的檔案系統 |
auto | 自動檢測檔案系統 |
mount -o 指定掛載檔案系統時的選項,有些也可寫到在/etc/fstab中,具體引數如下:
注:掛載點必須是一個已經存在的目錄,這個目錄可以不為空,但掛載後這個目錄下以前的內容將不可用,umount以後會恢復正常。使用多個-o引數的時候,-o 只用一次,引數之間用半形逗號隔開:
引數 | 作用 |
---|---|
defaults | 使用所有選項的預設值(auto、nouser、rw、suid) |
auto/noauto | 允許/不允許以 –a選項進行安裝 |
dev/nodev | 對/不對檔案系統上的特殊裝置進行解釋 |
exec/noexec | 允許/不允許執行二進位制程式碼 |
suid/nosuid | 確認/不確認suid和sgid位 |
user /nouser | 允許/不允許一般使用者掛載 |
codepage=XXX | 內碼表 |
iocharset=XXX | 字符集 |
ro | 以只讀方式掛載 |
rw | 以讀寫方式掛載 |
remount | 重新安裝已經安裝了的檔案系統 |
loop | 掛載迴旋裝置 |
磁碟管理相關命令:
free #用於檢測記憶體使用情況
free -h
du #disk usage,用於檢測磁碟目錄使用情況
du -sh
df #disk free,用於檢測空間大小的資訊
df -Th
dumpe2fs #用於檢測ext2/ext3/ext4檔案系統資訊
blkid #用於顯示掛載目錄及UUID資訊
lsblk #用於顯示系統下所有磁碟與分割槽資訊
parted #用於顯示分割槽表型別與資訊
fdisk #磁碟分割槽工具
partprobe #用於更新Linux 核心的分割槽表資訊
partprobe -s
mkfs #格式化工具,這是一個綜合命令
mkfs.xfs /dev/sda2 #以xfs檔案系統格式化
msfs.ext4 /dev/sda2 #以ext4檔案系統格式化
xfs_repair #處理修復xfs檔案系統
fsck.ext4 #處理修復ext檔案系統
mkswap /dev/sda2 #建立swap分割槽
自動掛載
如何把光碟自動掛載到/mnt目錄下?編輯/etc/fstab檔案,在最後一行新增如下命令:
vi /etc/fstab
/dev/sr0 /mnt iso9660 defaults 0 0
RAID管理及建立
RAID(Redundant Array of Inexpensive Disks)獨立冗餘磁碟陣列硬碟裝置需要進行持續、頻繁、大量的IO操作,相較於其他裝置,其損壞機率也大幅增加,導致重要資料丟失的機率也隨之增加,隨著而來就產生了RAID的概念,RAID技術通過把多個硬碟裝置組合成一個容量更大、安全性更好的磁碟陣列,並把資料切割成多個區段後分別存放在各個不同的物理硬碟裝置上,然後利用分散讀寫技術來提升磁碟陣列整體的效能,同時把多個重要資料的副本同步到不同的物理硬碟裝置上,從而起到了非常好的資料冗餘備份效果RAID分類:
- 硬RAID,效能較高。他們採用PCI Express 卡物理地提供有專用的RAID控制器。它不會使用主機資源。他們有NVRAM用於快取的讀取和寫入。快取用於RAID重建時,即使出現電源故障,它會使用後備的電池電源保持快取
- 軟RAID,效能較低,因為其使用主機的資源。需要載入RAID軟體以從軟體RAID卷中讀取資料。在載入RAID軟體前,作業系統需要引導起來才能載入RAID軟體。在軟體RAID中無需物理硬體。零成本投資
RAID特點:
- 成本低,功耗小,傳輸速率高。在RAID中,可以讓很多磁碟驅動器同時傳輸資料,而這些磁碟驅動器在邏輯上又是一個磁碟驅動器,所以使用RAID可以達到單個的磁碟驅動器幾倍、幾十倍甚至上百倍的速率。這也是RAID最初想要解決的問題。因為當時CPU的速度增長很快,而磁碟驅動器的資料傳輸速率無法大幅提高,所以需要有一種方案解決二者之間的矛盾。而RAID最後成功了。
- 可以提供容錯功能,這是大多數使用RAID的第二個原因。因為,普通磁碟驅動器無法提供容錯功能,如果不包括寫在磁碟上的CRC(迴圈冗餘校驗)碼的話。RAID和容錯是建立在每個磁碟驅動器的硬體容錯功能之上的,所以它可以提供更高的安全性。
- RAID比起傳統的大直徑磁碟驅動器來,在同樣的容量下,價格要低許多。
RAID主要分為以下級別:
級別 | 作用及特點 |
---|---|
RAID0 | stripe,不含校驗與冗餘的條帶儲存,無備份。多塊磁碟組合為RAID 0後,每塊磁碟都將會被分割為小區快(chunk),而資料會被分割成塊 的大小,然後依序交錯的存放到不同的磁碟中。 |
讀寫效能有提升,冗餘能力無,空間利用率100%,至少需要2塊磁碟 | |
RAID1 | mirror,不含校驗的映象儲存 ,完整備份。多塊磁碟組合為RAID 1後,資料將被同時複製到每塊磁碟。 |
讀效能有提升,寫效能下降,冗餘能力有,空間利用率50%,至少需要2塊磁碟 | |
RAID5 | 資料塊級別的分散式校驗條帶儲存 ,效能與資料備份的均衡考慮。多塊磁碟組合為RAID 5後,資料將以塊為單位同步式分別儲存在不同的磁碟上,在資料寫入過程中,在每塊磁碟還迴圈加入一個同位檢驗資料(parity),這個資料會記錄其他磁碟的備份資料,用於有磁碟損壞時的救援,不過預設僅能支援一塊磁碟的損毀情況。 |
讀寫效能有提升,冗餘能力有,空間利用率(n-1)/n,至少需要3塊磁碟 | |
RAID01 | 條帶+映象儲存。Disk0與Disk1組成第一組RAID 0,Disk2與Disk3組成第二組RAID 0,然後這兩組再整合成 為一組RAID 1 |
讀寫效能有提升,冗餘能力有,空間利用率50%,至少需要4塊盤 | |
RAID10 | 映象+條帶儲存。Disk0與Disk1組成第一組RAID 1,Disk2與Disk3組成第二組RAID 1,然後這兩組再整合成 為一組RAID 0 |
mdadm
引數 | 作用 |
---|---|
-a | 檢測裝置名稱 |
-A | 新增新裝置 |
-n | 指定裝置數量 |
-l | 指定RAID級別 |
-C | 建立 |
-v | 顯示過程 |
-f | 模擬裝置損壞 |
-r | 移除裝置 |
-Q | 檢視摘要資訊 |
-D | 檢視詳細資訊 |
-S | 停止RAID磁碟陣列 |
測試:
1.mdadm命令建立RAID10 名為md0,關閉虛擬機器新新增4塊硬碟,使用ext4檔案系統進行測試
[[email protected] ~]# mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 5238784K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[[email protected] ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
655360 inodes, 2619392 blocks
130969 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[[email protected] ~]# mkdir /RAID
[[email protected] ~]# mount /dev/md0 /RAID/
[[email protected] ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Oct 23 18:57:44 2018
Raid Level : raid10
Array Size : 10477568 (9.99 GiB 10.73 GB)
Used Dev Size : 5238784 (5.00 GiB 5.36 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Oct 23 18:59:15 2018
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : linux:0 (local to host linux)
UUID : 5afafa01:17d82b94:46a20071:c456c653
Events : 19
Number Major Minor RaidDevice State
0 8 16 0 active sync set-A /dev/sdb
1 8 32 1 active sync set-B /dev/sdc
2 8 48 2 active sync set-A /dev/sdd
3 8 64 3 active sync set-B /dev/sde
[[email protected] ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
[[email protected] ~]# mount -a
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 35.8G 0 part /
sdb 8:16 0 5G 0 disk
└─md0 9:0 0 10G 0 raid10 /RAID
sdc 8:32 0 5G 0 disk
└─md0 9:0 0 10G 0 raid10 /RAID
sdd 8:48 0 5G 0 disk
└─md0 9:0 0 10G 0 raid10 /RAID
sde 8:64 0 5G 0 disk
└─md0 9:0 0 10G 0 raid10 /RAID
sr0 11:0 1 4.2G 0 rom
2.模擬一塊磁碟損壞:
[[email protected] ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
[[email protected] ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Oct 23 18:57:44 2018
Raid Level : raid10
Array Size : 10477568 (9.99 GiB 10.73 GB)
Used Dev Size : 5238784 (5.00 GiB 5.36 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Oct 23 19:01:25 2018
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : linux:0 (local to host linux)
UUID : 5afafa01:17d82b94:46a20071:c456c653
Events : 21
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 32 1 active sync set-B /dev/sdc
2 8 48 2 active sync set-A /dev/sdd
3 8 64 3 active sync set-B /dev/sde
0 8 16 - faulty /dev/sdb
[[email protected] ~]# umount /RAID/
[[email protected] ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: Cannot open /dev/sdb: Device or resource busy
[[email protected] ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Oct 23 18:57:44 2018
Raid Level : raid10
Array Size : 10477568 (9.99 GiB 10.73 GB)
Used Dev Size : 5238784 (5.00 GiB 5.36 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Tue Oct 23 19:02:05 2018
State : clean, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Consistency Policy : resync
Name : linux:0 (local to host linux)
UUID : 5afafa01:17d82b94:46a20071:c456c653
Events : 23
Number Major Minor RaidDevice State
- 0 0 0 removed
1 8 32 1 active sync set-B /dev/sdc
2 8 48 2 active sync set-A /dev/sdd
3 8 64 3 active sync set-B /dev/sde
0 8 16 - faulty /dev/sdb
[[email protected] ~]# mount -a
[[email protected] ~]# mdadm -r /dev/sdb
mdadm: /dev/sdb does not appear to be an md device
[[email protected] ~]# mdadm -a /dev/sdb
mdadm: /dev/sdb does not appear to be an md device
[[email protected] ~]# mount -a
LVM的管理與使用
硬碟裝置管理技術雖然能夠有效地提高硬碟裝置的讀寫速度以及資料的安全性,但是在硬碟分好區或者部署 為RAID磁碟陣列之後,再想修改硬碟分割槽大小就不容易了,此時需要使用LVM。LVM(Logical volume Manager)邏輯卷管理通過將底層物理硬碟抽象封裝起來,以邏輯卷的形式表現給上 層系統,邏輯卷的大小可以動態調整,而且不會丟失現有資料。新加入的硬碟也不會改變現有上層的邏輯 卷。作為一種動態磁碟管理機制,邏輯卷技術大大提高了磁碟管理的靈活性。
PV(Physical Volume)- 物理卷,物理卷在邏輯卷管理中處於底層,它可以是實際物理硬碟上的分割槽,也可以是整個物理硬碟,也可以是raid裝置
VG(Volumne Group)- 卷組,卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之後可動態新增物理捲到卷組中。一個邏輯卷管理系統工程中可以只有一個卷組,也可以擁有多個卷組
LV(Logical Volume)- 邏輯卷,邏輯卷建立在卷組之上,卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴充套件和縮小空間。系統中的多個邏輯卷可以屬於同一個卷組,也可以屬於不同的多個卷組 PE(physical extent),每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM定址的小單元。PE的大小是可配置的,預設為4MB
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
---|---|---|---|
掃描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
顯示 | pvdisplay | vgdisplay | lvdisplay |
刪除 | pvremove | vgremove | lvremove |
擴充套件 | vgextend | lvextend | |
縮小 | vgreduce | lvreduce |
測試:
#建立邏輯卷,關閉虛擬機器新新增2塊硬碟
pv--->vg--->lvm pvcreate /dev/sdb /dev/sdc #建立物理卷
vgcreate storage /dev/sdb /dev/sdc #兩塊硬碟加入storage卷組中 vgdisplay #vgs也可查詢
lvcreate -n vo -L 150m storage #建立150mb的邏輯卷名為vo
lvdisplay #lvs也可查詢
mkfs.ext4 /dev/storage/vo
mkdir /lvm
mount /dev/storage/vo /lvm
df -Th
echo "/dev/storage/vo /lvm ext4 defaults 0 0" >> /etc/fstab
#擴容邏輯卷為300mb
#只要卷組中有足夠的資源,就可以一直為邏輯卷擴容
umount /lvm
lvextend -L 300M /dev/storage/vo
e2fsck -f /dev/storage/vo #檢測磁碟
mount -a
df -Th
#縮小邏輯卷
umount /lvm
e2fsck -f /dev/storage/vo
resize2fs /dev/storage/vo 150m
lvreduce -L 150m /dev/storage/vo
mount -a df -Th
#邏輯卷快照
#LVM還具備有“快照卷”功能,該功能類似於虛擬機器軟體的還原時間點功能
#快照兩個特點:快照卷的容量必須等同於邏輯卷的容量 #快照卷僅一次有效,一旦執行還原操作後則會被立即自動刪除
vgdisplay #注意空間使用量!
echo "lvm test" > /lvm/readme.txt
ls -l /lvm
lvcreate -L 150m -s -n SNAP /dev/storage/vo #生成150m快照,名為snap
lvdisplay
dd if=/dev/zero of=/lvm/files count=1 bs=100M #dd 用指定大小的塊拷貝一個檔案
#/dev/zero是一個輸入裝置,用它來初始化檔案,count塊,bs塊大小
umount /lvm
lvconvert --merge /dev/storage/SNAP #邏輯捲進行快照還原
mount -a
ls /lvm #剛才建立的100M檔案已不存在,快照卷會自動刪除
#刪除邏輯卷
#提前備份好重要的資料資訊,然後依次刪除邏輯卷、卷組、物理卷裝置,順序不可顛倒!
umount /lvm
vi /etc/fstab #刪除之前的自動掛載
lvremove /dev/storage/vo
vgremove storage
pvremove /dev/sdb /dev/sdc
在RAID 5 陣列的基礎上進行lvm操作,劃分邏輯卷
新增四塊物理硬碟,sdb,sdc,sdd,sde,將前三快部署為RAID 5 陣列,第四塊作為一塊熱備盤掛載。
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 35.8G 0 part /
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
sr0 11:0 1 4.2G 0 rom
[[email protected] ~]# mdadm -Cv /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sd{b,c,d,e}
mdadm: layout defaults to left-symmetric
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 512K
mdadm: /dev/sdb appears to be part of a raid array:
level=raid5 devices=4 ctime=Wed Oct 31 16:04:06 2018
mdadm: /dev/sdc appears to be part of a raid array:
level=raid5 devices=4 ctime=Wed Oct 31 16:04:06 2018
mdadm: /dev/sdd appears to be part of a raid array:
level=raid5 devices=4 ctime=Wed Oct 31 16:04:06 2018
mdadm: /dev/sde appears to be part of a raid array:
level=raid5 devices=4 ctime=Wed Oct 31 16:04:06 2018
mdadm: size set to 5238784K
Continue creating array? m^H
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[[email protected] ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Oct 31 16:07:40 2018
Raid Level : raid5
Array Size : 10477568 (9.99 GiB 10.73 GB)
Used Dev Size : 5238784 (5.00 GiB 5.36 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed Oct 31 16:07:47 2018
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 4
Failed Devices : 0
Spare Devices : 2
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Rebuild Status : 26% complete
Name : linux:0 (local to host linux)
UUID : 97046716:c9927ed6:bf665ce3:871f8f5f
Events : 5
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 spare rebuilding /dev/sdd
3 8 64 - spare /dev/sde
[[email protected] ~]# mkdir /RAID
[[email protected] ~]# mount /dev/md0 /RAID/
[[email protected] ~]# echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
[[email protected] ~]# mount -a
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 35.8G 0 part /
sdb 8:16 0 5G 0 disk
└─md0 9:0 0 15G 0 raid5 /RAID
sdc 8:32 0 5G 0 disk
└─md0 9:0 0 15G 0 raid5 /RAID
sdd 8:48 0 5G 0 disk
└─md0 9:0 0 15G 0 raid5 /RAID
sde 8:64 0 5G 0 disk
└─md0 9:0 0 15G 0 raid5 /RAID
sr0 11:0 1 4.2G 0 rom
在已經掛載好的RAID陣列上建立lvm邏輯卷,大小為500M
[[email protected] ~]# pv
pvchange pvcreate pvmove pvresize pvscan
pvck pvdisplay pvremove pvs
[[email protected] ~]# pvcreate /dev/md0
WARNING: ext4 signature detected on /dev/md0 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/md0.
Physical volume "/dev/md0" successfully created.
[[email protected] ~]# vgcreate storage /dev/md0
Volume group "storage" successfully created
[[email protected] ~]# vgs
VG #PV #LV #SN Attr VSize VFree
storage 1 0 0 wz--n- <9.99g <9.99g
[[email protected] ~]# lvcreate -n vo -L 500M storage
l Logical volume "vo" created.
[[email protected] ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
vo storage -wi-a----- 500.00m
[[email protected] ~]# mkfs.ext4 /dev/storage/vo
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=512 blocks, Stripe width=1024 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=34078720
63 block groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
[[email protected] ~]# mkdir /lvm
[[email protected] ~]# mount /dev/storage/vo /lvm/
[[email protected] ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 xfs 36G 1.3G 35G 4% /
devtmpfs devtmpfs 902M 0 902M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.7M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 197M 113M 85M 58% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/mapper/storage-vo ext4 477M 2.3M 445M 1% /lvm
[[email protected] ~]# echo "/dev/storage/vo /lvm ext4 defaults 0 0" >> /etc/fstab
[[email protected] ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 200M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 35.8G 0 part /
sdb 8:16 0 5G 0 disk
└─md0 9:0 0 10G 0 raid5
└─storage-vo 253:0 0 500M 0 lvm /lvm
sdc 8:32 0 5G 0 disk
└─md0 9:0 0 10G 0 raid5
└─storage-vo 253:0 0 500M 0 lvm /lvm
sdd 8:48 0 5G 0 disk
└─md0 9:0 0 10G 0 raid5
└─storage-vo 253:0 0 500M 0 lvm /lvm
sde 8:64 0 5G 0 disk
└─md0 9:0 0 10G 0 raid5
└─storage-vo 253:0 0 500M 0 lvm /lvm
sr0 11:0 1 4.2G 0 rom