Solaris - Disk Repartitioning



Yesterday, I had to do some Raid-1 configuration for Sun V490s. One problem was harddisks were already formatted and partitioned but in order to make Raid-1 configuration work on all servers (x4) , I had to repartition them first then make mirror configuration. What I found out at the end is that solaris disk repartitioning is comparably much easier then windows and any other operating systems unless you are trying to repartition system partitions like root or swap. I used ‘format’ utility for all steps. Here are the details:

Initial hard drive slices look as below:

Part
 0
 1
 2
 3
 4
 5
 6
 7
Tag
root
swap
backup
unassigned
unassigned
var  Â
usr  Â
unassigned
Flag
wm
wu
wm
wm
wm
wm
wm
wm
Cylinders
202 -Â 1308
0 -Â Â 201
0 - 14086
0
0
1309 -Â 1912
1913 -Â 5004
0
Size
10.74GB
1.96GB
136.71GB
0
0
5.86GB
30.01GB
0
Blocks
(1107/0/0) 22529664
(202/0/0) 4111104
(14087/0/0) 286698624
(0/0/0) 0
(0/0/0) 0
(604/0/0) 12292608
(3092/0/0) 62928384
(0/0/0) 0

How it should look like at the end as below:

Part
0
1
2
3
4
5
6
7
Tag
root
swap
backup
usr
unassigned
var
unassigned
unassigned
Flag
wm
wu
wm
wm
wm
wm
wm
wm
Cylinders
202 -Â 1308
0 -Â Â 201
0 - 14086
1913 -Â 5004
0
1309 -Â 1912
0
0
Size
10.74GB
1.96GB
136.71GB
30.01GB
0
5.86GB
0
0
Blocks
(1107/0/0)Â Â 22529664
(202/0/0)Â Â Â Â 4111104
(14087/0/0) 286698624
(3092/0/0)Â Â 62928384
(0/0/0)Â Â Â Â Â Â Â Â Â Â Â Â 0
(604/0/0)Â Â Â 12292608
(0/0/0)Â Â Â Â Â Â Â Â Â Â Â Â 0
(0/0/0)Â Â Â Â Â Â Â Â Â Â Â Â 0

Before starting to play with ‘format’ utility, /etc/vfstab should be changed and mounted partitions either should be removed or commented out. Otherwise you will get an error saying, the partition you are trying to modify is already mounted.

After you’ve changed /etc/vfstab; you should modify slice 3 by putting same cylinders range with 6. That range starts with 1913 and you should put 30 gb. for the size, ending cylinder (5004) will be calculated automatically. Here we go:

#root etc>format
Searching for disks…done

AVAILABLE DISK SELECTIONS:
      0. c1t0d0
         /pci@9,600000/SUNW,qlc@2/fp@0,0/ssd@w500000e011e5faf1,0
      1. c1t1d0
         /pci@9,600000/SUNW,qlc@2/fp@0,0/ssd@w500000e011e609d1,0
Specify disk (enter its number): 0
selecting c1t0d0
[disk formatted]
Warning: Current Disk has mounted partitions.
/dev/dsk/c1t0d0s0 is currently mounted on /. Please see umount(1M).
/dev/dsk/c1t0d0s1 is currently used by swap. Please see swap(1M).

FORMAT MENU:
       disk      - select a disk
       type      - select (define) a disk type
       partition - select (define) a partition table
       current   - describe the current disk
       format    - format and analyze the disk
       repair    - repair a defective sector
       label     - write label to the disk
       analyze   - surface analysis
       defect    - defect list management
       backup    - search for backup labels
       verify    - read and display labels
       save      - save new disk/partition definitions
       inquiry   - show vendor, product and revision
       volname   - set 8-character volume name
       !    - execute , then return
       quit
format> partition

PARTITION MENU:
       0     - change `0′ partition
       1     - change `1′ partition
       2     - change `2′ partition
       3     - change `3′ partition
       4     - change `4′ partition
       5     - change `5′ partition
       6     - change `6′ partition
       7     - change `7′ partition
       select - select a predefined table
       modify - modify a predefined partition table
       name  - name the current table
       print - display the current table
       label - write partition map and label to the disk
       ! - execute , then return
       quit

partition>Â 3Â Â
Part     Tag           Flag    Cylinders        Size           Blocks
  3       unassigned
  wm     0                    0               (0/0/0)Enter partition id tag[unassigned]: usr
Enter partition permission flags[wm]:Â
Enter new starting cyl[0]: 1913
Enter partition size[0, 0c, 0e, 0mb, 0gb]: 30gb

partition> label
Ready to label disk, continue? y

Now you assigned ranges to slice 3 and saved configuration. Next step is to delete older one by giving 0 for number of cylinders and disk size:

partition> 6Â Â
Part     Tag   Flag    Cylinders        Size           Blocks
 6       usr   wm   1913 - 5004      30.01GB   (3092/0/0)  62928384

Enter partition id tag[usr]:Â
Enter partition permission flags[wm]:Â
Enter new starting cyl[1913]: 0
Enter partition size[62928384b, 3092c, 3091e, 30726.75mb, 30.01gb]: 0
partition> label
Ready to label disk, continue? y

Â

One problem I face with when I issued ‘label’ command was:

> label
Cannot label disk when partitions are in use as described.

And the solution for this:

The environment variable NOINUSE_CHECK (see PSARC/2005/461), when set, can be used to turn off this new functionality:

NOINUSE_CHECK=1
export NOINUSE_CHECK

Update your ~/.profile!

Benzer yazılar:

www.sonofnights.com

Konu hakkında yorumlarınız


Yorum yazmadan lütfen okuyunuz:


Siteyi temiz tuttuğunuz için teşekkür ederiz.