Linux?LVM邏輯卷相關(guān)管理方式
一、LVM概述
LVM是Linux系統(tǒng)中對磁盤分區(qū)進(jìn)行管理的一種邏輯機(jī)制,它是建立在硬盤和分區(qū)之上,文件系統(tǒng)之下的一個(gè)邏輯層,在建立文件系統(tǒng)時(shí)屏蔽了下層的磁盤分區(qū)布局,能夠在保持現(xiàn)有數(shù)據(jù)不變的情況下動(dòng)態(tài)調(diào)整磁盤容量,從而提高磁盤管理的靈活性。
需要注意的是,“/boot”分區(qū)不能基于LVM創(chuàng)建,必須獨(dú)立出來。
1.1 PV(PhysicalVolume,物理卷)
物理卷是LVM機(jī)制的基本存儲(chǔ)設(shè)備,通常對應(yīng)一個(gè)普通分區(qū)或整個(gè)硬盤。創(chuàng)建物理卷時(shí),會(huì)在分區(qū)或硬盤的頭部創(chuàng)建一個(gè)保留區(qū)塊,用于記錄LVM的屬性,并把存儲(chǔ)空間分割成默認(rèn)大小為4MB的基本單元(Physical Extent,PE),從而構(gòu)成物理卷,物理卷一般直接使用設(shè)備文件名稱,如/dev/sdb1、/dev/sdb2、/dev/sdd等。
對用于轉(zhuǎn)換成物理卷的普通分區(qū),建議先使用fdisk工具將分區(qū)類型的ID標(biāo)記號改為“8e”。若是整塊硬盤,可以將所有磁盤空間劃分為一個(gè)主分區(qū)后再做相應(yīng)調(diào)整。
1.2 VG(VolumeGroup,卷組)
由一個(gè)或多個(gè)物理卷組成一個(gè)整體,即稱為卷組,在卷組中可以動(dòng)態(tài)地添加或移除物理卷,許多個(gè)物理卷可以分別組成不同的卷組,卷組的名稱由用戶自行定義。
1.3 LV(LogicalVolume,邏輯卷)
邏輯卷建立在卷組之上,與物理卷沒有直接關(guān)系。對于邏輯卷來說,每一個(gè)卷組就是一個(gè)整體,從這個(gè)整體中“切出”一小塊空間,作為用戶創(chuàng)建文件系統(tǒng)的基礎(chǔ),這一小塊空間就稱為邏輯卷。使用mkfs等工具在邏輯卷上創(chuàng)建文件系統(tǒng)之后,就可以掛載到Linux系統(tǒng)中的目錄下使用。
通過上述對物理卷、卷組、邏輯卷的解釋可以看出,建立LVM分區(qū)管理機(jī)制的過程:首先將普通分區(qū)或整個(gè)硬盤創(chuàng)建為物理卷;接下來,將物理上比較分散的各物理卷的存儲(chǔ)空間組成一個(gè)邏輯整體,即卷組;最后,基于卷組這個(gè)整體,分割出不同的數(shù)據(jù)存儲(chǔ)空間,形成邏輯卷。邏輯卷才是最終用戶可以格式化并掛載使用的存儲(chǔ)單位。
二、LVM的管理命令
2.1 PV物理卷管理
2.1.1 pvscan
功能描述:使用pvscan命令可以掃描系統(tǒng)中所有的硬盤,列出找到的物理卷。
1.列出所有物理卷
[root@rhel ~]# pvscan PV/dev/sda5 lvm2[100.00 GiB] PV/dev/sda6 lvm2[100.01 GiB] Total:2[200.01 GiB]/in use:0[0 ]/in no VG:2[200.01 GiB]
2.1.2 pvcreate
功能描述:使用pvcreate命令可以將物理磁盤分區(qū)初始化創(chuàng)建為物理卷。
1.創(chuàng)建物理卷/dev/sda5和/dev/sda6
[root@rhel ~]# pvcreate /dev/sda5 /dev/sda6 Physical volume "/dev/sda5" successfully created Physical volume "/dev/sda6" successfully created
2.1.3 pvdisplay
功能描述:使用pvdisplay命令可以顯示物理卷的相關(guān)屬性,比如物理卷的名稱、大小、PE大小及UUD等信息。
1.顯示物理卷屬性
[root@rhel ~]# pvdisplay ''/dev/sda5'' is a new physical volume of ''100.00 GiB'' --- NEW Physical volume --- PV Name /dev/sda5 VG Name PV Size 100.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID n4I6I5-pr0w-ZTrx-tA9b-YxC1-CHKV-FLhj3f ''/dev/sda6'' is a new physical volume of ''100.01 GiB'' --- NEW Physical volume --- PV Name /dev/sda6 VG Name PV Size 100.01GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID jCHf48-OTup-Fiox-ezUv-Zi7P-ZD5N-1vZykb
2.1.4 pvremove
功能描述:使用pvremove命令可以刪除指定的物理卷。
1.刪除物理卷/dev/sda5、/dev/sda6和/dev/sda7
[root@rhel ~]# pvremove /dev/sda5 /dev/sda6 /dev/sda7 Labels on physical volume ''/dev/sda5'' successfully wiped Labels on physical volume ''/dev/sda6'' successfully wiped Labels on physical volume ''/dev/sda7'' successfully wiped
2.1.5 pvchange
功能描述:使用pvchange命令可以更改一個(gè)或多個(gè)物理卷的屬性,比如分配權(quán)限。
1.禁用物理卷/dev/sda5上的物理盤區(qū)的分配
[root@rhel ~]# pvchange -x n /dev/sda5 Physical volume ''/dev/sda5'' changed 1 physical volume changed / 0 physical volumes not changed
2.禁用所有物理卷上的物理盤區(qū)的分配
[root@rhel ~]# pvchange -x n -a WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it! connect() failed on local socket: 沒有那個(gè)文件或目錄 Internal cluster locking initialisation failed. WARNING: Falling back to local file-based locking. Volume Groups with the clustered attribute will be inaccessible. Physical volume ''/dev/sda7'' changed Physical volume ''/dev/sda5'' changed Physical volume ''/dev/sda6'' changed 3 physical volumes changed / 0 physical volumes not changed
2.1.6 pvresize
功能描述:使用pvresize命令可以調(diào)整一個(gè)卷組中的物理卷的大小。
1.調(diào)整物理卷/dev/sda5的大小為磁盤分區(qū)的最大值
[root@rhel ~]# pvresize /dev/sda5 Physical volume ''/dev/sda5'' changed 1 physical volume(s) resized / 0 physical volume(s) not resized
2.調(diào)整物理卷/dev/sda5的大小為40GB
[root@rhel ~]# pvresize --setphysicalvolumesize 40G /dev/sda5 Physical volume ''/dev/sda5'' changed 1 physical volume(s) resized / 0 physical volume(s) not resized
2.1.7 pvs
功能描述:使用pvs命令可以輸出有關(guān)物理卷的報(bào)告信息。
1.顯示物理卷的報(bào)告信息
[root@rhel ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda5 vg1 lvm2 a-- 100.00g 0 /dev/sda6 vg1 lvm2 a-- 100.00g 0 /dev/sda7 vg1 lvm2 a-- 100.00g 50.01g
2.顯示物理卷/dev/sda5的報(bào)告信息
[root@rhel ~]# pvs /dev/sda5 PV VG Fmt Attr PSize PFree /dev/sda5 vg1 lvm2 a-- 100.00g 0
2.2 VG卷組管理
2.2.1 vgscan
功能描述:使用vgscan命令可以查找所有的卷組。
1.列出所有卷組
[root@rhel ~]# vgscan Reading all physical volumes. This may take a while... Found volume group ''vg1'' using metadata type lvm2
2.2.2 vgcreate
功能描述:使用vgcreate命令可以創(chuàng)建卷組。
1.創(chuàng)建卷組vg1,其成員為/dev/sda5和/dev/sda6物理卷
[root@rhel ~]# vgcreate vg1 /dev/sda5 /dev/sda6 Volume group ''vg1'' successfully created
2.2.3 vgextend
功能描述:使用vgextend命令可以動(dòng)態(tài)擴(kuò)展卷組,它通過向卷組中添加物理卷來增加卷組的容量。
1.在卷組vg1中添加/dev/sda6物理卷
[root@rhel ~]# vgextend vg1 /dev/sda6 Volume group ''vg1'' successfully extended
2.2.4 vgreduce
功能描述:使用vgreduce命令可以從卷組中移除物理卷,但是卷組中剩余的最后一個(gè)物理卷是不能移除的。
1.從卷組vg1中移除物理卷/dev/sda6
[root@rhel ~]# vgreduce vg1 /dev/sda6 Removed ''/dev/sda6'' from volume group ''vg1''
2.2.5 vgdisplay
功能描述:使用vgdisplay命令可以顯示卷組的相關(guān)屬性,比如卷組大小、狀態(tài)、UUID、物理卷最大數(shù)量和邏輯卷最大數(shù)量等信息。如果不指定卷組名稱,那么顯示所有卷組的屬性。
1.顯示卷組屬性
[root@rhel ~]# vgdisplay --- Volume group --- VG Name vg1 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 2 Act PV 2 VG Size 200.00 GiB PE Size 4.00 MiB Total PE 51201 Alloc PE/Size 0/0 Free PE/Size 51201/200.00 GiB VG UUID 4woSab-ZIKC-cfUW-l23z-s8Oq-01z0-JbBJjE
2.2.6 vgchange
功能描述:使用vgchange命令可以更改卷組的屬性,比如設(shè)置卷組的活動(dòng)狀態(tài)。處于活動(dòng)狀態(tài)的卷組是沒辦法被刪除的,必須先將卷組設(shè)置為非活動(dòng)狀態(tài)后才能刪除。
1.將卷組vg1設(shè)置為非活動(dòng)狀態(tài)
[root@rhel ~]# vgchange -a n vg1 0 logical volume(s) in volume group ''vg1'' now active
2.2.7 vgremove
功能描述:使用vgremove命令可以刪除指定的卷組。當(dāng)需要?jiǎng)h除的卷組上已經(jīng)創(chuàng)建了邏輯卷時(shí),需要進(jìn)行確認(rèn)刪除,防止誤刪除數(shù)據(jù)。
1.刪除卷組vg1
[root@rhel ~]# vgremove /dev/vg1 Volume group “vg1” successfully removed
2.2.8 vgs
功能描述:使用vgs命令可以報(bào)告關(guān)于卷組的信息。
1.報(bào)告卷組vg1的信息
[root@rhel ~]# vgs vg1 vgs vg1 VG #PV #LV #SN Attr VSize VFree vg1 3 1 0 wz--n- 300.01g 50.01g
2.2.9 vgsplit
功能描述:使用vgsplit命令可以從源卷組中移動(dòng)一個(gè)或多個(gè)物理卷到目標(biāo)卷組。
1.將卷組vg1拆分為兩個(gè),生成新卷組vg2,該卷組成員為/dev/sda7
[root@rhel ~]# vgsplit vg1 vg2 /dev/sda7 New volume group ''vg2'' successfully split from ''vg1''
2.3 LV邏輯卷管理
2.3.1 lvscan
功能描述:使用lvscan命令可以列出所有卷組中的邏輯卷。
lvscan [選項(xiàng)]
1.列出所有卷組中的邏輯卷
[root@rhel ~]# lvscan ACTIVE '/dev/vg1/lv1'[150.00 GiB]inherit
2.3.2 lvcreate
功能描述:用于從指定的卷組中分割空間,以創(chuàng)建新的邏輯卷。需要指定邏輯卷大小、名稱及所在的卷組名作為參數(shù)。
[root@localhost~]# lvcreate -L 容量大小 -n 邏輯卷名 卷組名
1.將在卷組abc中建立一個(gè)新的邏輯卷,容量為10GB,名稱設(shè)為test
[root@localhost~]# lvcreate -L 10G -n test abc
2.3.3 lvdisplay
功能描述:使用lvdisplay命令可以顯示邏輯卷的相關(guān)屬性,比如邏輯卷大小、UUID、狀態(tài)和塊設(shè)備等信息。如果不指定邏輯卷路徑,那么顯示所有邏輯卷的屬性。
lvdisplay [選項(xiàng)] [邏輯卷路徑]
1.顯示邏輯卷屬性
[root@rhel ~]# lvdisplay --- Logical volume --- LV Path /dev/vg1/lv1 LV Name lv1 VG Name vg1 LV UUID 88WzFH-zDt0-uwhi-JTCf-eRKf-tzZW-65altu LV Write Access read/write LV Creation host, time rhel, 2013-08-19 01:31:11 +0800 LV Status available #open 0 LV Size 150.00 GiB Current LE 38400 Segments 2 Allocation inherit Read ahead sectors auto -currently set to 256 Block device 253:0
2.3.4 lvextend
功能描述:使用lvextend命令可以添加空間到指定的邏輯卷中,從而擴(kuò)展邏輯卷的大小。
lvextend [選項(xiàng)] [邏輯卷路徑[:PE[-PE]]...]
1.將邏輯卷lv1容量再增加100GB
[root@rhel ~]# umount /dev/vg1/lv1 //先卸載邏輯卷lv1 [root@rhel ~]# lvextend -L +100G /dev/vg1/lv1 Extending logical volume lv1 to 250.00 GiB Logical volume lv1 successfully resized
2.通過對物理卷/ dev/sda5的自由空間量擴(kuò)展邏輯卷/dev/vg1/lv1的大小
[root@rhel ~]# lvextend /dev/vg1/lv1 /dev/sda5
2.3.5 lvremove
功能描述:使用lvremove命令可以刪除指定邏輯卷。如果邏輯卷處于掛載狀態(tài),那么不能刪除該邏輯卷,必須先將其卸載掉。
lvremove [選項(xiàng)] [邏輯卷路徑]
1.刪除邏輯卷/dev/vg1/lv1
[root@rhel ~]# umount /dev/vg1/lv1 //卸載邏輯卷/dev/vg1/lv1 [root@rhel ~]# lvremove /dev/vg1/lv1 Do you really want to remove active logical volume lv1? [y/n]: y //輸入y確認(rèn)刪除邏輯卷 Logical volume ''lv1'' successfully removed
2.3.6 lvchange
功能描述:使用lvchange命令可以更改一個(gè)邏輯卷的屬性。
lvchange [選項(xiàng)] [邏輯卷路徑]
1.將邏輯卷/dev/vg1/lv1的狀態(tài)設(shè)置為不可用
[root@rhel ~]# lvchange -a y /dev/vg1/lv1
2.將邏輯卷lv1的訪問權(quán)限設(shè)置為只讀
[root@rhel ~]# lvchange -p r vg1/lv1 Logical volume "lv1" changed
3.將邏輯卷lv1的訪問權(quán)限設(shè)置為讀寫
[root@rhel ~]# lvchange -p rw vg1/lv1 Logical volume "lv1" changed
2.3.7 lvs
功能描述:使用lvs命令可以報(bào)告有關(guān)邏輯卷的信息。
lvs [選項(xiàng)] [卷組名]
1.報(bào)告有關(guān)邏輯卷的信息
[root@rhel ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv1 vg1 -wi------250.00g
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux7.7設(shè)置交換分區(qū)SWAP的方法
這篇文章主要介紹了Linux7.7設(shè)置交換分區(qū)SWAP的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11詳解Linux中PostgreSQL和PostGIS的安裝和使用
這篇文章主要介紹了詳解Linux中PostgreSQL和PostGIS的安裝和使用,并把需要注意點(diǎn)做了分析和解釋,需要的朋友學(xué)習(xí)下。2018-02-02centos7利用yum安裝lnmp的教程(linux+nginx+php7.1+mysql5.7)
lnmp相信不用多介紹了,大家應(yīng)該都知道,下面這篇文章主要給大家介紹了關(guān)于centos7利用yum安裝lnmp(linux+nginx+php7.1+mysql5.7)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2018-03-03Linux中使用crontab命令啟用自定義定時(shí)任務(wù)實(shí)例
本篇文章主要是介紹了Linux中使用crontab命令啟用自定義定時(shí)任務(wù)實(shí)例,感興趣的小伙伴們可以參考一下。2016-10-10CentOS上搭建Nginx+Mono運(yùn)行asp.net環(huán)境的配置方法
這篇文章主要介紹了CentOS上搭建Nginx+Mono運(yùn)行asp.net環(huán)境的配置方法,需要的朋友可以參考下2017-03-03Apache Kafka單節(jié)點(diǎn)極速部署指南及搭建開發(fā)單節(jié)點(diǎn)環(huán)境的操作步驟
本文介紹了如何在10分鐘內(nèi)快速部署Apache Kafka單節(jié)點(diǎn)開發(fā)環(huán)境,首先,簡要介紹了Kafka的背景、特性和應(yīng)用場景,然后,詳細(xì)描述了環(huán)境準(zhǔn)備、安裝、配置文件詳解、配置為系統(tǒng)服務(wù)、驗(yàn)證服務(wù)和關(guān)鍵配置項(xiàng)深度解析等內(nèi)容,感興趣的朋友一起看看吧2025-03-03Unix/Linux系統(tǒng)下的nobody用戶與nologin詳細(xì)介紹
linux系統(tǒng)下的nobody用戶是什么用戶,nologin又是什么?本文為大家詳細(xì)介紹了這兩個(gè)no字輩2018-10-10