LVM(邏輯捲管理器)

来源:https://www.cnblogs.com/misakivv/p/18010759
-Advertisement-
Play Games

目錄一、LVM概述二、基本術語三、PE、PV、VG、LV之間的關係四、LVM的工作原理五、LVM的使用1、部署邏輯捲第一步:還原快照,併在虛擬機添加兩塊新硬碟設備,開機第二步:讓新添加的兩塊硬碟設備支持LVM技術第三步:把兩塊硬碟設備加入到storage捲組中,查看捲組狀態第四步:切割出一個148M ...


目錄

一、LVM概述

LVM Logical Volume Manager(邏輯捲管理器)的簡寫。邏輯捲管理器是Linux系統用於對硬碟分區進行管理的一種機制,理論性較強,其創建初衷是為瞭解決硬碟設備在創建分區後不易修改分區大小的缺陷。儘管對傳統的硬碟分區進行強制擴容或縮容從理論上來講是可行的,但是卻可能造成數據的丟失。而LVM技術是在硬碟分區和文件系統之間添加了一個邏輯層,它提供了一個抽象的捲組,可以把多塊硬碟進行捲組合併。這樣一來,用戶不必關心物理硬碟設備的底層架構和佈局,就可以實現對硬碟分區的動態調整。

二、基本術語

  • 物理存儲介質(PhysicalStorageMedia)

指系統的物理存儲設備:磁碟,如:/dev/hda、/dev/sda等,是存儲系統最底層的存儲單元

  • 物理捲(Physical Volume,PV)

指磁碟分區或從邏輯上與磁碟分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁碟等)比較,卻包含有與LVM相關的管理參數。

  • 捲組(Volume Group,VG)

類似於非LVM系統中的物理磁碟,其由一個或多個物理捲PV組成。可以在捲組上創建一個或多個LV(邏輯捲)。

  • 邏輯捲(Logical Volume,LV)

類似於非LVM系統中的磁碟分區,邏輯捲建立在捲組VG之上。在邏輯捲LV之上可以建立文件系統(比如/home或者/usr等)。

  • 物理塊(Physical Extent,PE)

PE是物理捲PV的基本劃分單元,具有唯一編號的PE是可以被LVM定址的最小單元。PE的大小是可配置的,預設為4MB。所以物理捲(PV)由大小等同的基本單元PE組成。

  • 邏輯塊(Logical Extent,LE)

邏輯捲LV也被劃分為可被定址的基本單位,稱為LE。在同一個捲組中,LE的大小和PE是相同的,並且一一對應。

三、PE、PV、VG、LV之間的關係

image.png

四、LVM的工作原理

  1. 物理磁碟被格式化為PV,空間被劃分為一個個的PE。
  2. 不同的PV加入到同一個VG中,不同PV的PE全部進入到了VG的PE池內。
  3. LV基於PE創建,大小為PE的整數倍,組成LV的PE可能來自不同的物理磁碟。
  4. LV現在就直接可以格式化後掛載使用了。
  5. LV的擴充縮減實際上就是增加或減少組成該LV的PE數量,其過程不會丟失原始數據 。

五、LVM的使用

1、部署邏輯捲

常用的LVM部署命令

功能/命令 物理捲管理 捲組管理 邏輯捲管理
掃描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
顯示 pvdisplay vgdisplay lvdisplay
刪除 pvremove vgremove lvremove
擴展 vgextend lvextend
縮小 vgreduce lvreduce

第一步:

還原快照,併在虛擬機添加兩塊新硬碟設備,開機

image-20240206202408707

第二步:

讓新添加的兩塊硬碟設備支持LVM技術

[root@localhost ~]# lsblk	#確保已正確新增兩塊硬碟
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   20G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0   19G  0 part
  ├─centos_192-root 253:0    0   17G  0 lvm  /
  └─centos_192-swap 253:1    0    2G  0 lvm  [SWAP]
sdb                   8:16   0   20G  0 disk
sdc                   8:32   0   20G  0 disk
sr0                  11:0    1  4.4G  0 rom
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc	#來將磁碟設備 /dev/sdb 和 /dev/sdc 初始化為物理捲(PV)以支持LVM(邏輯捲管理器)技術。
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

image-20240206203227516

第三步:

把兩塊硬碟設備加入到storage捲組中,查看捲組狀態

[root@localhost ~]# vgcreate storage /dev/sdb /dev/sdc	#將物理捲 /dev/sdb 和 /dev/sdc 合併在一起,形成一個新的名為"storage"捲組。
  Volume group "storage" successfully created
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos_192
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0
  VG UUID               Qtwzup-pc0G-gAaa-Icyt-UfLP-CuM6-3VnATy

  --- Volume group ---
  VG Name               storage
  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               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               SJWDak-DLob-UssH-6d8g-Ms8Y-R2Di-dczcAw

image-20240206204450998

第四步:

切割出一個148MB的邏輯捲設備

在對邏輯捲進行切割時有兩種計量單位

  • 以容量為單位,使用參數-L。例如使用-L 150M生成一個大小為150MB的邏輯捲。
  • 以基本單元的個數為單位,使用的參數為-l。每個基本單元的大小預設為4MB。例如使用-l 37 可以生成一個大小為37*4MB=148MB的邏輯捲。

-l切割:

[root@localhost ~]# lvcreate -n vo -l 37 storage	#參數-n後面跟的是要創建的邏輯捲名稱
  Logical volume "vo" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_192/swap
  LV Name                swap
  VG Name                centos_192
  LV UUID                XDa9D8-hZj7-QVSC-qiQ0-lbaQ-QKRZ-LeZXcT
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos_192/root
  LV Name                root
  VG Name                centos_192
  LV UUID                pHMI0L-5zIz-U6RU-g7L0-1Uy1-K01W-SNxrJi
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                h6L7tj-pz3i-Iear-RK9Y-Fu0M-iVEc-HOn8On
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 20:50:44 +0800
  LV Status              available
  # open                 0
  LV Size                148.00 MiB
  Current LE             37
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

image-20240206205306557

-L切割:

[root@localhost ~]# lvcreate -n vo -L 148M storage
  Logical volume "vo" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_192/swap
  LV Name                swap
  VG Name                centos_192
  LV UUID                XDa9D8-hZj7-QVSC-qiQ0-lbaQ-QKRZ-LeZXcT
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos_192/root
  LV Name                root
  VG Name                centos_192
  LV UUID                pHMI0L-5zIz-U6RU-g7L0-1Uy1-K01W-SNxrJi
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                uIyQ4u-fs8f-gDkr-L4Kw-eqC9-FQzq-PwgtL5
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 21:10:05 +0800
  LV Status              available
  # open                 0
  LV Size                148.00 MiB
  Current LE             37
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

image-20240206211250148

第五步:

把生成好的邏輯捲進行格式化,然後掛載使用

[root@localhost ~]# mkfs.ext4 /dev/storage/vo
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
38000 inodes, 151552 blocks
7577 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=33816576
19 block groups
8192 blocks per group, 8192 fragments per group
2000 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Allocating group tables: 完成
正在寫入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost ~]# mkdir /vo	#根目錄下創建vo掛載點
[root@localhost ~]# mount /dev/storage/vo /vo
[root@localhost ~]# df -h	#查看成功掛載
文件系統                     容量  已用  可用 已用% 掛載點
devtmpfs                     1.9G     0  1.9G    0% /dev
tmpfs                        1.9G     0  1.9G    0% /dev/shm
tmpfs                        1.9G   12M  1.9G    1% /run
tmpfs                        1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_192-root   17G  2.0G   16G   12% /
/dev/sda1                   1014M  151M  864M   15% /boot
tmpfs                        378M     0  378M    0% /run/user/0
/dev/mapper/storage-vo       140M  1.6M  128M    2% /vo
[root@localhost ~]# echo "/dev/storage/vo /vo ext4 defaults 0 0" >> /etc/fstab		#寫入配置文件使之永久生效	

image-20240206211936946

2、擴容邏輯捲

第一步:

把上一個實驗中的邏輯捲vo擴展至292MB

[root@localhost ~]# umount /vo
[root@localhost ~]# lvextend -L 292M /dev/storage/vo
  Rounding size to boundary between physical extents: 292.00 MiB.
  Size of logical volume storage/vo changed from 148.00 MiB (37 extents) to 292.00 MiB (73 extents).
  Logical volume storage/vo successfully resized.

image-20240206213833026

第二步:

檢查硬碟完整性,並重置硬碟容量

[root@localhost ~]# e2fsck -f /dev/storage/vo	#檢查 ext2、ext3 和 ext4 文件系統的工具。這裡的 -f 參數強制進行文件系統的完整性檢查,即使文件系統是“乾凈”的(即上次關機時沒有錯誤)。

e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/storage/vo: 11/38912 files (0.0% non-contiguous), 10567/155648 blocks
[root@localhost ~]# resize2fs /dev/storage/vo	#同步更新文件系統的大小以匹配新的邏輯捲大小

resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/vo to 299008 (1k) blocks.
The filesystem on /dev/storage/vo is now 299008 blocks long.

[root@localhost ~]# lvdisplay	#看到邏輯捲vo變為292MB
  --- Logical volume ---
  LV Path                /dev/centos_192/swap
  LV Name                swap
  VG Name                centos_192
  LV UUID                XDa9D8-hZj7-QVSC-qiQ0-lbaQ-QKRZ-LeZXcT
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos_192/root
  LV Name                root
  VG Name                centos_192
  LV UUID                pHMI0L-5zIz-U6RU-g7L0-1Uy1-K01W-SNxrJi
  LV Write Access        read/write
  LV Creation host, time 192.168.112.140, 2023-08-12 17:05:09 +0800
  LV Status              available
  # open                 1
  LV Size                <17.00 GiB
  Current LE             4351
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                MeqJRa-F8kt-jLi8-hmZV-co3K-KIvR-NjG9m0
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 21:35:32 +0800
  LV Status              available
  # open                 0
  LV Size                292.00 MiB
  Current LE             73
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

image-20240206214048080

第三步:

重新掛載硬碟設備並查看掛載狀態

[root@localhost /]# mount /dev/storage/vo /vo
[root@localhost /]# df -h
文件系統                     容量  已用  可用 已用% 掛載點
devtmpfs                     1.9G     0  1.9G    0% /dev
tmpfs                        1.9G     0  1.9G    0% /dev/shm
tmpfs                        1.9G   12M  1.9G    1% /run
tmpfs                        1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_192-root   17G  2.0G   16G   12% /
/dev/sda1                   1014M  151M  864M   15% /boot
tmpfs                        378M     0  378M    0% /run/user/0
/dev/mapper/storage-vo       279M  2.1M  259M    1% /vo

image-20240206214728423

3、縮小邏輯捲

第一步:

檢查文件系統的完整性

[root@localhost ~]# umount /vo
[root@localhost ~]# e2fsck -f /dev/storage/vo
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/storage/vo: 11/75776 files (0.0% non-contiguous), 15729/299008 blocks

image-20240206214926438

第二步:

把邏輯捲vo的容量減少到120MB

[root@localhost ~]# resize2fs /dev/storage/vo 120M
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage/vo to 122880 (1k) blocks.
The filesystem on /dev/storage/vo is now 122880 blocks long.

[root@localhost ~]# lvreduce -L 120M /dev/storage/vo
  WARNING: Reducing active logical volume to 120.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce storage/vo? [y/n]: y
  Size of logical volume storage/vo changed from 240.00 MiB (60 extents) to 120.00 MiB (30 extents).
  Logical volume storage/vo successfully resized.

image-20240206220637062

第三步:

重新掛載文件系統並查看系統狀態

[root@localhost ~]# mount /dev/storage/vo /vo
[root@localhost ~]# df -h
文件系統                     容量  已用  可用 已用% 掛載點
devtmpfs                     1.9G     0  1.9G    0% /dev
tmpfs                        1.9G     0  1.9G    0% /dev/shm
tmpfs                        1.9G   12M  1.9G    1% /run
tmpfs                        1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_192-root   17G  2.0G   16G   12% /
/dev/sda1                   1014M  151M  864M   15% /boot
tmpfs                        378M     0  378M    0% /run/user/0
/dev/mapper/storage-vo       113M  1.6M  103M    2% /vo

image-20240206220810384

3、邏輯捲快照

LVM還具備有快照捲功能,該功能類似於虛擬機軟體的還原時間點功能。例如,可以對某一個邏輯捲設備做一次快照,如果日後發現數據被改錯了,就可以利用之前做好的快照捲進行覆蓋還原。LVM的快照捲功能有兩個特點:

  • 快照捲的容量必須等同於邏輯捲的容量;
  • 快照捲僅一次有效,一旦執行還原操作後則會被立即自動刪除。

先在/vo下創建一個readme.txt文件用來驗證邏輯捲快照還原前後狀態變化

[root@localhost ~]# echo "hello LVM" >> /vo/readme.txt
[root@localhost ~]# ls -l /vo
總用量 13
drwx------ 2 root root 12288 2月   6 22:04 lost+found
-rw-r--r-- 1 root root    10 2月   6 22:10 readme.txt

image-20240206222949370

第一步:

使用-s參數生成一個快照捲,使用-L參數指定切割的大小

[root@localhost ~]# lvcreate -L 120M -s -n SNAP /dev/storage/vo	#在 "storage" 捲組下,基於名為 "vo" 的現有邏輯捲,創建一個容量為120MB的快照捲,並將這個新的快照捲命名為 "SNAP"

  Logical volume "SNAP" created.
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                ywJ3ah-At9t-t65q-0JsQ-i45Q-pyeh-iHhxWN
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:04:25 +0800
  LV snapshot status     source of
                         SNAP [active]
  LV Status              available
  # open                 1
  LV Size                120.00 MiB
  Current LE             30
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/storage/SNAP
  LV Name                SNAP
  VG Name                storage
  LV UUID                JZpfG2-T6Yl-ODCF-CVnR-34Uw-pGQ9-3skxG9
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:11:07 +0800
  LV snapshot status     active destination for vo
  LV Status              available
  # open                 0
  LV Size                120.00 MiB
  Current LE             30
  COW-table size         120.00 MiB
  COW-table LE           30
  Allocated to snapshot  0.01%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:5

image-20240206221654118

第二步:

在邏輯捲所掛載的目錄中創建一個100MB的垃圾文件,然後再查看快照捲的狀態。發現存儲空間的占用量上升了

[root@localhost ~]# dd if=/dev/zero of=/vo/file bs=100M count=1
記錄了1+0 的讀入
記錄了1+0 的寫出
104857600位元組(105 MB)已複製,1.21787 秒,86.1 MB/秒
[root@localhost ~]# ll -ht /vo/file
-rw-r--r-- 1 root root 100M 2月   6 22:19 /vo/file
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/storage/vo
  LV Name                vo
  VG Name                storage
  LV UUID                ywJ3ah-At9t-t65q-0JsQ-i45Q-pyeh-iHhxWN
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:04:25 +0800
  LV snapshot status     source of
                         SNAP [active]
  LV Status              available
  # open                 1
  LV Size                120.00 MiB
  Current LE             30
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/storage/SNAP
  LV Name                SNAP
  VG Name                storage
  LV UUID                JZpfG2-T6Yl-ODCF-CVnR-34Uw-pGQ9-3skxG9
  LV Write Access        read/write
  LV Creation host, time localhost, 2024-02-06 22:11:07 +0800
  LV snapshot status     active destination for vo
  LV Status              available
  # open                 0
  LV Size                120.00 MiB
  Current LE             30
  COW-table size         120.00 MiB
  COW-table LE           30
  Allocated to snapshot  83.71%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:5

image-20240206222615773

第三步:

為了校驗SNAP快照捲的效果,需要對邏輯捲進行快照還原操作。在此之前記得先卸載掉邏輯捲設備與目錄的掛載。

[root@localhost ~]# umount /vo
[root@localhost ~]# lvconvert --merge /dev/storage/SNAP	#合併(merge)快照捲 "SNAP" 回到其源捲 "vo"
  Merging of volume storage/SNAP started.
  storage/vo: Merged: 23.03%
  storage/vo: Merged: 100.00%

image-20240206223143333

第四步:

快照捲會被自動刪除掉,並且剛剛在邏輯捲設備被執行快照操作後再創建出來的100MB的垃圾文件也被清除了而/vo/readme.txt還在

[root@localhost ~]# mount -a
[root@localhost ~]# ls /vo/
lost+found  readme.txt
[root@localhost ~]# cat /vo/readme.txt
hello LVM

4、刪除邏輯捲

第一步:

取消邏輯捲與目錄的掛載關聯,刪除配置文件中永久生效的設備參數。

[root@localhost ~]# umount /vo/
[root@localhost ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Aug 12 17:05:10 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_192-root /                       xfs     defaults        0 0
UUID=01838dd0-44b0-4056-b0e2-96760522a11b /boot                   xfs     defaults        0 0
/dev/mapper/centos_192-swap swap                    swap    defaults        0 0

image-20240206223809338

第二步:

刪除邏輯捲設備,需要輸入y來確認操作

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

image-20240206224041096

第三步:

刪除捲組,此處只寫捲組名稱即可,不需要設備的絕對路徑。

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

image-20240206224142656

第四步:

刪除物理捲設備

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

image-20240206224248198

六、LVM的優缺點

優點:

  1. 動態擴展:在系統運行時可以線上增加或減少邏輯捲的大小,無需重啟服務或操作系統,提供對存儲空間的動態管理能力。
  2. 靈活性:允許文件系統跨越多個物理磁碟,突破單個硬碟容量限制,可以根據需要調整邏輯捲佈局,實現存儲資源的有效利用。
  3. 擴展性:可以方便地向現有的捲組中添加新的物理磁碟,進一步擴大存儲池容量。
  4. 高可用與冗餘:支持鏡像和條帶化技術,能夠將數據冗餘到多個磁碟上以提高數據安全性及讀寫性能。
  5. 數據遷移便捷:可以更容易地遷移或備份整個邏輯捲至其他系統或硬體環境。

缺點:

  1. 在從捲組中移除一個磁碟的時候必須使用reducevg命令(這個命令要求root許可權,並且不允許在快照捲組中使用)。
  2. 當捲組中的一個磁碟損壞時,整個捲組都會受到影響。
  3. 因為加入了額外的操作,存儲性能受到影響
  4. 不能減小文件系統大小(受文件系統類型限制)

七、Linux中的LVM

d23760519d0c4d7ba0a52ea0e6a34b8c


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 類/方法的封裝、職責,這些跟誰用沒關係。而是跟類/方法本身有關。我們分析類、分析方法,要看它的職責。面向對象編程不是面向人編程。 ...
  • 目錄使用Docker部署Tomcat1. 獲取鏡像2. 第一次啟動tomcat3.帶參數啟動4.查看tomcat日誌5.時區問題 使用Docker部署Tomcat 1. 獲取鏡像 docker pull tomcat:8.5.38 docker images 2. 第一次啟動tomcat 該步驟作用 ...
  • 轉載至我的博客 https://www.infrastack.cn ,公眾號:架構成長指南 當我們使用 Mysql資料庫到達一定量級以後,性能就會逐步下降,而解決此類問題,常用的手段就是引入資料庫中間件進行分庫分表處理,比如使用 Mycat、ShadingShpere、tddl,但是這種都是過去式了 ...
  • 一、定義 表示一個作用於某對象結構中的各個元素的操作。訪問者模式讓你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。訪問者模式是一種對象行為型模式 二、描述 訪問者模式是一種較為複雜的行為型模式,它包含訪問者和被訪問元素兩個主要組成部分,這些被訪問的元素通常具有不同的類型,且不同的訪問者可 ...
  • 一、定義 定義一個操作中演算法的框架,而將一些步驟延遲到子類中。模板方法模式使得子類不改變一個演算法的結構即可重定義該演算法的特定步驟。模板方法是一種類行為型模式 二、描述 模板方法模式結構比較簡單,其核心是抽象類和其中的模板方法的設計,包含以下兩個角色: 1、AbstractClass(抽象類):在抽象 ...
  • 實驗介紹: 本文會詳細介紹創建虛擬站點的三種方法 一:IP地址建立站點 1.打開安裝了IIS的windows,進入ip配置頁面。 添加幾個ip,我這裡添加的是192.168.1.209,192.168.1.210,192.168.1.211 2.打開IIS管理頁面,展開樹形菜單,右鍵網站,點擊添加網 ...
  • Linux環境下非GUI製作圖形界面方法 如題,即就是僅僅使用ANSI轉義字元實現Linux環境的頁面效果,如字體顏色、背景顏色、高亮、固定位置游標、將游標放到指定位置、隱藏字元串等等。 具體實現方法在如下代碼中,使用方法在註釋里可以看到。 // #ifndef lxx_print_h #defin ...
  • why 為什麼要搭建此開發環境? 在linux環境下開發可以利用shell命令實現對文件的批處理 偉大的程式員應該都用類unix系統! 可以實現對底層編譯技術的瞭解,以便於更好的掌握嵌入式技術 通用性,採用開源工具,從底層開發項目,可以不受制於特定廠商的ide工具.可以實現通用架構! what 開發 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...