このエントリでは SCSI Target 機能を持つ QUADstor を紹介します。

仮想環境の HomeLab で検証環境を作っては壊して、を繰り返すときに問題になるのは クローンに非常に時間がかかることです。SSD を使えば大分マシになりますが、一回で数十 GB を書き込むことになるので今度は寿命が気になってしまいます。

このクローンの短時間化と SSD の寿命の問題を解決するために、リンククローン、NexentaStor、NetApp ONTAP Edge/Simulator といった方法がありますが、どれも一長一短でした。ここで、実績と速度を度外視すれば決定版となりえるストレージを見つけました。大分歴史があるようで今更感もありますが、あまり日本語での紹介もないので、手順含めて紹介したいと思います。

Linked Clone は UI から操作出来ないことと、依存関係を見切りながら行う管理が非常にシビアになるので X。NetApp は Spec 最強な感じもしますが、仮想アプライアンス版は NVRAM が Disk になり、さらに CPU 負荷が常に 100% なので厳しいところがあります。重複排除がボリューム単位というのも痛いところ。そもそも有償ですしね。NexentaStor は VAAI-NAS Plugin が出てはいて進化を着実に遂げているのですが、巨大ファイルの作成・削除を繰り返す用途なので ZFS の Dedup は適していません。というよりガクブルです。EMC XtremIO が理想だったのですが、仮想アプライアンスが存在するかも不明なので使えるわけも無く…。と そこで QUADstor です。

QUADstor の特徴を以下に列挙します。

  • FC Target、iSCSI Target、NAS を提供するソフトウェア。
  • RHEL/CentOS、SLES、Debian、FreeBSD で動作
  • VAAI-Block ATS/Clone/Zero/Unmap に対応
  • Windows ODX に対応
  • ボリューム越えの重複排除対応
  • 圧縮対応 LZ4、LZF
  • Cluster/HA 対応
  • RAID による保護はなし (Linux: md、FreeBSD: ZVOL on ZFS で対応すべし、多くのユースケースでは外部ストレージで RAID を構成とのこと)
  • Made in India

Licensing をみるとベースは iSCSI Enterprise Target の模様。

インストール手順

CentOS 6.5 を Basic Server でインストール。ホスト名を入力するところでネットワーク情報も忘れずに入力しておくこと。

yum update -y
yum install httpd
yum install gcc
yum install perl
yum install kernel-devel
yum install sg3_utils

最初のアップデートは kernel と kernel-devel のバージョンを合わせるために行っています。
perl は CentOS 6.5 Basic Server ではインストール済み

vi /etc/httpd/conf/httpd.conf

ServerName を追加します。

chkconfig —add httpd
chkconfig —level 2345 httpd on
reboot

links www.quadstor.com/downloads.html

links で quadstor-core と quadstor-itf をダウンロードします。手元の PC でダウンロードして scp などでコピーしても良いと思います。

rpm -ivh quadstor-core-3.0.64-rhel6.x86_64.rpm
rpm -ivh quadstor-itf-3.0.64-rhel6.x86_64.rpm

reboot

依存関係があるので順序を守ること。itf のインストールで失敗する場合は、kernel と kernel-devel のバージョンが同じことを確認。ここまででインストール自体は完了です。http://{quadstore_host}/ にアクセスすると管理画面が出てきますので、次回以降に設定を見ていきたいと思います。SSD 256GB x 4、4vCPU、6GB RAM、重複排除、圧縮有り、という構成で今晩のところ Read Latency 3msec、Write Latency 10~15msec で順調に稼働中です。

修正履歴
2014-04-07 本家から RAID に関して補足を頂いたので反映

@m_ohisa Point about RAID. With external RAID arrays (the most common use we have seen) RAID at our level isn’t necessary
— QUADStor Systems (@quadstor) 2014, 4月 7