Proxmox VE逻辑卷管理LVM详解(2-4)

3.3. 上传ISO镜像和创建虚拟机

接下来,我们在Proxmox VE中上传ISO镜像和创建虚拟机,以此来看看LVM的一些内在逻辑关系,还是以Proxmox VE 7.0为例来演示。

3.3.1. 上传ISO镜像与LVM的关系

在Proxmox VE 7.0界面中,选择“pve→local(pve)→ISO镜像→上传”,然后选择本地ISO镜像,点击“上传”按钮,即可将ISO镜像上传,如图17所示。

在这里插入图片描述

图17. 上传ISO镜像

ISO镜像上传完成之后,在Proxmox VE 7.0界面中会出现如图18所示的镜像信息。

在这里插入图片描述

图18. ISO镜像上传完成

ISO镜像上传完成之后,我们通过Proxmox VE 7.0界面再来看一下逻辑卷root的存储点“local(pve)”,如图19所示。

在这里插入图片描述

图19. ISO镜像占用root的存储空间

从图19中可以看到,ISO镜像上传之后,逻辑卷root的空间使用率达60%了。注意,这个逻辑卷root默认情况下有3GB的数据,这个数据是什么数字,是什么来源,目前还不知道,Proxmox官网文档也没有相关介绍。

我们从第三方WEB UI监控也可以看到,逻辑卷root的空间使用情况,上传ISO镜像之后,逻辑卷root的空间使用率达66%,如图20所示。

在这里插入图片描述

图20. ISO镜像占用root的存储空间

图19的逻辑卷root统计数值与图20的逻辑卷root统计数值有偏差,主要是因为Proxmox VE界面的统计方法和第三方WEB UI、CLI命令行的统计方法不同所致,事实上,Proxmox VE界面的统计数值都偏大,而第三方WEB UI、CLI命令行的统计数值是准确的。

上面是使用WEB UI进行查看,也可以使用命令行CLI进行查看,会有更详细的逻辑卷root信息,如下所列:

root@pve:~#  ls /var/lib/vz/template/iso       #逻辑卷root的存储路径是/var/lib/vz
ubuntu-20.04.3-desktop-amd64.iso               #ISO镜像

root@pve:~# ls -lht /var/lib/vz/template/iso     #ISO镜像的空间大小
total 2.9G
-rw-r--r-- 1 root root 2.9G Sep 28 09:50 ubuntu-20.04.3-desktop-amd64.iso

3.3.2. 创建虚拟机与LVM的关系

在《3.2.1.Proxmox VE默认物理卷(PV)》章节中,我们已经了解到,逻辑卷data由三部分组成,分别是逻辑卷data_tmeta(元数据池,用于管理与检索数据池),逻辑卷data_tdata(数据池,用于虚拟机磁盘),逻辑卷lvol0_pmspare(元数据池备份)。

那么,在创建虚拟机时,Proxmox VE 7.0会从逻辑卷data_tdata中划分空间(也就是你给虚拟机磁盘分配空间),作为虚拟机磁盘使用,所以这个虚拟机磁盘也是逻辑卷,也是以逻辑卷的方式存放在逻辑卷data_tdata中,我们来创建一个虚拟机,来验证一下,看是不是这样。

第一步:创建虚拟机VM100,分配虚拟机磁盘32GB,虚拟机磁盘格式raw,存储位置在逻辑卷data_tdata中,如图21所示。

在这里插入图片描述

图21. 虚拟机磁盘空间分配

如图21所示中,逻辑卷data_tdata的存储点位置在local-lvm,通过手工从逻辑卷data_tdata“切”32GB空间用作虚拟机磁盘,虚拟机磁盘是逻辑卷data_tdata上的块存储,如图22所示。

在这里插入图片描述

图22. 虚拟机磁盘是逻辑卷data_tdata块存储

虚拟机创建之后,我们可以在第三方WEB UI监控中可以看到虚拟机磁盘是一个逻辑卷,如图23所示。

在这里插入图片描述

图23. 虚拟机磁盘是逻辑卷

虚拟机磁盘vm-100-disk-0是逻辑卷data上的块存储,但是我们从图23中发现,虚拟机磁盘的空间是32GB,而逻辑卷data空间只有18.87GB,这本身看起来就不合理对吧,毕竟虚拟机磁盘空间是从逻辑卷data中切出来的。

这其实就是云计算的“超配”现象,所谓超配也就是说我给虚拟机磁盘分配了32GB空间,但是这个虚拟机磁盘上还没有数据,他的空间使用率为0%,实际上没有占用空间的。超配现象在云计算中经常发生的,尤其是公有云厂商卖给客户的云主机经常是超配的,赌的就是客户没有把云主机的空间、算力没有用满,这就是我们常说的超卖现象。

接下来,我们来看一下这个虚拟机磁盘与逻辑卷data的关系,虚拟机磁盘的文件系统类型,如图24所示。

在这里插入图片描述

图24. 虚拟机磁盘的文件系统类型

从图24中,我们可以看到,逻辑卷vm-100-disk-0(虚拟机vm100的第一块硬盘)是逻辑卷data的块存储,逻辑卷vm-100-disk-0的文件系统是ext3而不是ext4,逻辑卷vm-100-disk-0没有挂载点。

为什么Proxmox VE 7.0在虚拟机磁盘上创建的文件系统是ext3而不是ext4,这主要是因为在稳定性方面,ext3比ext4稳定一些,不过ext4效率更高。当然,你也可以把虚拟机磁盘格式化为ext4。

我们在图1中,也看到虚拟机磁盘是没有挂载点的,从图24中也发现,虚拟机磁盘是没有挂载点的。

虚拟机创建之后,Proxmox VE 7.0中虚拟机磁盘属性以及存放位置如图25和图26所示。

在这里插入图片描述

图25. 虚拟机磁盘的属性

在这里插入图片描述

图26. 虚拟机磁盘的存放位置

假如您足够了解KVM的特性,您就会发现KVM针对LVM类型的存储池,宿主机上的卷组(VG)中的LV(逻辑卷)是可以作为虚拟机磁盘分配给虚拟机使用的,我们刚才演示的其实就是KVM的特性。因为Proxmox VE的虚拟化技术是基于KVM的。

不过在原生的KVM中,逻辑卷由于没有磁盘的MBR引导记录,不能作为虚拟机的启动盘,只能作为数据盘使用。也就是说,我们刚才分配的vm-100-disk-0磁盘不能作为虚拟机启动盘,只能作为数据盘使用,我们来看看是不是这样,如图27所示。

在这里插入图片描述

图27. vm-100-disk-0磁盘成为引导磁盘

根据图27,我们可以发现,虚拟机磁盘vm-100-disk-0是一个引导磁盘,是一个启动盘。从这里也可以看出,Proxmox VE针对KVM特性,做了二次优化开发了。

第二步:在虚拟机VM100中,添加第二块虚拟机磁盘,如图28、图29、图30所示。

在这里插入图片描述

图28. 添加第二块虚拟机磁盘

在这里插入图片描述

图29.第二块虚拟机磁盘属性

在这里插入图片描述

图30.第二块虚拟机磁盘存放位置

如图28所示中,逻辑卷data_tdata的存储点位置在local-lvm,通过手工从逻辑卷data_tdata“切”32GB空间用作虚拟机磁盘,虚拟机磁盘是逻辑卷data_tdata上的块存储,如图31所示。

在这里插入图片描述

图31. 虚拟机磁盘是逻辑卷data_tdata块存储

虚拟机创建之后,我们可以在第三方WEB UI监控中可以看到虚拟机磁盘是一个逻辑卷,如图32、图33所示。

在这里插入图片描述

图32. 第二块虚拟机磁盘

在这里插入图片描述

图33. 第二块虚拟机磁盘配置信息

接下来,我们使用命令行CLI来查看一下虚拟机磁盘信息,如下所列:

虚拟机磁盘存放位置:

root@pve:~# ls /dev/pve/
root  swap  vm-100-disk-0  vm-100-disk-1          #虚拟机磁盘存放位置

虚拟机磁盘是逻辑卷:

root@pve:~# lvs
  LV            VG  Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data          pve twi-aotz-- 18.87g             0.00   1.58                            
  root          pve -wi-ao----  9.75g                                                    
  swap          pve -wi-ao----  4.00g                                                    
  vm-100-disk-0 pve Vwi-aotz-- 32.00g data        0.00         #虚拟机磁盘是逻辑卷                          
  vm-100-disk-1 pve Vwi-aotz-- 32.00g data        0.00        #虚拟机磁盘是逻辑卷       

虚拟机磁盘逻辑卷详细信息:

root@pve:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-0           #逻辑卷文件路径
  LV Name                vm-100-disk-0                    #逻辑卷文件名称
  VG Name                pve                              #卷组名称
  LV UUID                vp0b7M-jxNt-BDA7-PegD-G2lT-lkA0-VeCi2w
  LV Write Access        read/write
  LV Creation host, time pve, 2021-09-28 10:44:16 +0800
  LV Pool name           data                            #逻辑卷存储池名称
  LV Status              available
  # open                 1
  LV Size                32.00 GiB                       #逻辑卷分配32GB空间
  Mapped size            0.00%
  Current LE             8192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:6
   
  --- Logical volume ---
  LV Path                /dev/pve/vm-100-disk-1          #逻辑卷文件路径
  LV Name                vm-100-disk-1                   #逻辑卷文件名称
  VG Name                pve                             #卷组名称
  LV UUID                mOoqZE-T2JT-Dddo-bXmq-AHQ1-S683-daCDk0
  LV Write Access        read/write
  LV Creation host, time pve, 2021-09-29 14:26:33 +0800
  LV Pool name           data
  LV Status              available
  # open                 1
  LV Size                32.00 GiB
  Mapped size            0.00%
  Current LE             8192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:7

查看Proxmox VE 7.0的所有块设备信息:

root@pve:~# lsblk -f
NAME                         FSTYPE      FSVER    LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                                           
├─sda1                                                                                                        
├─sda2                       vfat        FAT32          F92A-97E4                                             
└─sda3                       LVM2_member LVM2 001       Ny0mtE-hiIR-IVRB-33aA-dKZe-uKyL-gtbWkM                
  ├─pve-swap                 swap        1              d971d023-1e21-4db4-b083-35581f2fc965                  [SWAP]
  ├─pve-root                 ext4        1.0            9cbd71dd-b8a4-473e-a503-48c8c0c0928b      3.2G    61% /
  ├─pve-data_tmeta                        #逻辑卷data_tmeta,元数据池                                                                                         
  │ └─pve-data-tpool                                                                                          
  │   ├─pve-data                                                                                              
  │   ├─pve-vm--100--disk--0            #元数据,用于管理与检索pve-vm--100--disk--0                                                                            
  │   └─pve-vm--100--disk--1            #元数据,用于管理与检索pve-vm--100--disk--1                                                                      
  └─pve-data_tdata                        #逻辑卷data_tdata,数据池                                                                                          
    └─pve-data-tpool                                                                                          
      ├─pve-data                                                                                              
      ├─pve-vm--100--disk--0             #虚拟机磁盘                                                                         
      └─pve-vm--100--disk--1         #虚拟机磁盘                                                                       

第三步:创建第二台虚拟机VM101,并直接添加两块虚拟机磁盘,如图34、图35、图36和图37所示。

在这里插入图片描述

图34. 虚拟机vm101添加第二块虚拟机磁盘

在这里插入图片描述

图35.虚拟机vm101磁盘属性

在这里插入图片描述

图36.虚拟机磁盘存放位置

如图34所示中,逻辑卷data_tdata的存储点位置在local-lvm,通过手工从逻辑卷data_tdata“切”32GB空间用作虚拟机磁盘,虚拟机磁盘是逻辑卷data_tdata上的块存储,如图37所示。

在这里插入图片描述

图37. 虚拟机磁盘是逻辑卷data_tdata块存储

虚拟机创建之后,我们可以在第三方WEB UI监控中可以看到虚拟机磁盘是一个逻辑卷,如图38所示。

在这里插入图片描述

图38. 虚拟机磁盘是逻辑卷data_tdata块存储

猜你喜欢

转载自blog.csdn.net/jianghu0755/article/details/129759833