Are you a VMware ESXi small business (or even home) user and do you enviously look at Enterprise and high budget customers who can afford fancy high performance SAN boxes with storage virtualization features and VAAI support?
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 architecture |
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)
If a VDisk is exported as an iSCSI or FC target that is used by VMware ESX(i) hosts then QUADStor also implements VAAI support. VAAI stands for
vSphere APIs for Array Integration. It was introduced with vSphere 4.1 and allows to offload certain disk operations to the storage array. It is based on SCSI open standards and basically has these functionalities (also called
primitives):
ATS (Atomic Test and Set for hardware assisted locking),
XCOPY (Full copy to offload file copy tasks) and
Block ZEROing (for initializing disk regions with zeros). The most impressive one is XCOPY, because it allows VM clone or Storage VMotion tasks to be completely offloaded to the storage array. Please note that with QUADStor the XCOPY primitive is only supported for ESXi 5.0.
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:
1. Prerequisites
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.
2. Installation
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
rpm -ivh quadstor-itf-xxx.rpm
(xxx is the current build number)
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
/quadstor/bin/builditf
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 |
and add the license key that you received when registering in the menu
Management / Licensing:
|
Adding the QUADStor license key |
3. Adding and exporting storage
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 |
Click on the "Add" link to add the disk, and in the next menu choose whether you want to use compression with this disk:
|
Enable Compression for physical disk |
After pressing "Submit" you are ready to create you first VDisk from the pool in the
Virtual Disks / Add VDisk menu:
|
Add a QUADStor VDisk |
Important note: If you want to access the VDisk with VMware ESX(i) hosts you need to check the "512 byte emulation" option, because ESX(i) is not able to handle other block sizes!
In the
Virtual Disks / View/Modify menu you can then list, modify and delete existing VDisks:
|
Configured VDisks menu |
Click on the "Modify" link to configure the VDisk settings:
|
Modify VDisk properties |
Each VDisk is automatically exported via iSCSI. If you click on the "iSCSI" link in the
Virtual Disks menu you can configure CHAP authentication for the selected VDisk:
|
Configure iSCSI CHAP authentication |
Finally you can view several statistics counters for a VDisk if you click on the "Statistics" link in the
Virtual Disks menu:
|
VDisk statistics |
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 |
The "Supported" in the Hardware Acceleration column denotes that ESXi has detected and is using the VAAI extensions with the 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!