最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux磁盤管理之LVM與快照解讀

 更新時間:2026年04月11日 09:47:09   作者:萬wu皆可愛  
文章介紹了LVM(邏輯卷管理)的基本概念、配置實操、卷組和邏輯卷的在線擴(kuò)展與縮容、以及快照功能,通過在虛擬機(jī)中使用/dev/sdb1和/dev/sdc磁盤進(jìn)行演示,詳細(xì)描述了創(chuàng)建物理卷、卷組、邏輯卷,并展示了如何在線擴(kuò)展和縮容卷組與邏輯卷,最后,還探討了LVM快照技術(shù)

引言

邏輯卷管理LVM是硬盤的?個系統(tǒng)?具。?論在Linux或者其他類似的系統(tǒng),都是?常的好?。傳統(tǒng)分區(qū)使?固定??分區(qū),重新調(diào)整???分麻煩。但是,LVM可以創(chuàng)建和管理“邏輯”卷,?不是直接使?物理硬盤。可以讓管理員彈性的管理邏輯卷的擴(kuò)?縮?,操作簡單,?不損壞已存儲的數(shù)據(jù)。可以隨意將新的硬盤添加到LVM,以直接擴(kuò)展已經(jīng)存在的邏輯卷。LVM并不需要重啟就可以讓內(nèi)核知道分區(qū)的存在。

當(dāng)剛開始安裝Linux系統(tǒng)時,往往不能確定每個分區(qū)使用的空間大小,只能憑經(jīng)驗分配不科學(xué)。

  • 如果分區(qū)設(shè)置的過大,就浪費了磁盤空間,
  • 如果分區(qū)設(shè)置的過小,就會導(dǎo)致空間不夠
  • 如何希望分配的空間過大或過小,都能動態(tài)調(diào)整,則需要使用到 LVM 邏輯卷

一、邏輯卷

1.LVM優(yōu)缺點

LVM 是 Logical Volume Manager 邏輯卷管理的簡寫,它是對磁盤分區(qū)管理的一種機(jī)制

優(yōu)點:

  1. LVM 可以創(chuàng)建和管理邏輯卷,而不是直接使用物理硬盤
  2. LVM 可以彈性的管理邏輯卷的擴(kuò)大縮小,操作簡單,而不損壞已存儲的數(shù)據(jù)
  3. LVM 可以隨意將新的硬盤添加到LVM,以直接擴(kuò)展已經(jīng)存在的邏輯卷
  4. 可以在系統(tǒng)運?的狀態(tài)下動態(tài)的擴(kuò)展?件系統(tǒng)的??
  5. ?件系統(tǒng)可以跨多個磁盤,因此?件系統(tǒng)??不會受物理磁盤的限制
  6. 可以以鏡像的?式冗余重要的數(shù)據(jù)到多個物理磁盤
  7. 可以?便的導(dǎo)出整個卷組到另外?臺機(jī)器

缺點:

  1. LVM 如果有一個磁盤損壞,整個 LVM 都壞了,LVM 只有動態(tài)擴(kuò)展作用
  2. 因為加?了額外的操作,存取性能受到影響

解決辦法:底層用 RAID + 上層用LVM = 既有冗余又有動態(tài)擴(kuò)展;

2. 基本概念

  • 物理卷(PV):(physical volume),把常規(guī)的磁盤設(shè)備通過pvcreate命令對其進(jìn)?初始化,形成了物理卷。其實就是硬盤或分區(qū)。(?粉)
  • 卷組(VG):(volume group),把多個物理卷組成?個邏輯的整體,這樣卷組的??就是多個硬盤之和?;蛘呃斫饩褪怯?個或多個PV組成的整體。(?團(tuán))
  • 邏輯卷(LV):(logical volume),從卷組中劃分需要的空間??出來。?戶僅需對其格式化然后即可掛載使?。從VG中切割出的空間?于創(chuàng)建?件系統(tǒng)。(切成饅頭)
  • 基本單元(PE):(physical extend),分配的邏輯大小的最小單元,默認(rèn)為4MB的基本塊。(假設(shè)分配100MB邏輯空間,則需要創(chuàng)建25個PE)

注意:制作pv,可以對分區(qū)做、也可以對整塊盤做

二、LVM配置實操

環(huán)境與步驟

  1. 這里準(zhǔn)備兩塊物理磁盤(當(dāng)然也可以準(zhǔn)備多塊),一塊上已經(jīng)分區(qū)。建議在虛擬機(jī)關(guān)閉狀態(tài)添加,以便更好的實驗
  2. .創(chuàng)建物理卷,將普通磁盤轉(zhuǎn)換為物理卷
  3. 創(chuàng)建卷組, 將物理卷加入到卷組中
  4. 在卷組中劃分邏輯卷,然后掛載使用

1、下載安裝包

yum install -y lvm2

查看磁盤狀態(tài)

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0   47G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0   10G  0 part 
└─sdb2            8:18   0   10G  0 part 
sdc               8:32   0  100G  0 disk 
sr0              11:0    1  4.4G  0 rom  
[root@localhost ~]#

我們用/dev/sdb1分區(qū) 和 /dev/sdc整個磁盤做pv

1.制作pv

pvcreate 設(shè)備名

root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.

2.查看pv

pvs

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sda2  centos lvm2 a--  <49.00g   4.00m  # 系統(tǒng)自己創(chuàng)建的
  /dev/sdb1         lvm2 ---   10.00g  10.00g  # 我們創(chuàng)建的
  /dev/sdc          lvm2 ---  100.00g 100.00g  # 我們創(chuàng)建的
[root@localhost ~]# 

3.制作卷組vg

vgcreate 卷組名 pv名

[root@localhost ~]# vgcreate test_vg /dev/sdb1 /dev/sdc
  Volume group "test_vg" successfully created

4.查看vg

vgs

[root@localhost ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree  
  centos    1   2   0 wz--n- <49.00g   4.00m  # 系統(tǒng)默認(rèn)創(chuàng)建的
  test_vg   2   0   0 wz--n- 109.99g 109.99g  # 我們自己創(chuàng)建的
[root@localhost ~]# 

5.創(chuàng)建邏輯卷lvm(也可以創(chuàng)建多個邏輯卷)

lvcreate 選項

選項
-L    #邏輯卷??
-n    #邏輯卷名字

分配50g大小給lv1_from_test_vg

[root@localhost ~]# lvcreate -L 50G -n lv1_from_test_vg test_vg
  Logical volume "lv1_from_test_vg" created.

6.查看vg

  • lvs
  • lvscan
[root@localhost ~]# lvs
  LV               VG      Attr   LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root             centos  -wi-ao---- 46.99g                                                    
  swap             centos  -wi-ao----  2.00g                                                    
  lv1_from_test_vg test_vg -wi-a----- 50.00g                                                    
或者
[root@localhost ~]# lvscan
  ACTIVE            '/dev/test_vg/lv1_from_test_vg' [50.00 GiB] inherit # 自己創(chuàng)建的
  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit   # 系統(tǒng)默認(rèn)
  ACTIVE            '/dev/centos/root' [46.99 GiB] inherit  # 系統(tǒng)默認(rèn)

7.創(chuàng)建文件系統(tǒng)

mkfs.xfs 邏輯卷名

[root@localhost ~]# mkfs.xfs /dev/test_vg/lv1_from_test_vg

8.創(chuàng)建目錄掛載使用

[root@localhost ~]# mkdir /lv1
[root@localhost ~]# mount -t xfs /dev/test_vg/lv1_from_test_vg /lv1

9.查看掛載情況

[root@localhost ~]# df -h
Filesystem                            Size  Used Avail Use% Mounted on
/dev/mapper/centos-root                47G  1.3G   46G   3% /
/dev/sda1                            1014M  138M  877M  14% /boot
tmpfs                                  98M     0   98M   0% /run/user/0
/dev/mapper/test_vg-lv1_from_test_vg   50G   33M   50G   1% /lv1
[root@localhost ~]# 

不要縮容!??!并且xfs?脆不?持縮容

不要縮容!??!并且xfs?脆不?持縮容

不要縮容?。?!并且xfs?脆不?持縮容

所以下面的縮容純屬了解

二、卷組的在線擴(kuò)展與縮容

1. vg擴(kuò)容

1.準(zhǔn)備新的硬盤加入到pv,檢查pv大小。

這里我們還有/dev/sdb2,可以將其加入卷組,方法都一樣,為了簡化就不插入新硬盤了。

[root@localhost ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvs
  PV         VG      Fmt  Attr PSize    PFree  
  /dev/sda2  centos  lvm2 a--   <49.00g   4.00m
  /dev/sdb1  test_vg lvm2 a--   <10.00g <10.00g
  /dev/sdb2          lvm2 ---   <10.00g <10.00g
  /dev/sdc   test_vg lvm2 a--  <100.00g <50.00g
[root@localhost ~]# 

使用vgextend 擴(kuò)展卷組 在已經(jīng)存在的卷組test_vg(上面我們自己創(chuàng)建的)上擴(kuò)展卷組

vgextend 原卷組名 創(chuàng)建的新pv

[root@localhost ~]# vgextend test_vg /dev/sdb2
  Volume group "test_vg" successfully extended

再次檢查卷組,發(fā)現(xiàn)已經(jīng)變大了(之前總大小是110G),說明擴(kuò)容成功

現(xiàn)在總大小是120G,正好是/dev/sdb 和/dev/sdc大小之和。

[root@localhost ~]# vgs
  VG      #PV #LV #SN Attr   VSize    VFree  
  centos    1   2   0 wz--n-  <49.00g   4.00m
  test_vg   3   1   0 wz--n- <119.99g <69.99g

2. vg縮容

假設(shè)想移除 /dev/sdb(/dev/sdb1) 磁盤,建議先將 sdb 磁盤數(shù)據(jù)先遷移到 sdc 磁盤,然后在移除

注意:同一卷組的磁盤才可以進(jìn)行在線遷移

1.檢查當(dāng)前邏輯卷 VG 中 PV 使用情況

[root@localhost ~]# pvs
  PV         VG      Fmt  Attr PSize    PFree  
  /dev/sda2  centos  lvm2 a--   <49.00g   4.00m
  /dev/sdb1  test_vg lvm2 a--   <10.00g <10.00g
  /dev/sdb2  test_vg lvm2 a--   <10.00g <10.00g
  /dev/sdc   test_vg lvm2 a--  <100.00g <50.00g

2.pvmove 在線數(shù)據(jù)遷移,將 sdb1 的數(shù)據(jù)遷移至 其他盤(可以是sdb2也可以是sdc,隨機(jī)的)

# 因為我們現(xiàn)在所有的磁盤都是空的,模擬寫入點數(shù)據(jù)方便遷移
否則會報錯No data to move for test_vg
[root@localhost ~]# touch /lv1/{a..z}.txt

[root@localhost ~]# pvmove /dev/sdb1 # 實際業(yè)務(wù)中如果這個磁盤有數(shù)據(jù),那它就會執(zhí)行成功

3.檢查是否將 sdb1 數(shù)據(jù)遷移至 其他盤

[root@localhost ~]# pvs
  PV         VG      Fmt  Attr PSize    PFree  
  /dev/sda2  centos  lvm2 a--   <49.00g   4.00m
  /dev/sdb1  test_vg lvm2 a--   <10.00g <10.00g
  /dev/sdb2  test_vg lvm2 a--   <10.00g <10.00g
  /dev/sdc   test_vg lvm2 a--  <100.00g <50.00g
[root@localhost ~]#

4.從卷組中移除 sdb 磁盤

vgreduce vg名 設(shè)備名

[root@localhost ~]# vgreduce test_vg /dev/sdb1
  Removed "/dev/sdb1" from volume group "test_vg"

5.查看

root@localhost ~]# pvs
  PV         VG      Fmt  Attr PSize    PFree  
  /dev/sda2  centos  lvm2 a--   <49.00g   4.00m
  /dev/sdb1          lvm2 ---    10.00g  10.00g
  /dev/sdb2  test_vg lvm2 a--   <10.00g <10.00g
  /dev/sdc   test_vg lvm2 a--  <100.00g <50.00g
[root@localhost ~]# 

三、邏輯卷的在線擴(kuò)容與縮容

1. lv擴(kuò)容

擴(kuò)展邏輯卷:取決于 vg 卷中是否還有剩余的容量

注意擴(kuò)展邏輯卷不能超過卷組 VG 的總大小

[root@localhost ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree 
  centos    1   2   0 wz--n- <49.00g  4.00m
  test_vg   2   1   0 wz--n- 109.99g 59.99g
[root@localhost ~]# 

可以看到vg還有60G剩余

再看看lv

[root@localhost ~]# lvscan
  ACTIVE            '/dev/test_vg/lv1_from_test_vg' [50.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/centos/root' [46.99 GiB] inherit
[root@localhost ~]# 

給lv1_from_test_vg邏輯卷擴(kuò)容+10G

[root@localhost ~]# lvextend -L +10G /dev/test_vg/lv1_from_test_vg
  Size of logical volume test_vg/lv1_from_test_vg changed from 50.00 GiB (12800 extents) to 60.00 GiB (15360 extents).
  Logical volume test_vg/lv1_from_test_vg successfully resized.
[root@localhost ~]# 


#也可以選擇分配卷組中多少百分比給邏輯卷
[root@localhost ~]# lvextend -l +50%FREE /dev/test_vg/lv1_from_test_vg

查看擴(kuò)展后lv

[root@localhost ~]# lvscan
  ACTIVE            '/dev/test_vg/lv1_from_test_vg' [60.00 GiB] inherit
  ACTIVE            '/dev/centos/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/centos/root' [46.99 GiB] inherit
[root@localhost ~]# 

可以看到,/dev/test_vg/lv1_from_test_vg 確實增大了10G

擴(kuò)展邏輯卷后需要更新fs文件系統(tǒng)

  • xfs_growfs 具體的lv名稱 # xfs文件格式擴(kuò)容
  • resize2fs 具體的lv名稱 # ext文件格式擴(kuò)容
[root@localhost ~]# xfs_growfs /dev/test_vg/lv1_from_test_vg

2. 刪除lv

1.先卸載掛載點,然后在移除邏輯卷

[root@localhost ~]# umount /dev/test_vg/lv1_from_test_vg

2.刪除lv

lvremove

[root@localhost ~]# lvremove /dev/test_vg/lv1_from_test_vg
Do you really want to remove active logical volume test_vg/lv1_from_test_vg? [y/n]: y
  Logical volume "lv1_from_test_vg" successfully removed
[root@localhost ~]# 

3.刪除 vg

vgremove vg名稱

[root@localhost ~]# vgremove test_vg
  Volume group "test_vg" successfully removed
[root@localhost ~]#

4.刪除pv

pvremove

[root@localhost ~]# pvs
  PV         VG     Fmt  Attr PSize   PFree  
  /dev/sda2  centos lvm2 a--  <49.00g   4.00m
  /dev/sdb1         lvm2 ---   10.00g  10.00g
  /dev/sdb2         lvm2 ---  <10.00g <10.00g
  /dev/sdc          lvm2 ---  100.00g 100.00g

[root@localhost ~]# pvremove /dev/sdb1
  Labels on physical volume "/dev/sdb1" successfully wiped.
[root@localhost ~]# pvremove /dev/sdb2
  Labels on physical volume "/dev/sdb2" successfully wiped.
[root@localhost ~]# pvremove /dev/sdc
  Labels on physical volume "/dev/sdc" successfully wiped.
[root@localhost ~]#

四、快照

LVM 機(jī)制還提供了對 LV 做快照的功能,也就是說可以給?件系統(tǒng)做?個備份,這也是設(shè)計 LVM 快照的主要?的。LVM 的快照功能采?寫時復(fù)制技術(shù)(Copy-On-Write,COW),這?傳統(tǒng)的備份技術(shù)的效率要?很多。創(chuàng)建快照時不?停?服務(wù),就可以對數(shù)據(jù)進(jìn)?備份。說明:LVM 還?持 thin 類型的快照,但是本?中的快照都是指 COW 類型的快照。

LVM 采?的寫時復(fù)制,是指當(dāng) LVM 快照創(chuàng)建的時候,僅創(chuàng)建到實際數(shù)據(jù)的 inode 的硬鏈接(hark-link)?已。只要實際的數(shù)據(jù)沒有改變,快照就只包含指向數(shù)據(jù)的 inode 的指針,??數(shù)據(jù)本身??煺諘櫾季碇袎K的改變,?旦你更改了快照對應(yīng)的?件或?錄,這個時候原始卷上將要改變的數(shù)據(jù)會在改變之前拷?到快照預(yù)留的空間

lvm快照的原理:

創(chuàng)建快照實際上也是創(chuàng)建了?個邏輯卷,只不過該卷的屬性與普通邏輯卷的屬性有些不?樣。我們可以通過上圖來理解快照數(shù)據(jù)卷(圖中的實線框表示快照區(qū)域,虛線框表示?件系統(tǒng)):

#左圖為最初創(chuàng)建的快照數(shù)據(jù)卷狀況,LVM 會預(yù)留?個區(qū)域 (?如左圖的左側(cè)三個 PE 區(qū)塊) 作為數(shù)據(jù)存放處。

此時快照數(shù)據(jù)卷內(nèi)并沒有任何數(shù)據(jù),?快照數(shù)據(jù)卷與源數(shù)據(jù)卷共享所有的 PE 數(shù)據(jù), 因此你會看到快照數(shù)據(jù)卷的內(nèi)容與源數(shù)據(jù)卷中的內(nèi)容是?模?樣的。

等到系統(tǒng)運??陣?后,假設(shè) A 區(qū)域的數(shù)據(jù)被更新了(上?右圖所示),則更新前系統(tǒng)會將該區(qū)域的數(shù)據(jù)移動到快照數(shù)據(jù)卷中,所以在右圖的快照數(shù)據(jù)卷中被占?了?塊 PE 成為 A,?其他 B 到 I 的區(qū)塊則還是與源數(shù)據(jù)卷共享!

由于快照區(qū)與原本的 LV 共享很多 PE 區(qū)塊,因此快照區(qū)與被快照的 LV 必須要在同?個 VG 上頭,

下?兩點?常重要:

  • 1、VG中需要預(yù)留存放快照本身的空間,不能全部被占滿。
  • 2、快照所在的 VG 必須與被備份的 LV 相同,否則創(chuàng)建快照會失敗。

總結(jié)

快照的本質(zhì)就是?個特殊的lv,創(chuàng)建快照后,如果源數(shù)據(jù)卷中的?件被更新了,會將?數(shù)據(jù)賦給快照的

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Apache中配置支持CORS(跨域資源共享)實例

    Apache中配置支持CORS(跨域資源共享)實例

    這篇文章主要介紹了Apache中配置支持CORS(跨域資源共享)實例,本文給出了一個完整的apache、PHP、JavaScript結(jié)合實現(xiàn)的跨域資源共享實例,需要的朋友可以參考下
    2015-01-01
  • Centos7 firewall和docker沖突問題及解決過程

    Centos7 firewall和docker沖突問題及解決過程

    本文描述了一個在CentOS 7上使用firewalld和Docker容器的問題,當(dāng)firewalld啟動或重啟時,會從iptables中移除Docker的規(guī)則,導(dǎo)致Docker容器中的服務(wù)無法訪問,最終,作者通過先啟動或重啟防火墻,然后重啟Docker服務(wù),并刪除有問題的容器,重新創(chuàng)建容器來解決了問題
    2025-12-12
  • 圖解VMWare安裝Centos 7.3教程

    圖解VMWare安裝Centos 7.3教程

    這篇文章主要為大家詳細(xì)介紹了基于vmware workstations安裝Centos 7.3的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 解決nginx/apache靜態(tài)資源跨域訪問問題詳解

    解決nginx/apache靜態(tài)資源跨域訪問問題詳解

    有時為了優(yōu)化網(wǎng)站訪問速度,會給一些靜態(tài)資源配置cdn加速,但是有時候會出現(xiàn)跨域訪問的問題,在nginx和apache服務(wù)中可進(jìn)行如下配置
    2018-10-10
  • linux 用戶和組命令整理及詳細(xì)介紹

    linux 用戶和組命令整理及詳細(xì)介紹

    這篇文章主要介紹了linux 用戶和組命令整理及詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Ubuntu軟件倉庫與更新源配置指南

    Ubuntu軟件倉庫與更新源配置指南

    本文詳解Ubuntu軟件倉庫的分類、配置方法及常見問題處理,涵蓋倉庫類型(Main/Universe等)、鏡像源替換、代理設(shè)置、密鑰驗證等內(nèi)容,強(qiáng)調(diào)備份配置、謹(jǐn)慎使用第三方源及定期清理的重要性,需要的朋友可以參考下
    2025-06-06
  • Ubuntu16.04修改開機(jī)密碼方式

    Ubuntu16.04修改開機(jī)密碼方式

    文章主要介紹了如何在Ubuntu系統(tǒng)中使用命令行進(jìn)入恢復(fù)模式,并修改啟動項以解決特定問題,最終實現(xiàn)系統(tǒng)重啟并成功登錄
    2026-01-01
  • linux top下的 minerd 木馬清除方法

    linux top下的 minerd 木馬清除方法

    下面小編就為大家?guī)硪黄猯inux top下的 minerd 木馬清除方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • linux的硬鏈接和軟連接的區(qū)別及說明

    linux的硬鏈接和軟連接的區(qū)別及說明

    這篇文章主要介紹了linux的硬鏈接和軟連接的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • linux如何關(guān)閉numa

    linux如何關(guān)閉numa

    這篇文章主要介紹了linux如何關(guān)閉numa問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05

最新評論

历史| 温宿县| 应用必备| 理塘县| 浪卡子县| 高碑店市| 张北县| 铜陵市| 禹州市| 嘉禾县| 德昌县| 册亨县| 通榆县| 托克托县| 兴安盟| 河间市| 图木舒克市| 黎城县| 山阴县| 韩城市| 镇远县| 曲阜市| 桦甸市| 融水| 惠来县| 永定县| 朔州市| 景泰县| 堆龙德庆县| 元氏县| 广州市| 依安县| 宁河县| 醴陵市| 迁安市| 洪湖市| 九龙城区| 建始县| 镇原县| 定远县| 尉犁县|