What's in the OpenStack course?

OpenStack: Cloud Privat și Administrare Eficientă

26/06/2023

Rating: 4.72 (2876 votes)

În era digitală, infrastructura cloud a devenit esențială pentru organizații de toate dimensiunile. Fie că vorbim despre mașini virtuale, servere bare metal sau containere, necesitatea unei platforme flexibile, scalabile și controlabile este primordială. Aici intervine OpenStack, o suită puternică de software open-source care oferă un cadru robust pentru construirea și gestionarea propriilor cloud-uri private. Acest articol detaliat vă va ghida prin elementele fundamentale ale OpenStack, de la înțelegerea arhitecturii sale modulare și a serviciilor cheie, până la pașii practici de implementare, administrare prin interfața web Horizon și linia de comandă, gestionarea stocării cu Ceph și cele mai bune practici pentru mentenanță și securitate. Indiferent dacă sunteți la început de drum sau căutați să aprofundați cunoștințele despre administrarea unui cloud privat, veți găsi informații valoroase pentru a vă atinge obiectivele.

What is OpenStack?
Learn - OpenStack is open source software for creating private and public clouds. Looking for resources to learn more about using or developing OpenStack, finding out what's happening in the community, or watching experts talk OpenStack? This is your place.

Vom explora cum OpenStack vă permite să aveți un control granular asupra resurselor subiacente, oferind o alternativă viabilă la platformele cloud proprietare. Vom demistifica procesele de creare a rețelelor, lansare a instanțelor, configurare a grupurilor de securitate și gestionare a cheilor SSH, toate acestea fiind esențiale pentru o operare eficientă a cloud-ului. De asemenea, vom aborda aspecte avansate, cum ar fi containerizarea serviciilor OpenStack și rolul vital al sistemului de stocare distribuită Ceph în asigurarea durabilității și disponibilității datelor. Pregătiți-vă să descoperiți potențialul imens al OpenStack și să vă echipați cu abilitățile necesare pentru a deveni un administrator de cloud competent.

Cuprins

Ce Este OpenStack? O Introducere Detaliată

OpenStack este o platformă open-source de cloud computing utilizată de organizații pentru a gestiona și controla implementări la scară largă de mașini virtuale, servere bare metal și containere, într-un mediu de cloud computing sau de server privat virtual. Este o alegere populară datorită scalabilității, fiabilității și gradului înalt de control pe care îl oferă asupra infrastructurii subiacente.

Pe lângă gestionarea implementărilor de mașini virtuale, OpenStack poate fi utilizat și pentru a gestiona resursele de stocare și rețea într-un mediu cloud. Deși OpenStack oferă funcționalități similare cu servicii cloud comerciale precum AWS, există diferențe cheie:

CaracteristicăOpenStackAWS (Amazon Web Services)
Natura PlatformeiOpen-sourceProprietară
Flexibilitate și PersonalizareOferă mai multă flexibilitate și opțiuni de personalizare.Mai puțină flexibilitate, opțiuni predefinite.
Expertiză TehnicăNecesită, în general, mai multă expertiză tehnică pentru configurare și gestionare.Mai ușor de configurat și gestionat, cu servicii gata de utilizare.
Controlul InfrastructuriiControl complet asupra infrastructurii subiacente.Control mai limitat, infrastructura este gestionată de furnizor.
CosturiPotențial costuri mai mici pe termen lung (fără licențe software), dar costuri inițiale de implementare și personal.Costuri bazate pe consum, fără costuri inițiale mari, dar costuri continue de utilizare a serviciilor.

Dincolo de funcționalitatea standard de infrastructură-ca-serviciu (IaaS), componente suplimentare OpenStack oferă orchestare, gestionarea erorilor și a serviciilor, precum și alte servicii pentru a asigura o înaltă disponibilitate a aplicațiilor utilizatorilor.

Arhitectura OpenStack: Servicii Esențiale

OpenStack este împărțit în servicii modulare, permițându-vă să "plug and play" componente în funcție de nevoile dumneavoastră. Iată câteva dintre cele mai comune servicii OpenStack și rolurile lor:

  • Object Storage (Swift): Un sistem de stocare de obiecte distribuit și extrem de scalabil, ideal pentru stocarea datelor nestructurate.
  • Compute (Nova): Controlerul principal de cloud computing, care gestionează alocarea resurselor de calcul, adică mașinile virtuale.
  • Networking (Neutron): Sistemul responsabil pentru gestionarea rețelelor și a adreselor IP, inclusiv rețele virtuale și rutare.
  • Dashboard (Horizon): Interfața web standard pentru gestionarea resurselor OpenStack, oferind o vizualizare grafică a cloud-ului.
  • Identity (Keystone): Serviciul central pentru gestionarea conturilor de utilizator, rolurilor și controlului accesului la toate serviciile OpenStack.
  • Image (Glance): Un serviciu pentru stocarea și recuperarea imaginilor de mașini virtuale, care sunt utilizate ca șabloane pentru crearea instanțelor.
  • Block Storage (Cinder): Un serviciu pentru gestionarea dispozitivelor de stocare bloc, care pot fi atașate la instanțe pentru stocare persistentă.
  • Telemetry (Ceilometer): Colectează și stochează date de monitorizare și măsurare a utilizării resurselor.
  • Orchestration (Heat): Permite definirea și implementarea infrastructurii cloud sub formă de șabloane, facilitând automatizarea.
  • Bare Metal (Ironic): Un serviciu pentru provisionarea și gestionarea serverelor fizice (bare metal) ca resurse cloud.
  • Data Processing (Sahara): Oferă capabilități pentru provisionarea și gestionarea clusterelor Hadoop și Spark pentru analiza datelor.

Primii Pași cu OpenStack: Implementare și Configurare

Există numeroase modalități de a implementa și configura OpenStack, adaptate nevoilor specifice ale aplicației sau organizației dumneavoastră. Pentru a simplifica procesul de învățare, vom face referire la o implementare rapidă, cum ar fi cea oferită de OpenMetal, dar este important de reținut că materialul prezentat este aplicabil oricărei implementări OpenStack.

O metodă simplă de a începe cu OpenStack este utilizarea unui cloud privat la cerere. Acesta permite o implementare rapidă și simplifică procesul de configurare. Chiar dacă vom folosi OpenMetal ca exemplu, conceptele și pașii discutați sunt universali pentru orice implementare OpenStack.

Navigarea și Utilizarea Dashboard-ului Horizon

Horizon este numele dashboard-ului implicit OpenStack, care oferă o interfață web pentru utilizatori pentru a gestiona serviciile OpenStack. Permite utilizatorilor să administreze cloud-ul într-un mod intuitiv.

Accesarea Horizon și Autentificarea

Pentru a accesa dashboard-ul OpenStack (Horizon) al noului dumneavoastră cloud, veți avea nevoie de parola de administrator a Horizon. Numele de utilizator este "admin". Mai întâi, conectați-vă prin SSH la unul dintre serverele cloud-ului (puteți folosi orice adresă IP din pagina "Assets"). Odată autentificat, rulați comanda grep keystone_admin_password /etc/kolla/passwords.yml pentru a obține parola. După ce ați obținut parola, puteți lansa Horizon și vă puteți autentifica.

Crearea unui Proiect în OpenStack Horizon

În OpenStack, cloud-ul este împărțit prin utilizarea proiectelor. Proiectele au asociați utilizatori, care au niveluri diferite de acces definite de roluri. Un administrator definește limitele resurselor per proiect prin modificarea cotelor.

Pentru a crea primul dumneavoastră proiect, navigați la Identity -> Projects. Aici veți vedea proiecte existente, inclusiv proiectul "admin", care nu ar trebui modificate. Faceți clic pe butonul "Create Project" și specificați un nume (ex: "Development"). Puteți adăuga membri și grupuri de proiect, dar nu este obligatoriu la acest pas. După creare, proiectul va apărea în lista Proiectelor. Din această pagină, ca utilizator administrator, puteți vizualiza și ajusta cotele pentru acest proiect, cum ar fi numărul de instanțe, volume sau rețele. O valoare de -1 înseamnă că acea cotă este nelimitată.

Crearea unui Utilizator și Asocierea cu un Proiect

Acum că aveți un proiect, puteți asocia un utilizator cu acesta. Pentru a crea un utilizator nou, navigați la Identity -> Users. Faceți clic pe "Create User" și completați câmpurile: Nume Utilizator, Parolă, Proiect Principal (alegeți proiectul creat anterior) și Rol. Câmpul Email este opțional, dar util pentru resetări de parolă. Pentru Rol, alegeți "member" (membru) pentru acest exemplu, acesta fiind un rol cu autoritate medie. După crearea utilizatorului, deconectați-vă ca "admin" și autentificați-vă cu noul utilizator. Veți observa că noul utilizator este implicit în proiectul nou creat.

Gestionarea Imaginilor în OpenStack

Imaginile în OpenStack sunt copii ale unor instalații Linux (sau altor sisteme de operare) bootabile, utilizate pentru a crea instanțe. În cadrul cloud-ului dumneavoastră OpenStack, sunt disponibile mai multe imagini predefinite (CentOS, Debian, Fedora, Ubuntu), dar aveți și opțiunea de a încărca imagini din alte surse sau de a crea propriile imagini din instanțe existente.

Glance este instrumentul pentru gestionarea imaginilor, permițând utilizatorilor să descopere, să recupereze și să înregistreze imagini de mașini virtuale (VM) și containere. Glance utilizează Ceph pentru a stoca imaginile, în loc de sistemul de fișiere local.

How can I learn Red Hat OpenStack administration?
Our Red Hat OpenStack Administration course is available via classroom, virtual classroom, self-paced online, or private team training. Institutions with deep knowledge of the skills needed for managing conventional HPC infrastructure can find the paradigms and tools of cloud a steep learning curve.

Pentru a accesa imaginile din dashboard-ul Horizon, navigați la Projects -> Compute -> Images. Această filă conține o listă a tuturor imaginilor din OpenStack. Imaginile pot fi încărcate prin Horizon făcând clic pe "Create Image". Când creați o imagine, trebuie să alegeți formatul acesteia. Formatul recomandat pentru majoritatea configurațiilor este QCOW2 – QEMU emulator, deoarece este cel mai comun pentru Linux KVM, se extinde dinamic și suportă "copy on write". Pentru a încărca o imagine, trebuie să o aveți local pe mașina dumneavoastră. De exemplu, puteți descărca o imagine CirrOS. Completați detaliile necesare (Nume Imagine, Descriere, Fișier Sursă, Format) și trimiteți formularul. Procesul de încărcare poate dura un timp.

Crearea și Administrarea Instanțelor (Mașini Virtuale)

Instanțele, sau mașinile virtuale, joacă un rol major în sarcinile de lucru ale unui cloud. OpenStack oferă o modalitate de a crea și gestiona instanțe prin serviciul său de calcul, numit Nova. Nova este proiectul OpenStack care oferă o modalitate de a provisiona instanțe de calcul (cunoscute și sub denumirea de servere virtuale). Suportă crearea de mașini virtuale, servere bare metal și are suport limitat pentru containere de sistem. Nova rulează ca un set de "daemons" peste servere Linux existente pentru a furniza acest serviciu.

Crearea unei Rețele Private

Mai întâi, vom învăța cum să creăm o rețea privată și un router. Ulterior, vom crea o instanță în această rețea privată. Routerul este creat pentru ca rețeaua privată să poată fi conectată la rețeaua publică a cloud-ului, permițându-vă să-i atribuiți o adresă IP flotantă, făcând instanța accesibilă prin Internet.

Pentru a crea o rețea privată, navigați la Project -> Network -> Networks. Apoi, faceți clic pe "Create Network". Specificați un nume pentru rețea (ex: "Private"), asigurați-vă că "Enable Admin State" este bifat și "Create Subnet" este de asemenea bifat. Treceți la fila "Subnet" și setați un nume pentru subrețea (ex: "private-subnet"), o adresă de rețea privată (ex: 192.168.0.1/24) și lăsați "IP Version" ca IPv4. Faceți clic pe "Create" pentru a finaliza.

Crearea unui Router

Apoi, trebuie să creați un router pentru a face legătura între rețeaua privată și rețeaua publică (numită "External"). Navigați la Project -> Network -> Routers și faceți clic pe "Create Router". Introduceți un nume pentru router (ex: "Router"), asigurați-vă că "Enable Admin State" este bifat și alegeți rețeaua "External" ca "External Network". Faceți clic pe "Create Router".

Conectarea Routerului la Rețeaua Privată

Pentru a conecta routerul la rețeaua privată, atașați o interfață. Acest pas permite comunicarea de rețea între rețelele Private și Externe. Faceți clic pe numele routerului pentru a accesa pagina de detalii, navigați la fila "Interfaces" și faceți clic pe "Add Interface". Alegeți "private-subnet" pentru Subnet. Apăsați "Submit". Puteți vizualiza topologia rețelei cloud-ului dumneavoastră navigând la Project -> Network -> Network Topology.

Grupuri de Securitate

Grupurile de securitate permit controlul traficului de rețea către și de la instanțe. De exemplu, portul 22 poate fi deschis pentru SSH pentru o singură adresă IP sau o gamă de IP-uri. Pentru a vizualiza și gestiona grupurile de securitate, navigați la Project -> Network -> Security Groups. Veți observa un grup de securitate implicit numit "default" care restricționează tot traficul de intrare și permite tot traficul de ieșire. Pentru a crea un grup de securitate pentru SSH, faceți clic pe "Create Security Group", numiți-l "SSH" și creați-l. Apoi, adăugați o regulă permițând traficul SSH. Va trebui să obțineți adresa IP a primului nod hardware al cloud-ului dumneavoastră. În meniul "Add Rule", selectați "SSH" ca regulă, alegeți "CIDR" pentru "Remote" și specificați adresa IP a nodului hardware. Faceți clic pe "Add".

Crearea unei Instanțe

Acum suntem aproape gata să creăm o instanță. Este necesară o cheie publică SSH pentru a accesa o instanță prin SSH. Această cheie este injectată în instanță la creare și nu poate fi adăugată ulterior.

Pentru a crea o instanță, navigați la Project -> Compute -> Instances. Apoi faceți clic pe "Launch Instance". Pe fila "Details", completați: "Instance Name" (ex: "Jumpstation"), "Description" (opțional), "Availability Zone" (lăsați "nova"), "Count" (1). Treceți la fila "Source". Selectați "Image" ca sursă de boot, "Yes" pentru "Create New Volume" (ceea ce va crea un volum Cinder în clusterul Ceph) și alegeți o imagine de sistem de operare (ex: "CentOS 8 Stream"). Apoi, treceți la fila "Flavor". Alegeți un flavor adecvat (ex: "m1.small"). Pe fila "Networks", selectați rețeaua "Private" creată anterior. Pe fila "Security Groups", alegeți grupul de securitate "SSH" creat anterior. În cele din urmă, pe fila "Key Pair", puteți importa o cheie SSH existentă sau crea una nouă. Pentru acest exemplu, veți genera o cheie SSH pe un nod hardware de control al cloud-ului și veți copia cheia publică aici. Odată importată, faceți clic pe "Launch Instance". Instanța va parcurge un proces de construcție și va apărea în lista de instanțe după câteva minute.

Alocarea și Atașarea unei Adrese IP Flotante

Instanța creată anterior este asociată cu o rețea privată. Pentru a o face accesibilă din exterior, vom aloca o adresă IP flotantă și o vom atașa instanței. Navigați la Project -> Network -> Floating IPs. Faceți clic pe "Allocate IP to Project", asigurați-vă că "Pool" este setat la "External" și alocați IP-ul. Apoi, în aceeași secțiune, faceți clic pe butonul "Associate" de lângă IP-ul alocat. Selectați instanța "Jumpstation" în câmpul "Port to be associated" și faceți clic pe "Associate". Acum instanța este accesibilă prin SSH de pe nodul hardware de control al cloud-ului.

Utilizarea OpenStackClient (CLI)

Până acum am învățat cum să gestionăm OpenStack printr-un browser web. Dar este posibil să gestionați cloud-ul și prin linia de comandă folosind CLI-ul OpenStack, numit OpenStackClient. Utilizarea liniei de comandă introduce mai multă flexibilitate în sarcinile de automatizare și poate simplifica viața unui administrator. Vom instala OpenStackClient pe instanța "Jumpstation" pe care tocmai am creat-o.

Înainte de a instala OpenStackClient, trebuie să obțineți două fișiere din Horizon: clouds.yaml (utilizat ca sursă de configurare pentru conectarea la un cloud) și fișierul OpenStack RC (utilizat ca sursă de autentificare pentru utilizatorul și proiectul dumneavoastră). Conectați-vă la Horizon ca utilizator, navigați la Project -> API Access, apoi descărcați ambele fișiere.

How do I use openstackclient?
When using OpenStackClient, there is typically a common command pattern for what you want to accomplish. All openstack commands begin with openstack. You can execute openstack by itself to enter into a shell, where commands no longer need to be prefixed by openstack: Use openstack --help to list all available subcommands.

Pregătirea și Instalarea OpenStackClient

Conectați-vă prin SSH la instanța "Jumpstation".

  1. Pregătirea fișierelor clouds.yaml și OpenStack RC: Creați directorul ~/.config/openstack pe instanță. Copiați conținutul fișierului clouds.yaml descărcat de pe mașina locală în ~/.config/openstack/clouds.yaml pe instanță. De asemenea, copiați conținutul fișierului OpenStack RC (ex: Development-openrc.sh) în directorul home al utilizatorului de pe instanță (ex: ~/Development-openrc.sh). Schimbați permisiunile fișierului RC (chmod +x Development-openrc.sh) și rulați-l (./Development-openrc.sh) și apoi sursați-l (source Development-openrc.sh). Vi se va cere parola OpenStack.
  2. Crearea unui mediu virtual Python: Pentru a evita interferențele cu versiunea de Python a sistemului, creați un mediu virtual Python. Pe CentOS 8 Stream, utilizați /usr/libexec/platform-python -m venv ~/venv.
  3. Activarea mediului virtual Python: Activați mediul virtual cu source ~/venv/bin/activate. Veți observa că numele mediului virtual (venv) apare la începutul liniei de comandă.
  4. Upgrade pip: Înainte de a instala OpenStackClient, actualizați pip cu pip install --upgrade pip.
  5. Instalarea OpenStackClient: Instalați OpenStackClient folosind pip install python-openstackclient (recomandat față de openstackclient, deoarece este menținut mai frecvent).
  6. Listarea serverelor: Pentru o primă verificare, rulați openstack server list. Ar trebui să vedeți serverul "Jumpstation" creat anterior.

Structura Comenzilor CLI

Comenzile OpenStackClient urmează, în general, un model comun. Toate comenzile încep cu openstack. Puteți rula openstack de sine stătător pentru a intra într-un shell, unde comenzile nu mai necesită prefixul openstack. Pentru a lista toate subcomenzile disponibile, utilizați openstack --help. Pentru a afla mai multe despre o anumită subcomandă, folosiți openstack help <comandă> (ex: openstack help server). Este foarte comun să listați elemente (openstack <subcomandă> list) și să afișați detalii despre un element (openstack <subcomandă> show <element>).

Detaliile Implementării Cloud-urilor Private (OpenMetal)

OpenStack poate fi implementat în mai multe moduri. În cazul implementărilor OpenMetal, OpenStack este containerizat prin Docker folosind Kolla Ansible. Acest lucru se realizează printr-un container de implementare inițială numit FM-Deploy, care asigură modificările inițiale de configurare în timpul procesului de provisionare al cloud-ului dumneavoastră privat. Acest container este o parte necesară a arhitecturii și ar trebui să rămână în funcțiune, deoarece este utilizat de sistemele OpenMetal în cazul în care doriți să adăugați sau să eliminați noduri din cloud.

Containerizarea OpenStack

Utilizarea Docker și Kolla Ansible pentru containerizarea serviciilor OpenStack aduce numeroase avantaje:

  • Mediu izolat: Containerele creează un mediu izolat, reducând dependențele software și conflictele.
  • Scalabilitate și echilibrare: Containerele pot fi scalate și permit serviciilor să se echilibreze pe întregul cluster.
  • Flexibilitate sporită: Oferă o flexibilitate crescută pentru versiuni de test, patch-uri și automatizare.
  • Implementare consistentă: Asigură o implementare consistentă și repetabilă, cu un timp de inițializare mai scurt.

Este important de reținut că, pentru orice modificări de configurare pe noduri, ar trebui să utilizați Kolla Ansible pentru a le aplica, altfel riscați ca aceste modificări să fie anulate în timpul actualizărilor de sistem.

Stocarea pe Disc și Ceph

În cloud-urile OpenMetal, stocarea pe disc este asigurată prin Ceph. Ceph este un sistem de stocare distribuit, open-source, care oferă interfețe pentru multiple tipuri de stocare (obiect, bloc, fișier) dintr-un singur cluster. În OpenMetal, Ceph este compus din două elemente: stocare obiect și stocare bloc.

  • Stocare obiect Ceph: Utilizează daemonul Ceph Object Storage Gateway (RADOSGW). În cloud-urile OpenMetal, RGW-ul Ceph înlocuiește Swift, iar endpoint-urile Swift sunt conectate direct la RGW. Autentificarea pentru RGW este gestionată prin Keystone.
  • Stocare bloc Ceph: Se conectează la serviciul Cinder utilizând RADOS Block Device (RBD) al Ceph. Obiectele sunt stocate în pool-uri Ceph, oferind un strat de abstractizare care permite recunoașterea obiectelor ca blocuri.

Avantajele utilizării Ceph includ:

  • Auto-vindecare: Datele sunt auto-vindecătoare și se redistribuie pe întregul cluster în cazul unor probleme de alimentare, hardware sau conectivitate.
  • Replicare și disponibilitate ridicată: Datele sunt replicate și au o disponibilitate ridicată.
  • Hardware standard: Ceph poate rula pe hardware standard și permite mixarea hardware-ului de la diferiți furnizori.

Verificarea Stării și Utilizării Discului Ceph

Pentru a verifica starea clusterului Ceph, asigurați-vă că sunteți autentificat pe unul dintre nodurile de control ale cloud-ului (nu o instanță) și rulați comanda ceph status. Aceasta va afișa informații despre sănătatea clusterului, serviciile active, starea OSD-urilor (Object Storage Daemons), utilizarea datelor și starea PG-urilor (Placement Groups). Pentru a verifica spațiul disponibil pe disc în clusterul Ceph, utilizați comanda ceph df.

Mentenanța și Actualizările Software

Software-ul din ecosistemul OpenStack evoluează constant prin adăugarea de noi funcționalități, corectarea erorilor sau patch-uri de securitate. O parte esențială a operării unui cloud OpenStack implică menținerea software-ului la zi prin actualizări. În cloud-urile OpenMetal, actualizările software includ managerul de pachete al fiecărui nod hardware și imaginile Docker Kolla Ansible. Actualizările Ceph sunt gestionate prin managerul de pachete al nodului.

Best Practices pentru Actualizările Managerului de Pachete

  1. Migrarea sarcinilor de lucru: Actualizările managerului de pachete care necesită o repornire a serverului pe un nod de control OpenMetal pot perturba sarcinile de lucru. Înainte de a efectua acțiuni disruptive, migrați instanțele către un alt nod care rulează serviciul Compute.
  2. Actualizați câte un nod pe rând: Asigurați-vă că actualizările managerului de pachete se finalizează cu succes pentru un nod hardware înainte de a actualiza un alt nod.
  3. Dezactivarea Docker: Înainte de a actualiza managerul de pachete, asigurați-vă că socket-ul și serviciul Docker din SystemD sunt oprite și dezactivate (systemctl disable docker.socket, systemctl stop docker.socket, systemctl disable docker.service, systemctl stop docker.service).
  4. Actualizați pachetele sistemului de operare gazdă: După ce ați verificat că Docker este oprit, efectuați actualizările managerului de pachete (ex: dnf upgrade pe CentOS).
  5. Determinați necesitatea repornirii: După ce managerul de pachete a terminat, verificați dacă este necesară o repornire cu dnf-utils needs-restarting -r.
  6. Mentenanța Ceph (opțional): Dacă nodul trebuie repornit și face parte din clusterul Ceph, suspendați temporar eliminarea automată a OSD-urilor și rebalansarea datelor (ceph osd set noout, ceph osd set norebalance). Acest lucru va reduce timpul de reconstrucție și va asigura că nodul se alătură automat clusterului. După repornire și confirmarea unui cluster Ceph sănătos, aceste setări trebuie anulate (ceph osd unset noout, ceph osd unset norebalance).
  7. Reporniți dacă este necesar: Reporniți nodul cu shutdown -r now.
  8. Verificați repornirea reușită: După ce nodul revine online, conectați-vă prin SSH și verificați dacă containerele Docker OpenStack au pornit (docker ps). De asemenea, verificați starea clusterului Ceph (ceph status). O stare "HEALTH_OK" indică un cluster sănătos.

Monitorizarea Utilizării Resurselor Cloud-ului Privat

Există trei variații de implementări de cloud privat (Small, Standard, Large), toate având un cluster de trei servere hyper-convergente, dar cu alocări diferite de memorie, stocare și putere de procesare CPU. De asemenea, aveți opțiunea de a adăuga noduri hardware suplimentare la cluster.

Vizualizarea Utilizării Memoriei și Calculului în Horizon

Pentru a vizualiza resursele utilizate de cloud-ul dumneavoastră, trebuie să fiți utilizatorul "admin" și să fiți alocat proiectului "admin". Odată în proiectul "admin", navigați la Admin -> Compute -> Hypervisors. Această secțiune listează utilizarea VCPU-ului, a memoriei și a discului local pentru fiecare hypervisor. De asemenea, puteți vedea locația instanțelor în cluster navigând la Admin -> Compute -> Instances, unde veți vedea proiectul, gazda, adresa IP și starea fiecărei instanțe.

Accesarea Informațiilor despre Resurse din Ceph (CLI)

Pentru a accesa informații despre pool-urile de resurse ale clusterului Ceph, va trebui să utilizați CLI-ul Ceph. Iată o sinteză a unor comenzi utile de monitorizare a resurselor și a sănătății:

  • ceph -s: Verifică starea generală a clusterului Ceph.
  • ceph df: Listează o prezentare generală a utilizării discului.
  • ceph health detail: Oferă detalii despre problemele de sănătate existente.
  • ceph osd pool ls: Listează pool-urile; adăugați detail pentru detalii suplimentare despre replicare și metrici de sănătate.

Crearea și Restaurarea Copiilor de Rezervă ale Volumelor

Cu cloud-urile private, aveți posibilitatea de a crea copii de rezervă și "snapshot-uri" ale datelor volumelor dumneavoastră. Dacă datele unui volum se corup sau sunt șterse din greșeală, o copie a acestor date ar putea fi de neprețuit. Vom examina cum să creați și să recuperați copii de rezervă ale volumelor utilizând Horizon.

Volumele sunt dispozitive de stocare bloc pe care le atașați instanțelor pentru a permite stocarea persistentă. Puteți atașa un volum la o instanță în funcțiune sau puteți detașa un volum și să-l atașați la o altă instanță în orice moment. De asemenea, puteți crea un "snapshot" dintr-un volum sau puteți șterge un volum.

Crearea unei Copii de Rezervă a Volumului

Navigați în Horizon la Project -> Volume -> Volumes. Creați o copie de rezervă a volumului dumneavoastră selectând "Create Backup" din meniul derulant. Va trebui să completați următoarele câmpuri:

  • Backup Name: Specificați un nume pentru copia de rezervă a volumului.
  • Description: Furnizați o descriere, dacă este necesar.
  • Container Name: Lăsați acest câmp gol, altfel copia de rezervă a volumului nu poate fi creată. (Horizon vă spune că dacă acest câmp este gol, copia de rezervă este stocată într-un container numit volumebackups, dar acest lucru nu este valabil pentru configurația cloud-urilor private; toate copiile de rezervă ale volumelor create astfel sunt stocate în pool-ul Ceph numit backups).
  • Backup Snapshot: Dacă este cazul, specificați un "snapshot" din care să creați o copie de rezervă.

După trimiterea formularului, veți fi redirecționat la Project -> Volume -> Volume Backups, unde puteți vedea copia de rezervă a volumului tocmai creată.

What's in the OpenStack course?
The course begins with an overview of cloud computing and OpenStack. After the overview there is a dedicated section to OpenStack installation which is followed by separate sections for each of the core openstack services and the web dashboard. In each section we will go into the details of the service and it's architecture.

Testarea și Restaurarea Copiilor de Rezervă ale Volumelor

Crearea copiilor de rezervă ale datelor importante este doar o parte a unui plan solid de backup și recuperare. În plus, luați în considerare testarea datelor salvate pentru a vă asigura că, în cazul în care se întâmplă ceva neașteptat, restaurarea copiilor de rezervă va fi efectiv utilă. Pentru a testa copiile de rezervă ale volumelor, puteți restaura o copie de rezervă a unui volum în OpenStack alături de volumul original și puteți compara conținutul.

Pentru a restaura o copie de rezervă a unui volum, navigați în Horizon la Project -> Volume -> Volume Backups. Găsiți copia de rezervă a volumului pe care doriți să o restaurați și din meniul derulant din dreapta, selectați "Restore Backup". Alegeți volumul pe care să-l restaurați, sau lăsați sistemul să restaureze copia de rezervă într-un volum nou.

Ceph, Volume și Durabilitatea Datelor

Când se creează copii de rezervă ale volumelor, acestea sunt stocate în clusterul Ceph al cloud-ului dumneavoastră într-un pool numit backups. Implicit, clusterul Ceph este configurat cu replicare la nivel de gazdă pe fiecare dintre cele trei noduri de control ale cloud-ului dumneavoastră. Cu această configurație, cloud-ul dumneavoastră ar putea suferi pierderea a tuturor nodurilor Ceph, cu excepția unuia, și ar păstra totuși toate datele clusterului, asigurând o durabilitate ridicată a datelor.

Întrebări Frecvente (FAQ)

Am adunat o serie de întrebări frecvente pentru a clarifica aspecte esențiale legate de OpenStack și administrarea sa.

Q: Ce este OpenStack și la ce se folosește?
A: OpenStack este o platformă software open-source care permite organizațiilor să construiască și să gestioneze cloud-uri private sau publice. Este folosit pentru a provisiona și administra resurse de calcul (mașini virtuale, servere bare metal), stocare (bloc, obiect) și rețea.

Q: Care sunt principalele servicii OpenStack?
A: Serviciile cheie includ Nova (calcul), Neutron (rețelistică), Cinder (stocare bloc), Swift (stocare obiect), Glance (imagini), Keystone (identitate) și Horizon (dashboard web).

Q: Cum se compară OpenStack cu AWS?
A: OpenStack este open-source și oferă control complet și flexibilitate asupra infrastructurii, necesitând însă o expertiză tehnică mai mare pentru implementare și gestionare. AWS este o platformă proprietară, mai ușor de utilizat, cu servicii gestionate, dar cu mai puțină flexibilitate și control asupra infrastructurii subiacente.

Q: De ce este importantă containerizarea în OpenStack?
A: Containerizarea (folosind Docker și Kolla Ansible) izolează serviciile OpenStack, le face scalabile, flexibile pentru testare și actualizări, și asigură o implementare consistentă și rapidă.

Q: Ce rol are Ceph în OpenStack?
A: Ceph este sistemul de stocare distribuită utilizat în OpenStack pentru a asigura stocarea persistentă (bloc, obiect) a datelor. Oferă auto-vindecare, replicare și disponibilitate ridicată, fiind rezilient la defecțiuni hardware.

Q: Pot folosi OpenStack fără OpenMetal?
A: Da, absolut. OpenMetal este doar o modalitate simplificată de a implementa OpenStack. Conceptele și principiile de bază, precum și administrarea prin Horizon și CLI, sunt universale pentru orice implementare OpenStack, indiferent de platforma de bază.

Q: Este necesară expertiză tehnică pentru a folosi OpenStack?
A: Pentru implementare și administrare inițială, este utilă o înțelegere de bază a liniei de comandă Linux, a rețelelor și a virtualizării. Cu toate acestea, cu resurse precum acest ghid și documentația oficială, puteți dobândi rapid abilitățile necesare.

Concluzie

Ați parcurs un ghid cuprinzător despre OpenStack, o platformă open-source remarcabilă pentru construirea și gestionarea propriilor cloud-uri private. De la înțelegerea componentelor sale fundamentale și a modului în care interacționează, până la pașii practici de implementare, administrare prin interfața web Horizon și linia de comandă (OpenStackClient), și gestionarea stocării cu Ceph, ați dobândit o bază solidă de cunoștințe. Ați văzut cum OpenStack oferă flexibilitate și control, permițându-vă să adaptați infrastructura la nevoile specifice ale organizației dumneavoastră, indiferent de complexitate. Cu aceste cunoștințe, sunteți pregătit să explorați și să implementați propriul sistem OpenStack, deschizând calea către o infrastructură IT mai eficientă și mai controlabilă. Succes în călătoria dumneavoastră în lumea cloud-ului privat!

Dacă vrei să descoperi și alte articole similare cu OpenStack: Cloud Privat și Administrare Eficientă, poți vizita categoria Fitness.

Go up