一、挂载数据盘
(1)Cloudpods 控制台操作**
在 Cloudpods 管理界面中,找到目标虚拟机 → 磁盘管理 → 确认磁盘已挂载(状态为 “已挂载”)。

(2)查看系统识别的磁盘
(新挂载的磁盘通常为 dev/vdb、/dev/vdc 等)
lsblk
fdisk -l
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 100M 0 part efi
│ boot/efi
├─sda3 8:3 0 1000M 0 part boot
└─sda4 8:4 0 8.9G 0 part
└─rocky-lvroot 253:0 0 8.8G 0 lvm /
sdb 8:16 0 500G 0 disk
sr0 11:0 1 1024M 0 rom
根据lsblk的输出,可以看出系统已识别到新磁盘 /dev/sdb
(500GB),但尚未分区或挂载。以下是在这块磁盘上创建逻辑卷并挂载的完整步骤。
(3)创建逻辑卷并挂载
1. 创建物理卷
# 在 dev/sdb 上创建物理卷
pvcreate dev/sdb
# 验证
pvs
# 输出应显示:
# PV VG Fmt Attr PSize PFree
# dev/sdb lvm2 --- 500.00g 500.00g
2、创建卷组(VG)**
# 创建名为 vg_data 的卷组,包含 dev/sdb
vgcreate vg_data dev/sdb
# 验证
vgs
# 输出应显示:
# VG #PV #LV #SN Attr VSize VFree
# vg_data 1 0 0 wz--n- 500.00g 500.00g
3、创建逻辑卷(LV)
# 创建名为 lv_data 的逻辑卷,使用全部空间
lvcreate -l 100%VG -n lv_data vg_data
# 验证
lvs
# 输出应显示:
# LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
# lv_data vg_data -wi-a----- 500.00g
4、格式化文件系统
# 格式化为 XFS(推荐用于大容量存储)
mkfs.xfs dev/vg_data/lv_data
# 或格式化为 ext4(兼容性更好)
mkfs.ext4 dev/vg_data/lv_data
5、挂载并设置自动挂载
# 创建挂载点
mkdir data
# 临时挂载
mount dev/vg_data/lv_data data
# 获取 UUID(用于 fstab 配置)
blkid dev/vg_data/lv_data
# 输出示例: # dev/vg_data/lv_data: UUID="xxxx-xxxx" TYPE="xfs"
# 编辑 etc/fstab,添加自动挂载配置
echo'UUID=xxxx-xxxx data xfs defaults 0 0' >> etc/fstab
# 验证挂载 df -hT
# 输出应显示: # dev/mapper/vg_data-lv_data xfs 500G 33M 500G 1% data
6、验证lvm配置
# 查看完整 LVM 配置
lvs
vgs
pvs
二、扩展系统盘
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 100M 0 part efi
│ /boot/efi
├─sda3 8:3 0 1000M 0 part boot
└─sda4 8:4 0 8.9G 0 part
└─rocky-lvroot 253:0 0 8.8G 0 lvm /
当前的 sda
磁盘还有未分区的空间(总容量 100G,已分配约10G左右),现在的目标是 把剩余的空间分配给根目录 /
所对应的 **LVM 卷 rocky-lvroot
**。
1. 确认磁盘未分区的可用空间
查看剩余未分区空间(重点看 Free space
):
sudo fdisk -l /dev/sda
2. 创建新的分区(用于 LVM)**
使用 fdisk
添加新的主分区:
sudo fdisk /dev/sda
在 fdisk
中按以下顺序操作(谨慎输入):
n # 新建分区
p # 主分区
5 # 分区号(如果已有1-4,用5起)
默认 # 起始扇区(直接回车)
默认 # 结束扇区(默认使用所有剩余)
t # 修改分区类型
8e # 设置为 LVM 类型
w # 写入并退出
或者使用cfdisk创建
创建一个新的分区:Free space -->NEW
确认分区大小,回车。
改变分区类型,点击TYPE,选择linux LVM
选择Write,输入yes,保存配置到磁盘。
点击Quit退出。
3. 刷新分区表
sudo partprobe
4. 将新分区加入 LVM
假设新分区是 /dev/sda5
(你可以通过 lsblk
或 fdisk -l
来确认):
sudo pvcreate /dev/sda5 sudo vgextend rocky /dev/sda5
5. 扩展逻辑卷 rocky-lvroot
sudo lvextend -l +100%FREE /dev/rocky/lvroot
6. 扩展文件系统
ext4 文件系统:
sudo resize2fs /dev/rocky/lvroot
xfs 文件系统(CentOS/Rocky 默认是它): sudo xfs_growfs /
7. 验证
df -h /
三、测试磁盘的随机写性能
fio -name=random_write -filename=/data/test.file -direct=1 -iodepth=16 -thread -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=60 -group_reporting
参数详解
-name=random_write | |
-filename=/data/test.file | |
-direct=1 | |
-iodepth=16 | |
-thread | |
-rw=randwrite | randwrite),模拟数据库等随机写入场景。 |
-ioengine=libaio | |
-bs=4k | |
-size=1G | |
-numjobs=4 | |
-runtime=60 | size)。 |
-group_reporting |
结果分析
fio -name=random_write -filename=/data/test.file -direct=1 -iodepth=16 -thread -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=60 -group_reporting
random_write: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16
...
fio-3.35
Starting 4 threads
random_write: Laying out IO file (1 file / 1024MiB)
Jobs: 4 (f=4): [w(4)][90.0%][w=504MiB/s][w=129k IOPS][eta 00m:01s]
random_write: (groupid=0, jobs=4): err= 0: pid=17187: Fri Jun 20 09:12:25 2025
write: IOPS=107k, BW=418MiB/s (438MB/s)(4096MiB/9801msec); 0 zone resets
slat (nsec): min=1926, max=717670, avg=9304.40, stdev=25854.62
clat (usec): min=112, max=2083, avg=588.33, stdev=154.27
lat (usec): min=115, max=2098, avg=597.63, stdev=157.15
clat percentiles (usec):
| 1.00th=[ 351], 5.00th=[ 420], 10.00th=[ 449], 20.00th=[ 474],
| 30.00th=[ 494], 40.00th=[ 519], 50.00th=[ 545], 60.00th=[ 586],
| 70.00th=[ 635], 80.00th=[ 693], 90.00th=[ 791], 95.00th=[ 898],
| 99.00th=[ 1106], 99.50th=[ 1172], 99.90th=[ 1385], 99.95th=[ 1549],
| 99.99th=[ 1844]
bw ( KiB/s): min=303377, max=532120, per=99.30%, avg=424969.74, stdev=18829.77, samples=76
iops : min=75844, max=133030, avg=106242.42, stdev=4707.45, samples=76
lat (usec) : 250=0.15%, 500=32.84%, 750=53.68%, 1000=10.87%
lat (msec) : 2=2.46%, 4=0.01%
cpu : usr=2.44%, sys=10.29%, ctx=332487, majf=0, minf=4
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,1048576,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
WRITE: bw=418MiB/s (438MB/s), 418MiB/s-418MiB/s (438MB/s-438MB/s), io=4096MiB (4295MB), run=9801-9801msec
Disk stats (read/write):
dm-1: ios=0/1028067, merge=0/0, ticks=0/432238, in_queue=432238, util=98.41%, aggrios=0/1048576, aggrmerge=0/0, aggrticks=0/439674, aggrin_queue=439674, aggrutil=98.13%
sdb: ios=0/1048576, merge=0/0, ticks=0/439674, in_queue=439674, util=98.13%
1. 核心性能数据
写入带宽(BW):418 MiB/s(约 438 MB/s),接近 SATA III 接口的理论上限(600 MB/s)。 IOPS(每秒操作数):107k,表明磁盘可处理高并发小文件写入。 延迟(lat): 平均延迟:597.63 微秒(约 0.6 毫秒),属于正常范围。 99% 延迟:1.84 毫秒,表明极少数操作存在轻微延迟波动。
2. CPU 占用
用户态(usr):2.44%,系统态(sys):10.29%,主要消耗在 I/O 调度。 上下文切换(ctx):332487 次。
文章转载自PostgreSQL运维技术,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




