Harcey’s Identity
Solaris x86 VMware adding a drive
Solaris 10, Adding drives in VMware
If you have a Solaris VMware image which needs additional space, these steps can be performed to add another disk to the image and configure it. (These steps were applicable to previous versions of Solaris, but this post was just updated after installing Solaris 10, 8/07). If you are new to Solaris or want a great alternative to Linux, explore the Solaris Express Developer Edition Community.
The following steps can be performed to add another disk to a Solaris 10 VMware image. Most steps are general Solaris admin tasks, so the configuration is straight forward.
Add a VMware Disk to a Solaris image
- Shut down the VM
- Edit the VMware configuration: Select Virtual Machines -> Settings
- Add a new hard disk device
- start the Solaris image
Tell Solaris to look for new devices when booting
- Select the Solaris entry GRUB menu that you want to boot.
- to edit, enter e
- select the «kernel /platform» line
- to edit that again enter e
- add to the end of the ‘kernel’ line a space followed by -r
kernel /platform/i86pc/multiboot -r - press enter key to accept the change
- press b to boot
OPTIONAL: Another method to force Solaris to rebuild the device tree: You can force Solaris to rebuild it’s device tree while the system is running but creating an empty file and rebooting Solaris:
#touch /reconfigure #reboot
Use format to Partition the new disk
#format
Example output:
AVAILABLE DISK SELECTIONS: 0. c0d0 /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c0d1 /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0
Select the new device (1 for c0d1 in my case): Specify disk (enter its number): 1 Select fdisk to create a partition table format> fdisk Select ‘y’ for 100% solaris View the partition table – select ‘p’ for partition table format> p Then ‘p’ to print the partition table format> p Note the size of the device (partition 2, 1 GB in my case)
Current partition table (original): Total disk cylinders available: 1020 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 1020 1021.00MB (1021/0/0) 2091008 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 1.00MB (1/0/0) 2048 9 alternates wm 1 - 2 2.00MB (2/0/0) 4096 partition>
Allocate space to slice s0 partition> 0 – Select the details for slice 0
Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 Enter partition id tag[unassigned]: Enter partition permission flags[wm]: Enter new starting cyl[0]: 3 Enter partition size[0b, 0c, 3e, 0.00mb, 0.00gb]: 1017c
Note: The size 1017c (cylinders) was selected above since slice 8 and 9 are using the first 3 cylinders, the remaining cylinders on the disk is obtained be subtracting the used cylinders (3) from the total cylinders (1020 listed in slice 2, the backup slice which listed the entire size of the disk)
Select ‘p’ to print the partition table and verify the correct size
partition> p Current partition table (unnamed): Total disk cylinders available: 1020 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 unassigned wm 3 - 1019 1017.00MB (1017/0/0) 2082816 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 1020 1021.00MB (1021/0/0) 2091008 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 1.00MB (1/0/0) 2048 9 alternates wm 1 - 2 2.00MB (2/0/0) 4096
Select label to write the partition table to disk, quit format
partition> label Ready to label disk, continue? y partition> q format> q
Create a new file system on the new disk slice
First a quick note about options. You can create a ufs filesystem, or the fantastic zfs file system. I will show the steps for each, I have been told by some of my Sun collegues that: if you are creating a partition for Solaris Live Upgrade to use, it must be a bootable partition and as of 9/07 you can not boot from a ZFS partition so you must create a UFS one. If the objective is to create a Live Upgrade partition, you are done (you don’t put a files system on it, lucreate will handle that).
OPTION 1: create a ufs filesystem
bash-3.00# newfs /dev/dsk/c0d1s0 newfs: construct a new file system /dev/rdsk/c0d1s0: (y/n)? y /dev/rdsk/c0d1s0: 2082816 sectors in 1017 cylinders of 64 tracks, 32 sectors 1017.0MB in 64 cyl groups (16 c/g, 16.00MB/g, 7680 i/g)
Mount the new filesystem
bash-3.00# mount /dev/dsk/c0d1s0 /disk2 bash-3.00# df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0d0s0 9239837 3366138 5781301 37% / /devices 0 0 0 0% /devices ctfs 0 0 0 0% /system/contract proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab swap 2109532 852 2108680 1% /etc/svc/volatile objfs 0 0 0 0% /system/object /usr/lib/libc/libc_hwcap1.so.1 9239837 3366138 5781301 37% /lib/libc.so.1 fd 0 0 0 0% /dev/fd swap 2108728 48 2108680 1% /tmp swap 2108708 28 2108680 1% /var/run /hgfs 16777215 4096 16772864 1% /hgfs /tmp/VMwareDnD 67108860 16384 67091456 1% /var/run/vmblock /dev/dsk/c0d1s0 978927 1041 919151 1% /disk2
OPTIONAL: edit the vfstab file to add the mount point
/dev/dsk/c0d1s0 /dev/rdsk/c0d1s0 /disk2 ufs 1 yes -
mount the new file system
#mount /disk2 or #mountall
OPTION 2: create a zfs filesystem
The zfs filesystem is quite impressive. It is also quite simple to setup. create the zfs pool:
# zpool create -f zones c1d1s0
The filesystem is now created and mounted:
bash-3.00# df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0d0s0 9239837 3366140 5781299 37% / /devices 0 0 0 0% /devices ctfs 0 0 0 0% /system/contract proc 0 0 0 0% /proc mnttab 0 0 0 0% /etc/mnttab swap 2104416 852 2103564 1% /etc/svc/volatile objfs 0 0 0 0% /system/object /usr/lib/libc/libc_hwcap1.so.1 9239837 3366140 5781299 37% /lib/libc.so.1 fd 0 0 0 0% /dev/fd swap 2103612 48 2103564 1% /tmp swap 2103592 28 2103564 1% /var/run /hgfs 16777215 4096 16772864 1% /hgfs /tmp/VMwareDnD 67108860 16384 67091456 1% /var/run/vmblock /dev/dsk/c0d1s0 978927 1041 919151 1% /disk2 disk3 999424 24 999339 1% /disk3
Many other interesting things can be done with zfs, but that is a topic of another post, here are a few commands for snapshots to play with:
# zfs snapshot disk3@empty # zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT disk3@empty 0 - 24.5K -
Now we can rollback to the empty snapshot at any time in the future with:
# zfs rollback -r disk3@empty
Tags: Solaris Solaris zfs VmWare
Dear Derrick:
Thank you for publishing a thorough, useful, and easy to follow guide. We recently had a large number of Solaris VM’s to configure and your guide was a primary reference.
Best regards,
Corbin H. Links, President
Links Business Group LLC
Posted by Corbin Links on November 05, 2007 at 09:54 AM CST #
I have downloaded the Solaris Express Developer Edition 9/07 in VMware image at:
http://developers.sun.com/sxde/download.jsp
, but doesn’t describe the root password for login!.
I searched in the Sun site, documentation, faq, etc….nothing.
I trying root, «vmware» unsuccessfully…
Anybody know the password?
Thanks!
Posted by MrSparc on November 07, 2007 at 08:46 AM CST #
Hello MrSparc:
Per the readme.html on the download site:
– Adminstrator account – root
– Root password: sxde
– User accounts : <no user accounts set up>
Best regards,
-Corbin
Posted by Corbin Links on November 11, 2007 at 03:34 PM CST #
Hi,
Q1: Can I install VMware tools onto this SXDE?
Q2: Why there is NO /usr/local/bin directory?
Posted by Thomas on February 09, 2008 at 06:42 AM CST #
Hi,
Q1: Can I install VMware tools onto this SXDE?
Q2: Why there is NO /usr/local/bin directory?
Posted by Thomas on February 09, 2008 at 06:52 AM CST #
i went through it.it is very helpfull to me
Posted by shantireddy on April 08, 2008 at 01:17 PM CDT #