drbd-优化性能

简介:

  测试吞吐量:

  测试系统吞吐量不是关键,最重要的是在使用DRBD性能前后的影响;该测试使用一个512M的块到drbd设备,进行对比测试

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
resource=r0
test_device=`drbdadm sh-dev $resource`
test_ll_device=`drbdadm sh-ll-dev $resource`
drbdadm primary $resource
for  in  $( seq  5)
do
     dd  if = /dev/zero  of=$test_device bs=512M count=1 oflag=direct
done
drbdadm down $resource
for  in  $( seq  5)
do
     dd  if = /dev/zero  of=$test_ll_device bs=512M count=1 oflag=direct
done
drbdadm  up  $resource

 注意:

 1、dd 要使用关键字 oflag=direct 即写文件的时候忽略cache的影响;还有一个可选的关键字iflag=directio, 用来控制源文件和目标文件的读写方式为directio;

 2、以上脚本是需要两个角色是secondary的时候进行测试;

 3、测试完,在设定primary node 并挂载/dev/drbd0的时候会提示“mount: you must specify the filesystem type”,需要重新格式化/dev/drbd0

 优化部分:

 这个主要还是看硬件,磁盘的转速啊,网络的吞吐啊,

 调整参数建议:

 

1
2
3
4
5
net {
   max-buffers 8000;
   max-epoch-size 8000;
   sndbuf-size 0;
}

 max-buffers:是drbd数据写入到磁盘缓冲区的最大数,默认为2048,对于RAID阵列建议调整为8000;

 max-epoch-size 是两个写入瓶颈的最大允许写的数量,建议修改为8000;

 sndbuf-size: TCP发送缓冲区大小,设置为0,可以自动调节大小;    

 

1
2
3
4
syncer {
   rate 90M;
   al-extents 257;
}

 al-extents: 活动日志的大小,多少个x4M 的block;增大这个值的好处是:

 减少更新元数据到drbd 设备上的频率;

 降低同步数据时对IO流的中断数量;

 提高drbd设备相应速度;

 存在的风险是:当primary node crash 后,所有的活动数据(al-extentsx 4M block)需要重新同步,这个时间secondary node 是outdate状态,修复时间变长;

 sync rate 参数设置,只有 backgroud re-synchronization才会受限于该参数的设置;另一个同步进程只负责同步一些block的更改,不受限该参数;所以改值不要设置的太大,以防占用太多的带宽,导致IO出现同步异常;

   

1
2
3
4
disk {
   on-io-error   detach;
   disk-flushes no;
}

 磁盘考虑不少于6块15K的sas磁盘做raid10,或者直接使用ssd ,如果raid 卡有bbu电池保护的话,可以考虑进行禁止drbd的磁盘刷写;

 可以参考官网推荐,更改IO调度算法:

 echo deadline  >  /sys/block/<device>/queue/scheduler (sas盘可以用deadline;ssd的话可以考虑使用noop调度算法)






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1334520,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
缓存 算法 Linux
深入理解Linux内核调度器:公平性与性能的平衡####
真知灼见 本文将带你深入了解Linux操作系统的核心组件之一——完全公平调度器(CFS),通过剖析其设计原理、工作机制以及在实际系统中的应用效果,揭示它是如何在众多进程间实现资源分配的公平性与高效性的。不同于传统的摘要概述,本文旨在通过直观且富有洞察力的视角,让读者仿佛亲身体验到CFS在复杂系统环境中游刃有余地进行任务调度的过程。 ####
63 6
|
3月前
|
缓存 监控 固态存储
如何优化磁盘性能?
【10月更文挑战第4天】如何优化磁盘性能?
169 4
|
2月前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
2月前
|
算法 前端开发 Linux
深入理解Linux内核调度器:CFS与实时性的平衡####
本文旨在探讨Linux操作系统的核心组件之一——完全公平调度器(CFS)的工作原理,分析其在多任务处理环境中如何实现进程间的公平调度,并进一步讨论Linux对于实时性需求的支持策略。不同于传统摘要仅概述内容要点,本部分将简要预览CFS的设计哲学、核心算法以及它是如何通过红黑树数据结构来维护进程执行顺序,同时触及Linux内核为满足不同应用场景下的实时性要求而做出的权衡与优化。 ####
|
5月前
|
存储 缓存 算法
优化 ChunkServer 的存储性能
【8月更文第30天】在分布式文件系统中,ChunkServer 是负责存储数据块的关键组件。为了提高ChunkServer的存储性能,可以通过多种技术手段进行优化,如缓存、压缩、并行处理等。本文将详细讨论这些技术的应用,并提供具体的代码示例。
59 0
|
网络安全 KVM 虚拟化
基于DRBD的KVM动态迁移
本篇内容记录了基于DRBD的KVM动态迁移的相关操作。
313 0
基于DRBD的KVM动态迁移
|
Linux 网络架构
Linux性能优化之磁盘/网络性能评估以及性能优化标准
Linux性能优化之磁盘/网络性能评估以及性能优化标准
|
存储 缓存 测试技术
使用iozone测试磁盘性能
IOzone是一个文件系统测试基准工具。可以测试不同的操作系统中文件系统的读写性能。可以通过 write, re-write, read, re-read, random read, random write, random mix, backwards read, record rewirte, strided read, fwrite, frewrite, fread, freread, mmap, async I/0 等不同的模式下的硬盘的性能。
1922 0