① linux邏輯卷管理
LVM(logical volume manager) 邏輯卷管理器
其中主要分為這幾個概念
1物理卷-簡稱PV
物理卷在邏輯卷管理器中屬於最底層的,任何的邏輯卷和卷組都必需依靠物理卷來建立,物理卷可以是一個完整的硬碟,也可以是硬碟中的莫一個分區
2卷組-簡稱VG
卷組是建立在物理卷之上,一個卷組中可以包含一個物理卷組或者多個物理卷
3邏輯卷-簡稱LV
邏輯卷是建立在卷組之上的,卷組中的空間可以建立多個邏輯卷,並且邏輯卷可以隨意從卷組的空閑空間中增減,邏輯卷可以屬於一個卷組,也可以屬於不同的多個卷組
4 物理區域-簡稱PE
物理區域是物理卷中最小的可分配儲存單元
5 邏輯區域-簡稱-LE
邏輯區域是邏輯卷中可用於分配的最小儲存單元
6 卷組描述區域-簡稱VGDA
用於描述物理卷,卷組,邏輯卷分配的所由信息
一個建立邏輯卷的流程如下
PV-VG-LV
物理卷包含卷組,卷組包含邏輯卷
二redhat9中使用邏輯卷管理器
1使用vgscan生成默認的配置文件,配置文件在/etc下的lvmconf 和lvmtab 2個文件
2 為邏輯卷管理器分配物理卷
我這里使用一個分區來作/dev/hda9
#fdisk hda
>t
>9
>8e (為LVM分區)
>w
重起
#pvcreate /dev/hda9
使用
#pvdisplay /dev/hda9查看是否建立
這樣就建立好了物理卷
3在物理卷中建立卷組
#vgcreate vg0 /dev/hda9 其中vg0為要建立的卷組名程.這里的PE值我們使用默認的4M如需要增大可以使用-L 選想,記住一旦設定以後不可更改PE的值
#vgdisplay 查看是否建立成功
4 在卷組中建立邏輯卷
#lvcreate -L 100M -n vg1 vg0
其中-L 選項表示你想的邏輯卷大小,以後可以用命令增減 -n指定邏輯卷的名程和卷組的名程,也可以使用絕對路徑來達到上述目的
#lvdisplay /dev/vg0/vg1
查看是否建立成功
5 為邏輯卷建立文件系統
#mkfs.ext3 /dev/vg0/vg0
然後掛載嘗試是否建立成功
#mount /dev/vg0/vg1 /home
這樣一個邏輯卷就基本成型了
三 邏輯卷的管理
1增加新的物理卷到卷組
當卷組中沒有足夠的空間分配給邏輯卷時,可以用給卷組增加物理卷的方法來增加卷組的空間
# vgextend vg0 /dev/hda8
這里注意hda8必需為LVM分區
2 擴充和減小邏輯卷的容量
#e2fsadm -L +100M /dev/vg0/vg1
-L 表示增減空間 +表示加 -表示建
#e2fsadm -L -100M /dev/vg0/vg1
這里要注意文件系統必需是ext2或ext3,而且需要卸載文件系統來執行,減小的時候需要知道剪掉空間的大小,不然會造成丟失
在reiserfs文件系統中未作測試
3 刪除邏輯卷-卷組-物理卷 (必需按照先後順序來執行刪除)
#lvremove /dev/vg0/vg1 刪除邏輯卷
#vgremove /dev/vg0 刪除卷組
這里有一個問題,如果建立的卷組是活動的,他就不能刪除
這里需要使用一個命令來是他變成固定的,以便刪除
#vgchage -a n /dev/vg0
-a 參數指定卷組是否是活動的,n表示固定,y表示活動
#vgremove /dev/vg0
成功
物理卷的刪除,移除/etc下的lvmconf 和lvmtab的兩個文件,然後將分區轉換為linux的就可以了
四 檢查物理卷,卷組,邏輯卷
分別使用3個命令
1pvscan 檢查物理卷
2vgscan 檢查卷組
3lvscan 檢查邏輯卷
這里只是介紹了邏輯卷管理器的基本建立和刪除
應為今天時間有限,明天積蓄補充,希望此文對你有所幫助
明天內容
如何備份邏輯卷
如何用LVM作鏡像卷
如何改變邏輯卷的屬性
五 為邏輯卷作備份
1當你要備份你的卷組信息是,你就需要為卷組作備份,使用vgcfgbackup來備份
#vgcfgbackup vg0
備份的信息就是我們前面提到的VGDA備份到/etc/lwmconf/VG.conf
2當你的卷組信息意外丟失時,你可以使用這個文件來恢復你的卷組信息,前提是你要備份了的
#vgcfgrestor -n vg0 /dev/hda8
或者
#vgcfgrestor -f /etc/lvmconf/XXX.conf
重卷組vg0中恢復物理卷的VGDA信息 -n參數指定卷組的名程 -f 制定備份文件路徑
3 恢復了物理卷及卷組的信息後我們還要恢復原來的建立的卷組和邏輯卷的設備文件
#vgmknods
這樣如果物理卷,卷組,邏輯卷的信息丟失或者設備文件被破壞是就可以用來及時恢復
六 卷組的合並於拆分
當你想合並2個卷組時可以使用一下命令
這里有2個前提條件 1 卷組的PE(物理區域)大小相等 2 2個卷組必需是非活動的,這個可以用前面提到的vgchange命令來更改,做到以上2個條件就可以了
#vgmerge vg1 vg2
其中vg1為原始卷組,vg2是你想合並到到vg1的卷組
七 邏輯卷管理器管理命令(針對整個邏輯卷管理器,不針對物理卷,卷組,邏輯卷,是全局命令)注:全局命令都是以lvm開頭的
1復位邏輯卷管理器(全局命令)
#lvmchange -R
這個命令用來復位邏輯卷管理器,也就是reset,該命令會使所由的卷組和邏輯卷處於非活動狀態,也就是不能使用卷組和邏輯卷,所以使用時一定小心
2 查看邏輯卷管理器日誌
# lvmsadc
命令可以直接輸出到標准輸出,也就是屏幕上,也可輸出到文件中
# lvmsadc 1.txt
使用lvmsar 命令可一查看lvmsdac生成的日誌文件
#lnmsar 1.txt
日誌文件顯示邏輯卷管理器中設備的讀寫統計信息
顯示如下
total read :12 total write :222
3 利用LVM作邏輯卷的鏡像卷或成快照卷
快照卷不需要和父卷大小一致,我們假設不需要保存太多的快照文件,可以設置成10M
#lvcreate -s -L 10M -n kuaizhao /dev/vg0/vg1
這樣就從邏輯卷vg1中分出快照卷/dev/vg0/kuaizhao
這里又有一個問題,redhat9默認快照卷是以只讀方式掛載的,只讀方式的快照卷是不能和父卷同步數據的
這里需要使用lvchange命令使快照卷為讀寫方式掛載
#lvchange -p rw /dev/vg0/kuaizhao
然後
#mount /dev/vg0/vg1 /home
#mount /dev/vg0/kuaizhao /opt
目錄隨便,我這里只是測試
#cd /home
#touch test
#cd /opt
#ls
恭喜你可以看到文件數據已經同步了
注:如快照卷不能容納超過自身設置的容量時,將被LVM管理器自動刪除
解決的方法:
1及時清理不必要的快照文件
2 設置邏輯快照卷和父邏輯卷大小一致
② linux存儲遷移的問題
1、源主機上先備份下vg信息和磁碟信息:
vgcfgbackup
fdisk -l > /tmp/fdisk.info
pvdisplay > /tmp/pvinfo
vgdisplay >/tmp/vginfo
lvdisplay >/tmp/lvinfo
先保證新的linux主機能夠認到這10T數據的存儲磁碟。然後在源linux主機上執行(執行前確保這10T數據當前已經沒有進程和服務在訪問):
umount/test
vgchange-anvg_data
vgexportvg_data
源主機上10T的數據盤先不要動他,接著在新linux主機上執行(確保新主機已經認到同樣10T的數據盤):
pvscan
vgscan
vgimportvg_data
vgchange-ayvg_data
mkdir/test
mount/dev/mapper/vg_data-lv_data/test
2、vgexport命令不是導出配置,而是指從主機上將vg注銷
3、上述過程不會丟失數據,除非你執行了一些破壞性的操作,比如將vg刪除、將磁碟數據清空等等。
4、風險就是有可能新的linux主機沒有識別到磁碟和vg(這種原因就多了,比如沒有安裝lvm或版本可能不同導致,或者存儲不通,或者沒有安裝某些必須的磁碟驅動等等),你只要在遷移成功前不動源主機上的磁碟,10T數據可以重新掛載上來用。