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 doccument 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. I
have netatalk running on a couple 486 machines serving a 25 seat mac lab.
Generally Pentiums are nice and snappy. A 266Mhz pentium will compile a
current kernel in about 4 minutes and a 400Mhz in a little over 2. 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 266Mhz 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 400Mhz Pentium II 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 out there.
-
The other I/O consideration would be a good network card. I have had
nothing but good luck with 3Com cards. Stay away from Intel EtherExpress
cards as some of their drivers don't support multicasting which is needed
for Netatalk. 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. I have had good
luck with the <promotion type=shameless>3Com 590 Vortex card
</promotion>.
-
RAM is a very important consideration. Usually boxes out there are
greatly understaffed in the RAM department. My 25 seat Mac lab is served via
32 megs of RAM. I find at peak periods, the majority of my users aren't
doing much server I/O so I can get away with this number. (The box also
houses a web server and two proxy servers.) 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 - in.telnetd 376K
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
1 - kflushd 0K
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 Slackware over all for
several reasons which I will not go into. All of these packages are very solid
and run netatalk very nicely. The slackware 3.5 distribution which is available
from ftp.cdrom.com
is what I used for the majority of my netatalk installations and should be
fine for most people.
-
There are several versions of Netatalk floating around these pages. The
older package is Netatalk-1.4b2 which is good for classic Appletalk only setups.
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.0.* kernel such as 2.0.35. 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.1.* and up kernels, so if you plan on running a
test server, you should look at newer kernels. The 2.0.* kernels are
considered production while the 2.1.* kernels are considered testing
kernels.
Origional document: [http://thehamptons.com/anders/netatalk/utils.html]
|