Jan Stary wrote:
Hi all,
last night, I installed 4.1 on the new ALIX.1C:
http://www.pcengines.ch/alix1c.htm (see dmesg at bottom).
The intended use of the box is a home router/firewall/NAT/DNS/DHCP
for my home "network" of about four computers (heterogeneous).
Everything works fine (as usual with OpenBSD), but
there are a few fine points I need some advice with.
Firstly, swap (i don't really mind reinstalling). Install guide says
On the root disk, the two partitions 'a' and 'b' must be
created. The installation process will not proceed until these
two partitions are available. 'a' will be used for the root
filesystem (/) and 'b' will be used as swap space.
oops. That's no longer true, you can now install Just Fine with no swap
partition. It was true some time back, but that was fixed long ago.
It also says
The 'b' partition of your first drive automatically becomes your
system swap partition -- we recommend a minimum of 32MB but if
you have disk to spare make it at least 64MB. If you have lots
of disk space to spare, make this 256MB, or even 512MB. On the
other hand, if you are using a flash device for disk, you
probably want no swap partition at all. Many people follow an
old rule of thumb that your swap partition should be twice the
size of your main system RAM. This rule is nonsense.
The machine has 256M of RAM, and the storage is a 2G CF card (seen as
wd0). The machine is mostly idle (basically just routes). How much swap
do you think I should set for such operation?
none. If swapping is a concern, you don't want flash.
For regular operation,
I don't think I need a swap partition at all (how would I do that?
A 'b' partition of zero size, as it has to exist?), but to be able
to save possible core dumps, I am thinking of 300M swap and 300M /var
(to hold /var/crash). Is this reasonable?
naw. Unless you know what to do with a core dump, just skip the swap.
Secondly, the network interfaces. The box comes with an on-board
vr0 at pci0 dev 13 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 10
which I currently use as the external iface, and the PIC slot holds
rl0 at pci0 dev 12 function 0 "Realtek 8139" rev 0x10: irq 11
which is used as the internal iface. I also have the following
cards in my hands, and I would like to figure out which combination
of external/internal would give me the "best" performance (if it
makes any difference at all):
Intel PRO/100 S Desktop adapter
3C905C-TX-M Etherlink 10/100 PCI 3
>
I don't have any idea about what amount of e.g. fragment reassembly the
external/internal iface needs to do, and which card (or which card's
driver) is "best" for that. The machine only has one PCI slot, so one of
these has to be the on-board VIA. Which of the others is "best
supported" in obsd (and which vendor is most open)?
If you gotta ask, it won't matter.
You have three bad NICs (vr, rl, xl) and one good one (fxp). But it
just won't matter for your use.
You got yourself a little economy car of a computer system. You got it
because it is small and cheap to operate, and you will be operating it
in rush-hour. Don't worry about which tail fin will give you the "best"
performance. (no idea how well that analogy "travels" around the world.
Around here, people like buying tiny cars, then putting a loud muffler
and a huge fin (on the back of a front-wheel drive car. That so helps)
on 'em and think themselves cool, rather than the dumb-as-a-rock that
the rest of us think of them as. I really hope the rest of the world
isn't this dumb, but I fear it may be)
Philosophically, I'd probably rather put Intel card showing to the
Internet, but to fight that urge, I ran my primary mail/web server with
an rl(4) card facing the 'net for many years with zero problem.
Anything you are going to run through this box will not hit the NICs as
a bottleneck.
Thirdly, the CF storage. Having read
http://www.kaschwig.net/projects/openbsd/wrap/#mfs
http://blog.innerewut.de/2005/05/14/openbsd-3-7-on-wrap
http://blog.innerewut.de/2005/05/19/openbsd-3-7-on-wrap-revised
http://blog.innerewut.de/2005/06/03/small-update-on-openbsd-3-7-on-wrap
(which apply to 3.7 on WRAP, the predecesor of ALIX), I am concerned
about the CF wearing off. As these articles are from 2005 - do these
things still apply to newer CF cards, and should I therefore set up
a mfs? What else should I do to make the CF card live longer (noatime
comes to mind of course).
biggest reason to avoid writing to flash is it is painfully slow.
General experience (inc. mine) seems to indicate that the finite write
cycle problems of flash is not going to bite you. It's a blooming
computer system, how long do you even want it to last? :) In two years,
you will be buying 32G flash devices at the drugstore closeout pile.
The (then big) 256M CF that I had running OpenBSD for many years on is
now useless to me for almost anything. I don't care if it fails now.
Keep your system simple and it will run far better and longer than it
will if you trick it out to make it "better". If it DOES fail, it will
be faster to repair.
That being said, I'm not sold on the idea of flash as the "fail-proof"
storage media, I've seen and heard too many "my flash card died!"
stories to believe that. My concern is much more about the 16 billion+
storage cells in the thing and the likelihood that one or two of those
cells might have a flaw that causes them to lose their data long before
the ten-year or whatever rated life. Back up at least your config, the
critical files you need to rebuild it will take only a tiny amount of space.
(thanks for the dmesg!)
Nick.