魏培



摘要:近年來,隨著大數據業務的使用,系統在運行時會產生大量的數據信息與日志文件并保存在磁盤中。由于在系統規劃初期,對系統分區大小規劃預期不足,很難合理規劃磁盤空間,造成后期系統運行中經常出現系統分區磁盤不足的問題。當發生此類告警時,通常的分區很難動態調整大小,通常采用暫停業務,更換磁盤,數據備份與恢復的方式,該方式操作困難,程序復雜,有數據丟失的風險。在Linux系統里使用LVM(邏輯卷)技術,支持在線空間擴容,可以在用戶無感知的情況下擴展系統分區容量,達到合理利用磁盤空間的目的。本文介紹了LVM技術,并在Linux系統里將分區做成邏輯卷,達到合理利用磁盤空間的目的。
關鍵詞:LVM(邏輯卷);物理卷(PV);卷組(VG);邏輯卷(LV);擴容
中圖分類號:TP391? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)09-0043-03
開放科學(資源服務)標識碼(OSID):
Research on System Expansion Technology Based on LVM
WEI Pei
(AHCERT,Hefei 230041,China)
Abstract: In recent years, with the use of big data business, a large number of data information and files will be generated and saved in the disk when the system is running. In the early stage of system planning, the expected size of the system partition planning is insufficient, and it is difficult to plan the disk space reasonably, resulting in the frequent shortage of the system partition disk in the later stage of system operation. When the disk capability alarm occurs, the usual partition is difficult to dynamically resize, usually by suspending business, replacing disk, data backup and recovery, which is difficult to operate, complex program, and has the risk of data loss. LVM (logical volume) technology is used in Linux system to support online space expansion, and the system partition capacity can be expanded without user awareness, so as to achieve the purpose of reasonable utilization of disk space. This paper introduces LVM technology, and makes partitions into logical volumes in Linux system, so as to make reasonable use of disk space.
Key words: LVM (logical volume);Physical volume(PV);Volume group (VG);Logical volume (LV);expansion
1 背景
目前Linux系統在正常運行中經常出現兩個亟待解決的問題,一是某些系統分區利用率隨著系統運行增長很快常達到90%多,需要人工清除歷史文件或者遷移數據達到磁盤正常使用、業務正常運行的目的,二是在系統的運行中某些分區的數據量變化不大、分區利用率相對穩定,如果在系統規劃時預留了較大的空間,這時這些空間不易劃分給急需空間的分區使用,造成資源分配不均,磁盤空間浪費的現象。由此可見,找到系統在線運行時合理利用、調配磁盤資源的方法是亟待解決的問題。LVM技術的使用,尤其結合網絡掛載的方式的使用可以很好地解決合理利用磁盤空間的目的。
2 關鍵技術介紹
2.1 LVM技術
LVM技術是目前比較成熟的磁盤分區管理技術,用于Linux系統中。它的設計理念是將服務器內的物理存儲介質(大多為本地硬盤,或者是通過網絡掛載的形式掛載到本地的存儲介質)通過一定的操作做成可以為邏輯卷使用的零部件,這些零部件成為物理卷(LV);然后將這些一個個零散的零部件通過一定的操作做成一個大的資源池,這個資源池稱為卷組(VG),卷組就像網絡系統里的網絡資源池一樣可以供用使用者按需索取資源;最后是按需向卷組索取空間做成邏輯卷(LV)。邏輯卷做成僅相當于普通分區里將硬盤做好了分區,后續是根據需要確定使用的文件系統類型進行格式化,不同的文件系統需要用不同的格式化命令。Linux系統常用文件格有ext3,ext4,xfs。最后建立掛載點,將該邏輯卷寫入掛載文件,就可以使用了。
具體如圖2。
2.2 LVM技術的優勢
對于小型系統而言,通常的方式是基于分區建立文件系統,一個分區對應一個文件系統。這種通常的做法比較直觀,分區之間相對獨立存在,無相互聯系,分區大小固定,當出現某些分區空間不足時只能把分區中的數據拷貝至其他更大的分區中;或是采用重新分區然后建立文件系統的方式;或采用符號連接的方式使用其他分區的空間。如果要把硬盤上的多個分區合并在一起使用,只能采用重新分區的方式,這樣還會涉及數據的備份與恢復。由此可見基于分區建立的文件系統不易擴充,分區之間不能相互補給調和,不能靈活改變,磁盤空間不能充分合理利用,一旦涉及數據遷移業務需要中斷,割接過程煩瑣數據丟失風險較大;當采用LVM技術時,硬盤的多個分區由LVM統一為卷組管理,物理卷的大小和個數可以根據需要靈活設置和移除,卷組的容量也可以根據需要擴大和縮小,邏輯卷的大小可以由卷組創建獲得其容量也可以根據需要臨時擴容,這樣方便了磁盤空間管理,達到了磁盤空間合理使用的目的。
對于使用很多硬盤的大系統中, LVM技術的應用可以增加了系統的擴展性。在一個有很多不同容量硬盤的大型系統中,對不同的用戶的空間合理分配具有不可預見性。初期可以將用戶或用戶組的空間建立在LVM上,這樣后期可以根據不同業務需要隨時對各邏輯卷進行調整。當系統空間不足而加入新的硬盤時,只需把新的分區加入卷組并擴充邏輯卷即可。同樣,使用LVM可以在不停服務的情況下。把用戶數據從舊硬盤轉移到新硬盤空間中去。
3 實際應用
在實際生產環境中,目前常用的是普通分區。其缺點是容量相對固定,后期難以更改,容易造成部分使用率大的分區達到容量預警甚至分區利用率達到90%以上;另外部分系統分區里的文件內容相對增長不大,造成磁盤空間浪費,為解決該問題。以實際生產環境的一臺Linux6.5系統的服務器為例,進行系統的文件系統改造。
鑒于生產環境中該類設備一般使用年限較長,為了徹底解決該情況,使用替換設備且使用LVM的方式裝系統,除了/boot分區(/boot分區含有系統啟動文件,該分區較為特殊通常采用普通分區),其余的分區均采用邏輯卷的方式,初步將/home,/,swap分區都用邏輯卷的方式分出。具體過程部分如圖3-4。完成后可以進入系統使用pvs,vgs,lvs查看如圖5。
這樣,邏輯卷就可以正常工作了。這個過程是在初裝系統時采用邏輯卷的分區,也可以在系統裝好后,對部分分區采用邏輯卷的形式,即將硬盤的某個分區或將整個硬盤作為做成物理卷的原材料,按照步諏做成PV、VG、LV,再格式化掛載至掛載點,實現部分文件系統的邏輯卷化。總之,邏輯卷技術靈活易用。當需要對系統文件的擴容操作,具體操作步驟(以ext文件系統為例)如圖6。
該過程實施時需要看PV的大小是否滿足要求,如果沒有足夠的PV可以臨時將沒有劃分完的磁盤做出新分區,也可以啟用設備里富余的硬盤,還可以通過網絡掛載的方式從網絡中掛載存儲資源。這種擴容操作對用戶無感知,在實際生產中減少了割接流程和風險,對保護用戶數據、減少數據遷移帶來的風險具有很好的效用。當文件系統需要較少容量時,LVM技術也可以實現,只是需要先將邏輯卷卸載,再做相應的邏輯卷縮減操作,這種做法雖然在實際操作中有些風險,但是可以實現,在實際生產中也是一種合理利用分區、管理分區的方法。
4 展望
本文運用了LVM技術,實現了對Linux服務器在線文件系統擴容,對磁盤空間的在線擴容、文件系統靈活管理具有重要的意義。在后續的系統運行中,通過擴容為本單位的數十臺服務器進行了系統分區LVM優化,減少了因磁盤空間分布不均帶來的資源浪費,節省了維護資金預算,提高了系統維護效率。本例中組成邏輯卷的磁盤均為本地磁盤,后期可以與網絡掛載技術(如iscsi存儲掛載,nas網絡掛載)相結合,實現將本地的文件系統延伸至網絡中。目前ansible 自動運維技術隨著Linux 8版本的普及正在得到推廣與實施,可以經過腳本實施批量的設備擴容。LVM還可以與RAID(redundant Arrays of Independent Disk)技術相結合既可以達到容錯的目的又可以使系統在線擴容,相信LVM技術可以普遍應用可以在復雜的生產環境中,給文件系統擴容、系統容災、數據恢復、數據備份等工作需求帶來更多的便利。
參考文獻:
[1] 王鋒.基于LVM的連續數據保護系統的設計與實現[D].天津:南開大學,2008.
[2] 張天亮,劉小斌,于由美,等.Linux系統下LVM邏輯卷損壞后的數據恢復[J].中國管理信息化,2020,23(21):149-150.
[3] 馮冬艷.一種基于LVM快照的數據庫完全備份方式[J].機械工程與自動化,2020(1):225-226.
【通聯編輯:李雅琪】