Understanding VTOC Disk Management in Solaris

Here I will be giving you a brief overview of the disk partition used in Solaris OS.

Disks consists of the following

  • Tracks - concentric rings on each platter
  • Cylinders - groups of tracks
  • Sectors/Blocks - 512 byte blocks (smallest unit represented on hard disk)

On each hard drive there is a platter i.e a circle which consists of tracks and the tracks of the concentric rings on each platters. These tracks are grouped into cylinders and those cylinders mention as group of tracks. Sectors are 512 byte blocks and we allocate space by referencing cylinders as well as block.

Disk Partitions:
In Solaris the term "partition" is also known as "slice". Now, Solaris is basically designed to be used with Sparc machines but if you are using Solaris on an Intel machine then there can be some limitations on the usage or better we can say there can be some variations.

Some points to be noted in terms of disk partitions .

  • In Intel x86 machine it is mandatory to create a fdisk partition for creating further slices but again the same is not required on Sparc machines.
  • 10 slices can be created when using VTOC on x86 machines (0-9)
  • 8 slices can be created in Sparc disk layout using VTOC.

NOTE: In x86 machines you are limited to create 4 FDISK primary partitions among which Solaris requires atleast 1 FDISK partition for its use.

Solaris uses a Volume Table of Content (VTOC) to represent various slices within the FDISK partition on the disk.

IMPORTANT NOTE: On Sparc Solaris uses VTOC to represent ALL slices on disk , NOT withing the lone FDISK partition.

Rules on the slices within x86 using VTOC:

  • 10 slices (0-9) MAX may be created when using VTOC on x86 machines
  • Slices 2,8,9 are reserved
  • Slice 2 is VTOC ( VTOC represents the disk's label and occupies slice 2)
  • Slices 0,1,3,4,5,6,7 are available for further installation and other uses.
  • Slice 0 is reserved by default for the / (root) partition.
  • Slice 7 is reserved for /export/home

NOTE: Disk with '/ (root)' and '/usr' mount points is also known as 'system disk'. This disk is used to boot Solaris and all other disks are secondary disks

Understanding Disk Nomenclature

c0 - Controller # - this is the first controlloer on the system
t0 - is an identifier for the bus-oriented controller - first target or the id on the bus - first hard disk
d0 - represents disk #
s0 - slice or partiton no.

To print the VTOC of a particular slice

# prtvtoc /dev/dsk/c0t0d0s1
* /dev/dsk/c0d0s1 partition map
* Dimensions:
* 512 bytes/sector
* 63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
* 2609 cylinders
* 2607 accessible cylinders
* Flags:
* 1: unmountable
* 10: read-only
* Unallocated space:
* First Sector Last
*       Sector Count Sector
*       6201090 32130 6233219
* First Sector Last
* Partition Tag Flags   Sector    Count     Sector      Mount Directory
   0         2   00    12386115  29495340   41881454      /
   1         3   01       48195   6152895   6201089
   2         5   00           0  41881455   41881454
   7         8   00     6233220   6152895   12386114      /export/home
   8         1   01           0     16065      16064
   9         9   01       16065     32130      48194

Flags -

1: It means that the disk is currently unmountable as the system is using it and can be unmounted only when the slice is idle.
10: The disk is considered as read only but it can be read-write so that we can write on it.

Here as I had explained earlier 2,8,9 are reserved and all the other slices are shown with the starting and ending sector.

We can also use 'format' utility to dump this information.

Related Articles

Follow the below links for more tutorials

Tutorial for Monitoring Tools SAR and KSAR with examples in Linux
How to configure Samba 4 Secondary Domain Controller
How to register Red Hat Linux with RHN (Red Hat Network )
Red hat Enterprise Linux 5.5 Installation Guide (Screenshots)
How to secure Apache web server in Linux using password (.htaccess)
15 tips to enhance security of your Linux machine
Why is Linux more secure than windows and any other OS
What is the difference between "su" and "su -" in Linux?
What is swappiness and how do we change its value?
How to log iptables messages in different log file
What are the s and k scripts in the etc rcx.d directories
How to check all the currently running services in Linux
How to auto start service after reboot in Linux