理解LVM《二》lvm 元件

2021-08-27 06:33:59 字數 3306 閱讀 1245

乙個裝置可以被 lvm 使用之前必須先被初始化為乙個 pv 。這會在裝置的起始位置放置乙個標籤,俗稱「8e」。

預設情況下,lvm 標籤被放在第2個 512 位元組的扇區。

但是,你可以把pv 標籤放在乙個磁碟的前4個512位元組的扇區中的任意乙個。

乙個 lvm 標籤在重啟後也會存在,同時在乙個集群中都被知道。

lvm 標籤用於把乙個裝置識別為乙個 pv

lvm標籤含:

① 對該裝置的隨機的唯一的識別符號(uuid)

② 指出塊裝置的大小(位元組)

③ 記錄 lvm 元資料的儲存位置

④ 裝置順序方面的資訊(因為在系統啟動時裝置可以是以任何順序出現)

lvm 元資料含有lvm 捲組的詳細配置資訊。預設情況下,乙個捲組的元資料被放置到該卷組中的每個 pv 的乙個特殊區域, 元資料很小,且以 ascii 格式儲存。

當前 lvm 允許在每個 pv 上儲存0,1,2 個元資料的拷貝,預設是1個。

一旦你配置在每個 pv 上儲存多少個元資料的拷貝後,你在後續就不能改動了。(也就是一旦 pv 加入 vg ,就不允許再修改了)

第乙個拷貝被放在裝置的起始位置,在 pv 標籤的後面。如果有第2份拷貝,則放在裝置的結束位置。

假如你不小心覆蓋了開始位置的資料,你可以使用結束位置的第2份來恢復

lvm 標籤放在第2個扇區,後面是 pv 所在捲組的元資料,然後就是可用空間。第乙個扇區可能是啟動扇區。

lvm 允許你用分割槽來做 pv ,而不是整個磁碟。但一般建議你把整個盤分成乙個分割槽。

原因:1、一是方便管理。而且如果乙個磁碟上有多個 pv 會導致核心在啟動時警告分割槽型別未知

2、條帶化效能。因為 lvm 並不能判斷兩個 pv 是否在同乙個磁碟上,如果你在這樣的 pv 上建立 striped 邏輯卷,將導致效能的下降。

當然、自己作測試機、一盤多區作pv是可以考慮的

在乙個 vg 中,磁碟空間被分成固定大小的單位,稱為 extent。我們通常稱之為「pe」。

pe是整個lvm最小的儲存單位,也就是說,其實我們的檔案資料都是由寫入pe來處理的。

簡單的說,pe就如oracle裡面的block。

lvm的重點在於可以彈性調整檔案系統的容量,實現這個便是通過交換pe來進行資料轉換,將原本lv內的pe移到其他裝置中以降低lv容量,

或將其他裝置的pe加到此lv中以擴大容量。

這個vg要擴充的話,加上其他的pv即可;而最重要的lv如果要擴充的話,也是通過加入vg內沒有使用到的pe來擴充的!

vg 被分成多個邏輯卷,有三種可選 :線性邏輯卷、條帶化邏輯卷、映象卷

乙個線性邏輯卷聚合多個 pv 稱為乙個邏輯卷。例如你有兩個 60gb 的磁碟,你可以建立乙個 120 gb 的邏輯卷。

兩個物理儲存裝置可以看成首位相接的。

建立乙個線性卷時,會按順序分配某個範圍的 pe 給 lv 用

用於建立 lv 的 pv 不需要相同的大小

你可以從可用的 pe 中建立多個線性邏輯卷,大小隨意

你可以通過建立乙個 striped 邏輯捲來控制資料如何寫入物理卷。對於大型的連續讀寫來說,這可以提高效能.

條帶化通過迴圈地把資料寫入預先定好數量的 pv 上來提高效能。通過條帶化,i/o 可以以並行的方式進行,在某些情況下,可以達到幾乎線性倍數的效能提高.

下面是乙個分布於三個 pv 上的條帶化邏輯卷,可以看到和 raid-0 是一樣的原理.

不同的是,raid-0 要求每個成員裝置大小相同,而 lvm 不要求這樣

在乙個條帶化的邏輯卷中,stripe 的大小不可以超過 pe 的大小

要擴充套件乙個 striped 邏輯卷不像擴充套件乙個 linear 邏輯卷那麼簡單,需要邏輯卷所在卷組有一定的自由空間以移動資料

例如你有乙個跨越兩個 pv 的 striped lv ,如果你想擴充套件它,必須「至少」增加2個 pv 才能實現條帶化邏輯卷的擴充套件

當乙個映象 lv 的一部分失效時(例如乙個 pv 失效),映象 lv 會變成乙個普通的線性 lv ,仍然可以被訪問

lvm 支援映象卷,當建立乙個映象邏輯卷時,lvm 確保寫進乙個底層 pv 的資料會被寫進另外乙個 pv

你可以用 lvm 建立乙個帶有多個映象的邏輯卷

乙個 lvm 映象裝置把源裝置分成乙個個區域,大小為 512 kb 。lvm 會維護乙個日誌,它用於跟蹤那個(些)區域是同步。`

這個日誌可以放在磁碟上,重啟也不會丟失,或者可以被讀入記憶體。

目前集群不支援映象卷

lvm 的快照功能允許你為乙個裝置在某個特定的時間點建立乙個「虛擬的」的映象,而不用中斷服務。

和映象邏輯卷一樣,lvm 的 snapshot 功能並不被集群所支援

在快照建立完成後,如果源裝置有改變,則會把被改變的區域做乙個拷貝,這樣日後可以用於重建裝置。

因為 snapshot 只拷貝在快照卷建立後被改變的資料區域,所以 snapshot 功能只需要很少的儲存空間。

例如在乙個很少更新的 lv 中,3-5%的空間就足夠用於維護快照卷了。

注意,snapshot 只是乙個虛擬的拷貝,不是實際的介質備份。snapshot 並不能取代普通的備份過程。

一旦快照捲滿了,就被解除安裝。這是為了確保原始檔系統有足夠的空間。你應該定時觀察快照卷的使用情況。 快照卷是可以調整大小的

當你建立乙個快照檔案系統時,原始檔系統還是可以讀寫的。假如快照的乙個 chunk 被改變,該 chunk 被打上標記,並不再從原來的卷中拷貝。

快照卷有如下用途 :

1、你可以在不用解除安裝原來的檔案系統或者停止應用的情況下對乙個 lv 進行備份

2、你可以對快照卷進行 fsck 再決定原來的檔案系統是否需要修復

3、因為快照卷是可讀寫的,你可以告訴應用程式對快照卷的資料進行測試,而不用動原來的資料

理解LVM(一) lvm入門介紹

lvm 邏輯卷的底層物理儲存單元是乙個塊裝置,例如分割槽或者磁碟。這個裝置被初始化為乙個物理卷 pv 要建立 lvm 邏輯卷,多個物理卷組成乙個捲組。這個大的儲存池就構成了 lv 的 然後邏輯卷再被檔案系統使用。集群化的 lvm clustered lvm,clvm 是 lvm 的乙個集群方面的擴充...

理解LVM(一) lvm入門介紹

lvm 邏輯卷的底層物理儲存單元是乙個塊裝置,例如分割槽或者磁碟。這個裝置被初始化為乙個物理卷 pv 要建立 lvm 邏輯卷,多個物理卷組成乙個捲組。這個大的儲存池就構成了 lv 的 然後邏輯卷再被檔案系統使用。集群化的 lvm clustered lvm,clvm 是 lvm 的乙個集群方面的擴充...

理解LVM(一) lvm入門介紹

lvm 邏輯卷的底層物理儲存單元是乙個塊裝置,例如分割槽或者磁碟。這個裝置被初始化為乙個物理卷 pv 要建立 lvm 邏輯卷,多個物理卷組成乙個捲組。這個大的儲存池就構成了 lv 的 然後邏輯卷再被檔案系統使用。集群化的 lvm clustered lvm,clvm 是 lvm 的乙個集群方面的擴充...