solaris add a second disk

por | 6 agosto, 2008

Derrick Harcey’s Weblog
Harcey’s Identity

The OpenSPARC Community Accelerates
Creating new opportunities into new markets.

Archives
« July 2008
Sun Mon Tue Wed Thu Fri Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Today

Click me to subscribe

Search

Links

Today’s Page Hits: 34

Monday Aug 29, 2005

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:

Comments:

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 #

Post a Comment:

  • HTML Syntax: NOT allowed
  • Please answer this simple math question

    1 + 22 =