November 25, 2009

Part 2 of the 5 part series on the step by step installation post focuses on the setup of VMWare Server and the SuSe Linux system. Part 1 has a list and links to the download pages for this software.

The 5 parts of this series are:

The instructions designed that non Linux admins can easily reproduce the steps. Any tuning, hardening, high-availability and other Unix management tasks have been omitted for simplicity.

VMWare Setup

After installing the software and performing all the required steps as per the instructions you should see a screen similar to this.

VMWare Setup

The next step is to create the first virtual machine. We will create the virtual machine called asece1. Once the settings are saved we will modify the vmx configuration file to enable disk sharing. To keep the post manageable not every screen is being published. The narrative should be sufficient to follow the steps.

Ok, let’s create asece1. Click on the “Virtual Machines” tab and you will see this.

VMWare Create Virtual Machine

Click on “Create Virtual Machine” to start the process. Enter the desired name of this virtual machine. In this case “ASECE1”. Click next when done.

VMWare Create Virtual Machine

Select the appropriate OS template before you install any Linux system on this virtual machine. In this example we are using 64 bit hardware and operating systems. Please make sure that you choose the SuSe Linux template. Click on Next when done.

VMWare Create Virtual Machine

By now you can see that the installation follows the pattern outlined in the left hand window. This makes is very easy to understand what needs to be done next and how many steps are actually involved setting up a virtual machine. Please keep in mind that at this point no Linux system has been installed. Imagine this step as putting together the hardware for your test bed. Luckily the setup is only virtual and no physical servers have to be wrestled in place.

Although in our example we have a 8GB RAM desktop available, chose your memory consumption wisely. Remember, you will create 3 Linux servers on this system. Click on Next when done.

VMWare Create Virtual Machine

We want to create new disks as part of this virtual machine creation. Click on “Create a New Virtual Disk”.

20GB as root disk is sufficient. This is not the data disk. We also didn’t allocate all disk space at once to preserve the underlying disk storage. This not an optimal performance setting, but this is a demonstration test environment. Leave all other settings at default and click on Next.

Now we need to choose the network adapter. Click on “Add Network Adapter”.

For the setup we chose the bridged network. This allows us to fine tune the network settings.

For easy setup select the defaults on the CD setting. The ISO file will be added later.

Do not add a floppy drive to the setup. It is not needed and you will get an error message when the floppy drive is not available. Click on Don’t Add a Floppy Drive.

No USB connection is needed as well. Click on Don’t Add a USB Controller.

After finishing these steps you will get this result:

Now you have the chance to add the 2 more network adapters needed for the setup as well as adding 8 more disks to simulate all the raw devices needed for the cluster setup. It is not necessary to add 8 disks to create 8 raw devices, but for non Linux savvy folks it is easier to follow and to setup.

Ok, let’s add another network adaptor. Only one step will be demonstrated, repeat this steps to another network adaptor.

Step 1: Click on More Hardware

Step 2: Click on Network Adapter.

Keep the Bridged option and click on Next.

To add another network adapter, repeat the steps starting with Step 1.

Now let’s move on to add the disk drives used. Again, only one sequence of steps will be shown. To add the remaining 7 disk drives, repeat the steps outlined below.

We will create 8 disks with the following size needs. The size is chosen slightly bigger than the raw device need. This will eliminate calculation rounding issues when creating the raw devices and the Sybase devices on top of it. Once again, the disk devices will not be created in the full size until data will be written to it. This will preserve disk resources on the host system.

master device disk 500 Mb
quorum device disk 21 Gb
data device disk 11 Gb
sybsystemprocs device disk 400 Mb
system device disk 200 Mb
sysmgmt device disk 400 Mb
tempdb asece1 disk 2 Gb
tempdb asece2 disk 2 Gb

Step 1: Click on More Hardware

Step 2: Click on Hard Disk

Step 3: Click on Create a New Virtual Disk

Step 4: After setting the right capacity click on Browse to select a shared folder on the host system. This folder should be on the same level as the virtual machine root folder, which is also known as [Standard] datastore in VM.

In this example a SharedDisks folder has been created to hold the shared disk drives. This is not necessary; the drives could also be created in the top root folder.

Now repeat these steps to add the other 7 disk drives to the setup. Go to Step 1 to repeat the steps.
After all the hard work you will end up with something like this.

Don’t worry if you forgot something. You can always add more hardware later on. As long as the host hardware has enough resources you will be fine.

Now the difficult task of transforming the additional hard disks into shared drives. To achieve this goal the ASECE1.vmx file must be manually manipulated.

This is the vmx file and the highlighted text shows the changes or additions the configuration. Once the changes are made, save the file to the same name. The file is located in the default VM root directory and then the virtual machine sub folder. In this case the sub folder is ASECE1. Please note that the 8 shared disks will be moved from scsi 0 to scsi 1.

This could have been done while creating the disks, but with manipulating the configuration file it is much easier and faster.

.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "7"
floppy0.present = "FALSE"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
nvram = "ASECE1.nvram"
virtualHW.productCompatibility = "hosted"
ft.secondary0.enabled = "TRUE"
tools.upgrade.policy = "useGlobal"
powerType.powerOff = "soft"
powerType.powerOn = "hard"
powerType.suspend = "hard"
powerType.reset = "soft"

displayName = "ASECE1"
extendedConfigFile = "ASECE1.vmxf"

scsi0.present = "TRUE"
scsi0.sharedBus = "none"
scsi0.virtualDev = "lsilogic"

scsi1.present = “FALSE”
scsi1.sharedBus = “virtual”
scsi1.virtualDev = “lsilogic”

memsize = "1024"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "ASECE1.vmdk"
scsi0:0.writeThrough = "TRUE"
ide1:0.present = "TRUE"
ide1:0.fileName = "E:"
ide1:0.deviceType = "atapi-cdrom"
ide1:0.allowGuestConnectionControl = "FALSE"
ethernet0.present = "TRUE"
ethernet0.allowGuestConnectionControl = "FALSE"
ethernet0.virtualDev = "e1000"
ethernet0.features = "1"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.networkName = "Bridged"
ethernet0.addressType = "generated"
ethernet1.present = "TRUE"
ethernet1.allowGuestConnectionControl = "FALSE"
ethernet1.virtualDev = "e1000"
ethernet1.features = "1"
ethernet1.wakeOnPcktRcv = "FALSE"
ethernet1.networkName = "Bridged"
ethernet1.addressType = "generated"
ethernet2.present = "TRUE"
ethernet2.allowGuestConnectionControl = "FALSE"
ethernet2.virtualDev = "e1000"
ethernet2.features = "1"
ethernet2.wakeOnPcktRcv = "FALSE"
ethernet2.networkName = "Bridged"
ethernet2.addressType = "generated"
guestOS = "sles10-64"
uuid.location = "56 4d 8d 16 4c 47 c3 42-7c 63 2b 75 fc 8b b4 59"
uuid.bios = "56 4d 8d 16 4c 47 c3 42-7c 63 2b 75 fc 8b b4 59"
vc.uuid = "52 2e af 22 94 93 e9 29-00 3a da fe d9 5d b2 82"

ethernet0.generatedAddress = "00:0c:29:8b:b4:59"
ethernet1.generatedAddress = "00:0c:29:8b:b4:63"
ethernet2.generatedAddress = "00:0c:29:8b:b4:6d"
scsi0:0.redo = ""

scsi1:1.redo = “”
scsi1:2.redo = “”
scsi1:3.redo = “”
scsi1:4.redo = “”
scsi1:5.redo = “”
scsi1:6.redo = “”
scsi1:8.redo = “”
scsi1:9.redo = “”

vmotion.checkpointFBSize = "134217728"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"

scsi1.pciSlotNumber = “42”

ethernet0.pciSlotNumber = "32"
ethernet1.pciSlotNumber = "33"
ethernet2.pciSlotNumber = "34"
vmci0.pciSlotNumber = "35"
ethernet0.generatedAddressOffset = "0"
ethernet1.generatedAddressOffset = "10"
ethernet2.generatedAddressOffset = "20" = "-57953191"

scsi1:1.present = “TRUE”
scsi1:1.fileName = “C:vmSharedDisksmaster.vmdk”
scsi1:1.writeThrough = “TRUE”
scsi1:2.present = “TRUE”
scsi1:2.fileName = “C:vmSharedDisksquorum.vmdk”
scsi1:2.writeThrough = “TRUE”
scsi1:3.present = “TRUE”
scsi1:3.fileName = “C:vmSharedDisksdata.vmdk”
scsi1:3.writeThrough = “TRUE”
scsi1:4.present = “TRUE”
scsi1:4.fileName = “C:vmSharedDiskssybsystemprocs.vmdk”
scsi1:4.writeThrough = “TRUE”
scsi1:5.present = “TRUE”
scsi1:5.fileName = “C:vmSharedDiskssystem.vmdk”
scsi1:5.writeThrough = “TRUE”
scsi1:6.present = “TRUE”
scsi1:6.fileName = “C:vmSharedDiskssysmgmt.vmdk”
scsi1:6.writeThrough = “TRUE”
scsi1:8.present = “TRUE”
scsi1:8.fileName = “C:vmSharedDiskstempdbasece1.vmdk”
scsi1:8.writeThrough = “TRUE”
scsi1:9.present = “TRUE”
scsi1:9.fileName = “C:vmSharedDiskstempdbasece2.vmdk”
scsi1:9.writeThrough = “TRUE”
disk.locking = “false”

Now we have disk sharing hardware in place. The next step is to duplicate this setup to the second virtual machine. This is done by simply copying the entire ASECE1 folder and its content to a new folder called ASECE2.

Rename all files in ASECE2 to reflect ASECE2.

Open the ASECE2.vmx file and replace all mention of ASECE1 with ASECE2. This will complete the cloning process.

Now the new virtual machine has to be added to the VMWare Server. Both virtual machines have their own boot disk, but share 8 disk drives. Click on “Add Virtual Machine to Inventory” below.

The last step is to create a small NFS server. Using the same approach as when creating ASECE1.

This NFS server will be named ASECENFS and contains a 20GB disk and just 512MB RAM. No additional hardware is required for this setup. This will be a quick setup and looks something like this when completed.

To support the primary private network and the secondary private network, two virtual networks in VMWare need to be created. There are already 2 virtual networks configured, but they don’t provide the clean approach desired for this setup.

Open the Virtual Network Manager

Adding a network is a simple 2 step process.

First create a new virtual host adapter.

The second step is to map the new virtual host adapter to a subnet.

Click on the > symbol to open the sub menu. Select the subnet option.

Repeat the steps for the second virtual host adapter.

Make sure you hit apply or Ok to accept the changes.

Check the setup by opening the main VMWare screen and select the Refresh Network List and you should see something like this. VMNet2 is the primary private network and VMNet3 is the secondary private network.

Now you have all the ingredients to create the Linux servers for your Sybase ASE Cluster.

This post is too large to add the Linux setup into the same post. Please click here to go to the Linux setup post.