久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux的lvm分區(qū)有什么優(yōu)缺點

150次閱讀
沒有評論

共計 8768 個字符,預(yù)計需要花費 22 分鐘才能閱讀完成。

這篇文章主要講解了“l(fā)inux 的 lvm 分區(qū)有什么優(yōu)缺點”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux 的 lvm 分區(qū)有什么優(yōu)缺點”吧!

linux 的 lvm 分區(qū)指的就是“邏輯卷管理”,lvm 的英文全稱為“Logical Volume Manager”,是 Linux 環(huán)境下對磁盤分區(qū)進(jìn)行管理的一種機制;LVM 是建立在硬盤和分區(qū)之上的一個邏輯層,來提高磁盤分區(qū)管理的靈活性。

一、什么是 LVM

LVM(Logical Volume Manager),即邏輯卷管理,是 Linux 環(huán)境下對磁盤分區(qū)進(jìn)行管理的一種機制,LVM 是建立在硬盤和分區(qū)之上的一個邏輯層,來提高磁盤分區(qū)管理的靈活性。通過 LVM 系統(tǒng)管理員可以輕松管理磁盤分區(qū),如:將若干個磁盤分區(qū)連接為一個整塊的卷組(volume group),形成一個存儲池。管理員可以在卷組上隨意創(chuàng)建邏輯卷組(logical volumes),并進(jìn)一步在邏輯卷組上創(chuàng)建文件系統(tǒng)。管理員通過 LVM 可以方便的調(diào)整存儲卷組的大小,并且可以對磁盤存儲按照組的方式進(jìn)行命名、管理和分配。當(dāng)系統(tǒng)添加了新的磁盤,通過 LVM 管理員就不必將磁盤的文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴展文件系統(tǒng)跨越磁盤即可。

一般來說,物理磁盤或分區(qū)之間是分隔的,數(shù)據(jù)無法跨盤或分區(qū),而各磁盤或分區(qū)的大小固定,重新調(diào)整比較麻煩。LVM 可以將這些底層的物理磁盤或分區(qū)整合起來,抽象成容量資源池,以劃分成邏輯卷的方式供上層使用,其最主要的功能即是可以在無需關(guān)機無需重新格式化(準(zhǔn)確地說,原來的部分無需格式化,只格式化新增的部分)的情況下彈性調(diào)整邏輯卷的大小。
LVM 的實現(xiàn)過程如下圖:

二、LVM 名詞解釋

PV(physical volume):物理卷在邏輯卷管理系統(tǒng)最底層,可為整個物理硬盤或?qū)嶋H物理硬盤上的分區(qū)。它只是在物理分區(qū)中劃出了一個特殊的區(qū)域,用于記載與 LVM 相關(guān)的管理參數(shù)。

VG(volume group):卷組建立在物理卷上,一卷組中至少要包括一物理卷,卷組建立后可動態(tài)的添加卷到卷組中,一個邏輯卷管理系統(tǒng)工程中可有多個卷組。

LV(logical volume):邏輯卷建立在卷組基礎(chǔ)上,卷組中未分配空間可用于建立新的邏輯卷,邏輯卷建立后可以動態(tài)擴展和縮小空間。

PE(physical extent):物理區(qū)域是物理卷中可用于分配的最小存儲單元,物理區(qū)域大小在建立卷組時指定,一旦確定不能更改,同一卷組所有物理卷的物理區(qū)域大小需一致,新的 pv 加入到 vg 后,pe 的大小自動更改為 vg 中定義的 pe 大小。

LE(logical extent):邏輯區(qū)域是邏輯卷中可用于分配的最小存儲單元,邏輯區(qū)域的大小取決于邏輯卷所在卷組中的物理區(qū)域的大小。由于受內(nèi)核限制的原因,一個邏輯卷(Logic Volume)最多只能包含 65536 個 PE(Physical Extent),所以一個 PE 的大小就決定了邏輯卷的最大容量,4 MB(默認(rèn)) 的 PE 決定了單個邏輯卷最大容量為 256 GB,若希望使用大于 256G 的邏輯卷,則創(chuàng)建卷組時需要指定更大的 PE。在 Red Hat Enterprise Linux AS 4 中 PE 大小范圍為 8 KB 到 16GB,并且必須總是 2 的倍數(shù)。

三、LVM 的寫入模式

LVM 有兩種寫入模式:線性模式和條帶模式。

線性模式即寫完一個設(shè)備后再寫另一個設(shè)備

條帶模式就有點類似于 RAID0,即數(shù)據(jù)是被分散寫入到 LVM 各成員設(shè)備上的。
因為條帶模式的數(shù)據(jù)不具有安全性,且 LVM 并不強調(diào)讀寫性能,故 LVM 默認(rèn)為線性模式,這樣即使一個設(shè)備壞了,其它設(shè)備上的數(shù)據(jù)還在。

四、LVM 的工作原理

LVM 在每個物理卷頭部都維護(hù)了一個 metadata,每個 metadata 中都包含了整個 VG(volume group:卷組)的信息,包括每個 VG 的布局配置,PV(physical volume:物理卷)的編號,LV(logical volume:邏輯卷)的編號,以及每個 PE(physical extends:物理擴展單元)到 LE(logical extends:物理擴展單元)的映射關(guān)系。同一個 VG 中的每個 PV 頭部的信息都是相同的,這樣有利于故障時進(jìn)行數(shù)據(jù)恢復(fù)。

LVM 對上層文件系統(tǒng)提供 LV 層,隱藏了操作細(xì)節(jié)。對文件系統(tǒng)而言,對 LV 的操作與原先對 partition 的操作沒有差別。當(dāng)對 LV 進(jìn)行寫入操作的時候,LVM 定位相應(yīng)的 LE,通過 PV 頭部的映射表將數(shù)據(jù)寫入到相應(yīng)的 PE 上。LVM 最大的特點就是可以對磁盤進(jìn)行動態(tài)管理。因為邏輯卷的大小是可以動態(tài)調(diào)整的,而且不會丟失現(xiàn)有的數(shù)據(jù)。我們?nèi)绻略黾恿擞脖P,其也不會改變現(xiàn)有上層的邏輯卷。關(guān)鍵在于 PE 和 LE 之間建立映射關(guān)系,不同的映射規(guī)則決定了不同的 LVM 存儲模型。LVM 支持多個 PV 的 stripe 和 mirror。

五、LVM 的優(yōu)缺點

優(yōu)點:

文件系統(tǒng)可以跨多個磁盤,因此文件系統(tǒng)大小不會受物理磁盤的限制。

可以在系統(tǒng)運行的狀態(tài)下動態(tài)的擴展文件系統(tǒng)的大小。

可以增加新的磁盤到 LVM 的存儲池中。

可以以鏡像的方式冗余重要的數(shù)據(jù)到多個物理磁盤。

可以方便的導(dǎo)出整個卷組到另外一臺機器。

缺點:

在從卷組中移除一個磁盤的時候必須使用 reducevg 命令(這個命令要求 root 權(quán)限,并且不允許在快照卷組中使用)。

當(dāng)卷組中的一個磁盤損壞時,整個卷組都會受到影響。

因為加入了額外的操作,存貯性能受到影響。

六、創(chuàng)建 PV/VG/LV 的方法

1、將各物理磁盤或分區(qū)的系統(tǒng)類型設(shè)為 Linux LVM,其 system ID 為 8e,通過 fdisk 工具中的 t 命令設(shè)置

[root@localhost ~]# fdisk /dev/sdb ...
Command (m for help): n
Partition type:
  p   primary (1 primary, 0 extended, 3 free)
  e   extended
Select (default p): p
Partition number (2-4, default 2): 2First sector (20973568-62914559, default 20973568):
Using default value 20973568Last sector, +sectors or +size{K,M,G} (20973568-62914559, default 62914559): +5G
...
Command (m for help): t
Partition number (1,2, default 2): 2Hex code (type L to list all codes): 8e  # 指定 system id 為 8eChanged type of partition Linux to Linux LVM ...
Command (m for help): p
...
/dev/sdb1            2048    20973567    10485760   8e  Linux LVM
/dev/sdb2        20973568    31459327     5242880   8e  Linux LVM
Command (m for help): w
...

2、將各物理磁盤或分區(qū)初始化為 PV(physical volume,物理卷)

這一階段可使用的命令為 pvcreate、pvremove、pvscan、pvdisplay(pvs)

1)pvcreate:創(chuàng)建物理卷

 用法:pvcreate [option] DEVICE

  選項:

     -f:強制創(chuàng)建邏輯卷,不需用戶確認(rèn)

     -u:指定設(shè)備的 UUID

     -y:所有問題都回答 yes

  例 pvcreate /dev/sdb1 /dev/sdb2

2)pvscan:掃描當(dāng)前系統(tǒng)上的所有物理卷

 用法:pvscan [option]

  選項:

     -e:僅顯示屬于輸出卷組的物理卷

     -n:僅顯示不屬于任何卷組的物理卷

     -u:顯示 UUID

3)pvdisplay:顯示物理卷的屬性

 用法:pvdisplay [PV_DEVICE]

4)pvremove:將物理卷信息刪除,使其不再被視為一個物理卷

 用法:pvremove [option] PV_DEVICE

  選項:

     -f:強制刪除

     -y:所有問題都回答 yes

  例 pvremove /dev/sdb1

5)pv 創(chuàng)建和刪除例子

[root@localhost ~]# pvcreate /dev/sdb{1,2}  # 將兩個分區(qū)初始化為物理卷 
 Physical volume /dev/sdb1 successfully created.
 Physical volume /dev/sdb2 successfully created.
[root@localhost ~]# pvscan
 PV /dev/sdb2                      lvm2 [5.00 GiB]
 PV /dev/sdb1                      lvm2 [10.00 GiB]
 Total: 2 [15.00 GiB] / in use: 0 [0  ] / in no VG: 2 [15.00 GiB]
[root@localhost ~]# pvdisplay /dev/sdb1   # 顯示物理卷 sdb1 的詳細(xì)信息
  /dev/sdb1 is a new physical volume of 10.00 GiB
 --- NEW Physical volume ---
 PV Name               /dev/sdb1
 VG Name              
 PV Size               10.00 GiB
 Allocatable           NO
 PE Size               0   # 由于 PE 是在 VG 階段才劃分的,所以此處看到的都是 0
 Total PE              0
 Free PE               0
 Allocated PE          0
 PV UUID               GrP9Gi-ubau-UAcb-za3B-vSc3-er2Q-MVt9OO
 
[root@localhost ~]# pvremove /dev/sdb2   # 刪除 sdb2 的物理卷信息
 Labels on physical volume /dev/sdb2 successfully wiped.
[root@localhost ~]# pvscan     # 可以看到 PV 列表中已無 sdb2
 PV /dev/sdb1                      lvm2 [10.00 GiB]
 Total: 1 [10.00 GiB] / in use: 0 [0  ] / in no VG: 1 [10.00 GiB]
[root@localhost ~]# pvcreate /dev/sdb2
 Physical volume /dev/sdb2 successfully created.

3、創(chuàng)建 VG(volume group,卷組)。卷組將多個物理卷整合起來(屏蔽了底層細(xì)節(jié)),并劃分 PE(physical extend)

PE 是物理卷中的最小存儲單元,有點類似于文件系統(tǒng)中的 block,PE 大小可指定,默認(rèn)為 4M。這一階段用到的命令有 vgcreate、vgscan、vgdisplay、vgextend、vgreduce

1)vgcreate:創(chuàng)建卷組

 用法:vgcreate [option] VG_NAME PV_DEVICE

  選項:

     -s:卷組中的物理卷的 PE 大小,默認(rèn)為 4M

     -l:卷組上允許創(chuàng)建的最大邏輯卷數(shù)

     -p:卷級中允許添加的最大物理卷數(shù)

  例 vgcreate -s 8M myvg /dev/sdb1 /dev/sdb2

2)vgscan:查找系統(tǒng)中存在的 LVM 卷組,并顯示找到的卷組列表

3)vgdisplay:顯示卷組屬性

  用法:vgdisplay [option] [VG_NAME]

  選項:

     -A:僅顯示活動卷組的信息

     -s:使用短格式輸出信息

4)vgextend:動態(tài)擴展 LVM 卷組,它通過向卷組中添加物理卷來增加卷組的容量

 用法:vgextend VG_NAME PV_DEVICE

  例 vgextend myvg /dev/sdb3

5)vgreduce:通過刪除 LVM 卷組中的物理卷來減少卷組容量,不能刪除 LVM 卷組中剩余的最后一個物理卷

 用法:vgreduce VG_NAME PV_DEVICE

6)vgremove:刪除卷組,其上的邏輯卷必須處于離線狀態(tài)

  用法:vgremove [-f] VG_NAME

 -f:強制刪除

7)vgchange:常用來設(shè)置卷組的活動狀態(tài)

  用法:vgchange -a n/y VG_NAME

 -a n 為休眠狀態(tài),休眠之前要先確保其上的邏輯卷都離線;

 -a y 為活動狀態(tài)

8)vg 創(chuàng)建例子

[root@localhost ~]# vgcreate -s 8M myvg /dev/sdb{1,2}
 Volume group myvg successfully created
[root@localhost ~]# vgscan
 Reading volume groups from cache.
 Found volume group myvg using metadata type lvm2
[root@localhost ~]# vgdisplay
 --- Volume group ---
 VG Name               myvg
 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               14.98 GiB
 PE Size               8.00 MiB
 Total PE              1918
 Alloc PE / Size       0 / 0  
 Free  PE / Size       1918 / 14.98 GiB
 VG UUID               aM3RND-aUbQ-7RjC-dCci-JiS4-Oj2Z-wv9poA

4、在卷組上創(chuàng)建 LV(logical volume,邏輯卷)

為了便于管理,邏輯卷對應(yīng)的設(shè)備文件保存在卷組目錄下,為 /dev/VG_NAME/LV_NAME。LV 中可以分配的最小存儲單元稱為 LE(logical extend),在同一個卷組中,LE 的大小和 PE 是一樣的,且一一對應(yīng)。這一階段用到的命令有 lvcreate、lvscan、lvdisplay、lvextend、lvreduce、lvresize

1)lvcreate:創(chuàng)建邏輯卷或快照

  用法:lvcreate [選項] [參數(shù)]

  選項:

     -L:指定大小

     -l:指定大小(LE 數(shù))

     -n:指定名稱

     -s:創(chuàng)建快照

     -p r:設(shè)置為只讀(該選項一般用于創(chuàng)建快照中)

  注:使用該命令創(chuàng)建邏輯卷時當(dāng)然必須指明卷組,創(chuàng)建快照時必須指明針對哪個邏輯卷        

  例 lvcreate -L 500M -n mylv myvg

2)lvscan:掃描當(dāng)前系統(tǒng)中的所有邏輯卷,及其對應(yīng)的設(shè)備文件

3)lvdisplay:顯示邏輯卷屬性

  用法:lvdisplay [/dev/VG_NAME/LV_NAME]

4)lvextend:可在線擴展邏輯卷空間

  用法:lvextend -L/-l 擴展的大小 /dev/VG_NAME/LV_NAME  

  選項:

     -L:指定擴展(后)的大小。例如,-L +800M 表示擴大 800M,而 -L 800M 表示擴大至 800M

     -l:指定擴展(后)的大小(LE 數(shù))

  例 lvextend -L 200M /dev/myvg/mylv

5)lvreduce:縮減邏輯卷空間,一般離線使用

 用法:lvexreduce -L/-l 縮減的大小 /dev/VG_NAME/LV_NAME  

  選項:

     -L:指定縮減(后)的大小

     -l:指定縮減(后)的大小(LE 數(shù))

  例 lvreduce -L 200M /dev/myvg/mylv

6)lvremove:刪除邏輯卷,需要處于離線(卸載)狀態(tài)

  用法:lvremove [-f] /dev/VG_NAME/LV_NAME

 -f:強制刪除

7)lv 創(chuàng)建例子

[root@localhost ~]# lvcreate -L 2G -n mylv myvg  
 Logical volume mylv created.
[root@localhost ~]# lvscan
 ACTIVE             /dev/myvg/mylv [2.00 GiB] inherit
[root@localhost ~]# lvdisplay
 --- Logical volume ---
 LV Path                /dev/myvg/mylv
 LV Name                mylv
 VG Name                myvg
 LV UUID                2lfCLR-UEhm-HMiT-ZJil-3EJm-n2H3-ONLaz1
 LV Write Access        read/write
 LV Creation host, time localhost.localdomain, 2019-07-05 13:42:44 +0800
 LV Status              available
 # open                 0
 LV Size                2.00 GiB
 Current LE             256
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           253:0

5、格式化邏輯卷并掛載

[root@localhost ~]# mke2fs -t ext4 /dev/myvg/mylv
…                        
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

[root@localhost ~]# mkdir /data
[root@localhost ~]# mount
mount       mountpoint  
[root@localhost ~]# mount /dev/myvg/mylv /data
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/sda1               50G  1.5G   49G   3% /
devtmpfs               903M     0  903M   0% /dev
tmpfs                  912M     0  912M   0% /dev/shm
tmpfs                  912M  8.6M  904M   1% /run
tmpfs                  912M     0  912M   0% /sys/fs/cgroup
tmpfs                  183M     0  183M   0% /run/user/0
/dev/mapper/myvg-mylv  2.0G  6.0M  1.8G   1% /data

PS:更新

一、LV 邏輯卷擴容后,必須對掛載目錄在線擴容。

使用 resize2fs 或 xfs_growfs 對掛載目錄在線擴容
resize2fs 針對文件系統(tǒng) ext2 ext3 ext4
xfs_growfs 針對文件系統(tǒng) xfs

xfs 在線擴容

xfs_growfs /dev/mapper/vg--BHG-lv01
meta-data=/dev/mapper/vg--BHG-lv01 isize=512    agcount=4, agsize=32000 blks
        =                       sectsz=512   attr=2, projid32bit=1
        =                       crc=1        finobt=0 spinodes=0data     =                       bsize=4096   blocks=128000, imaxpct=25
        =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal               bsize=4096   blocks=855, version=2
        =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0data blocks changed from 128000 to 256000

ext4 在線擴容

[root@localhost /]# resize2fs /dev/mapper/vg--BHG-lv02
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/vg--BHG-lv02 is mounted on /BHGPOS-data; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/mapper/vg--BHG-lv02 is now 5242880 blocks long.

感謝各位的閱讀,以上就是“l(fā)inux 的 lvm 分區(qū)有什么優(yōu)缺點”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對 linux 的 lvm 分區(qū)有什么優(yōu)缺點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-12發(fā)表,共計8768字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 房产| 永川市| 元氏县| 正蓝旗| 托里县| 南溪县| 敦煌市| 兖州市| 双江| 锡林浩特市| 凌云县| 兴业县| 全州县| 丰宁| 吕梁市| 宜昌市| 清流县| 锡林郭勒盟| 勐海县| 丹巴县| 嘉禾县| 济南市| 长宁区| 敦煌市| 大田县| 墨竹工卡县| 应用必备| 昆明市| 徐州市| 丰镇市| 苏尼特左旗| 开化县| 广南县| 河北省| 嘉祥县| 松江区| 辉南县| 禹城市| 永新县| 万州区| 德阳市|