vdisk -- virtual disk driver


The virtual disk driver, vdisk, is implemented as a layer between the kernel's buffer cache and the physical disk I/O drivers. Its purpose is to make several physically distinct hard disk partitions appear to be one or more logical units (virtual disks) to the rest of the operating system and to user applications. From the perspective of a user program, a virtual disk is indistinguishable from a physical disk. Both the block and character device interfaces are supported on virtual disks.

Administering virtual disks

You can administer virtual disks either by using the Virtual Disk Manager, or by editing the virtual disk configuration file, /etc/dktab, and running the administrative utility dkconfig(ADM) manually. dkconfig uses dktab(F) to perform the mapping between physical and virtual disks. See ``Administering virtual disks'' in the System Administration Guide for details.

Using virtual disks, you can:

Virtual disks provide a level of disk access not directly tied to a particular disk drive, controller, or bus controller (host adapter) subsystem. A virtual disk may span several disk drives (of any type) and/or several controllers (of any type). For example, SCSI and IDE disk drives may be freely mixed as pieces of any virtual disk.

There are six types of virtual disks: simple, concatenated, stripe (RAID 0), mirror (RAID 1), block-interleave parity (RAID 4), and block-interleave distributed parity (RAID 5). See ``About virtual disks'' in the System Administration Guide for details.

Virtual disk device nodes

The system will configure 16 virtual disk block and character device nodes (/dev/dsk/vdisk0 and /dev/rdsk/vdisk0 through /dev/dsk/vdisk15 and /dev/rdsk/vdisk15) by default with minor numbers 0 through 15. By convention, all virtual disk nodes take the form:

block device with unit number and minor device number # (decimal)

character (raw) device with unit number and minor device number # (decimal)
Additional virtual disk nodes can be created by adding entries to /etc/conf/node.d/vdisk, then using the -s option to idmknod(ADM) to create the nodes. For example, the entry in the vdisk file for vdisk16 would be:
   vdisk	dsk/vdisk16	b	16	sysinfo	sysinfo	600
   vdisk	rdsk/vdisk16	c	16	sysinfo	sysinfo	600
Other device names can be given by creating links (renaming is not allowed). Note that kernel error messages will still print in the form vdisk# where # is the unit number (equal to the minor device number). The Virtual Disk Manager relies on this naming convention.

Virtual disk kernel parameters

The virtual disk driver supports several kernel parameters that impact the operation and performance of virtual disks. See ``Tuning virtual disk kernel parameters'' in the Performance Guide for detailed tuning information.


A virtual disk is limited in size to 1TB or to a lower limit imposed by the filesystem or database software which uses it. For example, HTFS(TM) and DTFS(TM) filesystems have limits of 512GB and 1TB respectively. Older filesystems such as EAFS and AFS have a maximum size of 2GB.

Only mirrored virtual disks can be used for the root filesystem and for swap areas.

Only physical disk partitions and other virtual disks may be used as pieces of a virtual disk.

See also

configure(ADM), dkconfig(ADM), dktab(F), idmknod(ADM)

``Administering virtual disks'' in the System Administration Guide
``Tuning virtual disk performance'' in the Performance Guide

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003