虚拟机模版通常只划分100GB系统盘(LVM架构、XFS分区),后续根据新上线业务系统需要再添加指定大小的数据盘创建新虚拟机,实现快速统一标准的系统搭建(集成VMtools、杀毒软件、运维监控软件、配置日志留存大于6个月)。

一、完整实操步骤
原有 VG:openeuler,仅 PV /dev/sda3,VG 内无剩余空间
新磁盘:裸盘 /dev/sdb 100GiB,无分区、无文件系统
目标:将 sdb 作为新 PV 扩容进openeuler卷组,新建 100G 逻辑卷挂载 /data
步骤 1:创建物理卷 PV /dev/sdb
# 把整块sdb初始化为LVM物理卷
pvcreate /dev/sdb

# 校验PV生成
pvdisplay
执行后会多出一条 PV 记录:/dev/sdb
步骤 2:扩容现有卷组 openeuler(把 sdb 加入 VG)
# 将新PV /dev/sdb 添加到卷组openeuler
vgextend openeuler /dev/sdb

# 查看VG扩容后总容量,确认多出100G空间
vgdisplay openeuler
执行后 Free PE / Size 会出现约 100GiB 空闲空间。
步骤 3:在 openeuler 卷组新建逻辑卷 lvdata(占用全部 100G)
# -n lvdata:逻辑卷名称;-L 100G:分配100GB空间
lvcreate -n lvdata -L 100G openeuler

# 验证逻辑卷
lvdisplay /dev/openeuler/lvdata
生成设备路径:/dev/mapper/openeuler-lvdata
步骤 4:格式化 XFS 文件系统(openEuler 默认文件系统)

mkfs.xfs /dev/mapper/openeuler-lvdata
若需要 ext4,替换为 mkfs.ext4 /dev/mapper/openeuler-lvdata
步骤 5:创建挂载目录并临时挂载测试

# 创建/data目录
mkdir -p /data

# 临时挂载
mount /dev/mapper/openeuler-lvdata /data

# 查看挂载是否生效
df -h
输出列表能看到 /data 100G 分区即为正常。
步骤 6:配置 /etc/fstab 实现开机自动挂载
6.1 获取逻辑卷 UUID

blkid /dev/mapper/openeuler-lvdata
复制输出中 UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 整串 ID。
6.2 编辑开机挂载配置文件

vi /etc/fstab
在文件末尾追加一行(替换为你实际查到的 UUID):
plaintext
UUID=你复制的UUID值    /data    xfs    defaults    0 0
字段说明:
UUID:分区唯一标识
/data:挂载目录
xfs:文件系统类型
defaults:默认挂载权限
0:dump 备份
0:开机磁盘自检
6.3 校验 fstab 配置(关键,防止系统无法启动)

mount -a
无任何报错代表配置正确;若报错,回到 fstab 检查 UUID、文件系统类型是否写错。

步骤 7:重启验证(可选)
reboot
# 重启后执行
df -h
确认 /data 自动挂载成功。


配套常用排查 / 回滚命令(操作失误时使用)
卸载 /data 删除逻辑卷(清空重做场景)
umount /data
lvremove /dev/openeuler/lvdata
# 确认删除输入y


从 VG 移除 sdb 硬盘
vgreduce openeuler /dev/sdb
pvremove /dev/sdb


补充说明
本次直接使用整块磁盘 /dev/sdb 做 PV,无需分区;如果业务规范要求分区,先执行 fdisk /dev/sdb 分一个 8e 类型分区 /dev/sdb1,后续所有命令替换为 /dev/sdb1 即可。
当前原有 VG openeuler 原本无空闲空间,加入 sdb 后才有空间新建 lvdata,全程不会改动原有 root、swap、var_log 数据,无丢失风险。

二、完整实际运行代码

---------------------------------收集设备信息------------------------------------------------

Welcome to 6.6.0-145.3.15.146.oe2403sp3.x86_64

System information as of time:  Tue Jun 16 09:21:12 AM CST 2026


[root@fdjj ~]# lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                     8:0    0  100G  0 disk 
├─sda1                  8:1    0    2M  0 part 
├─sda2                  8:2    0  953M  0 part /boot
└─sda3                  8:3    0   98G  0 part 
  ├─openeuler-root    253:0    0   80G  0 lvm  /
  ├─openeuler-swap    253:1    0    8G  0 lvm  [SWAP]
  └─openeuler-var_log 253:2    0   10G  0 lvm  /var/log
sdb                     8:16   0  100G  0 disk 
sr0                    11:0    1 1024M  0 rom  

[root@fdjj ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               openeuler
  PV Size               <98.01 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              25089
  Free PE               1
  Allocated PE          25088
  PV UUID               HjDpyj-OloV-wkmZ-pRHs-jd3y-lwb7-obmMes
   
[root@fdjj ~]# vgdisplay
  --- Volume group ---
  VG Name               openeuler
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               98.00 GiB
  PE Size               4.00 MiB
  Total PE              25089
  Alloc PE / Size       25088 / 98.00 GiB
  Free  PE / Size       1 / 4.00 MiB
  VG UUID               j8U2nW-Cwy1-CXMf-WpkX-HxzI-3rPy-jHwXMn
   
[root@fdjj ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/openeuler/root
  LV Name                root
  VG Name                openeuler
  LV UUID                Pv1gxG-ybRi-PH8E-cOZB-PcDX-Qh4V-hzhsK0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2026-06-15 10:24:28 +0800
  LV Status              available
  # open                 1
  LV Size                80.00 GiB
  Current LE             20480
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/openeuler/swap
  LV Name                swap
  VG Name                openeuler
  LV UUID                rlzALo-dLjU-Q1gt-gjFM-nFiU-ifV8-ALFcCu
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2026-06-15 10:24:30 +0800
  LV Status              available
  # open                 2
  LV Size                8.00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/openeuler/var_log
  LV Name                var_log
  VG Name                openeuler
  LV UUID                gP7eLF-HMEt-yAf5-2Vhh-avEV-a8DH-ztIKeB
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2026-06-15 10:24:31 +0800
  LV Status              available
  # open                 1
  LV Size                10.00 GiB
  Current LE             2560
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   

---------------------------------添加新硬盘到目录------------------------------------------------

[root@fdjj ~]# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.
[root@fdjj ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               openeuler
  PV Size               <98.01 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              25089
  Free PE               1
  Allocated PE          25088
  PV UUID               HjDpyj-OloV-wkmZ-pRHs-jd3y-lwb7-obmMes
   
  "/dev/sdb" is a new physical volume of "100.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               100.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               LCTFDy-Ig0U-7St3-Zx9V-sBS1-DOdn-xEShIC
   
[root@fdjj ~]# vgextend openeuler /dev/sdb
  Volume group "openeuler" successfully extended
[root@fdjj ~]# vgdisplay openeuler
  --- Volume group ---
  VG Name               openeuler
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               198.00 GiB
  PE Size               4.00 MiB
  Total PE              50688
  Alloc PE / Size       25088 / 98.00 GiB
  Free  PE / Size       25600 / 100.00 GiB
  VG UUID               j8U2nW-Cwy1-CXMf-WpkX-HxzI-3rPy-jHwXMn
   
[root@fdjj ~]# lvcreate -n lvdata -L 100G openeuler
  Logical volume "lvdata" created.
[root@fdjj ~]# mkfs.xfs /dev/mapper/openeuler-lvdata
meta-data=/dev/mapper/openeuler-lvdata isize=512    agcount=4, agsize=6553600 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=1
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=1
data     =                       bsize=4096   blocks=26214400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=16384, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@fdjj ~]# mkdir -p /data
[root@fdjj ~]# mount /dev/mapper/openeuler-lvdata /data
[root@fdjj ~]# df -h
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/openeuler-root      80G  4.9G   76G   7% /
devtmpfs                       4.0M     0  4.0M   0% /dev
tmpfs                           32G     0   32G   0% /dev/shm
tmpfs                          4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs                           13G  8.7M   13G   1% /run
tmpfs                           32G     0   32G   0% /tmp
/dev/mapper/openeuler-var_log   10G  244M  9.7G   3% /var/log
/dev/sda2                      920M  306M  551M  36% /boot
/dev/mapper/openeuler-lvdata   100G  2.0G   98G   2% /data
[root@fdjj ~]# blkid /dev/mapper/openeuler-lvdata
/dev/mapper/openeuler-lvdata: UUID="bfe692e1-3b0c-43bc-babd-19479e6c638d" BLOCK_SIZE="512" TYPE="xfs"

修改/etc/fstab,添加/data目录重启后自动挂载

# /etc/fstab
# Created by anaconda on Mon Jun 15 02:24:41 2026
#
# 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.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/openeuler-root /                       xfs     defaults        0 0
UUID=8bbcab8a-dea9-4922-a90e-9847f52cd141 /boot                   ext4    defaults        1 2
/dev/mapper/openeuler-var_log /var/log                xfs     defaults        0 0
/dev/mapper/openeuler-swap none                    swap    defaults        0 0
UUID=bfe692e1-3b0c-43bc-babd-19479e6c638d /data    xfs    defaults    0 0


[root@fdjj ~]# mount -a
[root@fdjj ~]# reboot
[root@fdjj ~]#  X  shell close
Press any key to reconnect 


---------------------------------重启验证自动挂载情况------------------------------------------------
             
Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Tue Jun 16 09:21:12 2026 from 10.40.9.150


Welcome to 6.6.0-145.3.15.146.oe2403sp3.x86_64

System information as of time:  Tue Jun 16 09:36:35 AM CST 2026

System load:    0.58
Memory used:    .5%
Swap used:      0%
Usage On:       7%
IP address:     
Users online:   1


[root@fdjj ~]# df -h
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/openeuler-root      80G  4.9G   76G   7% /
devtmpfs                       4.0M     0  4.0M   0% /dev
tmpfs                           32G     0   32G   0% /dev/shm
tmpfs                          4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs                           13G  8.7M   13G   1% /run
tmpfs                           32G     0   32G   0% /tmp
/dev/mapper/openeuler-var_log   10G  245M  9.7G   3% /var/log
/dev/sda2                      920M  306M  551M  36% /boot
/dev/mapper/openeuler-lvdata   100G  2.0G   98G   2% /data
[root@fdjj ~]# 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐