Based on Alex Eremin's blog entry on minimal script and some of my own hacking, I have a script that should allow to create a basic PostgreSQL 8.3 Appliance using OpenSolaris 2008.11 Kernel in Virtualbox easily with an image which is not bloated (No X, Gnome, etc).
Here is how to try it out:
- For the time being this requires the OpenSolaris 2008.11 CD image (650+ MB) only to execute my script create_pg_appliance.sh which is about 6KB. Bear with me till I solve this problem and play along :-)
- Download Virtualbox and install it
- Create a New Virtual Box VM with following parameters in the Wizard Screen
- Call it PostgreSQL 8.3 Appliance
- Select OS Type "OpenSolaris"
- Base Memory 768MB or increase it to 1GB if you can spare your RAM for it
- Create a New Dynamic Expanding Image with exactly 16.00 GB (Any other wise may not work)
- Once the VM is created, immediately click the blue Network link and modify it to select a "Host Based Network" (in the setup make sure it is connected to the active host interface - wired or wireless depending on the host system)
- Also Click the CD-ROM image and point it to the osol-200811.iso image that you downloaded earlier
- Boot up the VM and select the first LiveCD option in the Grub Menu options
- Select through the defaults to get the full Gnome Desktop
- Open Firefox in the VM and make sure your VM has internet access
- Open a terminal window and execute the following commands in sequence
- wget "http://blogs.sun.com/jkshah/resource/create_pg_appliance.sh"
- pfexec sh -x create_pg_appliance.sh
- pfexec reboot
- At this point stop the VM and disconnect the CD image connected to the VM and boot again or select the grub entry
- Boot from Hard disk
- Once the VM boots from the hard disk, select the grub menu item
- PostgreSQL 8.3 Appliance based on OpenSolaris 2008.11
- The Operating system boots up to give a login prompt. Login as root/opensolaris
- The PostgreSQL database server is already running with PGDATA in /var/postgres/8.3/data
- Modify postgresql.conf to add listen-address='*' parameter
- Modify pg_hba .conf to allow your clients in pg_hba.conf
- Restart the postgresql server instance as follows:
- svcadm restart postgresql_83:default_32bit
- Now the PostgreSQL Appliance is ready to be connected from your clients.
- Remember to take snapshots of rpool/VOSApp/var so you can always revert back to earlier copies if you ever need it.
Note: In a trial installation on a MacBook Pro the script executed in about 11 minutes which includes the time it takes to download packages from pkg.opensolaris.org. I thought that was fantastic.
Maybe I should also create a minimized LiveCD just to execute the script on Virtualbox. If you have problems executing the script let me know.