[asterisk-users] Build your own "appliance" concept
Jeremy P
jpasterisk at gmail.com
Fri Sep 7 09:05:26 CDT 2007
Thanks for all the good info. If you're looking for a cheaper version of
the thin client you could try the t5530. It's about $300 US but it only has
64 MB Flash. A 1GB flash module is $70 US but sounds like overkill for your
application.
On 9/6/07, Gordon Henderson <gordon+asterisk at drogon.net> wrote:
>
> On Thu, 6 Sep 2007, Jeremy P wrote:
>
> > I've been working on this the past few days and thought I would put it
> out
> > there to see if anyone else has interest in it. It really has nothing
> to do
> > with the Digium appliance, I've just been looking for some mass produced
> > solid state hardware to run small branch offices off of for awhile now
> and I
> > think I've finally landed on something I like.
> >
> > Basically I've taken an HP thin client workstation which is all solid
> state
> > and loaded Debian and Asterisk on it (well, Asterisk-GUI too, but just
> to
> > prove I could make it "appliance-worthy"). I'd be interested in any
> > feedback on how to improve it, specifically on how to make Debian and
> > Asterisk take up less space so I could buy the model that only has 512
> MB of
> > flash rather than 1 GB.
>
> I built my own "appliance" some time back - initially for a router
> project, but I've since adapted it for Asterisk boxes and NAS boxes..
>
> The basic unit has 64MB of IDE-flash, 256MB (or more) RAM. The flash IDE
> device has one partition and is bootable, so it has a /boot with a bzImage
> in it, enough of a /dev/ and /etc to make Lilo work on it and an initrd.gz
> which is unpacked into a 128MB RAM disk, then the system runs entirely
> from RAM once booted, so there's no continual write to flash issues (I
> hope!) I do actually have a 2nd partition on the device which I tar all
> the configuration files into - the bare minimal of what I need gets stored
> there whenever something changes. (and a copy of astdb too). I don't think
> this is perfect, and is prone to issues like a power cycle during write,
> but ...
>
> I put a 2nd IDE flash device for Voicemail storage - that does have a live
> filesystem on it (currently just ext2, which I force an fsck of at boot
> time, if it's dirty) I've used 64MB to 256MB devices for this (storing VM
> in GSM format only), some customers want call recording, so they get the
> bigger ones, but I'm thinking of moving to a laptop drive for people who
> want even more (and enable idle spin down, etc.)
>
> I build the kernel and initrd.gz file on a separate box - it's Debian, but
> it could be anything as I don't actually put a "distribution" as such into
> it, I just copy the files I need, and I'm lazy about it, so I copy all of
> /bin, /lib, most of /etc and a /dev and selected bits of /usr/bin and
> /usr/lib. (I use ldd on all the executables to work out which libraries I
> really need from /usr/lib) The kernel is a custom kernel for the hardware
> with no modules apart from Zaptel, etc.
>
> I copy everything into a 128MB file, zeroed (it compresses better)
> formatted ext2, mounted as a lookback device. Once the copy is complete, I
> unmount it, gzip -9 it and that's the initrd.gz file. You need to make
> sure that the Linix kernel you compile has the ability to load an
> initrd.gz file and a big enough ramdisk!
>
> It's not that efficient, and I could save space by using uClib, busybox,
> etc. but it's really not worth it, but 2 things I don't have on the target
> system is perl and vim.. Perl is about 10MB, as is vim. Right now I don't
> have a need for either (and I use nano when I do need to tweak stuff which
> is rarely) Perl would be nice so I could run stuff like mrtg locally on
> the boxes, but isn't essential for now.
>
> So if there are some new security implications on the current Debian, or
> an asterisk upgrade, I just upgrade/update the build box, then create a
> new initrd.gz file and install it. (however this is in the order of 40MB
> for an Asterisk system with apache & php) so it a bit tricky to do a field
> upgrade if the remote system is bandwidth limited, but I can pull it in
> off a USB drive if necessary.
>
> My /etc/asterisk and /var/www/docs are actually stored as part of the tar
> file, so upgrading those is fairly trivial.
>
> This is what a running system looks like:
>
> $ df -h
> Filesystem Size Used Avail Use% Mounted on
> /dev/ram0 124M 107M 18M 87% /
> tmpfs 125M 0 125M 0% /dev/shm
> /dev/hdc2 60M 23M 37M 39% /data
>
>
> If I mount the flash device, then:
>
> # ls -l /mnt
> total 39019
> drwxr-xr-x 2 root root 1024 Aug 9 14:54 boot
> drwxr-xr-x 13 root root 24576 Dec 6 2006 dev
> drwxr-xr-x 2 root root 1024 Nov 15 2006 etc
> -rw-r--r-- 1 dsx 1000 39758472 Aug 9 14:53 image.gz
> drwx------ 2 root root 12288 Dec 12 2006 lost+found
>
> # ls -l /mnt/boot
> total 2849
> -rw-r--r-- 1 root root 512 Dec 12 2006 boot.0300
> -rw-r--r-- 1 root root 512 Dec 22 2006 boot.0800
> -rw-r--r-- 1 root root 512 Dec 12 2006 boot.1600
> -rw-r--r-- 1 dsx 1000 1390066 Jun 5 15:47 bzImage
> -rw------- 1 root root 31744 Aug 9 14:54 map
> -rw-r--r-- 1 root root 98728 Sep 21 2006 memtest86+.bin
> -rw-r--r-- 1 root root 241 Oct 28 2006 message
>
> Because everything is in RAM, it's actually quite fun to "play" with
> trying to destroy it :) Eg.
>
> # cd / ; rm -rf *
>
> then just reboot it to recover...
>
> The one thing that's not "appliance" about it is the box - it's still a PC
> at the end of the day, but I guess when I'm churning out 100's of these I
> can afford a custom case design ;-)
>
> Those HP boxes do look nice though, but they're more expensive that I
> build my own for (in the UK at least!) but I do have the option of wall
> mount, desktop or rackmount cases I guess...
>
> Gordon
>
> _______________________________________________
>
> Sign up now for AstriCon 2007! September 25-28th.
> http://www.astricon.net/
>
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070907/b341c2d7/attachment.htm
More information about the asterisk-users
mailing list