Vinum volume manager

From HandWiki
Short description: Logical volume manager implementations for BSD operating systems

Vinum is a logical volume manager,[1][2][3] also called software RAID, allowing implementations of the RAID-0, RAID-1 and RAID-5 models, both individually and in combination. The original Vinum was part of the base distribution of the FreeBSD operating system since 3.0, and also NetBSD between 2003-10-10 and 2006-02-25,[4] as well as descendants of FreeBSD, including DragonFly BSD; in more recent versions of FreeBSD, it has been replaced with gvinum, which was first introduced around FreeBSD 6. Vinum source code is maintained in the FreeBSD and DragonFly source trees.[2][3] Vinum supports RAID levels 0, 1, 5, and JBOD. Vinum was inspired by Veritas Volume Manager.[1]:4

Vinum is invoked as gvinum (GEOM Vinum) on FreeBSD version 5.4 and up. In modern FreeBSD, it may be considered to be a legacy volume manager; modern alternatives being GEOM and ZFS.

In NetBSD, it has been removed before NetBSD 4.0 due to lack of interest and maintenance; RAIDframe was cited as providing similar functionality.[5]

In DragonFly BSD, DragonFly's own HAMMER filesystem already implements network mirroring, and the natacontrol utility could be used to configure nataraid(4), another software RAID implementation, which originally appeared with FreeBSD 6.0 as ataraid(4), but was deprecated with FreeBSD 9, and removed before FreeBSD 10.0; and a NetBSD's port of Red Hat's lvm2 is also available in the base system of DragonFly as well all in addition to vinum.

Software RAID vs. Hardware RAID

The distribution of data across multiple disks can be managed by either dedicated hardware or by software. Additionally, there are hybrid RAIDs that are partly software- and partly hardware-based solutions.

With a software implementation, the operating system manages the disks of the array through the normal drive controller (ATA, SATA, SCSI, Fibre Channel, etc.). With present CPU speeds, software RAID can be faster than hardware RAID.

A hardware implementation of RAID requires at a minimum a special-purpose RAID controller. On a desktop system, this may be a PCI expansion card, or might be a capability built into the motherboard. In larger RAIDs, the controller and disks are usually housed in an external multi-bay enclosure. This controller handles the management of the disks, and performs parity calculations (needed for many RAID levels). This option tends to provide better performance, and makes operating system support easier.

Hardware implementations also typically support hot swapping, allowing failed drives to be replaced while the system is running. In rare cases hardware controllers have become faulty, which can result in data loss. Hybrid RAIDs have become very popular with the introduction of inexpensive hardware RAID controllers. The hardware is a normal disk controller that has no RAID features, but there is a boot-time application that allows users to set up RAIDs that are controlled via the BIOS. When any modern operating system is used, it will need specialized RAID drivers that will make the array look like a single block device. Since these controllers actually do all calculations in software, not hardware, they are often called "fakeraids". Unlike software RAID, these "fakeraids" typically cannot span multiple controllers.

Example configuration

A simple example to mirror drive enterprise to drive excelsior (RAID1):

drive enterprise device /dev/da1s1d
drive excelsior device /dev/da2s1d
volume mirror
  plex org concat
    sd length 512m drive enterprise
  plex org concat
    sd length 512m drive excelsior

See also

References

  1. 1.0 1.1 Greg Lehey (1999). "The Vinum Volume Manager". Proceedings of the FREENIX Track: 1999 USENIX Annual Technical Conference. USENIX (published June 6–11, 1999). https://www.usenix.org/legacy/events/usenix99/full_papers/lehey/lehey.pdf. 
  2. 2.0 2.1 "vinum — Logical Volume Manager control program". DragonFly BSD. http://bxr.su/d/sbin/vinum/. 
  3. 3.0 3.1 "gvinum — Logical Volume Manager control program". FreeBSD. http://bxr.su/f/sbin/gvinum/. 
  4. Christos Zoulas (2006-02-25). "CVS commit: src/sys/dev". source-changes@ (Mailing list). NetBSD. As core requested, remove vinum
  5. "Announcing NetBSD 4.0". NetBSD. 2007-12-19. http://www.netbsd.org/releases/formal-4/NetBSD-4.0.html. 

External links