云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

游戏服务器_寂静岭2百度云_高性价比

小七 141 0

大数据云存储_如何使用_云计算基本知识

在最近的illumos会议上,我们纪念了ZFS成立10周年。在活动期间,我谈到了Delphix如何使用ZFS测试套件,以及我们将其整合到illumos中的计划。会谈是被拍摄下来的,所以如果你不能亲自参加,你可以看到ZFS测试套件谈话的视频。您还可以查看Matt所做的演示,Matt谈到了libzfs_core,Chris谈到了特性标志和ztest的向后兼容性测试。对于那些不熟悉ZFS的人来说,ZFS测试套件是由近1000个测试组成的一系列,ecs云服务器,旨在发现ZFS中的错误并防止其倒退。它在09年末是开源的,直到现在还没有更新。自从我们在Delphix开始使用它以来,它已经发现了几个错误,包括一对内核内存泄漏、无法对卷使用特权委派、恐慌等等。我们的最终目标是让zfstest恢复战斗状态,并将其集成到illumos中,在这个社区中,测试运行频率的增加对ZFS是最大的好处。观众对ZFS测试套件有一些兴趣,北京大数据公司有哪些,所以下面是一个快速入门指南,介绍如何将您自己的测试添加到测试套件中。第一步是获取源代码的副本,返现,可以在github上找到:$git克隆git://github.com/delphix/zfstest.git正在克隆到zfstest。。。 ... 这个存储库中四个包的构建过程相对简单,并记录在工作区根目录下的自述文件中。假设一个完全构建的工作区,下一个任务是为我们的新测试创建一个home。因为STF(Solaris Test Framework)除了运行它们之外,还构建为它编写的测试套件,所以在设置过程中只需要很少的一部分。对于本例,手机免费建站,让我们创建一个测试,该测试验证zfs list testpool/testdataset是否存在,如果该数据集不存在,则返回值为非零。许多测试沿着这条线存在,大数据分享,但是假设这是一个新的测试类,它将存在于自己的目录中:$cd usr/src/suites/fs/zfs/tests/functional$mkdir new_list_测试 STF将在构建时自动递归到这个新目录中–不需要更改new-list\u tests上面目录中的任何构建基础结构。新测试的Makefile(几乎)完全由STF使用的环境变量组成:STF根配置初始配置测试套件时,stf_configure时运行的脚本将通过此目录递归。这应该留空。STF_ROOT_设置在每个测试之前运行的脚本,以将任何必需的测试对象放置到位。STF_根_清理在每个测试之后运行的脚本,用于销毁由安装程序或测试本身创建的任何对象。STF_ROOT_测试用例此目录中的测试列表。STF_环境文件包含可用于此目录中测试的环境变量的配置文件。STF包括具有可用于测试的函数的shell库。(测试不需要源文件目录)STF_dontbuild模式这个变量告诉STF是否应该在各种(例如32位和64位)模式下构建测试。因为这些是shell脚本,所以应该设置为"true"Makefile的最后一行将包含STF提供的stock Makefile。在上面的所有变量的根中,都是以USER的根开始的。区别在于测试进程将在其下运行的uid。由于此测试应以root用户身份运行,因此Makefile的最终结果如下所示:STF用户配置=STF根配置=STF_ROOT_SETUP=设置STF用户安装=STF_ROOT_CLEANUP=清理STF用户清理=STF_ROOT_TESTCASES=列表_test_negSTF用户测试用例=STF_环境文件=STF包括=STF_DONTBUILDMODES=真包括$(STF_TOOLS)/makefile/生成文件.master 实施设置.ksh以及清理.ksh将留给读者,但是如果池不在,安装脚本应该创建池,如果存在,则销毁FS。清理脚本应确保系统返回到运行安装程序之前的状态。在整个套件中找到的大多数配置、设置和清理脚本都非常相似,所以请查看其他测试目录以获得灵感。随着环境、设置和拆卸的结束,剩下的就是测试本身了。列表测试的精简版_负ksh可能是这样的:#!/usr/bin/ksh-p型. $STF_套房/含/libtest.kshlib文件log_assert"销毁不存在的FS失败"log_note"试图销毁不存在的FS"日志不能是$ZFS destroy$TESTPOOL/$TESTFSlog_pass"销毁不存在的FS失败" 上面的log_assert和log_note shell函数是信息性的。log_不能(及其同级,log_must)记录相关命令的输出,并验证该命令是否按预期返回成功或失败。最后一个函数将测试标记为在日志中通过。所有这些函数都可以在中看到logapi.kshlib文件. 只需运行stf_build package安装新包,然后运行新测试。如果以前运行过stf_configure,则需要再次运行它来告诉stf有关新测试的信息。当我们第一次运行测试套件时,有200多个失败;从那时起,我们将这个数字减少到65个。既然你知道了如何在zfstest中添加自己的元素,为什么不拿起锤子呢?测试规模很小,修复这些测试是为ZFS和illumos的未来做出贡献的一个很好的方式。对于有动机的人,wiki上有一个与github存储库相关联的已知测试失败列表。如果遇到问题,可以随时向我和/或illumos community ZFS列表投递一行。