February 13, 2007

clustering web-cp

Filed under: New Features, Supported Programs — pdrake @ 12:40 pm

I have recently begun moving my web hosting architecture over from standard single-server setups to a high-availability, load-balanced cluster. I am currently using Ultramonkey 3 for my cluster. It consists of two load-distributors(LD), one active and one hot standby, which are linked via heartbeat so that the hot standby can take over in case of active LD failure and two real servers (RS). The services on the real servers are monitored by ldirector and the load director only sends traffic to the appropriate real server (based on availability and load). I currently synchronize the real servers using csync2. This setup has impressed me thus far and so I intend to move it from development to production. In order to do so, I will be creating a web-cp HA-LB clustering module to attend to the relevant clustering functions and which will provide system administration capabilities. The following are the functions I intend to implement in the module:

  • Multi-server actions (actions in the DB are executed on each real server).
  • Configuration of scheduled file synchronization.
  • Domain, reseller and server-level option to sync files between servers (for immediate sync rather than having to wait).
  • Status monitoring of LD and RS and their services.
  • The ability to report server load from RS to LD for weighting.
  • The ability to add/remove RS on demand with web-cp notifying the LD.

February 3, 2007

FreeBSD…the OS for me!

Filed under: Miscellaneous — edg @ 8:19 pm

it seems i’ve found the OS for me.. i know i change things around a lot but finally after two tries of FreeBSD i really like it.

Hopefully my general use of FreeBSD will help with web-cp development whether i have a FreeBSD VM running on top of my main FreeBSD or use a jail somehow or just in general use.

The main things i like about FreeBSD on the desktop/laptop are:
- Powerful, stable, advanced (Advanced high performance memory management and very effective file system)
- Support for other platforms - SMB, MSDOS/FAT partitions support…(sometimes not something that’s always there on a linux install or always working.
- Full WIFI and Bluetooth stack supporting WPA, WEP, WPA-PSK you name it from the OFF!! I’ve not seen a single Linux distro to date that does this (only comparing with ubuntu really but that is one of the best of the Linux distros) Bluetooth and wifi are incredibly easy to get to grips with on FreeBSD with the handbook’s help and installing the ndis wifi driver was very simple. Ubuntu didn’t properly detect my card or provide the WPA options i needed.
- DVD support - all i had to do was install VLC and DVDs worked. Ubuntu is one of the best Linux distros and when you try to play a DVD on 6.10 it is useless..until you mess about with “easy ubuntu” third party software and lots of extra package repositories!
- No requirement for Gnome/KDE/Anything bloated (you can setup what you like and remove it without having hundreds of dependancies pop up in your face or ubuntu style telling you ubuntu base must be removed or debian getting confused or fedora which doesn’t give you many options with package management i found)
- Customizable to the full, you can install what you want and do just about anything.
- Hardware support easy to add if not there (just load a kernel module and your soundcard is there, add it to loader.conf and your done! no messing with hundreds of choices then to find your card stops working, also better sound quality than linux distros it seems to sound better)
- sysinstall may not be a 3d or GTK GUI but it does the job very well giving lots of options, configure everything from services to networking to packages..
- installing the kernel source (required if you have to use NDIS windows network drivers for something - my realtek LAN card which is incredibly hard to get working with linux even though they make drivers and really hard with ndis on linux) was easy peasy..

All this adds up to a very easy to use system, if something’s not as you want it you can add a line to sysctl.conf or loader.conf changing the setting, most things are done via sysctl settings or kernel modules. ACPI follows the specifications better than linux installs and works out of the box on my laptop although using the Sleep states isn’t going too well just yet but i am working on that, it may just be i have to tell ACPI that its really running on windows NT :D

The package manager is well organised on FreeBSD and the installer is flexible, small and simple…

The only annoyances i find are:
- FreeBSD has no official ati graphics support - but that’s only required for gaming in 3d something not common for me anyway.
- Sysinstall seems to always ask what FTP mirror i want to use, it only takes a couple of key presses to choose FTP Passive -> UK but it would be nice if it saved the package location you used most.
- Sysinstall package search is not the most easy thing in the world

I’m on the lookout for a package management tool for freebsd but i’m guessing that you have to use sysinstall, it would be nice to have something in GNOME which i could use.

Either way the way everything works on FreeBSD and the hardware support make it a really cool OS, not to mention the performance and solid design of the kernel. It really seems to be in a different league from most Linux distributions - but maybe i’m just tired of seeing the same old - installer, install gnome, here’s your gnome everythings the same, wifi doesn’t work, dvds don’t play, hundreds of rubbish packages i don’t want installed by default, no propper ACPI support etc..

I just re-setup GEdit so hopefully it is now ready for tackling some web-cp… depending on whether i have it setup well enough to enable me to ignore the HTML and PHP together.

FreeBSD is a very nice platform - i encourage you to try it if windows or linux is annoying you. Although obviously there are things that you may need to consider such as nothing’s perfect and you may have some obscure hardware that is not yet supported, but that applies to anything, you will probably be pleasantly suprised at just how well-supported things are on FreeBSD. It has a well-made, uncheap feel :D Maybe the best bit is you don’t have to spend hours compiling bluetooth support or something into your kernel or wifi or messing about and you don’t have to mess about in text files comenting and uncommenting, you just change a sysctl value if something affects you..

…and the best bit is it has screensavers for the text console HOW COOL IS THAT!!! well i think its quite cool…. although i was suprised that i had to download Java JDK from freebsd foundation instead of being able to select it on sysinstall (presumably because Java only recently went GPL so they couldn’t include it until now)

edg - at a very uncluttered GNOME desktop