私有云数据层LVM卷管理

私有云架构 规划了 数据存储层(data) ,其中采用了三个 z-b-data-1 / z-b-data-2 / z-b-data-3 Open Virtual Machine Firmware(OMVF) 虚拟机pass-through读写 三星PM9A1 NVMe存储 。这样,这三个虚拟机内部都会有一块完整NVMe磁盘,规划:

注解

部署LVM 详述技术细节,本文为精简

构建LVM卷可以将分区按需(不同应用)划分成独立磁盘块设备(卷),即将NVMe磁盘上的分区2划分

  • 首先将分区2准备如下:
parted创建nvme分区2作为LVM卷
sudo parted -a optimal /dev/nvme0n1 mkpart primary 500GB 800GB
sudo parted /dev/nvme0n1 name 2 lvm-data
sudo parted /dev/nvme0n1 set 2 lvm on
  • 完成后分区如下:
nvme分区
Model: SAMSUNG MZVL21T0HCLR-00B00 (nvme)
Disk /dev/nvme0n1: 1024GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name      Flags
 1      1049kB  500GB  500GB               primary
 2      500GB   800GB  300GB               lvm-data  lvm

LVM洛基卷创建

  • 在分区2上创建LVM物理卷PV:
pvcreate创建PV
sudo pvcreate /dev/nvme0n1p2
  • 在分区2上创建LVM的卷组VG:
vgcreate创建VG
sudo vgcreate vg-data /dev/nvme0n1p2
lvcreate创建LVM卷
sudo lvcreate -n lv-etcd -L 8G vg-data
  • 最终检查:

    sudo lvdisplay vg-data/lv-etcd
    

可以看到部署的LVM卷:

lvdisplay检查LVM
  --- Logical volume ---
  LV Path                /dev/vg-data/lv-etcd
  LV Name                lv-etcd
  VG Name                vg-data
  LV UUID                MVuffR-RycZ-IWoK-JsAR-wuQc-c8fF-0a80Zm
  LV Write Access        read/write
  LV Creation host, time z-b-data-1, 2022-06-30 00:32:02 +0800
  LV Status              available
  # open                 0
  LV Size                8.00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

文件系统

  • LVM卷上创建文件系统:
LVM卷上创建文件系统
sudo mkfs.xfs /dev/vg-data/lv-etcd

创建 /etc/fstab 挂载条目:

在 /etc/fstab 中增加挂载LVM卷配置
echo "/dev/vg-data/lv-etcd    /var/lib/etcd    xfs    defaults    0 0" | sudo tee -a /etc/fstab
  • 然后创建挂载目录并挂载:
挂载LVM卷
mkdir /var/lib/etcd
mount /var/lib/etcd

现在我们获得了一个可以部署 私有云etcd服务 的存储挂载