1

We have a 20TB samba server with 2x10TB RAID5 à 2TB harddisks. There are a lot of connections which result in much seek overhead. My idea is to queue the clients without them recognizing it.

Is there a possibility to insert a fair scheduler on file basis between samba and harddisk?

Wesley
  • 32,690
  • 9
  • 82
  • 117
schmijos
  • 143
  • 5

1 Answers1

2

Unless you're running a sod-old kernel (ie pre-2.6.18, released September 2006) or have done something custom, you're already running a "fair queuer between samba and harddisk" -- the Linux kernel runs with CFQ by default. This is a pretty decent queuing algorithm that works well for a wide variety of workloads and hardware configurations (we turn it off on our BBU-hardware-write-cache-using systems and replace it with noop because the RAID controller we use knows how to handle I/O better than the kernel, but that's a pretty niche corner case -- CFQ will work better for 99% of systems deployed).

The benefits you'll get from a different queuing algorithm are peanuts compared to the benefits you'll get out of a better performing storage layer. RAID5 isn't built for speed (and, with big drives, it isn't built for data safety, either), 2TB (ie 7200rpm SATA) HDDs aren't built for speed... basically, you're asking "my '93 station wagon is full of sacks of flour, what tyres should I use so I can win the Indy 500?"

womble
  • 96,255
  • 29
  • 175
  • 230
  • And it goes SERIOUSLY deep into left field and OVER the fence! – Magellan Mar 25 '12 at 03:19
  • This can not be the answer. My RAID delivers 1gbit/s for just one user. My problem is asynchronous access. Performance drops to fast on multiple users. I would be glad, if it was possible to have the users queued so that just one user at a time would access the RAID. – schmijos Nov 07 '12 at 17:42