Linux Netatalk-HOWTO
Suggestions
The following are a few suggestions about hardware and software to use for
an Intel - Linux - Netatalk setup. Note: These are suggestions only.
Just about any hardware and software configuration can be made to run
netatalk. This document assumes you are running Intel Linux. (Linux for
other platforms does exist, such as MkLinux for the PowerPC, SparcLinux for
the Sun Sparc etc. etc.)
Hardware
-
Personally I like to stick to a nice name-brand machine such as a Dell or a
Gateway. Support for one of my Gateway machines has been great, and my Dells
just don't break. (this is not to say that Gateways are bad, just the one I
had!)
-
Don't waste your money on a power-house machine if you don't need one.
Generally Pentiums are nice and snappy. A 266Mhz pentium will compile a
current kernel in about 4 minutes and a 500Mhz PIII comes in under 2 minutes. Seeing
as this is probably the most CPU intensive thing most people do with their
Linux box, I say you're very good with a 400Mhz machine generally.
-
You'll get more speed out of a server spending less on the CPU and more
on I/O and RAM. You want to get your hands on the fastest hard disk you can
as this is always the slowest link in the chain. There is no point in going
whole hog on a quad 800Mhz Xeon and then having an IDE hard drive to
wait for. SCSI disks generally sustain faster throughput, so spend your money
here. RAIDs are great for read speed and ther is a fairly impressive Linux
software RAID in the kernel.
-
The other I/O consideration would be a good network card. I have had
nothing but good luck with 3Com cards. There are other cards out there which are also suitable, but I
like the 3Com products so much that I run a purly 3Com shop. If you
have a 100Mbit network, go with a 100Mbit card. If you are on a
switch, so much the better! (and set your card to full duplex!)
-
RAM is a very important consideration. Usually boxes out there are
greatly understaffed in the RAM department. Each connection you wish to make
to your netatalk machine requires RAM. For file services, you will need
atalkd (about 316K) and afpd (about 336K) running. Each connection you make
will require an additional afpd process (about 584K) so for every two seats,
you will need over 1 meg of RAM for Appletalk alone. Get more RAM than you
think you need because growing room is always good. RAM is cheap.
Here's a typical process list from a server with 1 Mac client attached and
several usefull services:
# name RAM discription
-------------------------------------------------
2 - afpd 936K Appletalk Filing Protocol daemon.
3 - agetty 760K
1 - smbd 440K (Samba, file and print services for Windows)
1 - nmbd 368K (another Samba daemon)
1 - rpc.nfsd 324K
1 - papd 320K AppleTalk printing daemon.
1 - atalkd 316K The AppleTalk daemon.
1 - rpc.mountd 296K
1 - init 292K
1 - crond 288K
1 - inetd 272K
1 - lpd 268K
1 - klogd 264K
1 - rpc.portmap 248K
1 - update 196K
Software
-
Obviously we want to run Linux. The choice lies in the distribution to run.
I have run RedHat, Slackware, and Debian Linux and favor Debian over all for
several reasons which I will not go into. All of these packages are very solid
and run netatalk very nicely.
-
There are several versions of Netatalk floating around these pages. The
older package is Netatalk-1.4b2 which only supports classic Appletalk only
is probably not somthing you want to fool with. The latest code is called netatalk+asun
which among many other enhancements includes AppleshareIP or Appletalk over TCP/IP support.
You probably want to use this code.
-
Kernel version is also an important consideration. For my production
machines, I stick with a 2.2.* kernel. Kernels prior to 2.0.25 can be
taken down with the "ping of death" attack. It's a bug that has existed in almost every
operating system out there. Newer betas will most likely take advantage of newer kernel features
only available in say the 2.3.* and up kernels, so if you plan on running a
test server, you should look at newer kernels. The 2.2.* kernels are
considered production while the 2.3.* kernels are considered testing
kernels.
Origional document: [http://www.anders.com/projects/netatalk/utils.html]
|