オンラインサービスとしてのVirt-manager

そのため、オフィスの外で仮想マシンを管理するツールが必要になりましたが、同時にLinuxマシンが常に手元にあるとは限りませんでした。 以前は、Puttyとコンソールユーティリティvirshを積極的に使用する必要がありましたが、仮想マシンを作成するほど管理するのは面倒でした。 最初は、アクションを最適化するためにbashスクリプトを作成しましたが、これは必ずしも便利ではありませんでした。



それから私は途中で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



All Articles