LVM管理操作

studywell發表於2015-09-28



LVM管理操作

建立lv並掛載到系統上的整個過程;
1。fdisk /dev/vda    
   總體步驟:n   p   回車   回車  t   8e   w
  將分割槽型別設定為linux lvm,即8e;如核心沒及時更新分割槽資訊可用partprobe向核心註冊新分割槽;
2。pvcreate /dev/vda2  (-s xxM可設定PE大小)
    -s 設定了PE的大小,預設為4MB,這表示卷組上建立的所有邏輯卷都以 4 MB 為增量單位來進行擴充或縮減。由於核心原因,PE大小決定了邏輯卷的最大大小,4 MB 的PE決定了單個邏輯卷最大容量為 256 GB,若希望使用大於256G的邏輯卷則建立卷組時指定更大的PE。PE大小範圍為8 KB 到 16GB,並且必須總是 2 的倍數,一個卷組裡面最多允許65534個PE存在
3。vgcreate datavg /dev/vda2
        為了立即使用卷組而不是重新啟動系統,可以使用vgchange來啟用卷組:在linux建立就可以用,不需要啟用;此啟用只用於單機環境下lvm.其他請參考vgchange命令的使用,# vgchange -a y rootvg
4.lvcreate -n datalv -L 2G datavg  指定使用的MiB數;
  lvcreate -n datalv -l 20 datavg  指定新增的pe個數;
   不同的工具使用傳統名稱:/dev/datavg/datalv 或核心裝置對映程式名/dev/mapper/datavg-datalv
       -i:採用條帶模式的對映方式建立邏輯卷,該引數的值用於指定所建立的邏輯卷將對映在幾個PV上,不能大於pv數;一定要確認所指定的這些PV是沒有完全被分配給任何邏輯卷的,否則將建立失敗,其次若這些PV的大小不等,那麼所建立的邏輯卷只能取最小值。    
        -I:指定使用條帶模式時所採用塊的大小,單位為KB,其值必須是:2N(N≥2)。
        -L:指定建立邏輯卷的大小,單位的可以用K、M、G、T表示KB、MB、GB及TB。
5.mkfs -t xfs /dev/datavg/datalv   建立檔案系統;不指定檔案系統樂行將使用預設的檔案系統;
6. mkdir /data
   在/etc/fstab中新增:/dev/datavg/datalv /data xfs defaults 0 0
   mount -a

刪除物理卷,邏輯卷和卷組
1.umount /data   然後刪除/etc/fstab中相關條目;
2.lvremove /dev/datavg/datalv
3.vgremove datavg  刪除卷組;可能需要先vgchange -a n rootvg(關閉rootvg)  
4.pvremove /dev/vda2



檢視lvm狀態
1.pvdisplay /dev/vda2
2.vgdisplay
3.lvdisplay
也可用看大概命令如:pvs,vgs,lvs




擴充套件卷組
vgextend datavg /dev/vdb2
移動物理區段,將該Pv上資料移動到其他pv上;
pvmove /dev/vdb2  操作前備份資料
縮減卷組,將vdb2從卷組中移除;
vgredece datavg /dev/vdb2

擴充套件邏輯卷
lvextend -L +300M /dev/datavg/datalv  在現有基礎上擴大300M,如沒+,則是擴到到指定大小;
lvextend -L +50%FREE /dev/datavg/datalv 向lv中新增VG中當前可用空間的50%;
擴充套件XFS檔案系統
xfs_growfs /data

擴充套件ext4檔案系統
resize2fs /dev/datavg/datalv
如擴充套件檔案系統提示需要先umount裝置,但裝置又umount不了,則用先殺用該驅動器的程式fuser -km /data ,再umount;
在執行resize2fs後,會提示先執行e2fsck -f /data命令;


不需要umount檔案系統的擴充套件lv命令
resize_reiserfs -f /dev/testvg/testlv
ext2online /dev/rootvg/lv1
讓lv1容量更改立即生效,不需要解除安裝LV;



減小lv
1 umount /mnt/lvm
這裡,需要先解除安裝分割槽
2 mke2fs -n /dev/rootvg/lv1
計算lv1的block數
這裡一定要加-n引數,這是計算lv1的block數,而不是格式化分割槽,注意。
並且注意,從MB->KB這些的計算,都是乘1024,不是1000,這是個細節問題
3 計算減少50M後的block數。從mke2fs -n /dev/rootvg/lv1,我們可以得出2個需要的資訊:
Block size和blocks,這兩個數的乘積就是分割槽大小A(單位位元組),
我們把需要減小的容量50M換算成位元組B,然後A-B的結果除以Block size,就是剩餘的block數
4 resize2fs -f /dev/rootvg/lv1 剩餘的block數
調整檔案系統大小
5 lvreduce -L-50M /dev/rootvg/lv1
調整lv分割槽大小,減小50M
6 重新mount,df察看一下容量的減小


系統啟動和關閉
為了使系統啟動時可自動啟用並使用LVM,可將下面幾行新增到rc指令碼中
/sbin/vgscan
/sbin/vgchange -a y
關閉系統時,可將下面幾行新增到關機rc指令碼中,
/sbin/vgchange -a n
dmesg
sysctl

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-1811008/,如需轉載,請註明出處,否則將追究法律責任。

相關文章