AmazonLinux2にするにあたり、コンテンツをEFSにしようと思ったけど、意外にEFSが遅かったので、GlusterFSも検討するためにAmazonLinux2上に構築してみた。
インストール方法(失敗)
何も考えずに yum でインストールしてみると・・・
gluster3.12 ・・・・・。
古い・・・・。
最新版の6系を入れたいので別の方法を検討。。。
インストール方法(真)
CentOSだとリポジトリがあるので以下のコマンドだけで入るけどAmazon Linux2 だと入れられない・・・・。
# yum install centos-release-gluster
# yum install glusterfs-server
というわけで・・・
AmazonLinux2ではソースをダウンロードし、make installを行う。
# cd /usr/local/src/
# wget https://download.gluster.org/pub/gluster/glusterfs/LATEST/glusterfs-6.1.tar.gz
# tar zxvf glusterfs-6.1.tar.gz
# cd glusterfs-6.1/
# yum install autoconf automake bison cmockery2-devel dos2unix flex fuse-devel glib2-devel libacl-devel libaio-devel libattr-devel libcurl-devel libibverbs-devel librdmacm-devel libtirpc-devel libtool libxml2-devel lvm2-devel make openssl-devel pkgconfig pyliblzma python-devel python-eventlet python-netifaces python-paste-deploy python-simplejson python-sphinx python-webob pyxattr readline-devel rpm-build sqlite-devel systemtap-sdt-devel tar userspace-rcu-devel
# ./autogen.sh
# ./configure --without-libtirpc
# make
# make install
# systemctl start glusterd
# systemctl enable glusterd
参考URL
https://docs.gluster.org/en/latest/Developer-guide/Building-GlusterFS/
なお、上記コマンドだけではglusterコマンドは使用できないので、PATHを通す必要がある。
/root/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/sbin:/usr/local/bin
export PATH
以降のbrickの作成や、gluster volume作成などのコマンドは既存(3.3.2)と同じ。
オマケ(gluster volumeの作成)
(1)Brick用の領域として、EBSを新規にアタッチし、以下のコマンドでフォーマットとmountを実施。
# mkdir /bricks
# mount /dev/xvdb /bricks
# echo '/dev/xvdb /bricks xfs defaults,noatime 1 1' >> /etc/fstab
(2)brick用のディレクトリを作成する。
(注意: /ディレクトリ直下は指定できない。)
# cd /bricks
# mkdir gvol01
````
==== 以下はGlusterFS1号機のみで実施。====
(3)GlusterFSクラスタの構築を行う。
gluster peer status
gluster peer probe <2号機のIP>
gluster peer status
(4)クラスタvolumeの作成と起動
gluster volume create glusterfs-vol replica 2 transport tcp <1号機のIP>:/bricks/gvol01 <2号機のIP>:/bricks/gvol01
gluster volume start glusterfs-vol
上記のコマンドを実行することで、GlusterFS1号機と2号機「/bricks/gvol01」というディレクトリをbrickとした「glusterfs-vol」が作成される。
(5)self heal設定を有効化する。
gluster volume set glusterfs-vol cluster.self-heal-daemon on
```
コメントを書く