Project title: -------------- FreeBSD GEOM Storage Virtualisation Layer (gvirstor) Author: ------- Ivan Voras Mentor: -------- Poul-Henning Kamp? Synopsis: --------- A FreeBSD kernel GEOM class providing storage virtualisation facility, regardless of type of underlying devices or its usage. Project Description: -------------------- When doing server consolidation a popular step is storage virtualisation, the goal of which is to provide storage space on demand. The purpose of gvirstor module is to provide this facility by offering the ability to create a virtual storage device of arbitrarily large size (typically several terabytes) which consists of an arbitrary number of physical storage devices (actually any lower-level GEOM providers, including RAID devices) of arbitrary size (typically 50 GB - 400 GB hard drives). Storage space from these components is carved into small chunks (for example 4 MB) and allocated (committed) to the virtual device on as-needed basis. For example, two writes to a freshly created device: one at the beggining of virtual storage device and one at the end will commit two chunks from physical device components, chosen at the convenience of the GEOM module. When all available physical storage is exhaused, no new chunks can be allocated until more physical components are added. In this way, storage space can be managed with flexibility and forethought for future needs. This work will be licensed under the BSD license. Technical Details: ------------------ Basically, gvirstor would be an important part of a logical volume manager. Existing GEOM classes in FreeBSD offer RAID functionality, but up to now there is no native GEOM storage virtualisation class. The facility will be implemented as a GEOM class in a kernel-loadable module, with accompanying userland utility that controls it (using facilities provided by the GEOM framework). Special consideration is to be given to monitoring and notification of available physical storage so the administration staff can react and add additional devices/components on time. The virtual storage device can be used for arbitrary purposes, including hosting file systems. More information on the GEOM framework can be found here: http://www.freebsd.org/cgi/man.cgi?query=geom&sektion=4 Benefits for FreeBSD: --------------------- Storage virtualisation is an important component in new enterprise data centres, and several expensive commercial products have emerged that offer this functionality on various storage systems (for example Fibre Channel). Virtual storage module included with FreeBSD will allow usage of inexpensive direct attached storage devices (a.k.a. disk drives) in virtual storage configurations, or even creation of dedicated or embedded devices for this purpose based on a inexpensive Open-source operating system with a business-friendly license. About me: --------- I'm a student at the final year at Faculty of Electrical Engineering and Computing (FER) in Zagreb, Croatia. I'm a full-time FreeBSD user and developer (with some kernel knowledge) and also administrate several FreeBSD servers and a few desktop systems. My homepage is http://ivoras.sharanet.org/.