虚拟机存储跑不快?群晖NFS后端这样调
场景
虚拟化平台的存储后端用群晖NFS,是中小企业常见的架构:一台机架式NAS挂NFS datastore,上面跑若干业务虚机。虚机一多、负载一重,磁盘IO先顶不住,开个应用转半天。与其急着加服务器,先把后端这五处调对,往往就有改观。
第一招:给随机IO上SSD
虚机负载以随机读写为主,机械盘天然吃亏。两条路线:用SSD建SSD缓存,或者直接用SSD组建存储池。做缓存规划时,把Btrfs元数据固定到SSD缓存上,元数据操作快了,整体响应跟着上来。企业级机型支持HDD与SSD混插的,冷数据放HDD、热盘位给SSD,投入和效果比较平衡。
第二招:I/O密集的共享文件夹别开数据校验
Btrfs共享文件夹有个「数据校验」选项,启用高级数据完整性后,每次写入都多一道校验计算。文件共享场景基本无感,虚机磁盘这种I/O密集型负载会明显被拖慢。放虚机磁盘的共享文件夹,建议不启用数据校验,数据保护交给快照和备份体系。
第三招:核对NFS权限里的两个参数
控制面板 > 共享文件夹,选中datastore对应的共享文件夹,编辑 > NFS权限,选中客户端点编辑:
异步:勾选「启用异步」。异步写入先落缓存再刷盘,写等待明显下降;代价是极端断电断线场景可能丢最后一点数据。虚机后端本来就该有快照和备份兜底,这笔账通常是划算的。
Squash:保持默认「无映射」。这样NFS服务器不会改写文件和文件夹的所有权,避免ESXi或Proxmox写进去的文件属主错乱,权限混乱也是性能问题的常见源头。
第四招:维护任务挪到非高峰
空间回收、备份任务、数据校验这类系统维护,别跟业务虚机抢磁盘。安排在夜间或周末执行,白天高峰期把磁盘资源让给虚机。这个改动不花一分钱,效果却常被低估。
第五招:VMware用户装VAAI插件
NAS做ESXi的NFS datastore,每台ESXi主机都装上Synology NFS Plug-in for VMware VAAI,部分存储操作直接卸载到NAS端完成,创建和克隆虚机的速度能有可感提升。装完插件后,虚机磁盘格式也有讲究:
- Thick Provision Eager Zeroed:I/O性能较高,创建慢——数据库等重IO虚机选它;
- Thick Provision Lazy Zeroed:性能中等,创建中等——一般业务虚机够用;
- Thin Provision:性能较低,创建快——测试虚机、临时环境选它。
一个注意点:启用了自动重复数据删除的存储空间,不支持两种Thick格式,要用就把datastore放在未启用重删的共享文件夹上。
写在最后
网络层也顺带盯一眼:万兆口能上就上,NFS流量单独划VLAN,别跟业务网混跑。虚拟化后端存储的选型与调优,贵州诚鑫致达科技给不少企业做过落地方案,从盘位规划到参数落地都能搭把手,要聊搜「诚鑫致达」。