Showing posts with label vmware. Show all posts
Showing posts with label vmware. Show all posts

Tuesday, January 19, 2010

Fusion 3.0 slow down...fixed!

I had purchased Fusion 3, at a discount because I was part of the Beta program, but mostly because I brought into the fact that it was optimized for Snow Leopard and was faster. Was is there not to like about that.

Well, firstly, Fusion 3.0 just seemed to be much slower at taking snapshots and restoring VMs. Given that is what I'm doing 90% of the time that was a problem.

There seem to be two fixes that at least help, if not resolve the problem

1. Remove the VM directory from Spotlight indexing

Easy enough to do on System Preferences > Spotlight > Privacy

Click on the "+" and add your Virtual machine directory into the Privacy list.

2. Stop VMware for starting an index
Seems that VMWare causes a re-index scan to occur, so lets turn that off!

defaults write com.vmware.fusion PLLibrarySpotlightSearchDone -bool YES

Tuesday, January 5, 2010

Resizing a RHEL 4 & 5 LVM in a VMWare Guest

Nothing like starting the new year with an "out of space" problem.

So, I have a RHEL 5.3 image running under VMWare Fusion. I needed more space in order to install some more software... easy I thought until I tired it and with the help of several blogs and other posting, I thought I would put my recipe into words. So the challenge is to add and extra 2GB into the root filesystem

Step 1 - Cleanly shutdown your VMWare guest
Suggest that you shutdown cleanly as you can to ensure that all other steps go smoothly.

Step 2 - Remove your Snapshots of the Guest
VMWare Fusion on a Mac forces you to remove any snapshots before you can re-size the disk

Step 3 - Resize the disk
There are some command line tools for doing this, but in the 'Hardware Settings' for the guest you can resize a disk (in VMWare Fusion and above).

Step 4 - Restart your Guest
Restart you guest

Step 5 - Look at your disk space
If you look at the disk psace from your guest, you will see that it show no extra disk space! This is simply because the O/S has not seen the added space yet. Use "df" to take a look at the mounted volumes on your system.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
3.8G 3.2G
427M 89% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
.host:/ 233G 173G 61G 74% /mnt/hgfs

As you can see, we have 427M if space left on the root file-system "/".

Step 6 - Make sure that there is free space
You can next check if the O/S can see the free space. Use the utility "parted" to view the partitions.
[root@localhost ~]# parted
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
print free

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 6440MB 6333MB primary lvm
6440MB 8587MB 2147MB Free Space

(parted) quit
Step 7 - Make a new partition out of the free space
In the step above you can see the free space, which starts at 6440MB and ends at 8587MB. You now need to make a new partition, using "parted" again
[root@localhost ~]# parted
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
mkpart
Partition type? primary/extended?
primary
File system type? [ext2]?
ext3
Start?
6440
End?
8587

(parted)
print

Model: VMware, VMware Virtual S (scsi)
Disk
/dev/sda: 8590MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 6440MB 6333MB primary lvm
3 6440MB 8587MB 2147MB primary

(parted)
quit
We have a new partition out of the free space... but we have not finished yet!

Step 8 - Create the Physical Volume from the Partition
Now that we have a partition on the disk we now create a physical volume using the "pvcreate" command.
[root@localhost ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
The device name (/dev/sda3) came from Step 7, concatenating the device name (/dev/sda) with the partitions number (3) to get /dev/sda3.

Step 9 - Determine the Volume Group
Now that we have a partition, we need to add it into the Volume Group. First find the name of the volume group using the "vgscan" command.
[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "
VolGroup00" using metadata type lvm2
Step 10 - Add the partition into the Volume Group
Now add the partition into the volume group using the "vgextend" command.
[root@localhost ~]# vgextend VolGroup00 /dev/sda3
Volume group "VolGroup00" successfully extended
Here's where we got the information from
  • VolGroup00 came from Step 8
  • /dev/sda3 came from Step 7, concatenating the device name (/dev/sda) with the partitions number (3) to get /dev/sda3
Step 11 - Extend the Logical Volume
Next we have to tell the Logival Volumn Manager (LVM) that we have an additional partition to add. We do this using the "lvextend" command.

[root@localhost ~]# lvextend -l +63 /dev/VolGroup00/LogVol00 /dev/sda3
Extending logical volume LogVol00 to 5.84 GB
Logical volume LogVol00 successfully resized
What the command says above is the following
  • Use partition /dev/sda3
  • On Volume /dev/VolGroup00/LogVol00 (the name comes from Step 5)
  • By 63 extents, this is roughly 2GB. There are other options that let you specific this in terms of GB, percentage free etc.
Step 12 - Now extend the filesystem
The the Logical Volume is just a collection of space. Typically you then take this space and create a file-system. Given that we have a file-system we want to extend it with the space we just added to the Logical Volume. We do this with the "resize2fs" command.

Step 12.1 - Redhat 4.x

localhost ~]# ext2online /dev/VolGroup00/LogVol00

Step 12.2 - Redhat 5.x
[root@localhost ~]# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 1531904 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 1531904 blocks long.
This command takes all the space we added to the Logical Volume... now the acid test, do we see the free space in the file-system?

Step 13 - Check for free space
Check for the free space, using the "df" command.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
5.7G 3.2G 2.3G 59% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 506M 0 506M 0% /dev/shm
.host:/ 233G 173G 61G 75% /mnt/hgfs

Success! You can see we now have an extra 2GB of free space! Go make yourself a cup of tea.

Monday, February 18, 2008

A fist full of VMware analytics

So the next goal for the product is VMworld Europe. I have been busy coding away to extend the analytics to cover file-system scanning to determine duplicate blocks. Its proving a bunch of interesting challenges, how to scale, how to determine duplicates across file-system boundaries and all sorts of other issues.

Final testing in progress, and those odd problems about regression bugs... but here's a first screenshot!

Monday, August 27, 2007

Progress to date

One month later...


A depressing small number of tasks complete.jpg
So I could look at the picture above and get depressed, since this is the tasks completed list. Its 27 days since the last update and boy what a lot of code has been written and a hell of a lot of things learnt including, but not limited to,

  • JavaScript
  • CSS
  • Java 1.5 (gosh this generics stuff is great!)
  • GWT
  • Ruby and Ruby-on-rails
  • Fusion FreeCharts and Flash
Its been a big learning curve, especially the week elapsed thrown away after I abandoned Runy-on-rails. I’ll write up one day the pros and cons for both Ruby-on-rails and GWT, they are both have some pitfalls as some things I really like.

So I have been also at the same time setting up my virtualized environment. I now have a DNS server curtsey of a very, very old Dell laptop and VMWare is up and running on the new MacPro. FredBSD and Linux distributions seemed to be no problem. Solaris 10 was very painful.

FreeBSD running under OS-X

Firstly the DVD iso images would not install with VMWare, so I eventually went to the CD images. Made some progress but Solaris does not seem to be that happy or stable. I probably need to kill it and start again.