当研究室で使用しているシステムの紹介.10~50名程度の小規模グループ用に構築.
gatewayを境に外部/内部ネットワークを分割.
サーバのうちデータを扱うhomeとsamba,それらのデータと他のサーバのデータのバックアップを扱うものは独立のPC.
ほとんどのサーバはXCP-ng上にVMsとして稼働.Dockerも考えたけれど,ハードウェアが壊れたときの復旧の速さを考慮して選択.Dockerを触ってみたくなり勉強,使用開始.XCP-ng上のVMで利用しつつ,ハードウェアに余裕が出来ればそちらに展開.
複数台のXCP-ngを稼働してVMごとコピーして分散保存しておけば,XCP-ngが壊れてもすぐ復旧可.
ユーザが使用しているPCはUbuntu Desktopであり,LTSPによるFat clientとして稼働.
個別にインストールするのではなく,LTSPサーバで一括管理,LTSPサーバからPXEを利用して各個人のPCにダウンロード・実行.
方針
あまり設定・保有データが変わらないものはXCP-ng,そうでないものはDocker.
XCP-ngは複数台稼働しており,バックアップとしてVMごと他のマシンにコピーしている.よって何かあった時にバックアップのVMを起動させれば最短で復旧できる.
一方,データ変更の頻度が高い場合,VMでのバックアップは効率が悪い.どのみちバックアップサーバにデータをバックアップしているのでDockerfileによってシステムを復旧,バックアップサーバからデータも復旧,の方が効率良さそう.
何事にも例外はあるけれど(cups, gitlabなど).
個々のシステム
- php-fpm on Docker
-
Apache2
- php-fpm + http2可
- PostgreSQL on Docker
- Nextcloud
- cupsサーバ on Docker
- Ubuntu 22.04/20.04 LTS上でのLTSPサーバ構築 : fat / thin clientの管理
細々
段階ごとの説明
- Apache2
- 基本: Apache2 on Docker
- php-fpm使用してパフォーマンスアップ: Apache2 on Docker + php-fpm on Docker
- 更にhttp2可: apache2(http2) on Docker
- 最終形
- Nextcloud