研究室のGitLabが動かなくなったため、解決した方法をメモしておきます。
※アイキャッチ画像のクレジット:GitLab.com / CC BY-NC-SA 4.0
はじめに
研究室でテスト運用中のGitLabが、昨日から動かなくなっていたため対応しました。解決した方法をメモしておきます。
原因は論理ボリューム(パーティション)の容量不足でした。論理ボリュームのサイズを変更したところ解決しました。
※ 私はサーバーなどに関しての素人なので、参考にする際は自己責任でお願いします。また間違いがあればご指摘いただけると助かります。
※ 使用しているGitLabなどのバージョンは下記の通りです。
種類 | バージョン |
---|---|
OS | CentOS 6.5 |
GitLab | GitLab 7.5.2 |
状態の確認
不具合の状況は、ブラウザからGitLabにアクセスしようとするとタイムアウトになっていた。
コマンドプロンプトからping
コマンドを実行すると応答があるので、サーバーにはアクセスできる状態
ping 「GitLabサーバーのIPアドレス」
Tera TermでGitLabのサーバーにアクセスしsu
コマンドでrootアカウントに切り替え
下記コマンドで再起動しても状況は変わらず
reboot
Tera TermでGitLabのサーバーにアクセスし、下記コマンドでGitLabの状態を確認したところ、postgresql(データベース)が停止していることを確認(再起動前に確認すべきだったかも)
gitlab-ctl status
データベースを弄る前にバックアップをファイルサーバーにコピーするため、WinSCPでGitLabサーバーにアクセスしたところ、最近のバックアップが正常に取れていないことを確認
下記コマンドでディスク容量を確認したところ、50GBのlv_rootの使用率が100%になっていた
df -h
lv_rootが50GB、lv_homeが852GBになっているので、次節の方法でlv_homeのサイズを減らし、lv_rootを増やしてみることに
論理ボリュームのサイズ変更方法
下記コマンドでGitLabのサービスを停止
gitlab-ctl stop
下記コマンドで/homeをアンマウント
umount /home
※一度「デバイスがビジーです」というメッセージが出てアンマウントできませんでしたが、前述したWinSCPで接続したままだったためでした。WinSCPを閉じたらアンマウントできました。
下記コマンドでファイルシステムチェック
fsck.ext4 -f /dev/mapper/vg_「サーバーの名前」-lv_home
下記コマンドで/homeファイルシステムのサイズを52GBに縮小
resize2fs /dev/mapper/vg_「サーバーの名前」-lv_home 52G
下記コマンドでlv_homeの論理ボリュームのサイズを52GBに縮小(途中でy
を入力してEnter)
lvreduce -L 52G /dev/mapper/vg_「サーバーの名前」t-lv_home
下記コマンドでマウント
mount -t ext4 /dev/mapper/vg_「サーバーの名前」-lv_home /home
下記コマンドで縮小していることを確認
df -Th
下記コマンドでlv_rootの論理ボリュームのサイズを850GBに拡大
lvextend -L 850G /dev/mapper/vg_「サーバーの名前」-lv_root
下記コマンドで/ファイルシステムのサイズを拡大(結構時間がかかりました)
resize2fs /dev/mapper/vg_「サーバーの名前」-lv_root
下記コマンドで拡大していることを確認
df -Th
下記コマンドでGitLabを起動したところ、ブラウザからアクセスすることができました
gitlab-ctl start
参考資料
- GitLabの操作について
- CentOSのボリュームの確認、設定について
おわりに
しっかりと勉強せずにサーバー構築すると、後から苦労しますね
今回まで「論理ボリュームってなに?」という状態でした (;´д`)ゞ