一.簡單介紹:
MD, DM:是核心中兩種實作邏輯裝置的子產品
MD: meta device,multidisk,邏輯裝置:軟體raid
DM: Device Mapper 裝置映射,邏輯裝置: LVM2(動态增減)
二.建立邏輯卷
1.建立分區:
<code>fdisk</code> <code>-l </code><code>/dev/sdb</code> <code>/dev/sdc</code> <code>#n--->p--->t--->w 調整類型為8e</code>
2.更新核心資訊
<code>partx -a </code><code>/dev/DEVICE</code>
<code>partprobe </code>
<code>cat</code> <code>/proc/partitions</code> <code>:檢視</code>
3.實體卷(pv)
<code>建立實體卷:pvcreate </code><code>/dev/sdb</code> <code>dev</code><code>/sdc1</code>
<code>顯示實體卷:pvs,pvscan,pvdisplay</code>
<code>移除實體卷:pvremove </code><code>/dev/sdb</code>
4.卷組(vg)
<code>建立卷組: vgcreate vgname </code><code>/dev/sdb</code> <code>/dev/sdc</code> <code>#-s 指定PE的大小(PE大小預設為4MB)</code>
<code>擴充卷組:(添加新的實體卷到卷組中):</code>
<code> </code><code>fdisk</code> <code>-l </code><code>/dev/sdc</code>
<code> </code><code>pvcreate </code><code>/dev/sdc2</code>
<code> </code><code>vgextend vgname </code><code>/dev/sdc2</code>
<code> </code>
<code>顯示卷組: vgs,vgdisplay,vgscan</code>
<code>縮減卷組(從卷組中删除實體卷):</code>
<code> </code><code>把pv裡資料移走: pvmove -n myvg </code><code>/dev/sdc2</code>
<code> </code><code>縮減vg:vgreduce myvg </code><code>/dev/sdc2</code>
<code> </code><code>删除pv: pvremove </code><code>/dev/sdc2</code>
<code>删除卷組:</code>
<code> </code><code>先删除邏輯卷:lvremove </code><code>/dev/vgname/lvname</code>
<code> </code><code>删除卷組:vgremove vgname</code>
<code>激活所有卷組: </code>
<code> </code><code>vgchange -a y</code>
5.邏輯卷
<code>建立邏輯卷:</code>
<code> </code><code>lvcreate -L 1500M -n lvname vgname </code>
<code> </code><code>-L 指定大小,-n 指定邏輯卷名字 </code>
<code> </code><code>注意:</code><code>#/dev/vgname/lvname 軟連結 /dev/mapper/vgname-lvname實際 </code>
<code>若使用全部卷組建立邏輯卷:</code>
<code> </code><code>第一:檢視卷組的PE數:vgdisplay | </code><code>grep</code> <code>"PE"</code>
<code> </code><code>第二:進行建立 lvcreate -l 4730 -n lvname vgname</code>
<code>删除邏輯卷:</code>
<code> </code><code>umount</code> <code>/dev/vgname/lvname</code>
<code> </code><code>lvremove </code><code>/dev/vgname/lvname</code>
6.建立檔案系統
<code>mkfs.ext4 </code><code>/dev/vgname/lvname</code>
7.挂載
<code>mount</code> <code>/dev/myvg/mylv</code> <code>/mnt</code>
<code>(1)設定開機自動挂載vim </code><code>/etc/fstab</code>
<code>挂載裝置 挂載點 檔案系統 挂載選項 dump、</code><code>fsck</code><code>相關選項</code>
<code>/dev/myvg/mylv</code> <code>/mnt</code> <code>ext3 defaults 0 0</code>
<code>(2)啟動自動挂載:</code><code>mount</code> <code>-a</code>
三.建立鏡像邏輯卷:
<code>lvcreate -L 100M -m1 -n lvname vgname </code><code>/dev/sdb1</code> <code>/dev/sdc1</code> <code>/dev/sdb2</code>
<code>-m1:隻生成一個單一鏡像,鏡像分别放在</code><code>/dev/sdb1</code><code>和</code><code>/dev/sdc1</code><code>上,鏡像日志放在</code><code>/dev/sdb2</code><code>上.</code>
<code>-n:指定鏡像邏輯卷名</code>
<code>檢視目前lvm中裝置狀态:</code>
<code> </code><code>lvs -a -o +devices</code>
<code> </code><code>lvs</code>
四.建立快照卷:(給已有的邏輯卷建立快照卷)
快照卷提供在特定瞬間的一個裝置虛拟映像,當快照開始時,它複制一份對目前資料區域的改變,由于它優先執行這些改變,是以它可以重構目前裝置的狀态。
<code>lvcreate -L 50M -n mylv-snap -s -p r </code><code>/dev/myvg/mylv</code> <code>#建立快照卷</code>
<code>(在同一卷組中。)</code>
<code>-L:指定快照卷的大小</code>
<code>-s:建立快照卷</code>
<code>-n:指定快照名</code>
<code>-p:指定快照卷的類型,預設為rw</code>
<code>mount</code> <code>/dev/myvg/mylv</code><code>#臨時挂載</code>
<code>移除快照卷:lvremove </code><code>/dev/myvg/mylv-snap</code>
<code>恢複快照卷:lvconvert --merge </code><code>/dev/myvg/mylv-snap</code>
五.擴充邏輯卷:
<code>建立實體卷:pvcreate </code><code>/dev/sdb</code>
<code>擴充卷組:vgextend vg_name </code><code>/dev/sdb</code>
<code>1.首先確定卷組中,有足夠的空間</code>
<code> </code><code>vgs 或者 vgdisplay</code>
<code> </code>
<code>2. lvextend 擴充邏輯卷的實體邊界</code>
<code>lvextend -L 12G </code><code>/dev/vgname/lvname</code> <code>(擴充到12G)</code>
<code>lvextend -L +1G </code><code>/dev/vgname/lvname</code> <code>(增加1G)</code>
<code>lvextend -l +(塊個數) </code><code>/dev/vgname/lvname</code>
<code>3.resize2fs 擴充邏輯卷的邏輯邊界</code>
<code> </code><code>resize2fs </code><code>/PATH/TO/LV</code> <code>5G 擴充邏輯邊界到5G,該值不能超過實體邊界</code>
<code> </code><code>resize2fs -p </code><code>/PATH/TO/LV</code> <code>:-p表示擴充邏輯邊界跟實體邊界一樣大。</code>
<code>###若之前建立好檔案系統,則要擴充檔案系統:resize2fs /dev/vgname/lvname</code>
<code>#### fsadm resize /dev/vgname/lvname</code>
<code>4.重新檢視檔案系統大小</code>
<code>df</code> <code>-h</code>
resize2fs:調整ext檔案系統的空間大小
搭配邏輯卷lv使用方法:resize2fs /PATH/TO/LV_NAME 3G 調整LV的邏輯邊界大小為3G
六.縮減邏輯卷lv:
<code>注意:</code>
<code> </code><code>1、不能線上縮減,得先解除安裝;</code>
<code> </code><code>2、確定縮減後的空間大小依然能存儲原有的所有資料;</code>
<code> </code><code>3、在縮減之前應該先強行檢查檔案,以確定檔案系統處于一至性狀态;</code>
<code>步驟:</code>
<code> </code><code>1. 確定縮減後的空間大小依然能存儲原有的所有資料</code>
<code> </code><code>df</code> <code>-lh </code>
<code> </code><code>2. 解除安裝需要縮減的lv</code>
<code> </code><code>umount</code> <code>/mnt</code>
<code> </code><code>3. 強行檢查檔案系統</code>
<code> </code><code>e2fsck -f </code><code>/dev/myvg/mylv</code>
<code> </code><code>第一步: 檢查inode,塊,和大小</code>
<code> </code><code>第二步: 檢查目錄結構</code>
<code> </code><code>第三步: 檢查目錄連接配接性</code>
<code> </code><code>第四步: Checking reference counts</code>
<code> </code><code>第五步: 檢查簇概要資訊</code>
<code> </code><code>4.縮減檔案系統(邏輯邊界)</code>
<code> </code><code>resize2fs </code><code>/dev/myvg/mylv</code> <code>2G </code><code>#調整邏輯卷的邏輯邊界大小為2G </code>
<code> </code><code>5.縮減LV(實體邊界)</code>
<code> </code><code>lvreduce -L -1G </code><code>/dev/myvg/mylv</code> <code>#縮減1G</code>
<code> </code><code>lvreduce -L 2G </code><code>/dev/myvg/testlv</code> <code>對邏輯卷的實體邊界縮減為2G</code>
<code> </code><code>6. 重新挂載,</code>
<code> </code><code>mount</code> <code>/dev/myvg/mylv</code> <code>/mnt</code>
本文轉自 a8757906 51CTO部落格,原文連結:http://blog.51cto.com/nxyboy/1942848