Remedy said:
I have been approached to build a server, to be used for file storage and
backups.
What is a server by definition and what specs and O/S should I be
looking to provide the above?
A server is simply a machine which concentrates resources and makes them
accessible to a number of clients.
Most 'server' systems are grossly overspecced for the job at hand,
although if you plan to run server-based software, such as MS SQL
Server, you'll need a grossly overspecced machine.
Also, define 'Backups'. How much data, and do you mean backup as in
'it's on the server and the client', or backup as in 'it's written
nightly to removable media that is stored elsewhere'.
Here I back up about 8Gb each night, which is _WAY_ too much (but you
try and persuade users to tidy up their directories). I used to do this
to OnStream ADR tapes (30Gb capacity), but the drive failed and they
don't make them any more, so I'm now writing to DVD-RAM.
An alternative to nightly removable media backups is to keep the files
on a RAID. You can build cheap SATA raids with many budget
motherboards. However you should still do periodic backups to removable
media, because while a RAID will survive a disc failure, it won't
survive a fire or other disaster.
This will provide you with the ability to create shares that up to ten
users can access. No more than ten sessions are possible. With the
server products (Windows 2003 Server, etc.) you have to buy client
access licenses (CALs) for the number of users. Each session is a
single client connecting to the server (to any number of shares)
Current IT infrastructure comprises of 4 laptops + 2 desktops
If you don't expect that to grow, then XP Pro would suffice, although
personally I'd go with 2000 if I HAD to use windows...
Does this mean it will be internet-facing as well. Welcome to the world
of trying desperately to keep up with the number of exploits out there.
Please do not advise linux has I am not converse with it.
Then you really ought to explore it. In the non-windows world, the
likes of Samba throw the idea of session limits and client access
licenses out of the window. You can get the same oomph out of older
hardware, and lower cost, or in my case NO cost (recycled hardware, and
free/homebrew software).
As a guide, I have one 'server' here, which is a 300MHz AMD K6/2, with
128Mb of memory, a pile of large discs, and a network card, serving
30-40 users with a couple of dozen file shares via SMB or NFS, has an
FTP server, runs the internal DNS and DHCP. It's been up for 364 days
(which probably means I'm overdue for a long power cut that will
flatline the UPS today), and the load average on it barely registers
(current is 0.00, but I've seen it get to 0.23)
The backup runs automatically each night. No special software is
involved (I wrote the backup script myself, all of 144 lines(bash
script) and 198 lines(in C) including comments). It gathers,
compresses, and sorts backup filesets to make the best use of the media
involved. It's cheap, effective, fast enough, and I reckon I could
squeeze a MySQL server in there too.
---
So, to really offer proper advice, you need to think about volumes of
data, whether any local processing is involved, security of data,
whether you want to offer any other network services, like DNS, DHCP,
IMAP/POP3 Mail, etc.
And do not allow anyone to install MS Office on the server, or anything
else for that matter. The MS Marketing machine likes things like Word
to start 'instantly', so even if you are not using an office
application, all of the DLL's get loaded at startup anyway. Besides, if
you put user applications on the server, it soon becomes someone's
desktop instead.