邏輯捲管理器LVM •將設備指定為物理捲 • 用一個或者多個物理捲來創建一個捲組 • 物理捲是用固定大小的物理區域(Physical Extent,PE)來定義的 • 在物理捲上創建的邏輯捲是由物理區域(PE)組成 • 可以在邏輯捲上創建文件系統 LVM: Logical Volume Manage ...
邏輯捲管理器LVM •將設備指定為物理捲 • 用一個或者多個物理捲來創建一個捲組 • 物理捲是用固定大小的物理區域(Physical Extent,PE)來定義的 • 在物理捲上創建的邏輯捲是由物理區域(PE)組成 • 可以在邏輯捲上創建文件系統 LVM: Logical Volume Manager, Version 2 dm: device mapper,將一個或多個底層塊設備組織成一個邏輯設備的模塊 設備名:/dev/dm-# 軟鏈接:/dev/mapper/centos-root -> ../dm-0 LVM可以彈性的更改LVM的容量 通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量 pv,vg,lv管理工具 創建邏輯捲:logical volume manager 1,分區後按t,改變ID標識,8e 分過區的需要執行:partprobe----重新掃描分區 partx -a /dev/sda 2,pvcreaete /dev/sdb1---創建物理捲 pvdisplay----查看 3,vgcreate vg0 /dev/sdb1 /dev/sdb2----創建VG(捲組) vgdisplay----查看捲組 vgcreate -s 16M vg0 /dev/sda{5,6,7}----s,後面接PE的大小 4,lvcreate -L 5G -n data vg0----創建邏輯捲 lvdisplay----查看邏輯捲 lvcreate -l 200 -n data vg0----l,分配PE的個數 -L:後接大小 -n:後接名字 -l:接PE個數 5,格式化 mkfs.ext4 /dev/vg0/data 6,vim /etc/fstab------開機自動掛載 /dev/vg0/data /data ext4 defaults 0 0 7,mount -a ----掛載 pvdisplay vgdisplay lvdisplay----查看 擴展邏輯捲: pvcreaete /dev/sdc1---創建物理捲 vgextend vg0 /dev/sdc1 ----擴展卷組 lvextend -r -L +5G /dev/vg0/data----擴展邏輯捲 lvextend -l 100%FREE /dev/vg0/date---按比例擴容,100% resize2fs /dev/vg0/data-----------------拉升文件系統(ext3,ext4) xfs_growfs /data/--------------拉升文件系統(xfs系統) 縮小邏輯捲:(XFS不能縮小,ext4,ext3可以縮小) 1,umount /data/------卸載 2,e2fsck -f /dev/vg0/data----掃描 3,resize2fs /dev/vg0/data 8G----縮小文件系統到8G 4,lvreduce -L 8G /dev/vg0/data----縮小邏輯捲為8G 5,mount /dev/vg0/data /data/ 跨主機遷移捲組 node1:卸載邏輯捲 node1:lvchange -a n vg0----a,激活,n-no---是邏輯捲處於非激活狀態 node1:vgexport vg0----------導出狀態 node2:pvscan---------------------掃描物理捲 node2:vgimport vg0-----導入 node2:vgscan;lvscan-----------掃描捲組,掃描邏輯捲 node2:lvchange -a y /dev/vg0/data node2:mount -a 拆除pv對應的磁碟: pvmove /dev/sda3 -------把sda3的數據遷移到別的pv vgreduce vg0 /dev/sda3--------------把sda3從vg0中移除 pvremove /dev/sda3 刪除邏輯捲: umount /data/----卸載 lvremove /dev/vg0/data----刪除邏輯捲 vgchange -a n vg0----使VG0處於不活動狀態 vgremove vg0----刪除捲組 pvremove /dev/sda3 /dev/sda5 /dev/sda6----刪除物理捲 邏輯捲壞掉後怎麼還原: cd /etc/lvm/archive----裡面保存著每次變化的狀態 vgcfgrestore -l vg0 vgcfgrestore -f /etc/lvm/archive/vg0_ooo....vg vg0 Restored volume groub vg0 lvchange -a n /dev/vg0/date lvchange -a y /dev/vg0/data mount /dev/vg0/data /data 邏輯捲管理器快照 一,快照是特殊的邏輯捲,它是在生成快照時存在的邏輯捲的準確拷貝 二,對於需要備份或者複製的現有數據臨時拷貝以及其它操作來說,快照是最合適的選擇 三,快照只有在它們和原來的邏輯捲不同時才會消耗空間 (1)在生成快照時會分配給它一定的空間,但只有在原來的邏輯捲或者快照有所改變才會使用這些空間 (2)當原來的邏輯捲中有所改變時,會將舊的數據複製到快照中 (3)快照中只含有原來的邏輯捲中更改的數據或者自生成快照後的快照中更改的數據 (4)建立快照的捲大小小於等於原始邏輯捲,也可以使用lvextend擴展快照 1,快照就是將當時的系統信息記錄下來,就好像照相一般,若將來有任何數據,改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共用 ,2,由於快照區與原本的LV共用很多PE的區塊,因此快照與被快照的LV必須在同一個VG中.系統恢復的時候的文件數量不能高於快照區的實際容量 創建快照: 快照: xfs lvcreate -s -n mysql_snapshot -L 1G /dev/vg0/mysql mount -o nouuid /dev/vg0/mysql_snapshot /mnt/snap ext4 lvcreate -n binlog_snapshot -s -p r -L 1G /dev/vg0/binlog mount /dev/vg0/binlog_snapshot /mnt/snap 快照還原: umount /mnt/binlog umount /mnt/snap lvconvert --merge /dev/vg0/binlog_snapshot mount /dev/vg0/binlog /mnt/binlog/ 快照自動擴展: vim /etc/lvm/lvm.conf 1036:snapshot_autoextend_threshold = 100(100不擴展,可設為70,80) snapshot_autoextend_percent = 20 用到70%,80%會自動擴展20%