2. PaaS存储基础:云硬盘类型、性能指标、挂载与卸载
好,咱们开始聊存储。说实话,在PaaS平台里,存储这块儿要是没搞明白,后面所有跟数据沾边的事儿都会出问题。我见过太多开发同学,代码写得飞起,结果一挂盘就懵了。今天咱们就把云硬盘这事儿彻底捋清楚。
2.1 云硬盘到底是个啥?
说白了,云硬盘就是一块「网络版的硬盘」。你想想看,物理机上的硬盘是插在主板上的,而云硬盘是通过网络连到虚拟机上的。它独立于计算节点存在,就算虚拟机挂了,硬盘里的数据也丢不了。
我在项目中遇到过最典型的一个场景:某次线上数据库节点宕机,但数据盘完好无损,直接挂到另一台新机器上就恢复了。嗯,这就是云硬盘最大的价值——计算与存储分离。
2.2 云硬盘的三大类型
不同类型的云硬盘,性能差异很大。我习惯把它们分成三类来讲:
| 类型 | 典型场景 | 核心特点 |
|---|---|---|
| SSD云硬盘 | 数据库、高IO应用 | 低延迟、高IOPS |
| 高效云盘 | Web服务器、日志存储 | 性价比高、吞吐量不错 |
| 普通云盘 | 备份、冷数据 | 便宜、性能一般 |
重点提醒:别为了省钱给数据库挂普通云盘。我曾经有个客户,MySQL跑在普通云盘上,业务高峰期IO直接打满,查询延迟飙到秒级。后来换成SSD,问题立刻解决。
2.3 性能指标怎么看?
选云硬盘不能光看类型,得看懂几个关键指标。我一般重点关注这四个:
- IOPS:每秒能处理多少个读写请求。数据库这类小文件随机读写,就看它。
- 吞吐量:每秒能传输多少数据。视频处理、大数据分析这类大文件顺序读写,看这个。
- 延迟:每次读写请求的响应时间。SSD一般在1ms以内,普通盘可能到10ms。
- 容量:这个好理解,但要注意——有些云厂商的IOPS和吞吐量会随容量线性增长。
为什么会这样?因为云硬盘底层其实是分布式存储集群,容量越大,背后能调用的存储节点就越多,性能自然就上去了。
2.4 挂载与卸载:实操环节
理论说完了,咱们上手试试。挂载云硬盘这事儿,我建议你养成一个好习惯:先看设备名,再操作。
2.4.1 查看磁盘信息
# 列出所有块设备
lsblk
# 查看磁盘详细信息
fdisk -l
# 检查文件系统类型
blkid /dev/vdb
我个人习惯先用 lsblk 看一眼,确认新挂的盘是不是已经识别到了。比如你挂了一块100G的盘,它通常会显示为 /dev/vdb 或 /dev/sdb。
2.4.2 分区与格式化
新盘拿来不能直接用,得先分区和格式化。注意,如果你打算整块盘作为一个分区,可以跳过分区步骤。
# 分区(可选)
fdisk /dev/vdb
# 格式化,我习惯用ext4
mkfs.ext4 /dev/vdb1
# 或者用xfs,适合大文件场景
mkfs.xfs /dev/vdb1
小技巧:生产环境我推荐用xfs。ext4单个文件最大16TB,xfs可以到8EB。虽然一般用不到这么大,但万一呢?
2.4.3 挂载到目录
# 创建挂载点
mkdir -p /data
# 临时挂载
mount /dev/vdb1 /data
# 查看挂载结果
df -h
嗯,这里要注意:临时挂载重启后就没了。要想开机自动挂载,得写进 /etc/fstab。
2.4.4 配置开机自动挂载
# 获取UUID
blkid /dev/vdb1
# 编辑fstab文件
vim /etc/fstab
# 添加一行(建议用UUID,设备名可能变)
UUID=你的UUID /data xfs defaults 0 0
# 验证配置是否正确
mount -a
警告:fstab写错了,系统可能起不来!我曾经有一次手抖写错了挂载参数,重启后服务器直接进入维护模式。所以每次改完fstab,一定记得执行 mount -a 测试一下。
2.4.5 卸载云硬盘
卸载前,先确保没有进程在使用这个目录。
# 查看谁在用
lsof /data
# 卸载
umount /data
# 如果提示"target is busy",强制卸载(慎用)
umount -l /data
强制卸载虽然方便,但可能导致数据丢失。我建议你先用 lsof 找到占用进程,停掉它再卸载。
2.5 常见坑与避坑指南
- 挂载点别选系统目录:比如
/、/etc、/var这些,挂上去系统可能直接崩。 - 多路径问题:有些云环境里,同一块盘可能显示多个设备名。用
multipath -ll检查一下。 - 卸载前先停服务:尤其是数据库,直接umount可能导致数据损坏。
我曾经在线上环境犯过一个低级错误:卸载数据盘时没停MySQL,结果umount失败,我还以为是盘卡住了,直接强制重启。嗯,后果你懂的——数据库恢复花了两小时。
2.6 小结
云硬盘这块儿,说白了就是三件事:选对类型、看懂指标、正确挂载。类型选错了性能跟不上,指标看不懂容易被坑,挂载姿势不对数据可能丢。每一步都别马虎。
下一章咱们聊聊更进阶的内容——存储性能调优。到时候我会分享一些压测工具和调参经验,保证干货满满。
一句话总结:云硬盘是PaaS平台的「数据底座」,搞懂它,你的应用才能跑得稳、跑得快。