爱德华·希什金
在最近开发的创新中,提供
用户有机会添加小型高性能
块设备(例如 NVRAM)称为
相对较大的逻辑卷组成较慢
预算驱动。 这会给人留下这样的印象:所有
该卷由同样昂贵的高性能组成
设备,例如“代理磁盘”。
所实现的方法基于简单的观察,即实际上磁盘不会持续写入,并且 I/O 负载曲线具有峰值形状。 在此类“峰值”之间的间隔中,始终可以从代理磁盘重置数据,将后台的所有数据(或仅部分)重写到主“慢速”存储。 因此,代理磁盘始终准备好接收新的数据部分。
这种技术(称为突发缓冲区)最初起源于
高性能计算 (HPC) 领域。 但事实证明,普通应用程序也需要它,特别是那些对数据完整性要求更高的应用程序(通常是各种类型的数据库)。 此类应用程序以原子方式执行任何文件中的任何更改,即:
释放旧数据占用的块。
所有这些步骤都在某种程度上导致了重大的
任何文件系统上的性能下降。 情况
如果新文件首先写入分配的文件,则会有所改善
高性能设备,这正是发生在
支持突发缓冲区的文件系统。
在 Reiser5 中,计划不仅选择性地发送
文件的新逻辑块,以及一般的所有脏页。 而且,
不仅包含数据的页面,还包含元数据
写在步骤(2)和(3)中。
对代理磁盘的支持是在常规工作的背景下进行的
Reiser5 逻辑卷,
聚合系统“代理盘-主存储”正常
逻辑卷,唯一的区别是代理磁盘具有优先级
磁盘地址分配策略中的其他卷组件。
将代理磁盘添加到逻辑卷不伴随任何
数据重新平衡及其删除的方式与
删除常规磁盘。 所有代理磁盘操作都是原子的。
错误处理和系统部署(包括系统崩溃后)的发生方式与代理磁盘是常规组件完全相同
逻辑卷。
添加代理盘后逻辑卷总容量
随该磁盘的容量而增加。 自由空间监控
代理磁盘的执行方式与其他卷组件相同,即使用volume.reiser4(8)实用程序。
必须定期清理代理磁盘,即重置数据从
它到主存储器。 达到 Beta 稳定性后 Reiser5
清洁计划是自动的(它将由
特殊的内核线程)。 在此阶段,清洁责任
取决于用户。 将数据从代理磁盘重置到主磁盘
只需使用选项调用volume.reiser4实用程序即可生成存储
“-b”。 作为参数,您需要指定逻辑的安装点
卷当然,一定要记得定期进行清洁。 为了
您可以编写一个简单的 shell 脚本来执行此操作。
如果代理磁盘上没有可用空间,则所有数据
自动写入主存储器。 同时,默认情况下
FS的整体性能降低(由于不断的调用
提交所有现有交易的程序)。 您可以选择设置
模式而不损失性能。 然而,在这种情况下,磁盘
代理设备空间的使用效率将会降低。
使用元数据分段(块)作为代理磁盘很方便,只要它是在足够高性能的块设备上创建的。
来源: opennet.ru