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
コメント