Stop being envious and have a look at QUADstor's storage virtualization software. It is currently in beta and offered for free. And it has all the features that are normally only available with high priced enterprise solutions:
- Thin provisioning
- Transparent compression
- Block level deduplication (inline and post-process)
- Support for NAS, iSCSI and even Fibre Channel (with target capable QLogic adapters)
- VAAI support for VMware ESXi hosts with iSCSI and FC
QUADStor adds a layer on top of the traditional Linux or FreeBSD block device layer and transforms a pool of block devices (which could also be software RAID protected volumes) into thin provisioned so called VDisks that are carved out of this pool. Each VDisk can be deduplicated and/or compressed independently from other VDisks.
VDisks can be used in (at least) three different ways. They can be
- locally formatted with a file system (like Linux ext3) and exported as NAS shares via Samba, NFS etc.
- exported as an iSCSI block device via a modified version of IET (iSCSI Enterprise Target)
- exported as a Fibre Channel block device via a modifed version of the target capable QLogic qla2xxx device driver (so this only works with QLogic FC adapters)
For more information on VAAI please read the vStorage APIs for Array Integration FAQ article in the VMware KB.
Following is a quick guide for setting up the QUADStor software and configuring it as an iSCSI target for VMware ESX(i) hosts:
The QUADStor software is to be installed on an existing FreeBSD or Linux (RHEL/CentOS 5.0 and 6.0 or SLES11 SP1) box that serves as the storage server. I chose an ESXi 4.1 VM with 2 vCPUs and 4 GB RAM that I set up with SLES for VMware. The following software packages need to be installed with the OS: apache2 (used for the administration web GUI), gcc and kernel-default-devel (the compiler and Linux kernel sources are needed for the compilation of various QUADstor kernel modules). In SLES you can install them with the yast administration and setup tool.
For downloading the QUADStor software you need to register at their web site. The download consists of two rpm packages: A Core package and an ITF package. They need to be installed by running the following commands in a shell:
rpm -ivh quadstor-core-xxx.rpm(xxx is the current build number)
rpm -ivh quadstor-itf-xxx.rpm
The core package contains the software's back-end including a postgresql database and the web administration GUI. The ITF package contains the iSCSI stack (a modified version of IET) and a modified target-capable version of the qla2xxx driver for QLogic Fibre Channel adapters. They need to be compiled to fit to the current kernel of the server by running the command
Now you are almost ready to go ... Launch a browser to connect to the web administration GUI (it listens on the standard http port):
|QUADStor management web GUI|
|Adding the QUADStor license key|
Attach a new blank disk to your QUADStor VM and add it to the QUADStor pool in the Physical Storage / View Storage menu:
|Physical disk view|
|Enable Compression for physical disk|
|Add a QUADStor VDisk|
In the Virtual Disks / View/Modify menu you can then list, modify and delete existing VDisks:
|Configured VDisks menu|
|Modify VDisk properties|
|Configure iSCSI CHAP authentication|
4. Attaching an iSCSI exported VDisk to an ESX(i) host
I used the ESXi software iSCSI initiator to access the QUADStor target. Its setup and configuration is beyond the scope of this article, but there are sources with detailed explanations available, e.g. the VMware KB article Configuring and troubleshooting basic software iSCSI setup.
After you have attached the iSCSI target to the host you can format it as a VMFS datastore, and it will be listed in the Datastores view of the vSphere client:
|View of a VAAI enabled QUADStor datastore|
Now you are ready to create VMs on the QUADStor datastore and experiment with the features it offers. If you run into trouble do not hesitate to contact the QUADStor support. It is very responsive and quick in bug fixing!
Conclusion: The QUADStor storage virtualization software is a work in progress, but definitively a great and affordable opportunity to try out advanced storage virtualization features, even in your home lab. Don't hesitate and get started today!