1. 程式人生 > >Device mapper存儲方式

Device mapper存儲方式

enter sda 空間 淺談 超過 linu app gic 通過

Linux系統的一般的文件系統名稱類似於/dev/sda1或/dev/hda1,但是今天在進行系統維護的時候,利用df -h 命令敲出了/dev/mapper/VolGroup-lv_root和/dev/mapper/Volume-lv_home兩個文件系統名,不解,在網上查找資料後,在此淺談/dev/mapper目錄。

一、理解Linux系統的Device mapper機制

Device mapper是Linux2.6內核中提供的一種從邏輯設備到物理設備的映射機制,在該機制下,用戶能夠很方便的根據自己的需要實現對存儲資源的管理。在具體管理時需要用到Linux下的邏輯卷管理器,當前比較流行的邏輯卷管理器有 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等。

想要詳細了解Device mapper機制,可參考博文 http://blog.sina.com.cn/s/blog_6237dcca0100hnwb.html ,此處不再贅述。

二、/dev/mapper目錄的解釋

為了方便敘述,假設一臺服務器有三塊硬盤分別為a,b,c,每塊硬盤的容量為1T。在安裝Linux的時候,先根據系統及自身的需要建立基本的分區,假設對硬盤a進行了分區,分出去了0.1T的空間掛載在/boot目錄下,其他硬盤未進行分區。系統利用Device mapper機制建立了一個卷組(volume group,VG),你可以把VG當做一個資源池來看待,最後在VG上面再創建邏輯卷(logical volume,LV)。若要將硬盤a的剩余空間、硬盤b和硬盤c都加入到VG中,則硬盤a的剩余空間首先會被系統建立為一個物理卷(physical volume,PV),並且這個物理卷的大小就是0.9T,之後硬盤a的剩余的空間、硬盤b和硬盤c以PV的身份加入到VG這個資源池中,然後你需要多大的空間,就可以從VG中劃出多大的空間(當然最大不能超過VG的容量)。比如此時池中的空間就是2.9T,此時你就可以建立一個1T以上的空間出來,而不像以前最大的容量空間只能為1T。

/dev/mapper/Volume-lv_root的意思是說你有一個VG (volume group卷組)叫作Volume, 這個Volume裏面有一個LV叫作lv_root。其實這個/dev/mapper/Volume-lv_root文件是一個連接文件,是連接到/dev/dm-0的,你可以用命令ll /dev/mapper/Volume-lv_root進行查看。

其實在系統裏/dev/Volume/lv_root 和 /dev/mapper/Volume-lv_root以及/dev/dm-0都是一個東西,都可當作一個分區來對待。

若要了解硬盤的具體情況,可通過fdisk或者pvdisplay命令進行查看。

若你想要重裝系統到/dev/sda下,且安裝時有些東西不想被格式化想轉移到/dev/sdb下,但此時/dev/sda和/dev/sdb被放到VG中了,那該如何解決該問題呢?這種情況下,由於此時根本沒辦法確定數據在哪一個硬盤上,因為這兩個硬盤就如同加到池裏,被Device mapper管理,所以解決方案就是再建個邏輯卷出來,把數據移到新的卷裏,這樣你就可以重裝系統時只刪掉之前分區裏的東西,而新的卷裏的東西不動,就不會丟失了

Device mapper存儲方式