法政大学理工学部創生科学科 小林一行研究室では、これまでKVM(Kernel-based Virtual Machine)上に複数の仮想サーバを構築し、php、Apache、nginx、Tomcat、Bind、Postfix、Dovecot、MySQL、MariaDB などを用いたモノリシック型サーバ環境での運用を行ってきました。しかし、各ソフトウェアに対するセキュリティ対応に伴うバージョンアップでは、サービスアプリケーションのバージョン依存関係の考慮など、保守作業が次第に煩雑化・複雑化してきたため、Dockerによるマイクロサービス構成への移行を進めました。現在では、複数サービスのオーケストレーションを伴うDocker環境を構築し、安定した運用を実現しています。
KVMサーバの用途により構成は若干異なりますが、標準的な構成として、各KVMホスト上にDockerコンテナを展開し、以下のサービスを提供しています。
基本サービス
-
DNS/Reverse Proxy:Traefik proxy + Bind + Let's Encrypt + OpenDKIM
-
メールサーバ:Mailcow
-
メーリングリスト:Mailman3
-
Webサーバ: Apache httpd
加えて、以下のDockerコンテナを作り、KVMサーバの用途に応じて運用中です:
-
ファイル共有:Nextcloud
-
全文検索: Elasticsearch(Nextcloud用)
-
Office互換環境: Collabora(Nextcloud用)
-
Git/Dockerリポジトリ:Forgejo
-
Webメール : SnappyMail
-
グループウェア: Gsession
-
Webサイト管理:Joomla
-
軽量LLM環境: Ollama
-
対話WebUI: WebUI(Ollama用)
-
画像生成AI: Automatic1111(Stable Diffusion)
-
TeX環境: Overleaf-toolkit
また、複数のKVMホストの統合的な死活監視には、Dockerコンテナ版のZabbixを利用し安定運用を行っています。
xen準仮想化イメージファイルをkvm 完全仮想化イメージファイルに変換するには?
法政大学理工学部創生科学科小林一行研究室では,今まで,CentOS5.6上でxenを使って動かしていたのですが,サーバの故障による更新に伴い,
この際,Scientific Linux 6.1に移行することにしました.
このドキュメントでは,http://fedorasrv.com/xen.shtmlに掲載されているxenで構築された仮想サーバのイメージファイルをkvmイメージファイルへ
変換できたのでその手順を公開します.
XEN server(CentOS5.6) |
KVM server(Scientific Linux6.1) |
xen client(CentOS5.6)→ |
kvm client(CentOS5.6) |
xenとkvmサーバは両立しないようなので,ここでは,2台のサーバで行います.1台は,xen server,もう1台は,kvm server です.ちなみに,kvm serverは,xen serverと同じになるようにbridge設定にしておきます.
まず,xen client側の設定です.
[xen client:]yum install kernel grub |
多分,インストールされるのはkernelだけだと思います.新規にkvm serverにインストールするものと使うためカーネルのバージョンを合わせる必要があります.
まず,CentOS4.3をインストールする前に,用語について説明する。
- CentOS
CentOSという呼び名は,Community Enterprise Operating System から来ており,
コミュニティベースで開発された,エンタープライズ・クラスのオペレーティングシステム(OS)である。
同様のプロジェクトとしてWhite Box Enterprise Linux, Scientific Linux などがあるが
これらはすべて北アメリカの某有名な Enterprise Linuxベンダーより無償公開されたソースコードから
商標関連を取り除き再コンパイルされた,ディストリビューションである。このディストリビューションは,ビジネス向けに利用されているLinuxのディストリビューションの
デファクトスタンダードとなっており,CentOSの使い方を覚えることで,それらの操作も可能となる。
- LAMP
LAMPとは,Linux,Apache,MySQL,PHPの略で,これらは,すべてオープンソースのソフトウェアであり,
それぞれOS(オペレーティングシステム),WWWサーバ,データベース,プログラム言語の一つである。
これらは,オープンソース,すなわちソースプログラムが公開されており,基本的には誰でも自由に可能である。ここでは,LAMPを用いて,ネームサーバ,メールサーバ,Webサーバ,ftpサーバの構築を行っていく。
- VMWare Player
VMWare社が公開したVMWare Playerは,VMWareのフリーウェア版である。
VMWare Playerさえあれば,好きなOSをインストールしたエミュレーション環境が手に入る。。
既存のVirtual machineを利用する事で,任意のOSをインストールした環境を構築することができる。