ubuntu server 10.4下lvm邏輯卷管理器的使用

 
 
LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱。如果不知道可以百度下,http://baike.baidu.com/view/361916.htm?fr=ala0_1_1,百度百科,講的就很好了,它真是一個非常棒的東西。引用百度百科的一段“Linux用戶安裝Linux操作系統時遇到的一個最常見的難以決定的問題就是如何正確地給評估各分區大小,以分配合適的硬盤空間。而遇到出現 某個分區空間耗盡時,解決的方法通常是使用符號鏈接,或者使用調整分區大小的工具(比如PatitionMagic等),但這都只是暫時解決辦法,沒有根 本解決問題。隨着Linux的邏輯盤卷管理功能的出現,這些問題都迎刃而解,使得用戶在無需停機的情況下方便地調整各個分區大 小。”這就是它功能。
目標:(1)用三塊磁盤sdc,sdd,sde都是2G。先把sdc,sdd,組成卷組no1vg大小爲4G,劃分出邏輯卷date大小爲200M,把該邏輯卷掛載到lvmtest目錄,再對邏輯卷date進行擴展到容量爲300M,對卷組no1vg進行擴展,也就是把磁盤sde加入no1vg使其容量爲6G。(2)對邏輯卷date,把它的名字改爲date2,然後減少邏輯卷date2容量到250M,最後把邏輯卷date2移除掉;對卷組no1vg改名爲vgtest,然後減少卷組vgtest容量到4G;最後移去物理卷sde等相關操作的命令.
1,分別把三塊磁盤創建成Linux lvm
在默認情況ubuntu server 10.4 沒有安裝LVM2軟件包,所以要先安裝
先查看安裝沒有
#sudo dpkg -l lvm2
若沒安裝則安裝
#sudo apt-get install lvm2
再查看安裝了沒有
#sudo dpkg -l lvm2
#sudo fdisk /dev/sdc
lvm01
lvm02
三塊磁盤的分區結果相同,操作過程也相同。
2,初始化sdc,sdd,sde
初始化前先查看下
#sudo pvscan
#sudo pvdisplay
開始初始化
lvm03
再查看下,和之前有什麼不同
#sudo pvdisplay
3,創建卷組no1vg,大小爲4G.
先查看下
#sudo vgdisplay
創建卷組no1vg
#sudo vgcreate  no1vg /dev/sd[c,d]1
#sudo vgdisplay no1vg
lvm04
默認的情況,PE爲4M,也就是最大的LV可爲256G.
4,創建邏輯卷date,大小爲200M.
先查看
#sudo lvdisplay
創建邏輯卷date
#sudo lvcreate –n date –L 200M no1vg
#sudo lvcreate –n date –l 50 no1vg
*:-L 後面是大小,若你給的不是4的倍數,它會給你自動分配成4的倍數的大小的空間。-l 後面是PE的個數,50*4=200M,所以兩個命令的結果是相同的。
#sudo lvdisplay /dev/no1vg/date
5,格式化邏輯卷date,用ext4文件系統
#sudo mkfs.ext4 /dev/no1vg/date
6,掛載邏輯卷date到文件夾lvmtest
#sudo mount /dev/no1vg/date lvmtestlvm05
#sudo cd lvmtest
#sudo nano test.txt
隨便寫點東西進去,一會做完LVM再查看text.txt文件是否有改變
 
7,對邏輯卷date進行擴展到容量爲300M.
先查看擴展前的信息
#sudo lvdisplay /dev/no1vg/date
先umount掉掛載的邏輯卷date
#sudo umount lvmtest
#sudo lvextend –L +100M /dev/no1vg/date
強行檢查date邏輯卷
#sudo e2fsck –f /dev/no1vg/date   
重新定義分區大小
#sudo resize2fs /dev/no1vg/date 
先查看擴展後的信息
#sudo lvdisplay /dev/no1vg/date
#sudo mount /dev/no1vg/date lvmtest
#sudo df –h
lvm08
查看卷組信息
lvm07
8,擴展卷組no1vg,把sde磁盤加入其中,容量到達6G
#sudo vgextend no1vg  /dev/sde1
查看擴展後的卷組信息
#sudo vgdisplay /dev/no1vg
lvm10
擴展後的數據仍在
lvm11
(2)第二個實驗目標
1,輯卷date改名爲date2,並減少其容量到250M,並把它移除
#sudo lvrename /dev/no1vg/date   /dev/no1vg/date2
查看邏輯卷信息
#sudo lvs
#sudo lvscan
#sudo lvdisplay
在初次做這個實驗時出現如下問題:
縮減其容量後發現,掛載不上,重新格式化後,纔可以掛載,後來經過查詢要按如下步驟操作:先使用resize2fs 對其操作後,接着用e2fsck -f ,再用lvreduce;與增加容量時的操作相反,增加時是先用lvextend後,再用e2fsck -f ,接着是resize2fs.
#sudo resize2fs /dev/no1vg/date2 250M
#sudo e2fsck -f /dev/no1vg/date2
#sudo lvreduce -L 50M /dev/no1vg/date2
 
停止邏輯卷date2
#sudo lvchange -a n /dev/no1vg/date2
查看其狀態
#sudo lvdisplay
激活邏輯卷date2
#sudo lvchange -a y /dev/no1vg/date2
查看其狀態
#sudo lvdisplay
通過快照備份邏輯卷
#sudo lvcreate -s -L 250M -n snapno1 /dev/no1vg/date2
查看
#sudo lvs
快照不需格式化就可以直接使用
掛載快照到目錄snap
#sudo mount /dev/no1vg/snapno1 snap
移除邏輯卷date2前,若有快照,就要先移除快照,否則移除是不成功的
移除快照snapno1 
#sudo lvremove /dev/no1vg/snapno1
移除邏輯卷的命令與移除快照相同
#sudo lvremove /dev/no1vg/date2
查看邏輯卷信息
#sudo lvdisplay
#sudo lvs
#sudo lvscan
2,對卷組的改名,縮減容量,分離卷組,移除卷組,合併卷組操作
對卷組no1vg改名爲vgtest
#sudo vgrename no1vg vgtest
查看
#sudo vgs
#sudo vgscan
#sudo vgdisplay
把物理卷sde從卷組vgtest中移除也就是縮減了其容量從6G到4G
#sudo vgreduce /dev/vgtest /dev/sde1
#sudo vgdisplay
停止卷組vgtest
#sudo vgchange -a n /dev/vgtest
停止卷組後,把物理卷sdd1從卷組vgtest分離出來,並把加入vgtest2中
#sudo vgsplit /dev/vgtest /dev/vgtest2 /dev/sdd1
原有的邏輯卷的數據仍在
#sudo vgdiaplay /dev/vgtest
激活卷組vgtest
#sudo vgchange -a y /dev/vgtest
移除卷組vgtest
#sudo vgremove /dev/vgtest
合併卷組:把卷組vgtest1,vgtest2合併到卷組vgtest
可以先看下vgmerge的用法
#man vgmerge
#sudo vgmerge /dev/vgtest /dev/vgtest1
#sudo vgmerge -v /dev/vgtest /dev/vgtest2
---------------以下兩個沒實驗過----------------------------------
另外還有卷組的導出vgexport
#sudo vgexport /dev/vgtest
卷組的導入
#sudo vgimport vgtest /dev/sd[c,d]1
----------------------------------------------------------------------------
3,物理卷sde的移除
先將sde是數據移到sdc上,這個要花一點時間
#sudo pvmove /dev/sde1 /dev/sdc1
移完後數據仍在
數據移完後,將其移除
#sudo pvremove /dev/sde1
 
 
感悟:通過以上的操作實驗,感覺LVM真的是強,能放大也能縮小,能拆分能合併,並且數據不丟,在實際的應用中,當然不建議改動已建好的邏輯卷,卷組,物理卷的大小,理論上數據不會丟,可又有誰能保證在線操作時,就沒問題呢。最後,再說一次,LVM真的是好強!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章