一.RAID篇
一.什么是RAID
磁盤陣列全名是『Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容錯式廉價磁盤陣列。 RAID 可以透過一個技術(軟件或硬件),將多個較小的磁盤整合成為一個較大的磁盤裝置;而這個較大的磁盤功能可不止是儲存而已,他還具有數據保護的功能呢。RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易于管理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會 受到損壞硬盤的影響
二.Raid的級別
1.RAID 0
RAID 0 又稱為 Stripe 或 Striping,它代表了所有 RAID 級別中最高的存儲性能。RAID 0 提高存儲性能的原理是把連續的數據分散到多個磁盤上存取,這樣,系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求。這種數據上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。
如圖 1 所示:系統向三個磁盤組成的邏輯硬盤(RADI 0 磁盤組)發出的 I/O 數據請求被轉化為 3 項操作,其中的每一項操作都對應于一塊物理硬盤。我們從圖中可以清楚的看到通過建立 RAID 0,原先順序的數據請求被分散到所有的三塊硬盤中同時執行。
從理論上講,三塊硬盤的并行操作使同一時間內磁盤讀寫速度提升了 3 倍。 但由于總線帶寬等多種因素的影響,實際的提升速率肯定會低于理論值,但是,大量數據并行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
RAID 0 的缺點是不提供數據冗余,因此一旦用戶數據損壞,損壞的數據將無法得到恢復。
RAID 0 具有的特點,使其特別適用于對性能要求較高。
2.RAID1
RAID 1 又稱為 Mirror 或 Mirroring,它的宗旨是最大限度的保證用戶數據的可用性和可修復性。 RAID1 的操作方式是把用戶寫入硬盤的數據百分之百地自動復制到另外一個硬盤上。當讀取數據時,系統先從 RAID 0 的源盤讀取數據,如果讀取數據成功,則系統不去管備份盤上的數據;如果讀取源盤數據失敗,則系統自動轉而讀取備份盤上的數據,不會造成用戶工作任務的中斷。當然,我們應當及時地更換損壞的硬盤并利用備份數據重新建立 Mirror,避免備份盤在發生損壞時,造成不可挽。
3.Raid 4
Raid4帶奇偶校驗碼的獨立磁盤結構
RAID 4是以扇區作數據分段,各磁盤相同位置的分段形成一個校驗磁盤分段(parity block),放在校驗磁盤。這種方式可在不同的磁盤平行執行不同的讀取命今,大幅提高磁盤陣列的讀取性能;但寫入數據時,因受限于校驗磁盤,同一時間只能作一次,啟動所有磁盤讀取數據形成同一校驗分段的所有數據分段,與要寫入的數據做好校驗計算再寫入。但校驗磁盤形成RAID 4的瓶頸,降低了性能,因有RAID 5而使得RAID 4較少使用
4.raid 5
RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 以四個硬盤組成的 RAID 5 為例,其數據存儲方式如下圖所示:圖中,P0 為 D0,D1 和 D2 的奇偶校驗信息,其它以此類推。
RAID 5 不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組
成 RAID5 的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當 RAID5 的一個
磁盤數據發生損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID 5 可以理解為是 RAID 0 和 RAID 1 的折衷方案。RAID 5 可以為系統提供數據安全保障,但保障
程度要比 Mirror 低而磁盤空間利用率要比 Mirror 高。RAID 5 具有和 RAID 0 相近似的數據讀取速度,只
是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數據對應一個
5.RAID6
RADI6技術是在RAID 5基礎上,為了進一步加強數據保護而設計的一種RAID方式,實際上是一種擴展RAID 5等級。與RAID 5的不同之處于除了每個硬盤上都有同級數據XOR校驗區外,還有一個針對每個數據塊的XOR校驗區。當然,當前盤數據塊的校驗數據不可能存在當前盤而是交錯存儲的,具體形式見圖
RAID-6和RAID-5一樣對邏輯盤進行條帶化然后存儲數據和校驗位,只是對每一位數據又增加了一位校驗位。這樣在使用RAID-6時會有兩塊硬盤用來存儲校驗位,增強了容錯功能,同時必然會減少硬盤的實際使用容量。以前的raid級別一般只允許一塊硬盤壞掉,而RAID-6可以允許壞掉兩塊硬盤,因此,RAID-6 要求至少4塊硬盤。
6.RAID 0+1與RAID10
RAID 0 和 RAID 1 的組合稱為 RAID 0+1,或稱為 RAID 10。如下所述,它具有一些有趣的優越性。通
過將 RAID 0 分塊的速度和 RAID 1 鏡像的冗余進行組合,結果產生了一個快速、沒有寫開銷、具有極好冗
余性質的子系統。
Raid 0+1
Raid 10:先建立raid1,在建raid0
RAID1+0與RAID0+1的區別:
RAID 1+0是先鏡射再分區數據,再將所有硬盤分為兩組,視為是RAID 0的最低組合,然后將這兩組各自視為RAID 1運作。RAID 0+1則是跟RAID 1+0的程序相反,是先分區再將數據鏡射到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的最低組合,而將兩組硬盤各自視為RAID 0運作。性能上,RAID 0+1比RAID 1+0有著更快的讀寫速度??煽啃陨希擱AID 1+0有一個硬盤受損,其余三個硬盤會繼續運作。RAID 0+1 只要有一個硬盤受損,同組RAID 0的另一只硬盤亦會停止運作,只剩下兩個硬盤運作,可靠性較低。因此,RAID 10遠較RAID 01常用。
RAID總結:
RAID Level |
性能提升 |
冗余能力 |
空間利用率 |
磁盤數量(塊) |
允許磁盤故障數 |
優點 |
缺點 |
RAID 0 |
讀、寫提升 |
無 |
100% |
至少2 |
不允許 |
讀寫性能,利用率高 |
缺乏冗余能力 |
RAID 1 |
讀性能提升,寫性能下降 |
有 |
50% |
至少2 |
50% |
讀性能提升,具有冗余 |
寫性能下降,磁盤利用率低 |
RAID 4 |
讀、寫提升 |
有 |
n*(n-1)/n |
至少3 |
1 |
讀寫性能提升 |
瓶頸在校驗盤上 |
RAID 5 |
讀、寫提升 |
有 |
n*(n-1)/n |
至少3 |
1 |
讀寫性能提升 |
僅允許壞一塊盤 |
RAID 6 |
讀、寫提升 |
有 |
n*(n-2)/n |
至少4塊 |
2 |
讀寫性能提升 |
磁盤利用率降低,寫入速度沒有raid5塊 |
RAID 1+0 |
讀、寫提升 |
有 |
50% |
至少4 |
50% |
讀寫性能提升 |
磁盤利用率低 |
RAID 0+1 |
讀、寫提升 |
有 |
50% |
至少4 |
50% |
讀寫性能提升 |
磁盤利用率低,容錯性沒有raid10好 |
六、mdadm 工具介紹
mdadm(multiple devices admin)是 linux下標準的的軟raid管理工具,是一個模式化工具(在不同的模式下);程序工作在內存用戶程序區,為用戶提供RAID接口來操作內核的模塊,實現各種功能
目前支持的模式
LINEAR(線性模式)、RAID0(striping條帶模式)、RAID1(mirroring)、 RAID-4、RAID-5、 RAID-6、 RAID-10、 MULTIPATH和FAULTY
LINEAR:線性模式,該模式不是raid的標準模式,其主要作用是可以實現將幾塊小的硬盤組合為一塊大硬盤來使用,數組存儲時一次存滿一個硬盤在使用下一個硬盤,對上層來說操作的是一個大硬盤,這里就不對該模式進行詳解了。
命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>
模式:
創建:-C
裝配: -A
監控: -F
管理:-f, -r, -a
-C: 創建模式
-n #: 使用#個塊設備來創建此RAID;
-l #:指明要創建的RAID的級別;
-a {yes|no}:自動創建目標RAID設備的設備文件;
-c CHUNK_SIZE: 指明塊大??;
-x #: 指明空閑盤的個數;
一.RAID創建
1. 創建分區/dev/sdbc5 /dev/sdbc6 /dev/sdb7 容量各5G,類型為fd
[root@localhost ~]# fdisk -l /dev/sdc Disk /dev/sdc: 16.1 GB, 16106127360 bytes 255 heads, 63 sectors/track, 1958 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xe57d5d2f Device Boot Start End Blocks Id System /dev/sdc1 1 1958 15727603+ 5 Extended /dev/sdc5 1 654 5253192 fd Linux raid autodetect /dev/sdc6 655 1308 5253223+ fd Linux raid autodetect /dev/sdc7 1309 1958 5221093+ fd Linux raid autodetect
2. 創建Raid1陣列
[root@localhost ~]# mdadm -C /dev/md0 -a yes -c 128 -l 1 -n 2 /dev/sdc{5,6} mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? Continue creating array? (y/n) y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started
3.查看raid陣列
[root@localhost ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Sep 3 22:06:01 2016 Raid Level : raid1 Array Size : 5216960 (4.98 GiB 5.34 GB) Used Dev Size : 5216960 (4.98 GiB 5.34 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Sep 3 23:43:28 2016 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec Events : 18 Number Major Minor RaidDevice State 0 8 37 0 active sync /dev/sdc5 1 8 38 1 active sync /dev/sdc6
4.掛載并查看
[root@localhost /]# mkdir /tmp/raid [root@localhost /]# mount /dev/md0 /tmp/raid/ [root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 27G 3.6G 22G 15% / tmpfs 932M 72K 932M 1% /dev/shm /dev/sda1 485M 40M 421M 9% /boot /dev/md0 4.9G 138M 4.6G 3% /tmp/raid
5. 開機自動掛載
[root@localhost /]# vim /etc/fstab # /etc/fstab # Created by anaconda on Mon Aug 22 18:25:35 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1 UUID=e36e7a7c-97a5-4712-ac29-7973c98c847c /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /tmp/raid /de/md0 ext4 defaults 0 0
第二.Raid信息的查看
-D:顯示raid的詳細信息;
mdadm -D /dev/md#
[root@localhost ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Sep 3 22:06:01 2016 Raid Level : raid1 Array Size : 5216960 (4.98 GiB 5.34 GB) Used Dev Size : 5216960 (4.98 GiB 5.34 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Sep 3 23:43:28 2016 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec Events : 18 Number Major Minor RaidDevice State 0 8 37 0 active sync /dev/sdc5 1 8 38 1 active sync /dev/sdc6
使用 watch -n 10 'cat /proc/mdstat'查看陣列同步情況
第三.Raid陣列的管理
管理模式:
-f: 標記指定磁盤為損壞;
-a: 添加磁盤
-r: 移除磁盤
-S:停止RAID
RAID管理
1. 給raid-5新增一個spare(空)盤,添加磁盤到陣列中做備用盤(spare)
[root@localhost /]# mdadm -a /dev/md0 /dev/sdc7 mdadm: added /dev/sdc7
2. 模擬故障
[root@localhost /]# mdadm -f /dev/md0 /dev/sdc5 [root@localhost /]# mdadm /dev/md0 /dev/md0: 4.98GiB raid1 2 devices, 1 spare. Use mdadm --detail for more detail. [root@localhost /]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Sep 3 22:06:01 2016 Raid Level : raid1 Array Size : 5216960 (4.98 GiB 5.34 GB) Used Dev Size : 5216960 (4.98 GiB 5.34 GB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Sat Sep 3 23:54:39 2016 State : clean, degraded, recovering Active Devices : 1 Working Devices : 2 Failed Devices : 1 Spare Devices : 1 Rebuild Status : 68% complete Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec Events : 35 Number Major Minor RaidDevice State 2 8 39 0 spare rebuilding /dev/sdc7 1 8 38 1 active sync /dev/sdc6 0 8 37 - faulty /dev/sdc5
3. 移除故障的硬盤
[root@localhost /]# mdadm -r /dev/md0 /dev/sdc5 mdadm: hot removed /dev/sdc5 from /dev/md0 [root@localhost /]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Sat Sep 3 22:06:01 2016 Raid Level : raid1 Array Size : 5216960 (4.98 GiB 5.34 GB) Used Dev Size : 5216960 (4.98 GiB 5.34 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sat Sep 3 23:55:29 2016 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec Events : 44 Number Major Minor RaidDevice State 2 8 39 0 active sync /dev/sdc7 1 8 38 1 active sync /dev/sdc6
4. 停止RAID
[root@localhost /]# umount /tmp/raid/ [root@localhost /]# mdadm -S /dev/md0 mdadm: stopped /dev/md0 [root@localhost /]# mdadm -D /dev/md0 mdadm: cannot open /dev/md0: No such file or directory [root@localhost /]#
二.LVM篇
一、簡介
LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。
LVM的工作原理其實很簡單,它就是通過將底層的物理硬盤抽象的封裝起來,然后以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其通過對底層的硬盤進行封裝,當我們對底層的物理硬盤進行操作時,其不再是針對于分區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁盤管理操作。比如說我增加一個物理硬盤,這個時候上層的服務是感覺不到的,因為呈現給上層服務的是以邏輯卷的方式。
LVM最大的特點就是可以對磁盤進行動態管理。因為邏輯卷的大小是可以動態調整的,而且不會丟失現有的數據。如果我們新增加了硬盤,其也不會改變現有上層的邏輯卷。作為一個動態磁盤管理機制,邏輯卷技術大大提高了磁盤管理的靈活性。
基本的邏輯卷管理概念:
PV(Physical Volume)– 物理卷
物理卷在邏輯卷管理中處于最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤,也可以是raid設備。
VG(Volumne Group)– 卷組
卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之后可動態添加物理卷到卷組中。一個邏輯卷管理系統工程中可以只有一個卷組,也可以擁有多個卷組。
LV(Logical Volume)– 邏輯卷
邏輯卷建立在卷組之上,卷組中的未分配空間可以用于建立新的邏輯卷,邏輯卷建立后可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬于同一個卷組,也可以屬于不同的多個卷組。
關系圖如下:
PE(Physical Extent)– 物理塊
LVM 默認使用4MB的PE區塊,而LVM的LV最多僅能含有65534個PE (lvm1 的格式),因此默認的LVM的LV最大容量為4M*65534/(1024M/G)=256G。PE是整個LVM 最小的儲存區塊,也就是說,其實我們的資料都是由寫入PE 來處理的。簡單的說,這個PE 就有點像文件系統里面的block 大小。所以調整PE 會影響到LVM 的最大容量!不過,在 CentOS 6.x 以后,由于直接使用 lvm2 的各項格式功能,因此這個限制已經不存在了。
二.Linux lvm的工具
pv管理工具:
pvs:簡要pv信息顯示 pvdisplay:顯示pv的詳細信息 pvcreate /dev/DEVICE: 創建pv
vg管理工具:
vgs 簡要vg信息顯示 vgdisplay 顯示vg的詳細信息 vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]創建vg -s:指定pe大小 vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 擴展vg容量 vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...] 減小vg容量 vgremove vg的移除
lv管理工具:
lvs 簡要lv顯示 lvdisplay 詳細lv顯示 lvcreate -L #[mMgGtT] -n NAME VolumeGroup lv的創建 lvremove /dev/VG_NAME/LV_NAME lv的移除
擴展邏輯卷: # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME # resize2fs /dev/VG_NAME/LV_NAME
縮減邏輯卷: # umount /dev/VG_NAME/LV_NAME # e2fsck -f /dev/VG_NAME/LV_NAME # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME # mount
快照:snapshot lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name
-L:指定快照大小
-p: 指定快照權限 r|rw
-s:指定創建快照
-n:快照名稱
實驗:
一.lvm的創建
1、 創建分區
使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型為8e。
[root@localhost ~]# fdisk -l /dev/sdd Disk /dev/sdd: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xbbe9bf26 Device Boot Start End Blocks Id System /dev/sdd1 1 2610 20964793+ 5 Extended /dev/sdd5 1 654 5253192 8e Linux LVM /dev/sdd6 655 1308 5253223+ 8e Linux LVM /dev/sdd7 1309 1962 5253223+ 8e Linux LVM
2、 創建PV
[root@localhost ~]# pvcreate /dev/sdd{5,6} Physical volume "/dev/sdd5" successfully created Physical volume "/dev/sdd6" successfully created
3.查看pv
[root@localhost ~]# pvdisplay "/dev/sdd5" is a new physical volume of "5.01 GiB" --- NEW Physical volume --- PV Name /dev/sdd5 VG Name PV Size 5.01 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 32UtIW-NeDz-oTVa-hmHD-BJ4U-hD2o-5tN3yM "/dev/sdd6" is a new physical volume of "5.01 GiB" --- NEW Physical volume --- PV Name /dev/sdd6 VG Name PV Size 5.01 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID GPNOTF-rv8H-DS1Z-kQT7-WAQC-bMX4-L5dowi
3.創建VG
[root@localhost ~]# vgcreate vg0 /dev/sdd{5,6} Volume group "vg0" successfully created
4.查看VG
[root@localhost ~]# vgdisplay --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 2 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 2 Act PV 2 VG Size 10.02 GiB PE Size 4.00 MiB Total PE 2564 Alloc PE / Size 0 / 0 Free PE / Size 2564 / 10.02 GiB VG UUID hf8cX5-Y2jb-FLh9-0ijm-cZmX-47wQ-KVU0pk
5.創建lv
創建了一個名字為lvm01,容量大小是6G的分區,其中:-L:指定LV的大小 -n:指定LV的名。vg0:表示從這個VG中劃分LV;
[root@localhost ~]# lvcreate -L 6G -n lvm01 vg0 Logical volume "lvm01" created
6.lv格式化及掛載
下一步需要對LV進行格式化(使用mksf進行格式化操作),然后LV才能存儲資料
[root@localhost ~]# mke2fs -t ext4 /dev/vg0/lvm01 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 393216 inodes, 1572864 blocks 78643 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1610612736 48 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 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override
7.掛載之后,可以看到此LV的容量
[root@localhost ~]# mkdir /tmp/lvm [root@localhost ~]# mount /dev/vg0/lvm01 /tmp/lvm/ [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/vg0/lvm01 LV Name lvm01 VG Name vg0 LV UUID y0q9jX-MiGc-eS6u-YVoL-n834-Hf2d-Bqcfz0 LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-09-04 00:24:35 +0800 LV Status available # open 1 LV Size 6.00 GiB Current LE 1536 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
8.開機自動掛載
[root@localhost ~]# vim /etc/fstab # # /etc/fstab # Created by anaconda on Mon Aug 22 18:25:35 2016 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/VolGroup-lv_root / ext4 defaults 1 1 UUID=e36e7a7c-97a5-4712-ac29-7973c98c847c /boot ext4 defaults 1 2 /dev/mapper/VolGroup-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /tmp/lvm /dev/vg0/lvm01 ext4 defaults 0 0
二、擴容VG,LV
vgextend vg0 /dev/sdd7 #擴展vg0
[root@localhost ~]# vgextend vg0 /dev/sdd7 No physical volume label read from /dev/sdd7 Physical volume /dev/sdd7 not found Physical volume "/dev/sdd7" successfully created Volume group "vg0" successfully extended
[root@localhost ~]# vgdisplay --- Volume group --- VG Name vg0 System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 3 Act PV 3 VG Size 15.02 GiB PE Size 4.00 MiB Total PE 3846 Alloc PE / Size 1536 / 6.00 GiB Free PE / Size 2310 / 9.02 GiB VG UUID hf8cX5-Y2jb-FLh9-0ijm-cZmX-47wQ-KVU0pk
2.lvextend –L 1G /dev/vg0/lvm01 #擴展lvm增加1G空間
[root@localhost ~]# lvextend -L +1G /dev/vg0/lvm01 Extending logical volume lvm01 to 7.00 GiB Logical volume lvm01 successfully resized [root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/vg0/lvm01 LV Name lvm01 VG Name vg0 LV UUID y0q9jX-MiGc-eS6u-YVoL-n834-Hf2d-Bqcfz0 LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-09-04 00:24:35 +0800 LV Status available # open 1 LV Size 7.00 GiB Current LE 1792 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
3.resize2fs /dev/vg0 /lvm01#執行該重設大小,對于當前正在使用的Lvm01有效
df –h #查看掛載情況,已經擴容
[root@localhost ~]# resize2fs /dev/vg0/lvm01 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg0/lvm01 is mounted on /tmp/lvm; on-line resizing required old desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/vg0/lvm01 to 1835008 (4k) blocks. The filesystem on /dev/vg0/lvm01 is now 1835008 blocks long. [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 27G 3.6G 22G 15% / tmpfs 932M 72K 932M 1% /dev/shm /dev/sda1 485M 40M 421M 9% /boot /dev/mapper/vg0-lvm01 6.9G 142M 6.5G 3% /tmp/lvm
三.減少VG,LV
縮減邏輯卷:
1.# umount /dev/VG_NAME/LV_NAME 卸載設備
[root@localhost ~]# umount /dev/vg0/lvm01
2. # e2fsck -f /dev/VG_NAME/LV_NAME 檢查邏輯卷
[root@localhost ~]# e2fsck -f /dev/vg0/lvm01 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/vg0/lvm01: 11/458752 files (0.0% non-contiguous), 65023/1835008 blocks
3. # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] 重設大小
[root@localhost ~]# resize2fs /dev/vg0/lvm01 5G resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/vg0/lvm01 to 1310720 (4k) blocks. The filesystem on /dev/vg0/lvm01 is now 1310720 blocks long.
4.# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME 減少邏輯卷容量
[root@localhost ~]# lvreduce -L 5G /dev/vg0/lvm01 WARNING: Reducing active logical volume to 5.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce lvm01? [y/n]: y Reducing logical volume lvm01 to 5.00 GiB Logical volume lvm01 successfully resized
5. # mount 重新掛載
[root@localhost ~]# mount /dev/vg0/lvm01 /tmp/lvm/ [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 27G 3.6G 22G 15% / tmpfs 932M 72K 932M 1% /dev/shm /dev/sda1 485M 40M 421M 9% /boot /dev/mapper/vg0-lvm01 5.0G 140M 4.6G 3% /tmp/lvm
四.快照
快照技術是一種攝影技術,隨著存儲應用需求的提高,用戶需要在線方式進行數據保護,快照就是在線存儲設備防范數據丟失的有效方法之一
snapshot lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name -L:指定快照大小 -p:指定邏輯卷的權限r:w -s:指定為快照 -n:快照名稱
-
快照創建
[root@localhost ~]# lvcreate -L 1G -p r -s -n sna_lvm01 /dev/vg0/lvm01 Logical volume "sna_lvm01" created
2.查看快照
[root@localhost ~]# lvdisplay --- Logical volume --- LV Path /dev/vg0/lvm01 LV Name lvm01 VG Name vg0 LV UUID y0q9jX-MiGc-eS6u-YVoL-n834-Hf2d-Bqcfz0 LV Write Access read/write LV Creation host, time localhost.localdomain, 2016-09-04 00:24:35 +0800 LV snapshot status source of sna_lvm01 [active] LV Status available # open 1 LV Size 5.00 GiB Current LE 1280 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
原創文章,作者:a295053193,如若轉載,請注明出處:http://www.www58058.com/43388