背景:
云存储网关支持通过文件协议NFS/SMB来访问OSS Bucket里面的数据,用户通过创建NFS/SMB共享并绑定OSS Bucket从而实现以文件协议对OSS Bucket进行操作和管理。云存储网关控制台新上线的事件告警中心,则能帮助网关用户更方便的了解到当前使用网关上有哪些潜在的风险及问题。
事件告警中心:
用户可以通过时间范围,网关id,共享名称,当前是否正在告警等多个维度来筛选查看正在发生(已恢复或因网关删除不再有效的)的告警事件,也可以通过点击帮助文档来了解为何会产生此类告警事件及如何处置解决。
当前事件告警中心暂时支持三种事件,即“元数据空间不足”,“限流”及“上传队列堆积”等,下面就对这三种告警事件分别加以说明。
告警事件一:元数据空间不足
网关NFS/SMB共享需要一一对应一块缓存盘,缓存盘空间又分为数据缓存空间(对用户读写数据的缓存)以及元数据空间(存储目录结构及文件元数据等信息),网关共享管理的文件数目越多,使用的元数据空间也就越大,默认情况下会有20%的缓存盘空间用来存储元数据信息,当可用元数据空间耗尽的时候,网关共享将无法支持正常写入,因此当用户网关共享的可用元数据空间不足3GB,或者当缓存盘空间整体较小(<=75GB)情况下,可用元数据空间不足元数据空间总量的20%时候,会触发产生该告警事件。
用户可用通过网关控制台共享信息中的“可使用元数据空间”来了解具体情况
为了避免元数据空间耗尽导致的无法写入从而影响业务,建议用户在收到告警后,根据实际业务发展情况及时扩展共享对应的缓存盘大小,从而达到扩大元数据空间的目的,避免因元数据空间不足而导致无法写入。
告警事件二:限流
前面提到网关NFS/SMB共享对应的缓存盘有一大部分是作为用户读写数据的缓存空间。当用户通过网关挂载写入文件时,文件数据会先写入该缓存空间,当文件完全写入缓存并关闭后,网关才会将缓存中的文件数据上传至OSS。因此如果挂载写入一个远大于缓存空间的文件或者通过并发同时写入的文件大小总和远超过缓存空间都会导致触发产生该告警,同时网关共享也会变为限流状态,会极大限制挂载写入速度。
这里注意:通过挂载来读任意大小的文件并不会触发限流,因为读是切片的,网关并不会将整个文件内容读入缓存中。
为了避免限流引起的无法正常速度写入
- 用户可以根据业务情况,对需要写入大文件的共享,对其缓存盘进行扩容操作,从而有更大的缓存空间来支持大文件写入。
- 或者用户也可以根据业务实际情况对写入的大文件先进行压缩或者切片,对并发写入的文件调整降低并发数量等手段,来降低(同时)写入的文件数据总量,避免超过数据缓存空间后引起的限流。
告警事件三:上传队列堆积
导致该告警产生的情况比较多
- OSS Bucket不存在
- OSS Bucket配置了特定的RAM权限控制导致网关访问OSS Bucket受限,例如对访问源ip的黑白名单限制等
- OSS Bucket为归档或者冷归档存储类型(细节可以参考官方文档)
当由于上面种种原因导致网关无法正常将用户挂载写入的数据上传到OSS,从而上传队列产生堆积,当堆积量超过一定量之后触发产生该告警
用户可用通过网关控制台共享信息中的“上传队列”来了解具体情况
用户可以排查
- OSS Bucket是否已经被删除,如果无需使用网关,请及时删除网关避免额外费用
- OSS Bucket是否有配置了单独的RAM权限控制,特别是对访问源ip的限制
- OSS Bucket是否为归档或者冷归档存储类型,网关建议用户使用标准存储类型的OSS Bucket,通过生命周期方式将部分数据转为归档或者冷归档。