Ανοιχτό νεφέλωμα. Σύντομες σημειώσεις

Ανοιχτό νεφέλωμα. Σύντομες σημειώσεις

Γεια σε όλους. Αυτό το άρθρο γράφτηκε για όσους εξακολουθούν να διχάζονται ανάμεσα στην επιλογή πλατφορμών εικονικοποίησης και αφού διάβασαν το άρθρο από τη σειρά "Εγκαταστήσαμε το proxmox και γενικά όλα είναι καλά, 6 χρόνια λειτουργίας χωρίς ούτε ένα διάλειμμα." Αλλά μετά την εγκατάσταση μιας ή άλλης λύσης εκτός συσκευασίας, τίθεται το ερώτημα: πώς μπορώ να το διορθώσω εδώ, ώστε η παρακολούθηση να είναι πιο κατανοητή, και εδώ, για τον έλεγχο των αντιγράφων ασφαλείας…. Και τότε έρχεται η ώρα και συνειδητοποιείς ότι θέλεις κάτι πιο λειτουργικό, ή θέλεις να ξεκαθαρίσουν τα πάντα μέσα στο σύστημά σου, και όχι αυτό το μαύρο κουτί, ή θέλεις να χρησιμοποιήσεις κάτι περισσότερο από έναν hypervisor και ένα σωρό εικονικές μηχανές. Αυτό το άρθρο θα περιέχει μερικές σκέψεις και πρακτική με βάση την πλατφόρμα Opennebula - το επέλεξα γιατί. δεν είναι απαιτητικό σε πόρους και η αρχιτεκτονική δεν είναι τόσο περίπλοκη.

Και έτσι, όπως βλέπουμε, πολλοί πάροχοι cloud εργάζονται σε kvm και κάνουν εξωτερικές συνδέσεις σε μηχανήματα ελέγχου. Είναι σαφές ότι οι μεγάλοι οικοδεσπότες γράφουν τα δικά τους πλαίσια για υποδομές cloud, το ίδιο YANDEX για παράδειγμα. Κάποιος χρησιμοποιεί το openstack και κάνει μια σύνδεση σε αυτή τη βάση - SELECTEL, MAIL.RU. Αλλά αν έχετε το δικό σας υλικό και ένα μικρό προσωπικό ειδικών, τότε συνήθως επιλέγετε κάτι έτοιμο - VMWARE, HYPER-V, υπάρχουν δωρεάν και επί πληρωμή άδειες, αλλά δεν μιλάμε για αυτό τώρα. Ας μιλήσουμε για ενθουσιώδεις - αυτοί είναι αυτοί που δεν φοβούνται να προσφέρουν και να δοκιμάσουν κάτι νέο, παρά το γεγονός ότι η εταιρεία ξεκαθάρισε ξεκάθαρα, "Ποιος θα το εξυπηρετήσει μετά από εσάς", "Θα το κυκλοφορήσουμε αργότερα στην παραγωγή ? Τρομακτικός." Αλλά μπορείτε πρώτα να εφαρμόσετε αυτές τις λύσεις σε έναν πάγκο δοκιμών και αν αρέσει σε όλους, τότε μπορείτε να θέσετε το ζήτημα της περαιτέρω ανάπτυξης και χρήσης σε πιο σοβαρά περιβάλλοντα.

Εδώ είναι επίσης ένας σύνδεσμος για την έκθεση www.youtube.com/watch?v=47Mht_uoX3A από ενεργό συμμετέχοντα στην ανάπτυξη αυτής της πλατφόρμας.

Ίσως σε αυτό το άρθρο κάτι να είναι περιττό και ήδη κατανοητό σε έναν έμπειρο ειδικό και σε ορισμένες περιπτώσεις δεν θα περιγράψω τα πάντα επειδή παρόμοιες εντολές και περιγραφές είναι διαθέσιμες στο Διαδίκτυο. Αυτή είναι απλώς η εμπειρία μου με αυτήν την πλατφόρμα. Ελπίζω ότι οι ενεργοί συμμετέχοντες θα προσθέσουν στα σχόλια τι θα μπορούσε να γίνει καλύτερα και τι λάθη έκανα. Όλες οι δράσεις έγιναν σε ένα οικιακό περίπτερο αποτελούμενο από 3 Η/Υ με διαφορετικά χαρακτηριστικά. Επίσης, δεν ανέφερα συγκεκριμένα πώς λειτουργεί αυτό το λογισμικό και πώς να το εγκαταστήσετε. Όχι, μόνο διοικητική εμπειρία και τα προβλήματα που αντιμετώπισα. Ίσως αυτό θα είναι χρήσιμο σε κάποιον στην επιλογή του.

Λοιπόν, ας ξεκινήσουμε. Ως διαχειριστής συστήματος, τα ακόλουθα σημεία είναι σημαντικά για μένα, χωρίς τα οποία είναι απίθανο να χρησιμοποιήσω αυτήν τη λύση.

1. Επαναληψιμότητα εγκατάστασης

Υπάρχουν πολλές οδηγίες για την εγκατάσταση του opennebula, δεν θα πρέπει να υπάρχουν προβλήματα. Από έκδοση σε έκδοση, εμφανίζονται νέες δυνατότητες που δεν θα λειτουργούν πάντα κατά τη μετάβαση από έκδοση σε έκδοση.

2. Παρακολούθηση

Будем мониторить саму ноду, kvm и opennebula. Благо уже есть готовое. Про мониторинг linux хостов есть масса вариантов, тот же заббикс или node exporter — кому что больше нравится — на данный момент определяю так, что мониторинг системных метрик (температура там где она может измеряться, консистентность дискового массива), через zabbix, а то что касается приложений через экспортер в прометей. По мониторингу 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, χρησιμοποίησα αυτό github.com/kvaps/opennebula-exporter/blob/master/opennebula_exporter

Μπορεί να προστεθεί στο κανονικό node_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

Προσθέστε μια εργασία 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

Όσον αφορά την παρακολούθηση, το κυριότερο είναι ότι υπάρχει. Φυσικά, μπορείτε, επιπλέον, να χρησιμοποιήσετε τα ενσωματωμένα εργαλεία παρακολούθησης εικονικής μηχανής και να ανεβάσετε δεδομένα στη χρέωση, εδώ ο καθένας έχει το δικό του όραμα, δεν έχω αρχίσει να εργάζομαι πιο προσεκτικά σε αυτό ακόμα.

Δεν έχω αρχίσει πραγματικά να καταγράφω ακόμα. Η απλούστερη επιλογή είναι να προσθέσετε td-agent για να αναλύσετε τον κατάλογο /var/lib/one με κανονικές εκφράσεις. Για παράδειγμα, το αρχείο sunstone.log ταιριάζει με το nginx regexp και άλλα αρχεία που δείχνουν το ιστορικό πρόσβασης στην πλατφόρμα - ποιο είναι το πλεονέκτημα αυτού; Λοιπόν, για παράδειγμα, μπορούμε να παρακολουθούμε ρητά τον αριθμό "Σφάλμα, σφάλμα" και να παρακολουθούμε γρήγορα πού και σε ποιο επίπεδο υπάρχει δυσλειτουργία.

3. Αντίγραφα ασφαλείας

Υπάρχουν επίσης πληρωμένα ολοκληρωμένα έργα - για παράδειγμα σεπτ wiki.sepsoftware.com/wiki/index.php/4_4_3_Tigon:OpenNebula_Backup. Εδώ πρέπει να καταλάβουμε ότι η απλή δημιουργία αντιγράφων ασφαλείας μιας εικόνας μηχανής δεν είναι καθόλου το ίδιο σε αυτήν την περίπτωση, επειδή οι εικονικές μας μηχανές πρέπει να λειτουργούν με πλήρη ενοποίηση (το ίδιο αρχείο περιβάλλοντος που περιγράφει τις ρυθμίσεις δικτύου, το όνομα vm και τις προσαρμοσμένες ρυθμίσεις για τις εφαρμογές σας) . Επομένως, εδώ αποφασίζουμε τι και πώς θα δημιουργήσουμε αντίγραφα ασφαλείας. Σε ορισμένες περιπτώσεις είναι καλύτερο να κάνετε αντίγραφα αυτού που υπάρχει στο ίδιο το vm. Και ίσως χρειάζεται να δημιουργήσετε αντίγραφα ασφαλείας μόνο ενός δίσκου από ένα συγκεκριμένο μηχάνημα.

Για παράδειγμα, προσδιορίσαμε ότι όλα τα μηχανήματα ξεκινούν με επίμονες εικόνες, επομένως, μετά την ανάγνωση 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.

Όμως, όπως όλοι γνωρίζουμε, αργά ή γρήγορα έρχεται μια στιγμή που θέλετε σταδιακά αντίγραφα ασφαλείας, είναι πιο δύσκολο εδώ και ίσως η διοίκηση να διαθέσει χρήματα για μια επί πληρωμή λύση ή να πάει από την άλλη και να καταλάβει ότι εδώ περικόβουμε μόνο πόρους. και δημιουργία αντιγράφων ασφαλείας σε επίπεδο εφαρμογής και προσθήκη ορισμένων νέων κόμβων και εικονικών μηχανών - ναι, εδώ, λέω ότι η χρήση του cloud καθαρά για την εκκίνηση συμπλεγμάτων εφαρμογών και η εκκίνηση της βάσης δεδομένων σε άλλη πλατφόρμα ή η λήψη μιας έτοιμης από τον προμηθευτή, εάν είναι δυνατόν.

4. Ευκολία στη χρήση

Σε αυτή την παράγραφο θα περιγράψω τα προβλήματα που αντιμετώπισα. Για παράδειγμα, σύμφωνα με εικόνες, όπως γνωρίζουμε, υπάρχει επίμονη - όταν αυτή η εικόνα είναι προσαρτημένη σε ένα vm, όλα τα δεδομένα εγγράφονται σε αυτήν την εικόνα. Και αν δεν είναι μόνιμο, τότε η εικόνα αντιγράφεται στο χώρο αποθήκευσης και τα δεδομένα εγγράφονται σε αυτό που αντιγράφηκε από την εικόνα προέλευσης - έτσι λειτουργούν τα πρότυπα προτύπων. Προκαλούσα επανειλημμένα προβλήματα στον εαυτό μου ξεχνώντας να προσδιορίσω το persistent και αντιγράφηκε η εικόνα των 200 GB, το πρόβλημα είναι ότι αυτή η διαδικασία σίγουρα δεν μπορεί να ακυρωθεί, πρέπει να πάτε στον κόμβο και να σκοτώσετε την τρέχουσα διαδικασία "cp".

Ένα από τα σημαντικά μειονεκτήματα είναι ότι δεν μπορείτε να ακυρώσετε ενέργειες χρησιμοποιώντας απλώς το gui. Ή μάλλον θα τα ακυρώσεις και θα δεις ότι δεν γίνεται τίποτα και θα τα ξαναρχίσεις, θα τα ακυρώσεις και μάλιστα θα υπάρχουν ήδη 2 cp διεργασίες που αντιγράφουν την εικόνα.

Και μετά έρχεται να κατανοήσουμε γιατί το opennebula αριθμεί κάθε νέα παρουσία με ένα νέο id, για παράδειγμα, στο ίδιο proxmox δημιούργησε ένα vm με id 101, το διέγραψε, μετά το δημιουργείς ξανά και το id 101. Στο opennebula αυτό δεν θα συμβεί, κάθε νέο στιγμιότυπο θα δημιουργείται με ένα νέο αναγνωριστικό και αυτό έχει τη δική του λογική - για παράδειγμα, εκκαθάριση παλαιών δεδομένων ή ανεπιτυχείς εγκαταστάσεις.

Το ίδιο ισχύει και για την αποθήκευση· κυρίως, αυτή η πλατφόρμα στοχεύει στην κεντρική αποθήκευση. Υπάρχουν πρόσθετα για τη χρήση τοπικών, αλλά δεν μιλάμε για αυτό σε αυτήν την περίπτωση. Νομίζω ότι στο μέλλον κάποιος θα γράψει ένα άρθρο για το πώς κατάφεραν να χρησιμοποιήσουν τον τοπικό χώρο αποθήκευσης σε κόμβους και να τον χρησιμοποιήσουν με επιτυχία στην παραγωγή.

5. Μέγιστη απλότητα

Βέβαια, όσο προχωράς, τόσο λιγότεροι θα σε καταλάβουν.

Υπό τις συνθήκες του περιπτέρου μου - 3 κόμβοι με αποθήκευση nfs - όλα λειτουργούν μια χαρά. Αλλά αν διεξάγουμε πειράματα που περιλαμβάνουν διακοπή ρεύματος, για παράδειγμα, όταν εκτελούμε ένα στιγμιότυπο και απενεργοποιούμε την τροφοδοσία του κόμβου, αποθηκεύουμε ρυθμίσεις στη βάση δεδομένων ότι υπάρχει ένα στιγμιότυπο, αλλά στην πραγματικότητα δεν υπάρχει (καλά, όλοι καταλαβαίνουμε ότι αρχικά έγραψε τη βάση δεδομένων για αυτήν την ενέργεια σε sql, αλλά η ίδια η λειτουργία δεν ήταν επιτυχής). Το πλεονέκτημα είναι ότι κατά τη δημιουργία ενός στιγμιότυπου, σχηματίζεται ένα ξεχωριστό αρχείο και υπάρχει ένας "γονέας", επομένως σε περίπτωση προβλημάτων και ακόμη και αν δεν λειτουργεί μέσω gui, μπορούμε να παραλάβουμε το αρχείο qcow2 και να το επαναφέρουμε ξεχωριστά docs.opennebula.io/5.8/operation/vm_management/vm_instances.html

Στα δίκτυα, δυστυχώς, δεν είναι όλα τόσο απλά. Λοιπόν, τουλάχιστον είναι πιο εύκολο από ό, τι στο openstack, χρησιμοποίησα μόνο vlan (802.1Q) - λειτουργεί αρκετά καλά, αλλά αν κάνετε αλλαγές στις ρυθμίσεις από το δίκτυο προτύπων, τότε αυτές οι ρυθμίσεις δεν θα εφαρμοστούν σε μηχανήματα που ήδη λειτουργούν, π.χ. πρέπει να διαγράψετε και να προσθέσετε μια κάρτα δικτύου και στη συνέχεια θα εφαρμοστούν οι νέες ρυθμίσεις.

Εάν εξακολουθείτε να θέλετε να το συγκρίνετε με το openstack, τότε μπορείτε να το πείτε αυτό: στο opennebula δεν υπάρχει σαφής ορισμός για το ποιες τεχνολογίες θα χρησιμοποιηθούν για την αποθήκευση δεδομένων, τη διαχείριση του δικτύου, των πόρων - κάθε διαχειριστής αποφασίζει μόνος του τι είναι πιο βολικό για αυτόν.

6. Πρόσθετα πρόσθετα και εγκαταστάσεις

Άλλωστε, όπως καταλαβαίνουμε, η πλατφόρμα cloud μπορεί να διαχειριστεί όχι μόνο kvm, αλλά και vmware esxi. Δυστυχώς, δεν είχα πισίνα με το Vcenter, αν κάποιος έχει δοκιμάσει, παρακαλώ γράψτε.

Αναφέρεται υποστήριξη για άλλους παρόχους cloud docs.opennebula.io/5.12/advanced_components/cloud_bursting/index.html
AWS, AZURE.

Προσπάθησα επίσης να συνδέσω το Vmware Cloud από την Selectel, αλλά τίποτα δεν λειτούργησε - γενικά, μπλοκαρίστηκε επειδή υπάρχουν πολλοί παράγοντες και δεν έχει νόημα να γράψω στην τεχνική υποστήριξη του παρόχου φιλοξενίας.

Επίσης, τώρα η νέα έκδοση έχει firecracker - πρόκειται για την κυκλοφορία του microvm, ενός τύπου πλεξούδας kvm πάνω από το docker, που προσφέρει ακόμη μεγαλύτερη ευελιξία, ασφάλεια και αυξημένη παραγωγικότητα, επειδή δεν χρειάζεται να σπαταληθούν πόροι για εξομοίωση εξοπλισμού. Το μόνο πλεονέκτημα που βλέπω σε σχέση με το Docker είναι ότι δεν καταλαμβάνει επιπλέον αριθμό διεργασιών και δεν υπάρχουν κατειλημμένες πρίζες κατά τη χρήση αυτής της εξομοίωσης, π.χ. Είναι πολύ πιθανό να το χρησιμοποιήσετε ως εξισορροπητή φορτίου (αλλά μάλλον αξίζει να γράψετε ένα ξεχωριστό άρθρο σχετικά με αυτό μέχρι να εκτελέσω πλήρως όλες τις δοκιμές).

7. Θετική εμπειρία χρήσης και εντοπισμός σφαλμάτων

Ήθελα να μοιραστώ τις παρατηρήσεις μου για το έργο, περιέγραψα μερικά από αυτά παραπάνω, θα ήθελα να γράψω περισσότερα. Πράγματι, μάλλον δεν είμαι ο μόνος που στην αρχή πιστεύει ότι αυτό δεν είναι το σωστό σύστημα και γενικά όλα εδώ είναι δεκανίκι - πώς λειτουργούν ακόμη και με αυτό; Αλλά τότε καταλαβαίνει κανείς ότι όλα είναι αρκετά λογικά. Φυσικά, δεν μπορείτε να ευχαριστήσετε όλους και ορισμένες πτυχές απαιτούν βελτίωση.

Για παράδειγμα, μια απλή λειτουργία αντιγραφής εικόνας δίσκου από ένα χώρο αποθήκευσης δεδομένων σε άλλο. Στην περίπτωσή μου, υπάρχουν 2 κόμβοι με nfs, στέλνω την εικόνα - η αντιγραφή γίνεται μέσω του frontend opennebula, αν και είμαστε όλοι συνηθισμένοι στο γεγονός ότι τα δεδομένα πρέπει να αντιγράφονται απευθείας μεταξύ των κεντρικών υπολογιστών - στο ίδιο vmware, hyper-v είμαστε συνηθισμένος σε αυτό, αλλά εδώ σε άλλο. Υπάρχει μια διαφορετική προσέγγιση και μια διαφορετική ιδεολογία και στην έκδοση 5.12 αφαίρεσαν το κουμπί "migrate to datastore" - μεταφέρεται μόνο το ίδιο το μηχάνημα, αλλά όχι η αποθήκευση επειδή σημαίνει κεντρική αποθήκευση.

Ακολουθεί ένα δημοφιλές σφάλμα με διάφορους λόγους: "Σφάλμα ανάπτυξης εικονικής μηχανής: Δεν ήταν δυνατή η δημιουργία τομέα από το /var/lib/one//datastores/103/10/deployment.5". Παρακάτω είναι το σημαντικότερο πράγμα που πρέπει να δείτε.

  • Δικαιώματα εικόνας για τον χρήστη oneadmin.
  • Δικαιώματα για τον χρήστη oneadmin να τρέξει το libvirtd.
  • Ο χώρος αποθήκευσης δεδομένων έχει τοποθετηθεί σωστά; Πηγαίνετε και ελέγξτε τη διαδρομή στον ίδιο τον κόμβο, ίσως κάτι έχει πέσει.
  • Εσφαλμένα ρυθμισμένο δίκτυο, ή μάλλον στο frontend, στις ρυθμίσεις δικτύου η κύρια διεπαφή για το vlan είναι br0, αλλά στον κόμβο είναι γραμμένο ως bridge0 - πρέπει να είναι το ίδιο.

Το σύστημα αποθήκευσης δεδομένων αποθηκεύει μεταδεδομένα για το vm σας, εάν εκτελείτε το vm με μια μόνιμη εικόνα, τότε το vm πρέπει να έχει πρόσβαση στην αρχική διαμόρφωση του χώρου αποθήκευσης όπου δημιουργήσατε το vm - αυτό είναι πολύ σημαντικό. Επομένως, όταν μεταφέρετε ένα vm σε άλλο χώρο αποθήκευσης δεδομένων, πρέπει να ελέγξετε ξανά τα πάντα.

8. Τεκμηρίωση, κοινότητα. Περαιτέρω ανάπτυξη

Και τα υπόλοιπα, καλή τεκμηρίωση, κοινότητα και το κυριότερο είναι ότι το έργο συνεχίζει να ζει και στο μέλλον.

Σε γενικές γραμμές, όλα είναι αρκετά καλά τεκμηριωμένα και ακόμη και χρησιμοποιώντας μια επίσημη πηγή δεν θα είναι πρόβλημα να εγκαταστήσετε και να βρείτε απαντήσεις σε ερωτήσεις.

Κοινότητα, ενεργός. Δημοσιεύει πολλές έτοιμες λύσεις που μπορείτε να χρησιμοποιήσετε στις εγκαταστάσεις σας.

Αυτή τη στιγμή, ορισμένες πολιτικές στην εταιρεία έχουν αλλάξει από τις 5.12 forum.opennebula.io/t/towards-a-stronger-opennebula-community/8506/14 Θα είναι ενδιαφέρον να δούμε πώς θα εξελιχθεί το έργο. Στην αρχή, επεσήμανα συγκεκριμένα μερικούς από τους πωλητές που χρησιμοποιούν τις λύσεις τους και τι προσφέρει ο κλάδος. Φυσικά, δεν υπάρχει σαφής απάντηση για το τι πρέπει να χρησιμοποιήσετε. Αλλά για μικρότερους οργανισμούς, η διατήρηση του μικρού ιδιωτικού τους cloud μπορεί να μην είναι τόσο ακριβή όσο φαίνεται. Το κύριο πράγμα είναι να γνωρίζετε ακριβώς τι χρειάζεστε.

Ως αποτέλεσμα, ανεξάρτητα από το τι επιλέγετε ως σύστημα cloud, δεν πρέπει να σταματήσετε σε ένα προϊόν. Αν έχετε χρόνο, αξίζει να ρίξετε μια ματιά σε άλλες πιο ανοιχτές λύσεις.

Υπάρχει μια καλή κουβέντα t.me/opennebula Βοηθούν ενεργά και δεν σας στέλνουν να αναζητήσετε λύση στο πρόβλημα στο Google. Ελα μαζί μας.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο