2021-05-12 14:32:11
Linux基礎教學學習筆記25——邏輯卷LVM管理
Linux基礎教學學習筆記25——邏輯卷LVM管理
1、建立和管理卷組
[root@linuxidc ~]# vgcreate vg0 /dev/sdb1 /dev/sdb2
Volume group "vg0" successfully created
[root@linuxidc ~]# pvscan
PV /dev/sda2 VG rhel lvm2 [19.51 GiB / 0 free]
PV /dev/sdb1 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
PV /dev/sdb2 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
Total: 3 [19.70 GiB] / in use: 3 [19.70 GiB] / in no VG: 0 [0 ]
[root@linuxidc ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg0 3 0 0 wz--n- 288.00m 288.00m
擴充套件捲組:
[root@linuxidc ~]# vgextend vg0 /dev/sdb3
Volume group "vg0" successfully extended
[root@linuxidc ~]# pvscan
PV /dev/sda2 VG rhel lvm2 [19.51 GiB / 0 free]
PV /dev/sdb1 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
PV /dev/sdb2 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
PV /dev/sdb3 VG vg0 lvm2 [96.00 MiB / 96.00 MiB free]
Total: 4 [19.79 GiB] / in use: 4 [19.79 GiB] / in no VG: 0 [0 ]
[root@linuxidc ~]# vgs
VG #PV #LV #SN Attr VSize VFree
rhel 1 2 0 wz--n- 19.51g 0
vg0 3 0 0 wz--n- 288.00m 288.00m
顯示卷組的詳細資訊:
[root@linuxidc ~]# vgdisplay vg0
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 288.00 MiB
PE Size 4.00 MiB
Total PE 72
Alloc PE / Size 0 / 0
Free PE / Size 72 / 288.00 MiB
VG UUID djqWJB-ppYY-RMkR-8pdd-Cc2D-mAt2-ab7ioS
建立卷組的時候指定PE size大小:
[root@linuxidc ~]# vgcreate vg0 -s 8 /dev/sdb1 /dev/sdb2
刪除捲組:
[root@linuxidc ~]# vgremove vg0
二、建立和管理邏輯卷
建立邏輯卷;
[root@linuxidc ~]# lvcreate -L 96M -n lv0 vg0
Logical volume "lv0" created
[root@linuxidc ~]# lvscan
ACTIVE '/dev/rhel/swap' [2.00 GiB] inherit
ACTIVE '/dev/rhel/root' [17.51 GiB] inherit
ACTIVE '/dev/vg0/lv0' [96.00 MiB] inherit
[root@linuxidc ~]# lvcreate -l 10%vg -n lv1 vg0
[root@linuxidc ~]# lvcreate -l 10%free -n lv2 vg0
刪除邏輯卷:
[root@linuxidc ~]# lvremove /dev/vg0/lv2 -f
Logical volume "lv2" successfully removed
建立檔案系統:
[root@linuxidc ~]# mkfs.xfs /dev/vg0/lv1
掛載檔案系統:
[root@linuxidc ~]# mount /dev/vg0/lv1 /aa
[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv1 13M 880K 12M 7% /aa
拓展邏輯卷:
[root@linuxidc ~]# lvextend -L +16M /dev/vg0/lv1
[root@linuxidc ~]# xfs_growfs /aa/
[root@linuxidc ~]# df -h
/dev/mapper/vg0-lv1 29M 912K 28M 4% /aa
縮小邏輯卷:
先縮小檔案系統,後縮小邏輯卷:xfs檔案系統是職能增大,不能減小
範例:擴大和縮小ext4的檔案系統
擴大LV:
[root@linuxidc ~]# mkfs.ext4 /dev/vg0/lv1
[root@linuxidc ~]# lvextend -L +16M /dev/vg0/lv1
[root@linuxidc ~]# resize2fs /dev/vg0/lv1
[root@linuxidc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv1 ext4 43M 1.1M 39M 3% /aa
縮小LV:
步驟:
1、先解除安裝檔案系統:
2、fsck對檔案系統進行體檢:
3、縮小檔案系統;
4、縮小邏輯卷;
[root@linuxidc ~]# umount /aa/
[root@linuxidc ~]# fsck /dev/vg0/lv1 -f
[root@linuxidc ~]# resize2fs /dev/vg0/lv1 29M
[root@linuxidc ~]# lvreduce -L -24M /dev/vg0/lv1
[root@linuxidc ~]# mount /dev/vg0/lv1 /aa/
給邏輯卷建立快照,快照的size必須為PE的整數倍:
[root@linuxidc ~]# lvcreate -L 16M -n lv2 -s /dev/vg0/lv1
[root@linuxidc ~]# lvscan
ACTIVE Original '/dev/vg0/lv1' [24.00 MiB] inherit
ACTIVE Snapshot '/dev/vg0/lv2' [16.00 MiB] inherit
建立的快照包含了源卷的檔案系統,不需要再格式化,快照類似於一個軟連結,快照的大小,意思允許在快照裏面建立和修改的檔案大小
[root@linuxidc /]# mkdir bb
[root@linuxidc /]# mount /dev/vg0/lv2 /bb
[root@linuxidc /]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg0-lv1 ext4 23M 396K 21M 2% /aa
/dev/mapper/vg0-lv2 ext4 23M 396K 21M 2% /bb
如果源邏輯卷被刪除了,可以通過lvconvert命令恢復映象:
[root@linuxidc /]# lvconvert --merge /dev/vg0/lv2
Logical volume vg0/lv1 contains a filesystem in use.
Can't merge over open origin volume.
Merging of snapshot lv2 will start next activation.
二、RAID分為硬RAID和軟RAID
Chunk:512K為一次往磁碟寫入的資料量
Stride:跨步:一個chunk由多少個Block(4K)組成 128
Stripe:條帶:256(一次寫入多少個磁碟,如2個磁碟,128*2)
RAID0:條帶化,至少需要2塊磁碟,資料分別儲存在不同的硬碟,優點是提高讀寫速度,缺點是沒有冗餘
RAID1:映象化,至少需要2塊磁碟,資料有備份,優點是有冗餘,缺點是硬碟的儲存率較低,1/n(硬碟數量)
RAID5: 條帶化, 至少需要3塊硬碟,優點是提高了讀的速度,缺點是修改資料慢,資料儲存效率為(n-1)/n
建立Raid5
先將分割區的型別轉換為RAID型別:
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB FD00 Linux RAID
2 206848 411647 100.0 MiB FD00 Linux RAID
3 411648 616447 100.0 MiB FD00 Linux RAID
4 616448 821247 100.0 MiB FD00 Linux RAID
5 821248 1026047 100.0 MiB FD00 Linux RAID
6 1026048 1230847 100.0 MiB FD00 Linux RAID
檢視當前是否有RAID分割區:[
[root@linuxidc ~]# cat /proc/mdstat
使用命令建立Raid5:
[root@linuxidc ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{1..4}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
檢視Raid的詳細資訊:
[root@linuxidc ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Jan 31 19:02:57 2015
Raid Level : raid5
Array Size : 203776 (199.03 MiB 208.67 MB)
Used Dev Size : 101888 (99.52 MiB 104.33 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Sat Jan 31 19:03:00 2015
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : linuxidc.sg.com:0 (local to host linuxidc.sg.com)
UUID : d5084cc8:b7b1a695:70b73034:183df2bd
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
4 8 19 2 active sync /dev/sdb3
3 8 20 - spare /dev/sdb4
格式化檔案系統:
[root@linuxidc ~]# mkfs.ext4 /dev/md0
[root@linuxidc ~]# mount /dev/md0 /aa
檢視ext4的檔案屬性:
[root@linuxidc ~]# tune2fs -l /dev/md0
可以通過命令模擬Raid裡面的磁碟出現故障:
[root@linuxidc ~]# mdadm /dev/md0 -f /dev/sdb4
關閉與啟動Raid
首先解除安裝和關閉:
[root@linuxidc ~]# umount /aa
[root@linuxidc ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@linuxidc ~]# mdadm -As
Raid分割區刪除後,要對每個磁碟的superblock清零:
更多LLVM的資訊:
LLVM 和 GCC 編譯器開發者將開始展開合作 http://www.linuxidc.com/Linux/2014-02/96366.htm
LLVM 基金會成立 http://www.linuxidc.com/Linux/2014-04/99454.htm
LLVM 編譯器架構獲得 ACM 軟體系統獎 http://www.linuxidc.com/Linux/2013-04/82660.htm
如何建立原生的LLVM SVN映象庫 http://www.linuxidc.com/Linux/2013-03/80162.htm
RMS 談 GCC、LLVM 和 Copyleft http://www.linuxidc.com/Linux/2014-01/95828.htm
相關文章