103-shell脚本中sync命令和ansible命令的使用

前言:作为测试工程师,在测试存储项目或者NAS产品的时候,我们经常会去测试产品的文件写入能力,写入速度,稳定性,大文件,小文件多建立等,还有稳定性测试,3*24小时的持续性写入,这个时候就用到了sync。

        其次,在进行存储产品测试的时候,一般都会遇到,共享目录,比如nfs共享分布卷,副本卷、纠错卷的写入性能测试。但是测试完后就会有垃圾的二进制文件产生,就需要清理,因为分布、副本、纠错卷会分布在多节点上,这就用到了ansible命令(最小化安装linux系统一般没有,需要后期自己安装ansible)

作用:

  1. sync实现文件快速写入磁盘,同步下磁盘当前真实空间
  2. ansible 通过配置,实现一个节点命令,多个节点同时执行,在此是为了清理磁盘垃圾文件
  3. echo 3 > /proc/sys/vm/drop_caches 手动释放cached中的内存
#!/bin/sh

export test=fio


echo "副本卷cluster-randwrite4k4job"
echo $(date +%F%n%T)
fio -directory=/hlstor/cluster/fubenjuan1 -rw=randwrite -bs=4k -direct=1 -iodepth 8 -ioengine=libaio -size 35G  -thread -numjobs=4  -group_reporting -name=randwrite4k_4job
echo $(date +%F%n%T)
sync
echo 3 > /proc/sys/vm/drop_caches
ansible all -m shell -a "/tmp/qingli.sh"
echo "副本卷cluster-randread4k4job"
echo $(date +%F%n%T)
fio -directory=/hlstor/cluster/fubenjuan1 -rw=randread -bs=4k -direct=1 -iodepth 8 -ioengine=libaio -size 35G  -thread -numjobs=4  -group_reporting -name=randwrite4k_4job
echo $(date +%F%n%T)
sync
echo 3 > /proc/sys/vm/drop_caches
ansible all -m shell -a "/tmp/qingli.sh"
rm -f /hlstor/cluster/fubenjuan1/randwrite4k_4job*



如上代码所示,

1、在进行了fio随机写的命令执行完后:

执行了sync,让随机写的文件和内容落到实际物理硬盘上

执行echo 3 > /proc/sys/vm/drop_caches 手动释放内存

2、随机读的操作后,也执行了响应的操作

执行 ansible all -m shell -a "/tmp/qingli.sh" 多节点执行清理命令

执行 rm -f /hlstor/cluster/fubenjuan1/randwrite4k_4job* 删除生成的垃圾二进制文件

有问题请留言,看到必回复

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值