This is an alternative approach to manually partitioning a hard drive to prepare for installation of Linux Ubuntu for a Web Server, without the complication of using LVM (Logical Volume Manager).

I have seen guides to manual paritioning which range from the ultra simple (let the Ubuntu installer OS make the decisions for you), to the ultra complex, ie manual partitioning, using LVM,and creating a gazillion separate partitions, which to me seems like overkill.
This morning I came to the conclusion there is a "middle ground" to all this, ie manual partitioning, without using LVM.

In this scenario, I did a manual partitioning scheme, and simply made 4 primary partitions. When these steps are completed we will have a hard drive with the following paritions:

boot - 200 MB
swap - 8 GB (twice my currently installed amount of RAM, which is 4GB)
root - 30 GB for the OS files, other than the kernel, which is in the boot partition
var - the rest of the remaining space on the drive, which will contain the web sites, databases, and log files

When I got to the Hard Drive Setup point in the installer, I chose Manual, and setup the 4 partitions, using the following steps:

  1. The installer detected my hardware RAID controller, and asked me if I wanted to use it. Yes
  2. I selected "Serial ATA RAID mirror"
  3. Create new empty partition table on this device? Yes
  4. Select the 2.0 TB FREE SPACE menu item
  5. Select "Create a new partition"
  6. Entered 200M - Enter
  7. Choose Primary - Enter
  8. Choose Beginning - Enter
  9. Select Use As: - Enter
  10. Choose Ext2 file system - Enter
  11. Select Mount point - Enter
  12. Choose /boot - Enter
  13. Choose Bootable Flag - Enter (which enables it)
  14. Choose "Done setting up partition" - Enter
  15. Choose FREE SPACE - Enter
  16. Choose "Create new partition" - Enter
  17. Enter 8G - Enter
  18. Choose Primary - Enter
  19. Choose Beginning - Enter
  20. Choose Use as: - Enter
  21. Choose swap - Enter
  22. Choose Done setting up partition - Enter
  23. Choose FREE SPACE - Enter
  24. Choose Create New Partition - Enter
  25. Enter 30G - Enter
  26. Choose Primary - Enter
  27. Choose Beginning - Enter
  28. Choose Mount Point - Enter (Ext4 was already the default for file system type here)
  29. Choose / - Enter (this is the root file system)
  30. Choose Done setting up the partition - Enter
  31. Choose FREE SPACE - Enter
  32. Choose Create a new partition - Enter
  33. 2.0 TB was the default - Enter
  34. Choose Primary - Enter
  35. Choose Mount point - Enter
  36. Choose /var - Enter
  37. Choose Done setting up partition - Enter
  38. Choose Finish partitioning - Enter
  39. Write changes to disks? Tab to Yes - Enter

At this point the installation of the base system continued.

The next prompt asks if you use a Proxy Server. I don't so - Enter

The next screen asks if you want Automatic Updates. I always like to have control over the updating/upgrading of a system, especially a production server.
The default choice on this screen is No automatic updates - Enter

The next screen asks about additional software to install. Again, I like to have control over the software installed on ANY system, ie if/when that is performed.

My only expection to this rule, as of the date of writing this guide, is OpenSSH.
OpenSSH allows an administrator to remotely connect to a server using the lowest common denominator, ie a command prompt.
So on this screen I selected OpenSSH with the space bar, tabbed down to Continue - Enter

At this point in the installation process, the installer completes the copying of files to the hard drive.



Update: I was under the impression my new motherboard for this server has RAID capability built in. Come to find out, it has what's known as "Fake RAID".

In other words RAID on this motherboard is implemented using a combination of the BIOS and software (ie the CPU), which for Windows was not so much of an issue because of the fact this motherboard came with a driver CD, and Windows drivers, which are put n place when Windows is installed.

The Linux installer, from what I can tell right now, does not provide a means to install a RAID driver at install time (even if this CD had a Linux driver on it).
Needless to say, I had all kinds of problems installing Linux Server on this system. sigh..

Several hours (of researching this particular brick wall) later I realized I had a couple of choices:

  1. Not have RAID on this server
    Do I want to do that? NO. I sleep better at night knowing my server has 2 copies of everything, at all times.
  2. Use Linux software RAID
    A HUGE amount of complication, not to mention a lot more to learn, in order to install Linux, and then later replace a bad drive. No thanks.
  3. Oder a REAL RAID hard disk controller on Monday.
    Note: From what I know, and read the past few hours about hardware RAID, the OS will not even know it HAS a RAID controller in it. In other words, quantity 2 (2 TB) drives will appear to the OS as 1 (2 TB) drive. Plus if/when one of the drives fails, the RAID controller will give me the opportunity to replace the bad drive, without affecting/booting into the OS.

In the meantime, I need to keep going with this server upgrade, so I am going to install Ubuntu Server on an older 40 GB drive I have laying around, and then when the RAID controller arrives I will use Paragon Disk Utilities to image from this drive to the larger 2TB drives, once they are hooked up to the controller.
Note: If you dont have imaging software such as Paragon, I HIGHLY recommend you get your hands on a copy. It makes life SO much easier. In addition to backing up critical files with RAID in real time, and doing nightly backups of critical server config files, and data files to another machine, I routinely use Paragon to make an exact duplicate of my drives, and put them on the shelf. Again, all of these steps help me sleep better at night.

SO, for this install I am going to give the partitions the minimum amount of space, so I can keep going with learning about the other aspects of Linux, and so I can keep on my goal of one day becoming a Linux Convert.

This install will have the same 4 partitions as outlined above, just with smaller sizes. After looking in VMWare Player (Virtual Machine software), I scanned the partitions in my Linux Server install located there, with the following command to see what the usage is on the 4 partitions:  df -h

Using the above command, and a whole lot more Googling, I came up with the following sizes for this install on a 40GB hard drive:

50 M /boot
1 GB /swap
10 GB / (root)
the rest of the space, approx 30GB, will be /var


To check our partitions, using df -h will produce output liked this: