邏輯卷(LVM)管理

LVM

LVM 邏輯卷管理器(實現(xiàn)一個可以彈性調(diào)整容量的文件系統(tǒng)客情,而不是著眼于效能與安全桨仿。)

PV(Physical Volume): 物理卷

我們實際的分區(qū)(partitiono)或磁盤(disk)需要調(diào)整系統(tǒng)標(biāo)識符(systemID)為8e(LVM的標(biāo)識符),然后再經(jīng)過pvcreate的指令將它轉(zhuǎn)成LVM最底層的物理卷(PV)

相關(guān)名詞
VG(Volume Group) 卷組--就是LVM組合起來的大磁盤摆霉,最多包含65534個PE
LV(Logic Volume) 邏輯卷椰棘,其名稱通常為/dev/vgname/lvname,數(shù)據(jù)寫入LV有兩種模式:線性(一個partition寫完再寫另一個)飘弧,交錯(就像raid0)
PE(Physical Extent) 物理范圍塊(預(yù)設(shè)為4MB,是LV的最小儲存區(qū)塊)
LV(邏輯卷) 在32位系統(tǒng)上最多僅能含有65534個PE(物理范圍塊),因此預(yù)設(shè)的LVM的LV會有256G

各命令使用與創(chuàng)建流程

流程如下:
1.分區(qū)或磁盤 -->(fdisk修改前者的SystemID為8e) -->(pvcreate命令)-->2.PV物理卷
    各階段的相關(guān)命令:

    PV階段:pv名稱就是分區(qū)名或磁盤名如 /dev/sdb2
        fdisk /path/to/partition:修改分區(qū)或磁盤的SystemID為8e
        pvscan: 搜尋目前系統(tǒng)里面任何具有PV的磁盤
        pvcreate /path/to/partition: 將實體分區(qū)或磁盤創(chuàng)建成為PV
            pvdisplay [/path/to/partition]: 顯示目前系統(tǒng)上面的PV狀態(tài)
        pvmove: 將指定pv里的已經(jīng)被分配的PE移到其它的pv里
                        例如:pvmove /dev/sdc1 /dev/scb1
        pvremove : 將PV屬性(擦除元數(shù)據(jù))移除,讓該partition不具有PV屬性.
                                    
    VG階段:
        vgcreate: 就是主要建立VG的指令
        用法格式: vgcreate [-s Num[bBsSkKmMgGtTpPeE]] VG名 PV名
            -s, --physicalextentsize : 后面接PE的大小(size),單位可以是m,g,t(大小寫均可)不寫的話默認(rèn)為4M
            例: vgcreate -s 16M uangianlap_VG /dev/sdb{1,2,3}
        vgscan: 搜尋系統(tǒng)上面是否有VG存在?
        vgdisplay VG名: 顯示目前系統(tǒng)上面的VG狀態(tài)
        vgextend VG名 增加的PV名: 在VG內(nèi)增加額外的PV  
            例如:vgextend vbirdvg /dev/sdc1    這里VG在創(chuàng)建的時候指定PE的大小了,所以這里不用再指定砚著。
            
        vgreduce VG名 pv名: 在VG內(nèi)移除PV
        vgchange: 設(shè)定VG是否啟動(active)
        vgremove VG名: 刪除一個VG
            vgrename 
                
    LV階段:
        lvcreate: 建立LV
        用法格式:lvcreate [-L NUM[mgt]] [-n LV名] VG名
                -L|--size: 邏輯卷的大小(必須為PE(創(chuàng)建VG時指定)的倍數(shù)) LogicalVolumeSize[b|B|s|S|k|K|m|M|g|G|t|T|p|P|e|E]
                -l: 后面可以接PE的個數(shù),
                -n,--name: 接邏輯卷名
                -T|--thin: 創(chuàng)建一個Thin Pool
        lvscan: 查詢系統(tǒng)上面的LV
        lvdisplay: 顯示系統(tǒng)上面的LV狀態(tài)
        lvextend : 擴(kuò)展LV里面容量(擴(kuò)展的其實是物理邊界大小,需要運(yùn)行resize2fs命令,如resize2fs -p /dev/myvg/testlv 進(jìn)行邏輯大小的調(diào)整)
            用法格式: lvextend -L [+]size  LogicalVolumePath [PhysicalVolumePath](沒有+號則指定最終大小為size)
                    -L, --size=[bBsSkKmMgGtTpPeE]: 
        resize2fs(針對ext系文件系統(tǒng)): 例如,resize2fs /PATH/TO/PV 3G 其調(diào)整的是邏輯邊界大小
        lvreduce  LV名: 在LV里面減少容量
            用法格式: lvreduce [-]LogicalVolumeSize[bBsSkKmMg-GtTpPeE]}
        lvremove LV名... : 刪除一個LV                
        lvresize: 對LV進(jìn)行容量大小的調(diào)整.

擴(kuò)展LV:不需要卸載文件系統(tǒng)

    1.lvextend -L 5G /dev/myvg/testlv    (需要確定VG里有相應(yīng)的未分配容量可用)
    2.resize2fs -p /dev/myvg/testlv 

縮減LV:

    1.取消LV掛載 umount /mnt/lv0 
    2.e2fsck -f /dev/vg0/lv0   (在 縮減之前應(yīng)該先強(qiáng)行檢查文件,以確保文件系統(tǒng)處于移植性狀態(tài))
    3.resize2fs /dev/vg0/lv0 10G(并確贝瘟妫縮減到的大小能可存儲原有的數(shù)據(jù).)
    4.lvreduce -L 10G /dev/vg0/lv0
    5.mount -a

快照卷

1.其生命周期為整個數(shù)據(jù)時長:在這段時長內(nèi),數(shù)據(jù)的增長量不能走出快照卷大小
2.快照卷應(yīng)該是只讀的

  1. 跟原卷在同一卷組內(nèi)
    創(chuàng)建格式: lvcreate -L # -n SLV_NAME -s -p r /PATH/TO/LV
    移除快照卷: lvremove /dev/myvg/testlv-snap

lvresize

例如:lvresize -L +500M /dev/vbirdvg/vbirdlv   (前提是LV所在的VG里至少有500M的空閑容量(vgdisplay VG名 查看))
            xfs_info /srv/lvm:
            xfs_growfs /srv/lvm: 將lvm變更后的容量同步更新到掛載點(這里因為vbirdlv寫入的文件系統(tǒng)是xfs所以才用此命令)
            
            resize2fs: 
                用法:resize2fs [-f] [device] [size]
                例如:resize2fs /dev/vbirdvg/vbirdlv

邏輯卷實例操作:

            1.劃分4個分區(qū),如/dev/sdb{1..4},每個分區(qū)為1G稽穆,設(shè)置system ID為8e
            2.pvcreate /dev/sdb{1..4} 分別創(chuàng)建4個PV冠王,其名稱與partition一樣。
            3.pvscan 或 pvdisplay檢查一下是否執(zhí)行成功
            4.vgcreate -s 16M vbirdvg /dev/sdb{1..4}     創(chuàng)建VG 舌镶,另外意到這里vg名可以任意指定
                                                                                  -s 自定義每個PE的大小為16M
            5.vgscan 或 vgdisplay 檢查
            6.lvcreate -l 200 -n vbirdlv vbirdvg                創(chuàng)建LV,  -l參數(shù)指定PE個數(shù)柱彻, 最后一個參數(shù)是VG名
            7. ls -l /dev/vbirdvg/vbirdlv;  lvdisplay      檢查LV是否創(chuàng)建成功,注意LV的名稱。
            8. mkfs -t ext4 /dev/vbirdvg/vbirdlv         給創(chuàng)建的LV創(chuàng)建文件系統(tǒng)(格式化)
            9. mkdir /mnt/lvm 創(chuàng)建掛載目錄
            10. mount /dev/vbirdvg/vbirdlv /mnt/lvm       掛載LV設(shè)備文件
            11.如何擴(kuò)展LV的容量--> vgextend vbirdvg /dev/sdc1 -->在VG里添加一個PV
            12.lvresize -l +100 /dev/vbirdvg/vbirdlv   -->注意這里的+號不能少餐胀,不然的話將是設(shè)定lv的PE總數(shù)為100個的意思哟楷。
                                                          而且這里對lv大小作調(diào)整的同時并不需要解除其掛載關(guān)系。
            13.到了這一步我們的LV里應(yīng)該已經(jīng)有了300個PE即4.68G的大小否灾,但是執(zhí)行df -Th /mnt/lvm時卻只看到還是上一次200個                                                       
               的200個PE卖擅,但是lvdisplay時卻是增加了的。所以這里還是要使用resize2fs(只對ext系的文件系統(tǒng)有效)處理一下。
            14.執(zhí)行命令: resize2fs /dev/vbirdvg/vbirdlv   
            15.第11步是擴(kuò)展LV容量惩阶,那么要縮小該如何設(shè)置呢挎狸? 先解掛載umont /mnt/lvm 
                2.e2fsck -f /dev/vg0/lv0
                3.resize2fs /dev/vg0/lv0 10G
                4.lvreduce -L 10G /dev/vg0/lv0
                5.mount -a
                例如:lvresize -L +500M /dev/vbirdvg/vbirdlv  
                (前提是LV所在的VG里至少有500M的空閑容量(vgdisplay VG名 查看))
            注:如果pv還有空閑也可以刪除一個pv,具體步驟如下:
                1.pvscan 看看沒有被分配給lv的容量有沒有至少任意一個pv那么大
                2.如果1成立的話断楷,則可以用pvmove命令將指定一個或多個pv中
                3.在VG中刪除pv中分配pe為0的pv
                4.執(zhí)行pvremove移除前兩步指定的pv
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末锨匆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子冬筒,更是在濱河造成了極大的恐慌恐锣,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件账千,死亡現(xiàn)場離奇詭異侥蒙,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)匀奏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評論 3 385
  • 文/潘曉璐 我一進(jìn)店門鞭衩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人娃善,你說我怎么就攤上這事论衍。” “怎么了聚磺?”我有些...
    開封第一講書人閱讀 157,790評論 0 348
  • 文/不壞的土叔 我叫張陵坯台,是天一觀的道長。 經(jīng)常有香客問我瘫寝,道長蜒蕾,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評論 1 284
  • 正文 為了忘掉前任焕阿,我火速辦了婚禮咪啡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘暮屡。我一直安慰自己撤摸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,718評論 6 386
  • 文/花漫 我一把揭開白布褒纲。 她就那樣靜靜地躺著准夷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪莺掠。 梳的紋絲不亂的頭發(fā)上衫嵌,一...
    開封第一講書人閱讀 49,906評論 1 290
  • 那天,我揣著相機(jī)與錄音彻秆,去河邊找鬼渐扮。 笑死论悴,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的墓律。 我是一名探鬼主播膀估,決...
    沈念sama閱讀 39,053評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耻讽!你這毒婦竟也來了察纯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評論 0 268
  • 序言:老撾萬榮一對情侶失蹤针肥,失蹤者是張志新(化名)和其女友劉穎饼记,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慰枕,經(jīng)...
    沈念sama閱讀 44,250評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡具则,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,570評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了具帮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片博肋。...
    茶點故事閱讀 38,711評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蜂厅,靈堂內(nèi)的尸體忽然破棺而出匪凡,到底是詐尸還是另有隱情,我是刑警寧澤掘猿,帶...
    沈念sama閱讀 34,388評論 4 332
  • 正文 年R本政府宣布病游,位于F島的核電站,受9級特大地震影響稠通,放射性物質(zhì)發(fā)生泄漏衬衬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,018評論 3 316
  • 文/蒙蒙 一改橘、第九天 我趴在偏房一處隱蔽的房頂上張望滋尉。 院中可真熱鬧,春花似錦唧龄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至懒叛,卻和暖如春丸冕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背薛窥。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評論 1 266
  • 我被黑心中介騙來泰國打工胖烛, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留眼姐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,461評論 2 360
  • 正文 我出身青樓佩番,卻偏偏與公主長得像众旗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子趟畏,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,595評論 2 350

推薦閱讀更多精彩內(nèi)容