それから私は途中でPythonを学び始め、bashでスクリプト化されたものはすべてPythonに翻訳し始めました。 そして、アイデアは、オフィス内の仮想マシンを管理するためのWebインターフェースを作成すること、そして個人的な目的のために回転するものを作成することを思いつきました。 個人的なニーズが対処されていたため、当初はWebサーバー上にそのようなものを隠すことが計画されていたため、考えの中でさえ一般の人の話はありませんでした。 しかし、タスクに関する2週間の集中的な作業の後、大きなWebプロジェクトがほとんど作成されなかったときに、友人がすべてをパブリックドメインに配置することを提案しました。
プロジェクト
WebVirtMgrは、集中型の仮想マシン管理サービスです。 使用される主なテクノロジーは次のとおりです。KVMハイパーバイザーおよびlibvirt仮想化管理ライブラリ。 仮想マシンの作成、インストール、バックアップ、構成、および起動は、学習しやすいWebインターフェイスとして実装されます。 仮想マシンの画面転送をブラウザウィンドウに整理するには、SSHトンネルを介してVNCクライアントを使用します。
技術
すべてのロジックは、Djangoフレームワークを使用してPythonで記述されています。 Pythonは、Libvirtライブラリを使用してハイパーバイザーと対話します。 デフォルトのハイパーバイザーはKVMです。
どのように設定されていますか
動作するには、Linux OSディストリビューションがインストールされたサーバーが必要です。 確かに、libvirtの一部の機能は、RedHatファミリーのディストリビューションとは異なり、Debian \ Ubuntuではサポートされていません。つまり、ネットワークインターフェイスで動作します。 これはブリッジ(br0)の影響を受けませんが、コンソールを構成して、コンソールを介して仮想マシンのネットワークインターフェイスをフラッシュできます。 以下は、CentOS 6.2の構成方法の例であり、Ubuntuの構成方法はこのリンクにあります。
まず最初に、KVMおよびlibvirtパッケージをインストールします。
#yum -y kvm libvirtをインストール
ファイル/ etc / sysconfig / libvirtdの次の行のコメントを解除します。
#TCP / IP接続をリッスンする #NB。 これを使用する前にTLS / SSLキーをセットアップする必要があります LIBVIRTD_ARGS = "-リッスン"
ファイル/etc/libvirt/libvirtd.confで次の行のコメントを解除します。
listen_tls = 0 listen_tcp = 1
libvirtdデーモンを実行します。
#サービスlibvirtd start
仮想マシンを管理するユーザーを作成します。fredユーザー名:
#saslpasswd2 -a libvirt fred パスワード:xxxxxx 再度(検証用):xxxxxx
仮想マシンを外部に見せたい場合は、ネットワークインターフェイスのブリッジをセットアップする手順を参照してください 。
次に、 サイト自体にアクセスし、登録し、登録を確認し、ログインします。
仮想化サーバーをWebVirtMgrサービスに追加する前に、iptables設定(Ubuntu-ufw)を確認し、コンソールからハイパーバイザーへのテスト接続を作成します。
#virsh -c qemu + tcp:// your_server_IP / system nodeinfo 認証名を入力してください:fred パスワードを入力してください:xxxxxx CPUモデル:x86_64 CPU(秒):2 CPU周波数:2611 MHz CPUソケット:1 ソケットあたりのコア:2 コアあたりのスレッド:1 NUMAセル(s):1 メモリサイズ:2019260 kB
エラーは表示されなかったが、システムに関する情報は表示された場合、お気軽に仮想化サーバーをサービスに追加して仮想マシンを管理してください。
おわりに
プロジェクトを書くとき、私はDjangoとPythonを実際に使ってみました。 起こったことが私のほかの誰かに利益をもたらすことを願っています。これが本当なら、私はとても喜んでいます。 気に入らなくても、取り組むべきことがあります。 提案や推奨事項、または質問がある場合は、大歓迎です。
PS:サーバーにインストールするPanel WebVirtMgr 。