開星雲。 短いメモ

開星雲。 短いメモ

こんにちは、みんな。 この蚘事は、「proxmox をむンストヌルしたしたが、䞀般的にはすべお問題なく、䞀床も䞭断するこずなく 6 幎間皌働しおいたす。」シリヌズの蚘事を読んだ埌、仮想化プラットフォヌムの遞択でただ迷っおいる人向けに曞かれたした。 しかし、すぐに䜿甚できる゜リュヌションをむンストヌルした埌、監芖をよりわかりやすくするために、たたバックアップを制埡するには、これをどのように修正すればよいのかずいう疑問が生じたす。 そしお、より機胜的なものが必芁であるこず、ブラック ボックスではなくシステム内のすべおを明らかにしたいこず、たたはハむパヌバむザヌず倚数の仮想マシン以䞊のものを䜿甚したいこずに気づく時が来たす。 この蚘事には、Opennebula プラットフォヌムに基づいたいく぀かの考えず実践が含たれおいたす。私がそれを遞んだ理由は次のずおりです。 リ゜ヌスを必芁ずせず、アヌキテクチャもそれほど耇雑ではありたせん。

したがっお、ご芧のずおり、倚くのクラりド プロバむダヌは kvm で動䜜し、マシンを制埡するために倖郚接続を確立したす。 倧芏暡なホスティング事業者がクラりド むンフラストラクチャ甚に独自のフレヌムワヌクを䜜成しおいるこずは明らかです。たずえば、同じ YANDEX です。 誰かが openstack を䜿甚し、これに基づいお接続を確立したす (SELECTEL、MAIL.RU)。 しかし、独自のハヌドりェアず少数の専門スタッフを持っおいる堎合は、通垞、VMWARE、HYPER-V などの既補のものを遞択したす。ラむセンスには無料ず有料がありたすが、それは今話しおいるこずではありたせん。 愛奜家に぀いお話したしょう。愛奜家ずは、䌚瀟が「あなたの埌は誰がこれにサヌビスを提䟛するのか」「埌でこれを実皌働環境に展開する぀もりですか」ず明確に瀺しおいるにもかかわらず、䜕か新しいこずを提案しお詊すこずを恐れない人々です。 ? 怖い。" ただし、これらの゜リュヌションをたずテストベンチに適甚し、党員が気に入った堎合は、さらなる開発の問題を提起し、より深刻な環境で䜿甚するこずができたす。

こちらもレポヌトぞのリンクです www.youtube.com/watch?v=47Mht_uoX3A このプラットフォヌムの開発に積極的に参加しおいる人からのコメントです。

おそらく、この蚘事では、経隓豊富な専門家にはすでに理解できる䜙分な内容が含たれる可胜性がありたす。たた、同様のコマンドず説明がむンタヌネット䞊で入手できるため、すべおを説明しない堎合もありたす。 これは、このプラットフォヌムでの私の経隓にすぎたせん。 積極的な参加者が、もっず良くできる点や私が犯した間違いなどをコメントに远加しおくれるこずを願っおいたす。 すべおのアクションは、異なる特性を持぀ 3 台の PC で構成されるホヌム スタンドで行われたした。 たた、この゜フトりェアがどのように動䜜するか、およびむンストヌル方法に぀いおは具䜓的には瀺したせんでした。 いいえ、管理経隓ず私が遭遇した問題のみです。 おそらく、これは誰かの遞択に圹立぀でしょう。

それでは、始めたしょう。 システム管理者ずしお、私にずっお次の点が重芁です。これらの点がなければ、この゜リュヌションを䜿甚するこずはできたせん。

1. 取り付けの再珟性

opennebula のむンストヌル手順はたくさんありたすが、問題はないはずです。 バヌゞョンが倉わるたびに、新しい機胜が登堎したすが、バヌゞョンが倉わるず必ずしも機胜するずは限りたせん。

2. 監芖

ノヌド自䜓、kvm、opennebula を監芖したす。 幞いなこずに、それはすでに準備ができおいたす。 Linux ホスト、同じ Zabbix たたはノヌド ゚クスポヌタの監芖には倚くのオプションがありたす - どちらが良いかは誰でも良いです - 珟時点では、私はこれを zabbix を介したシステム メトリクス (枬定可胜な枩床、ディスク アレむの䞀貫性) の監芖ず定矩しおいたす。 、および Prometheus ゚クスポヌタを介したアプリケヌションに぀いおも同様です。 たずえば、kvm モニタリングの堎合は、次のプロゞェクトを䜿甚できたす。 github.com/zhangjianweibj/prometheus-libvirt-exporter.git systemd経由で実行するように蚭定するず、非垞にうたく機胜し、kvmメトリクスが衚瀺されたす。既補のダッシュボヌドもありたす grafana.com/grafana/dashboards/12538.

たずえば、これが私のファむルです:

/etc/systemd/system/libvirtd_exporter.service
[Unit]
Description=Node Exporter

[Service]
User=node_exporter
ExecStart=/usr/sbin/prometheus-libvirt-exporter --web.listen-address=":9101"

[Install]
WantedBy=multi-user.target

したがっお、゚クスポヌタヌが 1 ぀あり、opennebula 自䜓を監芖するために XNUMX 番目の゚クスポヌタヌが必芁です。私はこれを䜿甚したした github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

通垞に远加可胜 ノヌド゚クスポヌタヌ 以䞋のシステムを監芖したす。

node_exporter ファむルで、開始を次のように倉曎したす。

ExecStart=/usr/sbin/node_exporter --web.listen-address=":9102" --collector.textfile.directory=/var/lib/opennebula_exporter/textfile_collector

ディレクトリを䜜成したす mkdir -p /var/lib/opennebula_exporter

䞊蚘の bash スクリプトでは、たずコン゜ヌルで動䜜を確認し、必芁なものが衚瀺されおいれば (゚ラヌが発生した堎合は xmlstarlet をむンストヌルしおください)、それを /usr/local/bin/opennebula_exporter.sh にコピヌしたす。

XNUMX 分ごずに cron タスクを远加したす。

*/1 * * * * (/usr/local/bin/opennebula_exporter.sh > /var/lib/opennebula_exporter/textfile_collector/opennebula.prom)

メトリクスが衚瀺され始め、プロメテりスのようにメトリクスを取埗しおグラフを䜜成し、アラヌトを䜜成できたす。 Grafana では、たずえば、このような単玔なダッシュボヌドを描画できたす。

開星雲。 短いメモ

(ここで CPU ず RAM をオヌバヌコミットしおいるこずは明らかです)

Zabbix を愛し、䜿甚しおいる人のために、 github.com/OpenNebula/addon-zabbix

モニタリングに関する限り、重芁なこずはそれがそこにあるずいうこずです。 もちろん、さらに、組み蟌みの仮想マシン監芖ツヌルを䜿甚しお、請求曞にデヌタをアップロヌドするこずもできたす。ここでは、誰もが独自のビゞョンを持っおいたすが、私はただこれに぀いお詳しく取り組み始めおいたせん。

ただ実際にログを蚘録し始めおいたせん。 最も簡単なオプションは、正芏衚珟を䜿甚しお /var/lib/one ディレクトリを解析するために td-agent を远加するこずです。 たずえば、sunstone.log ファむルは、nginx 正芏衚珟や、プラットフォヌムぞのアクセス履歎を瀺すその他のファむルず䞀臎したす。これにはどのような利点があるのでしょうか? たずえば、「゚ラヌ、゚ラヌ」の数を明瀺的に远跡し、どこにどのレベルの䞍具合があるかをすぐに远跡できたす。

3. バックアップ

有料の完了枈みプロゞェクトもありたす - たずえば XNUMX 月 wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup。 この堎合、単にマシン むメヌゞをバックアップするこずは党く同じではないこずを理解する必芁がありたす。仮想マシンは完党な統合 (ネットワヌク蚭定、VM 名、アプリケヌションのカスタム蚭定を蚘述する同じコンテキスト ファむル) で動䜜する必芁があるためです。 。 したがっお、ここで䜕をどのようにバックアップするかを決定したす。 堎合によっおは、VM 自䜓にあるもののコピヌを䜜成した方がよい堎合がありたす。 そしおおそらく、特定のマシンから XNUMX ぀のディスクをバックアップするだけで枈みたす。

たずえば、すべおのマシンは氞続的なむメヌゞで開始されるため、読み取り埌に docs.opennebula.io/5.12/operation/vm_management/img_guide.html

これは、たず VM から画像をアップロヌドできるこずを意味したす。

onevm disk-saveas 74 3 prom.qcow2
Image ID: 77

СЌПтрОЌ, пПЎ какОЌ ОЌеМеЌ ПМ сПхраМОлся

oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
   
И Ўалее кПпОруеЌ куЎа МаЌ МеПбхПЎОЌП. КПМечМП, так себе спПсПб. ПрПстП хПтел пПказать, чтП ОспПльзуя ОМструЌеМты opennebula ЌПжМП стрПОть пПЎПбМые решеМОя.

私もむンタヌネットで芋぀けたした 興味深いレポヌト さらにありたす このようなオヌプンなプロゞェクト, しかし、qcow2甚のストレヌゞしかありたせん。

しかし、誰もが知っおいるように、遅かれ早かれ増分バックアップが必芁になるずきが来たす。ここではそれがより難しくなり、おそらく経営者は有料゜リュヌションに資金を割り圓おるか、あるいは、ここではリ゜ヌスを削枛しおいるだけであるこずを理解しお別の方向に進むでしょう。アプリケヌション レベルでバックアップを䜜成し、倚数の新しいノヌドず仮想マシンを远加したす。はい、ここでは、玔粋にアプリケヌション クラスタヌを起動するためにクラりドを䜿甚し、デヌタベヌスを別のプラットフォヌムで起動するか、既成のプラットフォヌムを䜿甚するず蚀っおいたす。可胜であればサプラむダヌから。

4.䜿いやすさ

この段萜では、私が遭遇した問題に぀いお説明したす。 たずえば、むメヌゞによれば、ご存知のずおり、氞続的なものがありたす。このむメヌゞが VM にマりントされるず、すべおのデヌタがこのむメヌゞに曞き蟌たれたす。 非氞続的な堎合、むメヌゞはストレヌゞにコピヌされ、デヌタは゜ヌス むメヌゞからコピヌされたものに曞き蟌たれたす。これがテンプレヌト テンプレヌトの仕組みです。 私は、persistent を指定するのを忘れお 200 GB のむメヌゞがコピヌされおしたい、䜕床も問題を匕き起こしたした。問題は、この手順は確実にキャンセルできないこずです。ノヌドに移動しお珟圚の「cp」プロセスを匷制終了する必芁がありたす。

重芁な欠点の 2 ぀は、GUI を䜿甚するだけではアクションをキャンセルできないこずです。 ずいうか、それらをキャンセルしお䜕も起こらないこずを確認し、再床開始しおキャンセルするず、実際にはむメヌゞをコピヌする cp プロセスがすでに XNUMX ぀存圚したす。

そしお、opennebula が各新しいむンスタンスに新しい ID で番号を付ける理由を理解するようになりたす。たずえば、同じ proxmox で ID 101 の VM を䜜成し、それを削陀し、その埌、ID 101 で VM を再床䜜成したす。opennebula では、これは起こりたせん。新しいむンスタンスはそれぞれ新しい ID で䜜成され、これには独自のロゞック (叀いデヌタの消去やむンストヌルの倱敗など) がありたす。

ストレヌゞに぀いおも同様であり、䜕よりもこのプラットフォヌムは集䞭ストレヌゞを目的ずしおいたす。 ロヌカルを䜿甚するためのアドオンもありたすが、この堎合はそれに぀いお話しおいるのではありたせん。 将来的には、ノヌド䞊でロヌカル ストレヌゞをどのように䜿甚し、実皌働環境で正垞に䜿甚したかに぀いお誰かが蚘事を曞くこずになるず思いたす。

5. 最倧限のシンプルさ

もちろん、先に進めば進むほど、理解しおくれる人は少なくなりたす。

私のスタンドの条件 (NFS ストレヌゞを備えた 3 ノヌド) では、すべおが正垞に動䜜したす。 しかし、停電を䌎う実隓を行う堎合、たずえば、スナップショットを実行しおノヌドの電源をオフにする堎合、デヌタベヌスにはスナップショットがあるずいう蚭定が保存されたすが、実際にはスナップショットはありたせん (たあ、誰もが理解しおいるこずですが)。最初にこのアクションに関するデヌタベヌスを sql で曞き蟌みたしたが、操䜜自䜓は成功したせんでした)。 利点は、スナップショットを䜜成するずきに別のファむルが圢成され、「芪」が存圚するため、問題が発生した堎合や GUI で機胜しない堎合でも、qcow2 ファむルを遞択しお個別に埩元できるこずです。 docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

残念ながら、ネットワヌクではすべおがそれほど単玔ではありたせん。 そうですね、少なくずも openstack よりは簡単です。私は vlan (802.1Q) のみを䜿甚したした。これは非垞にうたく機胜したすが、テンプレヌト ネットワヌクから蚭定を倉曎した堎合、これらの蚭定はすでに実行䞭のマシンには適甚されたせん。ネットワヌク カヌドを削陀しお远加する必芁がある堎合、新しい蚭定が適甚されたす。

それでも openstack ず比范したい堎合は、次のように蚀えたす。opennebula には、デヌタの保存、ネットワヌク、リ゜ヌスの管理にどのテクノロゞヌを䜿甚するかに぀いお明確な定矩はありたせん。各管理者は、自分にずっお䜕がより䟿利かを自分で決定したす。

6. 远加のプラグむンずむンストヌル

結局のずころ、私たちが理解しおいるように、クラりド プラットフォヌムは kvm だけでなく vmware esxi も管理できたす。 残念ながら、私には Vcenter のプヌルがありたせんでした。詊したこずがある人がいたら、曞いおください。

他のクラりドプロバむダヌのサポヌトが蚘茉されおいたす docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS、アズヌル。

たた、Selectel から Vmware Cloud に接続しようずしたしたが、䜕も機胜したせんでした。䞀般に、倚くの芁因があり、ホスティング プロバむダヌのテクニカル サポヌトに問い合わせる意味がないためブロックされたした。

たた、新しいバヌゞョンには Firecracker が远加されたした。これは、docker 䞊の kvm ハヌネスの䞀皮である microvm のリリヌスであり、゚ミュレヌト機噚にリ゜ヌスを浪費する必芁がないため、さらに高い汎甚性、セキュリティ、生産性の向䞊が埗られたす。 Docker ず比べお私が考える唯䞀の利点は、この゚ミュレヌションを䜿甚するずきに远加のプロセス数を消費しないこずず、゜ケットが占有されないこずです。 これをロヌド バランサヌずしお䜿甚するこずはかなり可胜です (ただし、すべおのテストを完党に実行するたでは、これに぀いお別の蚘事を曞く䟡倀はあるでしょう)。

7. 䜿甚ず゚ラヌのデバッグに関する肯定的な経隓

この䜜品に぀いおの私の芳察を共有したいず思い、䞊でその䞀郚を説明したしたが、さらに曞きたいず思いたす。 確かに、これは適切なシステムではなく、䞀般的にここにあるものはすべお束葉杖であるず最初に考えるのはおそらく私だけではありたせん。圌らはこれをどのように操䜜するのでしょうか? しかしその埌、すべおが非垞に論理的であるこずが理解されたす。 もちろん、すべおの人を満足させるこずはできず、改善が必芁な偎面もありたす。

たずえば、あるデヌタストアから別のデヌタストアにディスク むメヌゞをコピヌするずいう単玔な操䜜です。 私の堎合、nfs を備えたノヌドが 2 ぀あり、むメヌゞを送信したす。コピヌはフロント゚ンドの opennebula を通じお行われたすが、デヌタはホスト間で盎接コピヌされるこずに慣れおいたすが、同じ vmware、hyper-v 内にありたす。これには慣れおいたすが、ここでは別のこずにしたす。 異なるアプロヌチず異なるむデオロギヌがあり、バヌゞョン 5.12 では「デヌタストアに移行」ボタンが削陀されたした。マシン自䜓のみが転送され、ストレヌゞは転送されたせん。 集䞭ストレヌゞを意味したす。

次に、さたざたな理由でよくある゚ラヌです。「仮想マシンのデプロむ䞭に゚ラヌが発生したした: /var/lib/one//datastores/103/10/deployment.5 からドメむンを䜜成できたせんでした」 以䞋は最も泚目すべき事項です。

  • oneadmin ナヌザヌの肖像暩。
  • oneadmin ナヌザヌが libvirtd を実行するための暩限。
  • デヌタストアは正しくマりントされおいたすか? ノヌド自䜓のパスを確認しおください。おそらく䜕かが萜ちおいる可胜性がありたす。
  • ネットワヌクが正しく構成されおいたせん。フロント゚ンドではネットワヌク蚭定で VLAN のメむン むンタヌフェむスが br0 になっおいたすが、ノヌドでは Bridge0 ずしお曞き蟌たれおいたす。これは同じである必芁がありたす。

システム デヌタストアには VM のメタデヌタが保存されたす。氞続むメヌゞを䜿甚しお VM を実行する堎合、VM は、VM を䜜成したストレヌゞ䞊に最初に䜜成された構成にアクセスできる必芁がありたす。これは非垞に重芁です。 したがっお、VM を別のデヌタストアに転送する堎合は、すべおを再確認する必芁がありたす。

8. ドキュメント、コミュニティ。 さらなる発展

残りは、優れたドキュメント、コミュニティ、そしお重芁なこずは、プロゞェクトが将来も存続し続けるこずです。

䞀般に、すべおが十分に文曞化されおおり、公匏゜ヌスを䜿甚しおも、むンストヌルしお質問ぞの回答を芋぀けるのは問題ありたせん。

コミュニティ、掻発です。 むンストヌルで䜿甚できる既補の゜リュヌションを倚数公開しおいたす。

珟時点では、5.12 以降、瀟内のいく぀かのポリシヌが倉曎されたした。 forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 プロゞェクトがどのように発展するかを芋るのは興味深いでしょう。 冒頭で、その゜リュヌションを䜿甚するいく぀かのベンダヌず、業界が提䟛するものを具䜓的に指摘したした。 もちろん、䜕を䜿甚するかに぀いお明確な答えはありたせん。 しかし、小芏暡な組織の堎合、小芏暡なプラむベヌト クラりドの維持は思ったほど高䟡ではないかもしれたせん。 重芁なこずは、䜕が必芁かを正確に知るこずです。

したがっお、クラりド システムずしお䜕を遞択する堎合でも、XNUMX ぀の補品にずどたるべきではありたせん。 時間があれば、他のよりオヌプンな゜リュヌションを怜蚎しおみる䟡倀がありたす。

良い雑談がありたす t.me/オヌプンネビュラ 圌らは積極的に支揎し、問題の解決策を Google で怜玢するように誘導したせん。 参加したせんか。

出所 habr.com

コメントを远加したす