[asterisk-users] New system for recording - SCSI, SAS or SATA?
Gordon Henderson
gordon+asterisk at drogon.net
Fri May 1 05:01:29 CDT 2009
On Fri, 1 May 2009, Tony Mountifield wrote:
> I'm in the process of specifying the hardware for some new Asterisk
> systems which will be running a substantial number of conferences
> with recording.
>
> I was wondering what there is to choose between SCSI, SAS and SATA
> disks, in terms of performance for this kind of application.
>
> I will be using dual drives with kernel-based software RAID1.
>
> Any advice from experience would be appreciated!
How much is the client willing to pay ;-)
And how many concurrent streams are you recording.
RAID-1 won't give you any performance increase over a single drive, but at
the same time has less performance impact than RAID-5 or 6, so pick drives
that are fast - fastest are obviously 15K RPM ones, but they're also the
most expensive. The transport to the drives is the next thing to look at -
SATA is well established now and motherboard chipsets work very well with
a moden linux kernel. SCSI's been round forever, but SCSI drives are
expensive, SAS is relatively new and expensive, but should be as fast as
SCSI.
Now I've not built servers with a view to mass recording myself, but I
have built servers for other purposes that have needed similar
specifications - taking multiple streams of data and putting them to disk
(and getting them back again) - the biggest issue will be then number of
streams - that'll result in head thrashing and increase the overall
latency.
The other option is write to RAM disk, then spool to physical disk later.
You'd need to arrange some mechanism to let the RAM to Disk process know
that the file has finished writing - possibly by renaming it after the
call ends or something... (same mechanism as .call files) then you can
have many processes writing to RAM and just one process taking RAM to
Disk.
A 1GB ramdisk will store over 36 hours of recordings at G711 rates. (Or
one hour of 36 concurrent calls!) My puny Atom workstation can stream 1GB
to disk in 25 seconds, so you're OK there.
Your maximum write rate is going to be goverend by the maximum number of
channels you're taking - I work on 10 channels per Mb, so 100 channels is
10Mb/sec and that's trivially do-able to a ramdisk. (a 1GB ramdisk will
fill-up in 20 miuntes) 1000 channels - 100Mb/sec (or 10MB/sec) and I
suspect asterisk will fall-over before the ram/disk subsystem does!
The fastest disk system I built could stream to disk at 280MB/sec and read
slightly faster - Linux s/w RAID-6 to 15 drives on 2 SAS controllers (8 on
one controler, 7 on the other) This was Dell kit and cost at the time just
under £14K. The processor was mostly idle all the time, given that the
dual Gb ethernets on-board were barely used to capacity, in-theory it
sould have supported both links going flat-out, but I never got a change
to try it.
Personally, I'd probably stick to SATA and if you're recording a smallish
number of streams (< 10?) then write to disk, but more, consider an
interim RAM disk solution.
Gordon
More information about the asterisk-users
mailing list