The hardware is Dual 3.0 machine with 4G of RAM. There are five hard drives in some type of RAID configuration but I am not sure what level. I am pretty sure it is a hardware RAID. I will check into this further in a moment. There are currently 2 partitions - one 20G paritition for Windows 2003 that is less than half full and another data partition of 250G.
My initial thought is to make the system a dual-boot installation and split the 20GB in half giving Windows2003 10G and Linux 10G. My goal in doing this is that if I run into problems on setting up the linux server I could just reboot into Windows2003 and keep things up and running. My first hesitancy is that I've read that the swap file is usually 1.5 times the memory which would pretty large (20G) but I could put that on the data partition.
Another option is to bite the bullet and kill the Windows 2003 partition and install Linux (I am thinking Ubuntu unless there are serious reasons why not to). I know that Linux can read and write to NTFS; however, I am not sure about performance/reliability/security of that. As I understand it, it may still be somewhat unreliable. Would I be better to reformat the NTFS data partition and make it EXT3?
I am not concerned about backing stuff up as we have good functional backups. I just want the least amount of downtime for the coming year. Any suggestions would be welcomed.
I have some opinions about this. I start a project tomorrow to migrate from Linux to Windows 2003, and I am pretty familiar with both systems. In our case, we are making the move because the staff here is most familiar with Windows, and there is really only one Linux guy (me).
Make a clean break. Do the migration in a test environment first to make notes and sort out details. Then just do it. NTFS read/write in Linux is funky and is the stuff of the rescue environment in my opinion.
I have a discernment committee meeting in 40 minutes, so this is brief.
Have fun... Tom
Thanks for the quick reply and sound advise. Since you are familiar with both, I was wondering if you have a secure work around for the mimetex.exe and aspell.exe problem in Windows 2003. The issue requires that a user be given execute priveleges on cmd.exe which seems to me a security breach. We are in a similar boat here where the staff is predominantly Windows but for performance, security, and to be in sync with the bulk of the Moodle users I have managed to get the door open for a LAMP server. So I feel caught between 2 worlds. My gut tells me that Moodling will be smoother on LAMP but I will not be here forever and want it to be maintainable when I leave.
Peace - Anthony
I don't use the math filters or the spell check features, so this has been off my radar. I am not much help on this one.
Here is my situation. I am very comfortable with the Linux environment, and I am convinced it is the way to run Moodle most efficiently. I am a big fan of the RHEL recompiled versions, and I teethed on RedHat, and so it seems comfortable. I am using Scientific Linux 4, and am very happy with it. 4.X (current) has MySQL 4.1.20 on my Linux developmental machine.
I am in discernment with the Episcopal Church, and I am eligible for a sabbatical next year. I may be in formation, or I may be working on another degree. Odds are pretty good one way or another that I will not be the Moodle admin next year, and it is important that I leave things on a machine that can be most easily administered by the folks on staff. That means Windows and a plan to bring some other folks up to speed with the administrative tasks. I want long-term viability.
You may well have similar issues.
Moodle can be made to work very well on Windows, and Windows 2003 is the best choice in our environment for the near future. Given a perfect world, Linux is the way, but given the realities of the local situation, WIMP is really the option for us. For the month of May we had almost 1,000,000 hits on the Moodle server. This is a high traffic server that is mission critical, and it is increasingly part of the way we do business.
I hope all that makes sense.
If you believe in the wisdom of our moderators read this http://slashdot.org/articles/06/07/30/138234.shtml
For example "Linux or Unix is the recommended operating system for the server. They perform much better than Mac OSX or Windows servers at high loads."
Admittedly, that does NOT mean Linux is better in every situation, specially if you don't have the know-how.
I noticed in your mail, you are talking in plural (our environment, etc.). Is by any chance Anthony works for the same organization and this is a No-Go by some sort of a boss?
The irony of the matter is that the "only Linux guy" says Windows.
Anthony and I work at different schools.
In a perfect world, I would prefer to run Moodle on Linux here. Things are not always perfect however, and the best option for us is to move to a Windows platform. The staff here is more familiar with it, and I plan to be on sabbatical in the 2007-2008 school year.
I think that Windows/Linux are both viable options. The environment and support options determine which is better for you.
I am zipping up files and moving data right now... Tom
Furthermore unless u really got a compelling reason to use Windows like what you mentioned - you would be the only Linux guy around it would be better just to stick to using apache on Windows. Otherwise using Linux would be more advisable as the windows base can take up to 20% of your available system resources which could be better left for your users.
As for the linux flavours I would recommend using redhat enterprise linux or any of the enterprise linux clone distros, as redhat has a commitment to provide support and updates for 5 years (it would also apply for the clone distros) so it would mean that you would not need to keep upgrading the OS every now and then, eg Fedora every 6 mths or so. Each of these upgrades would be downtime for your case. But in anyway your choice of linux distro is really up to you but do find out more about the distro before using it on a production system.
My first hesitancy is that I've read that the swap file is usually 1.5 times the memory which would pretty large (20G) but I could put that on the data partition.
The swap size depends a lot on the type of applications you run on your server and the size of the physical RAM. Given the type of application you are going to run (mysql/postgres + apache + php) I don't think giving the system lots of swap is going to help you.
For better performance, you want your database tables to fit and stay in memory (and not swap) and adjust your apache+php settings to not overcommit memory. As soon as you start swapping, your performance drops to the floor.
Give it a gigabyte or so of swap (so it can swap out other services that don't run so often and make physical RAM available to mysql/postgres + apache + php) and you are done. By the way, Linux prefers swap partitions over swap files. Performance is a little bit higher (when the system starts swapping). Bear in mind that swap partitions cannot be larger that 2 GB, but you can have upto 128 swap partitions by default (you can have more, but need to modify a kernel parameter and recompile).
On the other hand, if you are not really confident in your Linux/Unix skills, play with this in a test server before you make the switch. Having an 'easy' problem you don't know how to fix can be a real PITA if you are hard pressed to fix it NOW!
I really advise to run Moodle (and other apps) in Linux. But only when you are sure you can make them run and fix them when things break (and they'll break sooner or later )
Anyway, about dual-boot: This is unusual for a server. A server usually runs 7/24, you'll drive people nuts by rebooting ;-(
Same goes for NTFS partition: On Linux there are (too) many good file systems.
About swap: As already pointed out by other posters, under Linux it is usual practice to reserve a _partition_ for swap. There are various formulae and theories about its size. I tend to go for equal in size to the real RAM. My argument is, a server is _not_ supposed to swap unless you enjoy driving with hand-brake pulled. Make sure that won't happen by having plenty of RAM. Therefore swap is never (productively) used - as a result the size is irrelevant.
Optimizations in general: This is more of an art. If you worry too much about all sorts of hair-splitting at the beginning, that will delay your progress. My advice is, as Iñaki pointed out, give a test run! If this server is too expensive for that, take a cheaper one. You should be able to experiment a lot at the beginning.