Opennebula. Nota ringkas

Opennebula. Nota ringkas

Hai semua. Artikel ini ditulis untuk mereka yang masih bingung antara memilih platform virtualisasi dan selepas membaca artikel dari siri "Kami memasang proxmox dan secara umum semuanya baik-baik saja, 6 tahun masa beroperasi tanpa rehat." Tetapi selepas memasang satu atau satu lagi penyelesaian di luar kotak, persoalan timbul: bagaimana saya boleh membetulkannya di sini, supaya pemantauan lebih mudah difahami, dan di sini, untuk mengawal sandaran…. Dan kemudian tiba masanya dan anda menyedari bahawa anda mahukan sesuatu yang lebih berfungsi, atau anda mahu segala-galanya di dalam sistem anda menjadi jelas, dan bukan kotak hitam ini, atau anda mahu menggunakan sesuatu yang lebih daripada hypervisor dan sekumpulan mesin maya. Artikel ini akan mengandungi beberapa pemikiran dan amalan berdasarkan platform Opennebula - Saya memilihnya kerana. ia tidak menuntut sumber dan seni binanya tidak begitu kompleks.

Oleh itu, seperti yang kita lihat, banyak penyedia awan bekerja pada kvm dan membuat sambungan luaran untuk mengawal mesin. Jelas sekali bahawa hoster besar menulis rangka kerja mereka sendiri untuk infrastruktur awan, contohnya YANDEX yang sama. Seseorang menggunakan openstack dan membuat sambungan atas dasar ini - SELECTEL, MAIL.RU. Tetapi jika anda mempunyai perkakasan anda sendiri dan kakitangan pakar yang kecil, maka anda biasanya memilih sesuatu yang sudah siap - VMWARE, HYPER-V, terdapat lesen percuma dan berbayar, tetapi bukan itu yang kita bincangkan sekarang. Mari kita bercakap tentang peminat - mereka adalah mereka yang tidak takut untuk menawarkan dan mencuba sesuatu yang baru, walaupun syarikat itu dengan jelas menyatakan dengan jelas, "Siapa yang akan menyediakan perkhidmatan ini selepas anda," "Adakah kami akan melancarkan ini ke dalam pengeluaran nanti ? Menakutkan." Tetapi anda boleh terlebih dahulu menggunakan penyelesaian ini dalam bangku ujian, dan jika semua orang menyukainya, maka anda boleh membangkitkan persoalan pembangunan dan penggunaan selanjutnya dalam persekitaran yang lebih serius.

Juga di sini adalah pautan kepada laporan itu www.youtube.com/watch?v=47Mht_uoX3A daripada peserta aktif dalam pembangunan platform ini.

Mungkin dalam artikel ini sesuatu akan berlebihan dan sudah dapat difahami oleh pakar yang berpengalaman, dan dalam beberapa kes saya tidak akan menerangkan segala-galanya kerana arahan dan penerangan yang serupa tersedia di Internet. Ini hanya pengalaman saya dengan platform ini. Saya berharap peserta aktif akan menambah dalam komen apa yang boleh dilakukan dengan lebih baik dan apakah kesilapan yang saya lakukan. Semua tindakan berlaku dalam pendirian rumah yang terdiri daripada 3 PC dengan ciri yang berbeza. Selain itu, saya secara khusus tidak menunjukkan cara perisian ini berfungsi dan cara memasangnya. Tidak, hanya pengalaman pentadbiran dan masalah yang saya hadapi. Mungkin ini berguna kepada seseorang dalam pilihan mereka.

Jadi, mari kita mulakan. Sebagai pentadbir sistem, perkara berikut adalah penting kepada saya, tanpanya saya tidak mungkin menggunakan penyelesaian ini.

1. Kebolehulangan pemasangan

Terdapat banyak arahan untuk memasang opennebula, sepatutnya tidak ada masalah. Dari versi ke versi, ciri baharu muncul yang tidak akan sentiasa berfungsi apabila beralih dari versi ke versi.

2. Pemantauan

Kami akan memantau nod itu sendiri, kvm dan opennebula. Nasib baik, ia sudah siap. Terdapat banyak pilihan tentang memantau hos Linux, Zabbix atau pengeksport nod yang sama - sesiapa yang lebih suka - pada masa ini saya mentakrifkannya sebagai metrik sistem pemantauan (suhu di mana ia boleh diukur, ketekalan tatasusunan cakera), melalui zabbix , dan bagi permohonan melalui pengeksport Prometheus. Untuk pemantauan kvm, sebagai contoh, anda boleh mengambil projek github.com/zhangjianweibj/prometheus-libvirt-exporter.git dan tetapkannya untuk dijalankan melalui systemd, ia berfungsi dengan baik dan menunjukkan metrik kvm, terdapat juga papan pemuka siap sedia grafana.com/grafana/dashboards/12538.

Sebagai contoh, inilah fail saya:

/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

Jadi kami mempunyai 1 pengeksport, kami memerlukan yang kedua untuk memantau opennebula itu sendiri, saya menggunakan ini github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Boleh ditambah kepada biasa node_exporter untuk memantau sistem berikut.

Dalam fail node_exporter kami menukar permulaan seperti ini:

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

Buat direktori mkdir -p /var/lib/opennebula_exporter

skrip bash yang dibentangkan di atas, mula-mula kita semak kerja melalui konsol, jika ia menunjukkan apa yang kita perlukan (jika ia memberikan ralat, kemudian pasang xmlstarlet), salin ke /usr/local/bin/opennebula_exporter.sh

Tambahkan tugas cron untuk setiap minit:

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

Metrik mula muncul, anda boleh mengambilnya seperti prometheus dan membina graf dan membuat makluman. Di Grafana anda boleh melukis, sebagai contoh, papan pemuka yang begitu mudah.

Opennebula. Nota ringkas

(jelas bahawa di sini saya mengatasi cpu, ram)

Bagi mereka yang suka dan menggunakan Zabbix, ada github.com/OpenNebula/addon-zabbix

Setakat pemantauan, perkara utama adalah ia ada. Sudah tentu, anda boleh, sebagai tambahan, menggunakan alat pemantauan mesin maya terbina dalam dan memuat naik data ke pengebilan, di sini semua orang mempunyai visi mereka sendiri, saya belum mula mengerjakan perkara ini dengan lebih dekat lagi.

Saya belum benar-benar memulakan pembalakan. Pilihan paling mudah ialah menambah td-agent untuk menghuraikan direktori /var/lib/one dengan ungkapan biasa. Sebagai contoh, fail sunstone.log sepadan dengan nginx regexp dan fail lain yang menunjukkan sejarah akses kepada platform - apakah kelebihan ini? Nah, sebagai contoh, kita boleh menjejaki bilangan "Ralat, ralat" secara eksplisit dan menjejaki dengan cepat di mana dan pada tahap mana terdapat kerosakan.

3. Sandaran

Terdapat juga projek yang telah siap dibayar - contohnya sep wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. Di sini kita mesti faham bahawa hanya menyandarkan imej mesin tidak sama sekali dalam kes ini, kerana mesin maya kita mesti berfungsi dengan penyepaduan penuh (fail konteks yang sama yang menerangkan tetapan rangkaian, nama vm dan tetapan tersuai untuk aplikasi anda) . Oleh itu, di sini kami memutuskan apa dan bagaimana kami akan membuat sandaran. Dalam sesetengah kes, adalah lebih baik untuk membuat salinan apa yang ada dalam vm itu sendiri. Dan mungkin anda hanya perlu membuat sandaran satu cakera daripada mesin tertentu.

Sebagai contoh, kami menentukan bahawa semua mesin bermula dengan imej yang berterusan, oleh itu, selepas membaca docs.opennebula.io/5.12/operation/vm_management/img_guide.html

Ini bermakna pertama kita boleh memuat naik imej dari vm kita:

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

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ сохранился

oneimage show 77
/var/lib/one//datastores/100/f9503161fe180658125a9b32433bf6e8
   
И Π΄Π°Π»Π΅Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΡƒΠ΄Π° Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‚Π°ΠΊ сСбС способ. ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π» ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ инструмСнты opennebula ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Saya juga dapati di Internet laporan yang menarik dan ada lagi projek terbuka sedemikian, tetapi hanya ada storan untuk qcow2.

Tetapi seperti yang kita semua tahu, lambat laun akan tiba masanya anda mahukan sandaran tambahan, lebih sukar di sini dan mungkin pihak pengurusan akan memperuntukkan wang untuk penyelesaian berbayar, atau sebaliknya dan memahami bahawa di sini kami hanya memotong sumber, dan membuat sandaran pada peringkat aplikasi dan menambah beberapa nod baharu dan mesin maya - ya, di sini, saya katakan bahawa menggunakan awan semata-mata untuk melancarkan kluster aplikasi, dan melancarkan pangkalan data pada platform lain atau mengambil yang sudah siap daripada pembekal, jika boleh.

4. Kemudahan penggunaan

Dalam perenggan ini saya akan menerangkan masalah yang saya hadapi. Sebagai contoh, mengikut imej, seperti yang kita tahu, terdapat persisten - apabila imej ini dipasang pada vm, semua data ditulis pada imej ini. Dan jika tidak berterusan, maka imej itu disalin ke storan dan data ditulis kepada apa yang disalin daripada imej sumber - beginilah cara templat templat berfungsi. Saya berulang kali menyebabkan masalah untuk diri saya sendiri dengan lupa untuk menentukan berterusan dan imej 200 GB telah disalin, masalahnya ialah prosedur ini pastinya tidak boleh dibatalkan, anda perlu pergi ke nod dan membunuh proses "cp" semasa.

Salah satu kelemahan penting ialah anda tidak boleh membatalkan tindakan hanya menggunakan gui. Atau sebaliknya, anda akan membatalkannya dan melihat tiada apa yang berlaku dan anda akan memulakannya semula, membatalkannya dan sebenarnya sudah ada 2 proses cp yang menyalin imej.

Dan kemudian ia datang untuk memahami mengapa nombor opennebula setiap contoh baharu dengan id baharu, contohnya, dalam proxmox yang sama mencipta vm dengan id 101, memadamkannya, kemudian anda menciptanya semula dan id 101. Dalam opennebula ini tidak akan berlaku, setiap kejadian baharu akan dibuat dengan id baharu dan ini mempunyai logiknya sendiri - contohnya, mengosongkan data lama atau pemasangan yang tidak berjaya.

Perkara yang sama berlaku untuk storan; kebanyakannya, platform ini bertujuan untuk storan berpusat. Terdapat tambahan untuk menggunakan tempatan, tetapi bukan itu yang kita bincangkan dalam kes ini. Saya fikir pada masa hadapan seseorang akan menulis artikel tentang cara mereka berjaya menggunakan storan tempatan pada nod dan berjaya menggunakannya dalam pengeluaran.

5. Kesederhanaan maksimum

Sudah tentu, semakin jauh anda pergi, semakin sedikit mereka yang akan memahami anda.

Di bawah syarat pendirian saya - 3 nod dengan storan nfs - semuanya berfungsi dengan baik. Tetapi jika kami menjalankan eksperimen yang melibatkan gangguan bekalan elektrik, contohnya, semasa menjalankan syot kilat dan mematikan kuasa nod, kami menyimpan tetapan dalam pangkalan data bahawa terdapat syot kilat, tetapi sebenarnya tidak ada (baik, kita semua faham bahawa kita pada mulanya menulis pangkalan data tentang tindakan ini dalam sql , tetapi operasi itu sendiri tidak berjaya). Kelebihannya ialah apabila mencipta syot kilat, fail berasingan terbentuk dan terdapat "ibu bapa", oleh itu sekiranya berlaku masalah dan walaupun ia tidak berfungsi melalui gui, kami boleh mengambil fail qcow2 dan memulihkannya secara berasingan docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

Pada rangkaian, malangnya, tidak semuanya begitu mudah. Nah, sekurang-kurangnya ia lebih mudah daripada dalam openstack, saya hanya menggunakan vlan (802.1Q) - ia berfungsi dengan baik, tetapi jika anda membuat perubahan pada tetapan dari rangkaian templat, maka tetapan ini tidak akan digunakan pada mesin yang sudah berjalan, i.e. anda perlu memadam dan menambah kad rangkaian, kemudian tetapan baharu akan digunakan.

Sekiranya anda masih mahu membandingkannya dengan openstack, maka anda boleh mengatakan ini: dalam opennebula tidak ada definisi yang jelas tentang teknologi mana yang digunakan untuk menyimpan data, mengurus rangkaian, sumber - setiap pentadbir memutuskan sendiri apa yang lebih mudah untuknya.

6. Pemalam dan pemasangan tambahan

Lagipun, seperti yang kita faham, platform awan boleh menguruskan bukan sahaja kvm, tetapi juga vmware esxi. Malangnya, saya tidak mempunyai kolam dengan Vcenter, jika sesiapa telah mencuba, sila tulis.

Sokongan untuk pembekal awan lain dinyatakan docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Saya juga cuba menyambungkan Vmware Cloud dari Selectel, tetapi tidak ada yang berhasil - secara umum, ia telah disekat kerana terdapat banyak faktor, dan tidak ada gunanya menulis kepada sokongan teknikal penyedia hosting.

Selain itu, kini versi baharu mempunyai mercun - ini ialah pelancaran microvm, sejenis abah-abah kvm over docker, yang memberikan lebih fleksibiliti, keselamatan dan peningkatan produktiviti kerana tidak perlu membazir sumber untuk meniru peralatan. Satu-satunya kelebihan yang saya lihat berbanding Docker ialah ia tidak mengambil bilangan proses tambahan dan tiada soket yang diduduki apabila menggunakan emulasi ini, i.e. Ia agak mungkin untuk menggunakannya sebagai pengimbang beban (tetapi mungkin berbaloi untuk menulis artikel berasingan tentang perkara ini sehingga saya telah menjalankan sepenuhnya semua ujian).

7. Pengalaman positif penggunaan dan penyahpepijatan ralat

Saya ingin berkongsi pemerhatian saya tentang kerja, saya menerangkan sebahagian daripadanya di atas, saya ingin menulis lebih lanjut. Sesungguhnya, saya mungkin bukan satu-satunya orang yang pada mulanya berpendapat bahawa ini bukan sistem yang betul dan secara amnya segala-galanya di sini adalah tongkat - bagaimana mereka bekerja dengan ini? Tetapi kemudian pemahaman datang bahawa semuanya agak logik. Sudah tentu, anda tidak boleh menggembirakan semua orang dan beberapa aspek memerlukan penambahbaikan.

Sebagai contoh, operasi mudah menyalin imej cakera dari satu stor data ke yang lain. Dalam kes saya, terdapat 2 nod dengan nfs, saya menghantar imej - penyalinan berlaku melalui opennebula frontend, walaupun kita semua terbiasa dengan fakta bahawa data harus disalin terus antara hos - dalam vmware yang sama, hyper-v kita biasa dengan ini, tetapi di sini kepada yang lain. Terdapat pendekatan yang berbeza dan ideologi yang berbeza, dan dalam versi 5.12 mereka mengalih keluar butang "berpindah ke stor data" - hanya mesin itu sendiri dipindahkan, tetapi bukan storan kerana bermaksud penyimpanan berpusat.

Seterusnya ialah ralat popular dengan pelbagai sebab: "Ralat menggunakan mesin maya: Tidak dapat mencipta domain daripada /var/lib/one//datastores/103/10/deployment.5" Di bawah ialah perkara teratas untuk dilihat.

  • Hak imej untuk pengguna oneadmin;
  • Kebenaran untuk pengguna oneadmin menjalankan libvirtd;
  • Adakah stor data dipasang dengan betul? Pergi dan semak laluan pada nod itu sendiri, mungkin ada sesuatu yang telah jatuh;
  • Rangkaian yang dikonfigurasikan secara tidak betul, atau sebaliknya pada bahagian hadapan ia berada dalam tetapan rangkaian bahawa antara muka utama untuk vlan ialah br0, tetapi pada nod ia ditulis sebagai bridge0 - ia mestilah sama.

system datastore menyimpan metadata untuk vm anda, jika anda menjalankan vm dengan imej yang berterusan, maka vm perlu mempunyai akses kepada konfigurasi yang dibuat pada awalnya pada storan di mana anda mencipta vm - ini sangat penting. Oleh itu, apabila memindahkan vm ke stor data lain, anda perlu menyemak semula semuanya.

8. Dokumentasi, komuniti. Perkembangan selanjutnya

Dan selebihnya, dokumentasi yang baik, komuniti dan perkara utama ialah projek itu terus hidup pada masa hadapan.

Secara umum, semuanya didokumentasikan dengan baik dan walaupun menggunakan sumber rasmi, ia tidak akan menjadi masalah untuk memasang dan mencari jawapan kepada soalan.

Komuniti, aktif. Menerbitkan banyak penyelesaian siap sedia yang boleh anda gunakan dalam pemasangan anda.

Pada masa ini, beberapa polisi dalam syarikat telah berubah sejak 5.12 forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Ia akan menjadi menarik untuk melihat bagaimana projek itu berkembang. Pada mulanya, saya secara khusus menunjukkan beberapa vendor yang menggunakan penyelesaian mereka dan perkara yang ditawarkan oleh industri. Sudah tentu, tiada jawapan yang jelas tentang apa yang perlu digunakan. Tetapi untuk organisasi yang lebih kecil, mengekalkan awan peribadi kecil mereka mungkin tidak semahal yang kelihatan. Perkara utama ialah mengetahui dengan tepat apa yang anda perlukan.

Akibatnya, tidak kira apa yang anda pilih sebagai sistem awan, anda tidak seharusnya berhenti pada satu produk. Jika anda mempunyai masa, anda patut melihat penyelesaian lain yang lebih terbuka.

Terdapat sembang yang baik t.me/opennebula Mereka secara aktif membantu dan tidak menghantar anda untuk mencari penyelesaian kepada masalah di Google. Sertai kami.

Sumber: www.habr.com

Tambah komen