Kubernetesお勉強その4【環境構築】GlusterFSインストール(冗長分散ストレージ構築)
Kubernetesの環境構築自体はできたもののストレージをどうするか色々と調べていて、なんとなく分散ストレージで3台冗長構成で組んでみたくなりました。調べているとCepthとGlusterFSとか色々とあるらしいですが
お手軽に使用したいことからKubernetesを入れている仮想マシンにGlusterFSを入れることにしました(本当は分けたほうがいいんだろうけど、そのままストレージ使えたほうが楽かと思って同居させることにしました。)相変わらずのコピペっぷりでインストール、構築まで完了させ3台構成で無事にレプリカまでできました。
◆作業手順
# 1.追加パーテーションの作成
$ sudo fdisk /dev/sda
fdisk (util-linux 2.34) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。
GPT PMBR size mismatch (104857599 != 167772159) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.
コマンド (m でヘルプ): p
ディスク /dev/sda: 80 GiB, 85899345920 バイト, 167772160 セクタ
Disk model: Virtual Disk
~中略~
デバイス 開始位置 最後から セクタ サイズ タイプ
/dev/sda1 2048 1050623 1048576 512M EFI システム
/dev/sda2 1050624 3147775 2097152 1G Linux ファイルシステム
/dev/sda3 3147776 104855551 101707776 48.5G Linux ファイルシステム
コマンド (m でヘルプ): n
パーティション番号 (4-128, 既定値 4): 4
最初のセクタ (104855552-167772126, 既定値 104855552): 104855552
Last sector, +/-sectors or +/-size{K,M,G,T,P} (104855552-167772126, 既定値 167772126): 167772126
新しいパーティション 4 をタイプ Linux filesystem、サイズ 30 GiB で作成しました。
# 2.ラベル付与
$ sudo parted /dev/sda4
GNU Parted 3.3
/dev/sda4 を使用
~中略~
(parted) mklabel gpt
~中略~
できませんでした。おそらく、使用中だったのが原因だと思われます。そのため、古いパーティション情報がそのまま使われます。さらなる変更をする前に再起動してください。
無視(I)/Ignore/取消(C)/Cancel? I
# 3.パーテーション作成
(parted) mkpart
パーティションの名前? []? storage
ファイルシステムの種類? [ext2]? ext4
開始? 0%
終了? 100%
~中略~
できませんでした。おそらく、使用中だったのが原因だと思われます。そのため、古いパーティション情報がそのまま使われます。さらなる変更をする前に再起動してください。
無視(I)/Ignore/取消(C)/Cancel? I
(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。
# 4.ext4で一旦フォーマットして認識できていることを確認
$ sudo mkfs -t ext4 /dev/sda4
$ sudo mkdir /mnt/glusterfs
$ sudo mount -t ext4 /dev/sda4 /mnt/glusterfs
$ df -h
$ sudo umount /mnt/glusterfs
# 5.xfsで再フォーマット
$ sudo wipefs /dev/sda4 -a
$ sudo mkfs -t xfs /dev/sda4
$ sudo mkdir -p /glusterfs
$ sudo mount -t xfs /dev/sda4 /glusterfs
$ echo "# glusterfs" | sudo tee -a /etc/fstab
$ echo "/dev/sda4 /glusterfs xfs defaults 0 0" | sudo tee -a /etc/fstab
$ df -h
# 6.FireWall開放
$ sudo ufw allow from 192.168.0.0/24 to any port 111
$ sudo ufw allow from 192.168.0.0/24 to any port 2409
$ sudo ufw allow from 192.168.0.0/24 to any proto tcp port 24007:24020
$ sudo ufw allow from 192.168.0.0/24 to any proto tcp port 38465:38490
$ sudo ufw allow from 192.168.0.0/24 to any proto tcp port 49152:49199
$ sudo ufw status
# 7.GlusterFSインストール・起動
$ sudo apt -y install glusterfs-server
$ sudo systemctl start glusterd
$ sudo systemctl enable glusterd
$ sudo mkdir /glusterfs/kube-storage
# 8.ノード接続(1号機のみで実行)
$ sudo gluster peer status
$ sudo gluster peer probe kube-srv2
$ sudo gluster peer probe kube-srv3
$ sudo gluster peer status
# 9.冗長ボリューム設定(1号機のみで実行)
$ sudo gluster volume create vol_kube replica 3 transport tcp \
kube-cl-srv1:/glusterfs/kube-storage \
kube-srv2:/glusterfs/kube-storage \
kube-srv3:/glusterfs/kube-storage
# 10.ボリューム起動(1号機のみで実行)
$ sudo gluster volume start vol_kube
volume start: vol_kube: success
$ sudo gluster vol info
# 11.マウント設定(3台ともで設定)
$ echo "# glustervolume" | sudo tee -a /etc/fstab
$ echo "kube-cl1-srv:/vol_kube /mnt/kubestorage glusterfs defaults,_netdev,backupvolfile-server=kube-cl2-srv:kube-cl3-srv 1 2" | sudo tee -a /etc/fstab
$ sudo mount -a
◆参考サイト
・GlusterFS
https://nkhnd.hatenablog.jp/entry/2021/03/24/001012
https://qiita.com/Yuki-Inamoto/items/2ea1efe862aeba34019c
https://dev.classmethod.jp/articles/glusterfs-on-ec2/
https://sungup.github.io/2020/06/22/GlusterFS-on-Ubuntu.html
https://www.server-world.info/query?os=Ubuntu_18.04&p=glusterfs&f=6
https://www.nttpc.co.jp/technology/gluster_fs.html
https://blog.1q77.com/2017/05/building-ha-nfs-server-part1/
http://tech.farend.jp/blog/2015/01/24/glusterfs/
https://sononi.com/memo/2019/06/13/glusterfsusage/
https://qiita.com/kawaz/items/89ab0796735d0683b72a
https://web.chaperone.jp/w/index.php?GlusterFS
・仮想ディスク拡張(Hyper-V)
https://atmarkit.itmedia.co.jp/ait/articles/0909/18/news119.html
・パーテーション分割、フォーマット
https://qiita.com/r_saiki/items/894de9660607af22ab2e
https://atmarkit.itmedia.co.jp/ait/articles/1803/01/news034.html
https://qiita.com/centipede/items/ae181fcb76f549514918
コメント