Linux磁碟管理之LVM磁碟操作指令怎麼使用
May 23, 2023 pm 01:58 PMLVM,Logical Volume Manger,是linux核心提供的一種邏輯磁碟區(qū)管理功能,由核心驅(qū)動(dòng)和應(yīng)用層工具組成,它是在硬碟的分區(qū)基礎(chǔ)上,創(chuàng)建了一個(gè)邏輯層,可以非常靈活且非常方便的管理儲(chǔ)存設(shè)備。
LVM利用Linux核心的device-mapper功能來實(shí)現(xiàn)儲(chǔ)存系統(tǒng)的虛擬化(系統(tǒng)分割區(qū)獨(dú)立於底層硬體)。透過LVM,可以實(shí)現(xiàn)儲(chǔ)存空間的抽象化並在上面建立虛擬分區(qū)(virtual partitions),可以更簡(jiǎn)便地?cái)U(kuò)大和縮小分區(qū),可以增刪分區(qū)時(shí)無需擔(dān)心某個(gè)硬碟上沒有足夠的連續(xù)空間,避免為正在使用的磁碟重新分割的麻煩、為調(diào)整分割區(qū)而不得不移動(dòng)其他分割區(qū)的不便,它相比傳統(tǒng)的分割系統(tǒng)可以更靈活地管理磁碟。
一、LVM的基本組成
1、實(shí)體磁碟區(qū)(PV,Physical Volume)
一個(gè)可供儲(chǔ)存LVM的區(qū)塊裝置. 如硬碟分割區(qū)(MBR或GPT分區(qū))、SAN 的硬碟、RAID 或LUN,一個(gè)回環(huán)檔案, 一個(gè)被核心映射的設(shè)備(例如dm-crypt),它包含一個(gè)特殊的LVM頭,它是LVM 建構(gòu)的實(shí)際硬體或儲(chǔ)存系統(tǒng)。
2、磁碟區(qū)組 (VG,Volume Group)
卷組是對(duì)一個(gè)或多個(gè)實(shí)體磁碟區(qū)的集合,並在裝置檔案系統(tǒng)中顯示為 /dev/VG_NAME。
3、邏輯磁碟區(qū)(LV,Logical Volume)
邏輯磁碟區(qū)是可供系統(tǒng)使用的最終元設(shè)備,它們?cè)诖诺鷧^(qū)組中建立和管理,由實(shí)體區(qū)塊組成,實(shí)際上就是一個(gè)虛擬分區(qū),並顯示為/dev/VG_NAME/LV_NAME,通常在其上可以建立檔案系統(tǒng)。
4、物理區(qū)塊(PE,Physical Extends)
如果一個(gè)邏輯磁碟區(qū)需要分配多個(gè)物理區(qū)塊,它們將會(huì)成為一個(gè)卷組中最小的連續(xù)區(qū)域(預(yù)設(shè)為4 MiB )。你可以把它看成物理卷的一部分,這部分可以被指派給一個(gè)邏輯磁碟區(qū)。
下面我畫了一張lvm在linux磁碟管理的位置圖:
?依序?yàn)椋篸isk -> partition -> PV - > VG -> LV -> fs,也即磁碟->分割->物理磁碟區(qū)->磁碟區(qū)->邏輯磁碟區(qū)->檔案系統(tǒng)。
其創(chuàng)建也是按照這個(gè)順序,以下會(huì)詳細(xì)介紹。
二、LVM的優(yōu)缺點(diǎn)
1、優(yōu)點(diǎn)
比起傳統(tǒng)的硬碟分割區(qū)管理方式,LVM更富於彈性:
將多塊硬碟視為一塊大硬碟
使用邏輯磁碟區(qū)(LV),可以建立跨越眾多硬碟空間的分割區(qū)。
可以建立小的邏輯磁碟區(qū)(LV),在空間不足時(shí)再動(dòng)態(tài)調(diào)整它的大小。
在調(diào)整邏輯磁碟區(qū)(LV)大小時(shí)可以不用考慮邏輯磁碟區(qū)在硬碟上的位置,不用擔(dān)心沒有可用的連續(xù)空間。
在線上進(jìn)行邏輯捲和卷組的建立、刪除、大小調(diào)整等操作是可行的。對(duì)於LVM上的檔案系統(tǒng),需要重新調(diào)整大小,但有些檔案系統(tǒng)(例如ext4)支援線上操作。
無需重新啟動(dòng)服務(wù),就可以將服務(wù)中使用的邏輯磁碟區(qū)(LV)在線上(online)/動(dòng)態(tài)(live)遷移到別的硬碟上。
允許建立快照,可以儲(chǔ)存檔案系統(tǒng)的備份,同時(shí)將服務(wù)的離線時(shí)間(downtime)降低到最小。
支援各種裝置映射目標(biāo)(device-mapper targets),包括透明檔案系統(tǒng)加密和快取常用資料(caching of frequently used data)。這將允許你建立一個(gè)包含一個(gè)或多個(gè)磁碟、並用LUKS加密的系統(tǒng),使用LVM on top 可輕鬆地管理和調(diào)整這些獨(dú)立的加密磁碟區(qū)(例如. /, /home, /backup等) 並免去開機(jī)時(shí)多次輸入密鑰的麻煩。
2、缺點(diǎn)
在系統(tǒng)設(shè)定時(shí)需要更複雜的額外步驟。
Windows系統(tǒng)不支援LVM,若使用雙系統(tǒng),你將無法在Windows上存取LVM分割區(qū)。
三、LVM的使用
1、建立分區(qū)(partition)
在配置lvm之前,必須對(duì)儲(chǔ)存設(shè)備進(jìn)行分區(qū),可以使用fdisk或parted工具進(jìn)行,建立分割區(qū)時(shí)注意分割區(qū)類型的設(shè)定(類型為linux lvm):
如果使用的是MBR,設(shè)定分割區(qū)類型要為8e。
如果使用的是GPT,設(shè)定分區(qū)類型要為E6D6D379-F507-44C2-A23C-238F2A3DF928。
我虛擬機(jī)器新加了個(gè)磁碟/dev/sdb,下面我們建立一個(gè)8G的分割區(qū):
以同樣的方式,再建立一個(gè)10G的linux lvm類型的分割區(qū):
2、物理卷(PV)相關(guān)操作
①、通過lvmdiskscan命令列出可被用作pv的設(shè)備
?注:如果系統(tǒng)引導(dǎo)程序不支持LVM,則/boot
不能置于LVM中。此刻必須創(chuàng)建一個(gè)獨(dú)立的/boot
分區(qū)并直接格式化后掛載到/boot。已知支持LVM的引導(dǎo)程序只有GRUB。
從上圖可以看到//dev/sda2已經(jīng)是PV了,所以只有dev/sda1、/dev/sdb1、/dev/sdb2可以用于創(chuàng)建PV,又因?yàn)?dev/sda1是boot引導(dǎo)區(qū),所以下面我們可以對(duì)/dev/sdb1、/dev/sdb2創(chuàng)建PV
②、使用pvcreate命令創(chuàng)建pv
root# pvcreate device1 device2 ...
③、查看當(dāng)前所有PV信息
可以通過pvs、pvscan、pvdisplay這三個(gè)命令查看pv信息
注意: 如果你用的是未格式化過且擦除塊(erase block)大小小于1M的SSD,請(qǐng)采用以下命令
pvcreate --dataalignment 1m /dev/sda
來設(shè)置對(duì)齊(alignment)。
3、卷組(VG)相關(guān)操作
①、創(chuàng)建卷組
使用命令vgcreate創(chuàng)建卷組
root# vgcreate vg_name pv1 pv2 ...
創(chuàng)建卷組vg_fedora_yg,并把pv /dev/sdb1加入該卷組。
②、查看卷組信息
此時(shí),也可以通過pvs查看各個(gè)物理卷所在的卷組:
4、邏輯卷(LV)相關(guān)操作
①、創(chuàng)建LV
使用lvcreate命令
root# lvcreate -L <lv_size> <vg_name> -n <lv_name> # 將卷組vg_name下所有剩余空間給創(chuàng)建的lv_name邏輯卷 root# lvcreate -l +100%FREE <vg_name> -n <lv_name>
root# lvcreate -L <lv_size> <vg_name> -n <lv_name>
該邏輯卷創(chuàng)建完后,你就可以通過/dev/mapper/vg_fedora_yg-lv_yg01
或/dev/vg_fedora_yg/lv_yg01
來訪問它:
②、查看lv
命令lvs、lvscan、lvdisplay查看
③、擴(kuò)容邏輯卷
通過命令lvextend:
root# lvextend -L <extend_size> <lv_path>
注意:如果擴(kuò)容的邏輯卷已經(jīng)掛載到具體文件系統(tǒng),則需要執(zhí)行resize2fs或者xfs_growfs(針對(duì)xfs文件系統(tǒng))命令使修改生效,可以通過df -Th或者blkid查看lv所掛載的文件系統(tǒng)類型。
5、格式化并掛載LV(邏輯卷)
上面邏輯卷LV創(chuàng)建之后,通常是已經(jīng)可以在/dev/mapper/或者/dev/vg_name/下面找到該邏輯卷了,如果找不到的話,可以執(zhí)行如下命令:
# modprobe dm-mod # vgscan # vgchange -ay
最后,可以看到如下:
①、格式化邏輯卷
現(xiàn)在可以在該邏輯卷上創(chuàng)建文件系統(tǒng):
# mkfs.<filesystem_type> /dev/mapper/<vg_name>-<lv_name> # # mkfs.xfs /dev/mapper/vg_fedora_yg-lv_yg01
②、掛載
# mount /dev/mapper/<vg_name>-<lv_name> <mount_point>
?注:掛載點(diǎn)請(qǐng)選擇你所新建的邏輯卷(例如:/dev/mapper/vg_fedora_yg-lv_yg01
),不要使用邏輯卷所在的實(shí)際分區(qū)設(shè)備(即不要使用:/dev/sdb1
)
?最后,我畫了一張圖,來展示linux lvm:
你可以對(duì)照上面內(nèi)容,理解下linux lvm的磁盤管理機(jī)制。
說明:
①、圖中/dev/sda1是boot引導(dǎo)區(qū),不能用lvm管理,所以直接格式化後掛載到目錄/boot下,另外/dev/sdb2也是沒有經(jīng)過lvm直接格式化後掛載到目錄的。
②、卷組vg_fedora1容量為139G,從其中分配出去了40 5 45=90G,還有49G空閒,這些空閒容量可以lvextend到下面的lv中;也可以再創(chuàng)建個(gè)lv,分配出去。
③、磁碟設(shè)定/dev/sdc還有50G空閒空間未分割區(qū),可以分割後使用。
以上是Linux磁碟管理之LVM磁碟操作指令怎麼使用的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

在CentOS上集成Postman應(yīng)用可以通過多種方法來實(shí)現(xiàn),以下是詳細(xì)的步驟和建議:通過下載安裝包安裝Postman下載Postman的Linux版本安裝包:訪問Postman官方網(wǎng)站,選擇適用於Linux的版本進(jìn)行下載。解壓安裝包:使用以下命令將安裝包解壓到指定目錄,例如/opt:sudotar-xzfpostman-linux-x64-xx.xx.xx.tar.gz-C/opt請(qǐng)注意將“postman-linux-x64-xx.xx.xx.tar.gz”替換為您實(shí)際下載的文件名。創(chuàng)建符號(hào)

【常見目錄說明】目錄/bin存放二進(jìn)制可執(zhí)行文件(ls,cat,mkdir等),常用命令一般都在這裡。 /etc存放系統(tǒng)管理和配置文件/home存放所有用戶文件的根目錄,是用戶主目錄的基點(diǎn),比如用戶user的主目錄就是/home/user,可以用~user表示/usr用於存放系統(tǒng)應(yīng)用程序,比較重要的目錄/usr/local?本地系統(tǒng)管理員軟件安裝目錄(安裝系統(tǒng)級(jí)的應(yīng)用)。這是最龐大的目錄,要用到的應(yīng)用程序和文件幾乎都在這個(gè)目錄。 /usr/x11r6?存放x?window的目錄/usr/bin?眾多

在PyCharm中設(shè)置解釋器的位置可以通過以下步驟實(shí)現(xiàn):1.打開PyCharm,點(diǎn)擊“File”菜單,選擇“Settings”或“Preferences”。 2.找到並點(diǎn)擊“Project:[你的項(xiàng)目名]”,然後選擇“PythonInterpreter”。 3.點(diǎn)擊“AddInterpreter”,選擇“SystemInterpreter”,瀏覽到Python安裝目錄,選中Python可執(zhí)行文件,點(diǎn)擊“OK”。設(shè)置解釋器時(shí)需注意路徑正確性、版本兼容性和虛擬環(huán)境的使用,以確保項(xiàng)目順利運(yùn)行。

Java與其他編程語言的主要區(qū)別在於其“一次編寫,到處運(yùn)行”的跨平臺(tái)特性。 1.Java的語法接近C ,但去掉了容易出錯(cuò)的指針操作,適合大型企業(yè)應(yīng)用。 2.與Python相比,Java在性能和大規(guī)模數(shù)據(jù)處理上更具優(yōu)勢(shì)。 Java的跨平臺(tái)優(yōu)勢(shì)源於Java虛擬機(jī)(JVM),它能在不同平臺(tái)上運(yùn)行相同的字節(jié)碼,簡(jiǎn)化開發(fā)和部署,但需注意避免使用平臺(tái)特定API以保持跨平臺(tái)性。

了解Nginx的配置文件路徑和初始設(shè)置非常重要,因?yàn)樗莾?yōu)化和管理Web服務(wù)器的第一步。 1)配置文件路徑通常是/etc/nginx/nginx.conf,使用nginx-t命令可以查找並測(cè)試語法。 2)初始設(shè)置包括全局設(shè)置(如user、worker_processes)和HTTP設(shè)置(如include、log_format),這些設(shè)置允許根據(jù)需求進(jìn)行定制和擴(kuò)展,錯(cuò)誤配置可能導(dǎo)致性能問題和安全漏洞。

MySQL的安裝和配置可以通過以下步驟完成:1.從官方網(wǎng)站下載適合操作系統(tǒng)的安裝包。 2.運(yùn)行安裝程序,選擇“開發(fā)者默認(rèn)”選項(xiàng)並設(shè)置root用戶密碼。 3.安裝後配置環(huán)境變量,確保MySQL的bin目錄在PATH中。 4.創(chuàng)建用戶時(shí)遵循最小權(quán)限原則並設(shè)置強(qiáng)密碼。 5.優(yōu)化性能時(shí)調(diào)整innodb_buffer_pool_size和max_connections參數(shù)。 6.定期備份數(shù)據(jù)庫並優(yōu)化查詢語句以提高性能。

Informix和MySQL均為廣受青睞的關(guān)係型數(shù)據(jù)庫管理系統(tǒng),它們?cè)贚inux環(huán)境下均表現(xiàn)優(yōu)異並得到廣泛應(yīng)用。以下是對(duì)兩者在Linux平臺(tái)上的對(duì)比分析:安裝與配置Informix:在Linux上部署Informix需要下載對(duì)應(yīng)的安裝文件,隨後依據(jù)官方文檔指引完成安裝及配置流程。 MySQL:MySQL的安裝過程較為簡(jiǎn)便,可通過系統(tǒng)的包管理工具(例如apt或yum)輕鬆實(shí)現(xiàn)安裝,並且網(wǎng)絡(luò)上有大量的教程和社區(qū)支持可供參考。性能表現(xiàn)Informix:Informix以卓越的性能和

參加VSCode線下技術(shù)交流活動(dòng)的經(jīng)驗(yàn)非常豐富,主要收穫包括插件開發(fā)的分享、實(shí)戰(zhàn)演示和與其他開發(fā)者的交流。 1.插件開發(fā)的分享:了解瞭如何利用VSCode的插件API提升開發(fā)效率,如自動(dòng)格式化和靜態(tài)分析插件。 2.實(shí)戰(zhàn)演示:學(xué)習(xí)瞭如何使用VSCode進(jìn)行遠(yuǎn)程開發(fā),認(rèn)識(shí)到其靈活性和擴(kuò)展性。 3.與開發(fā)者交流:獲取了優(yōu)化VSCode啟動(dòng)速度的技巧,如減少啟動(dòng)時(shí)加載的插件數(shù)量和管理插件加載順序??傊?,這次活動(dòng)讓我受益匪淺,強(qiáng)烈推薦對(duì)VSCode感興趣的人參加。
