オープンソースのストレージ管理ソフト、OpenATTICを触ってみる

![welcome.png](https://qiita-image-store.s3.amazonaws.com/0/142968/6a30d643-35d0-dbcb-6748-a9ee46625dfa.png)

##openATTICとは？
現時点(2016年10月)ではOpenATTICの日本語情報はほぼないので、簡単な紹介をしたいと思います。
~~openATTICは、ドイツのit-novum社が開発しているオープンソースソフトウェアです。~~(2017年10月註:OpenATTIC部門は2016年11月に独SUSEに買収され、OpenATTICはSUSE Enterprise Storage 5に含まれるようになりました。※OpenATTICはオープンソースのままです。)
GPL2ライセンスに基づきフリーで使用することができます。類似製品にはNexentaやNetApp製品などがありますが、openATTICはこれらを代替することができます。
ハードウェアリソースの管理や論理ストレージエリアの共有・分散が行え、効率的なデータ利用を安価に行うことが可能になり、個別にストレージ管理をする煩雑さから開放されます。

主な機能は
・**SDS**。必要な時に必要なディスクをストレージプールから作成。ZFSを使用して重複排除も可能。モニタリング機能もあります。
・**クラウドストレージ**。ストレージプールとなるディスク群をDRBDで冗長化することで単一障害点を回避。また、Cephに対応しスケーラブルな拡張が可能。
・**ユニファイドストレージ**。プールから作成したディスクのNFS、CIFD、iSCSI接続を提供。ESXやOpenStackへのFC接続も。
これらを全てGUIで操作可能です。REST APIにも対応しています。

SDSソリューションの選択肢、または単に**CephのGUI**としてもチェックしてみてはいかがでしょうか。
[openATTICのサイト](http://openattic.org/home.html)（GUIのデモあり）

※ただし現時点ではOpenATTIC2.x系は開発ステータスで、安定版はまだ出ていません。
安定版では多ノードレプリケーションが可能でCephより高速なDRBD9にも対応する予定です。


さて、上記のようにopenATTICを説明しつつも、私もopenATTICを触るのは初めてです。まずはインストールしてみました。
##openATTICのインストール手順
本記事では、openATTICのインストールからGUIでのボリューム作成までをご紹介します。
ホストマシンはCentOS7.2に3GBのディスクを3本アタッチした構成です

###ストレージプールの作成
今回はZFSではなくてLVMで作ります。
PVを作って、1つのVGにまとめます。

```
# pvcreate /dev/vdb
# pvcreate /dev/vdc
# pvcreate /dev/vde
# vgcreate oavg /dev/vdb /dev/vdc /dev/vdd
```
###centosシステム用の論理ボリュームにはsysのタグを付けて、openATTICがストレージプールとして使わないようにしておく。

```
# vgchange --addtag sys centos
```

###SE Linuxを無効にする。
```
# setenforce 0
```

###yumレポジトリのインストール

```
# yum install epel-release
# yum install http://repo.openattic.org/rpm/openattic-2.x-el7-x86_64/openattic-release.rpm
```
また、nightly RPM buildsを有効にしておきます。
/etc/yum.repos.d/openattic.repoを開いて[openattic-nightly] のenabledを1にします。

###パッケージインストール
```
# yum install openattic
# yum install openattic-gui
```
###pnp4nagiosの編集
openATTICのグラフ表示に必要な部分です。
/etc/nagios/nagios.cfgに以下を追加

```
#
# Bulk / NPCD mode
#

# *** the template definition differs from the one in the original nagios.cfg
#
service_perfdata_file=/var/log/pnp4nagios/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file

# *** the template definition differs from the one in the original nagios.cfg
#
host_perfdata_file=/var/log/pnp4nagios/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
```

/etc/nagios/objects/commands.cfgに以下を追加

```
#
# definitions for PNP processing commands
# Bulk with NPCD mode
#
define command {
command_name process-service-perfdata-file
command_line /bin/mv /var/log/pnp4nagios/service-perfdata /var/spool/pnp4nagios/service-perfdata.$TIMET$
}

define command {
command_name process-host-perfdata-file
command_line /bin/mv /var/log/pnp4nagios/host-perfdata /var/spool/pnp4nagios/host-perfdata.$TIMET$
}
```
##openATTICの設定を構成する
```
# oaconfig install
```

##デフォルトパスワードの変更
```
# oaconfig changepassword openattic
Changing password for user 'openattic'
Password: <enter password>
Password (again): <re-enter password>
Password changed successfully for user 'openattic'
```

##Web GUIにアクセス
webブラウザで、「http://<IPアドレスまたはドメイン名>/openattic」にアクセス
![openattic_login.v01.png](https://qiita-image-store.s3.amazonaws.com/0/142968/fc68e248-08e4-c906-b4f5-2cc29633ca8d.png)

先程変更したパスワードでログインします。
![dashboard.png](https://qiita-image-store.s3.amazonaws.com/0/142968/8b7f460a-9122-088b-c81c-a8e216cf0504.png)

##ボリューム作成
ボリュームのタブからadd
![add-volume.png](https://qiita-image-store.s3.amazonaws.com/0/142968/0384013b-c94c-9208-1f82-409bcab4b028.png)

ボリューム名などを入力
![volume-creation.png](https://qiita-image-store.s3.amazonaws.com/0/142968/9d3ce407-d3c5-e38b-70a5-b326a86abb84.png)

ボリュームができました。
![volume-created.png](https://qiita-image-store.s3.amazonaws.com/0/142968/9533671d-bd6f-8e27-e44a-0e5c47f03da2.png)

マシン側でデバイスを確認してみると・・・

```
[root@oa ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom 
vda 252:0 0 15G 0 disk 
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 14.5G 0 part 
├─centos-root 253:0 0 13G 0 lvm /
└─centos-swap 253:1 0 1.5G 0 lvm [SWAP]
vdb 252:16 0 3G 0 disk 
└─oavg-test--volume 253:2 0 3G 0 lvm /media/test-volume
vdc 252:32 0 3G 0 disk 
└─oavg-test--volume 253:2 0 3G 0 lvm /media/test-volume
vdd 252:48 0 3G 0 disk
```



以上、サワリだけでしたが、OpenATTICの紹介でした。
CephやDRBDモジュールの使用、その他の機能の使用などは、また今度！