天天看點

實操CentOS8系統中建立LVM邏輯卷

條帶化邏輯卷将在所有可用實體卷上平均寫入資料。我們有四個實體卷,将資料寫入條帶化邏輯卷時,它将資料條帶化到所有磁盤上,進而提供更高的讀寫性能。

工作原理

假設我們要寫一個32MB的檔案。第一個4 MB(預設1個PE(實體擴充)=4M)将寫入第一個磁盤/dev/sdb1,然後第二個4 MB将寫入第二個磁盤/dev/sdc1,第三個4 MB将寫入第三個磁盤/dev/sdd1,第四個4 MB将寫入第四個磁盤/dev/sde1,第五個将從第一個磁盤/dev/sdb1開始。此過程将以循環方式反複進行。從I/O的角度提供了更高的性能。此外,單次寫入的預設最小大小可以從64k開始。在我們的設定中,我們将使用128k。條帶中允許最小磁盤數為2個。

添加4塊硬碟,并建立實體卷

系統中已添加四塊20GB的硬碟:

實操CentOS8系統中建立LVM邏輯卷

下面建立實體卷:

[root@localhost ~]# pvcreate /dev/sd[a-d]
  Physical volume "/dev/sda" successfully created.
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.
  Physical volume "/dev/sdd" successfully created.      
實操CentOS8系統中建立LVM邏輯卷

建立一個卷組

[root@localhost ~]# vgcreate vg01_data /dev/sd[a-d]
  Volume group "vg01_data" successfully created
[root@localhost ~]# vgs
  VG        #PV #LV #SN Attr   VSize   VFree 
  cl          1   2   0 wz--n- <19.00g <2.00g
  vg01_data   4   0   0 wz--n-  79.98g 79.98g      
實操CentOS8系統中建立LVM邏輯卷

建立一個條帶卷

[root@localhost ~]# lvcreate -L 20G -i 4 -I 128k -n lv_data vg01_data /dev/sd[a-d]
  Logical volume "lv_data" created.      
實操CentOS8系統中建立LVM邏輯卷
  • ​-i 4​

    ​條帶數量
  • ​-I 128k​

    ​單個條帶的大小。
  • ​/dev/sd[a-d]​

    ​作為條帶卷的磁盤,/dev/sda,/dev/sdb,/dev/sdc,/dev/sdd

使用​

​-m​

​選項列出建立的邏輯卷,并列出邏輯卷映射的實體卷。

​​https://www.51cto.com/it/news/2022/0809/33650.html

​​

​​https://www.51cto.com/it/news/2022/0822/33888.html

​​

​​https://www.csdn.net/article/2022-08-22/126463414​​

[root@localhost ~]# lvdisplay /dev/vg01_data/lv_data  -m      
實操CentOS8系統中建立LVM邏輯卷

驗證條帶卷使用的磁盤

使用dmsetup​​指令​​參考lsblk列出的磁盤中的​

​Major​

​和​

​Minor​

​号,來對照使用的磁盤是否一緻:

[root@localhost ~]# dmsetup deps /dev/vg01_data/lv_data 
4 dependencies : (8, 48) (8, 32) (8, 16) (8, 0)
[root@localhost ~]# lsblk      
實操CentOS8系統中建立LVM邏輯卷

格式化并挂載條帶卷

格式化該條帶卷并挂載到/data目錄:

[root@localhost ~]# mkdir /data
[root@localhost ~]# mkfs.xfs -f /dev/vg01_data/lv_data 
meta-data=/dev/vg01_data/lv_data isize=512    agcount=16, agsize=327648 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=5242368, imaxpct=25
         =                       sunit=32     swidth=128 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/vg01_data/lv_data /data/