Zarządzanie serwerem OpenVZ (III)

Witam wszystkich ponownie. Dzisiaj będziemy kontynuować artykuły z tej serii dotyczące administracji domen OpenVZ, W Poprzedni post zajmujemy się wszystkim, co dotyczy instalacja przez OpenVZ.

Więc jeśli wszystko poszło dobrze, powinniśmy już mieć nasz serwer OpenVZ zainstalowany i gotowy do pracy z nim.

Dziś porozmawiamy o wszystkim, co wiąże się z administracją pojemniki, zarówno jego tworzenia, jak i konfiguracji oraz zarządzania.

Tworzenie kontenerów

L pojemniki o Ty Są to wolne środowiska wirtualne (maszyny wirtualne), które będziemy tworzyć i zarządzać nimi za pomocą naszego serwera OpenVZ. Aby je stworzyć, musimy mieć szablon.

L Szablony są modelem, z którego zostanie zbudowany kontener. Zawierają różne pakiety niezbędne do działania systemu i kilka podstawowych aplikacji, a także wszystkie metadane (pamięć podręczna szablonów) do budowy i konfiguracji maszyny.

Istnieją różne szablony dystrybucje de Linux. Niektóre z nich są oficjalnie utrzymywane, a inne są wkładem społeczności.

Najprostszym sposobem na ich zdobycie jest użycie jednego z plików gotowe szablony. Uzyskano je, tworząc kontener z szablonu, a następnie pakując go w plik gzip.

Te skompresowane pliki będziemy pobierać iz których utworzymy własne kontenery. W ten sposób tworzenie kontenerów jest dużo szybsze i łatwiejsze niż kiedyś, kiedy cache trzeba było generować ręcznie. Wszystko, co musisz zrobić dzisiaj, to pobrać plik wybranej dystrybucji z tej strony:

http://openvz.org/Download/template/precreated

Po pobraniu zapisujemy go tak, jak jest w tym katalogu na naszym serwerze:

/vz/template/cache

Teraz możemy stworzyć nasze pojemniki z zainstalowanych szablonów. Pierwszą rzeczą, o której należy pamiętać, jest to, że każdy kontener ma powiązany identyfikator numeryczny, który jest używany do identyfikacji VE, i że nie można go powtórzyć w tym samym hoście fizycznym.

Ponadto identyfikator musi być większy niż 100, ponieważ identyfikatory od 0 do 100 są używane przez system.

Do zarządzania kontenerami najważniejszym poleceniem jest vzctl. Do tworzenia nowego kontenera używana jest następująca składnia:

#vzctl create --ostemplate template --config config_file

W ostemplate umieszczamy nazwę szablonu, który pobraliśmy wcześniej. Parametr config jest opcjonalny. W nim umieszczasz nazwę pliku z predefiniowanymi konfiguracjami dla kontenerów.

Jeśli tego nie określimy, będziemy musieli przyłożyć je ręcznie. Pliki konfiguracyjne znajdują się pod adresem:

/etc/sysconfig/vz-scripts

Nazwy plików mają następującą strukturę:

ve-nombre_config.conf-sample

Najczęściej jest to basic (ve-basic.conf-sample). Możemy korzystać z tych, które są tworzone domyślnie lub tworzyć własne. W każdym razie wszystkie określone wartości można później zmodyfikować.

Na przykład, aby stworzyć kontener o ID 101, z szablonu Debiana, który pobraliśmy wcześniej i używając podstawowej konfiguracji, wykonujemy:

#vzctl create 101 --ostemplate debian-6.0-x86 --config basic

Konfiguracja kontenera

Teraz, gdy stworzyliśmy nasz kontener, możemy przejść do jego konfiguracji. W tym celu używamy następującej składni:

#vzctl set --parametro valor --parámetro valor […]

Istnieje wiele parametrów, które możemy skonfigurować. Aby się z nimi zapoznać, wszyscy możemy przejść do podręcznika vzctl (#mężczyzna vzctl) lub openvz wiki.

Abyśmy mogli je zmienić, są one zachowywane po zamknięciu systemu, musimy dodać –zapisz na końcu polecenia. Jeśli nie, będzie trwać tylko do następnego wyłączenia.

Tutaj wyjaśnimy niektóre z najbardziej podstawowych poleceń:

Skonfiguruj kontener tak, aby był uruchamiany w momencie uruchamiania komputera.
onboot [yes/no]

Określ nazwę hosta komputera
hostname

Dodaj adres IP do urządzenia. Są dodawane łącznie.
ipadd

Jeśli chcemy usunąć którekolwiek z wcześniej skonfigurowanych musimy użyć:
ipdel dir_ip|all

Skonfiguruj adresy serwerów DNS. Możesz użyć tej opcji wiele razy w tym samym poleceniu, aby skonfigurować wiele serwerów. Spowoduje to nadpisanie wszystkich wcześniej skonfigurowanych serwerów nazw.
nameserver

Ustaw hasło dla użytkownika systemu. Jeśli nie istnieje, utwórz go. Zaleca się nie używać tego parametru razem z innymi. Nie trzeba go używać save z tym parametrem.

userpasswd user:password

Wskazuje kolejność, w jakiej maszyna będzie się uruchamiać podczas uruchamiania. Im wyższa liczba, tym wyższy priorytet. Jeśli nie jest skonfigurowany, uważa się, że ma najniższy priorytet, a każdy inny skonfigurowany kontener zostanie uruchomiony jako pierwszy.

bootorder

Na koniec zostawiam Wam jako przykład wykonanie podstawowej konfiguracji dla kontenera 101

#vzctl set 101 --onboot yes --hostname virtualhost --ipadd 192.168.1.10 --nameserver 8.8.8.8 --nameserver 4.4.4.4 --save #vzctl set 101 --userpasswd root: 1234

Zarządzanie pojemnikami

Po utworzeniu i skonfigurowaniu naszych kontenerów możemy nimi zarządzać. Aby to zrobić, ponownie użyjemy polecenia vzctl. Poniżej wymieniono niektóre podstawowe polecenia do zarządzania kontenerami:

Uruchom pojemnik
#vzctl start ID

Zatrzymuje pojemnik
#vzctl stop ID

Zatrzymuje kontener bez czekania na zatrzymanie wszystkich jego procesów
#vzctl stop ID --fast

Mówi nam o stanie pojemnika
#vzctl status ID

Zniszcz pojemnik. Zanim będzie trzeba to zatrzymać.
#vzctl destroy ID

Wchodzisz do maszyny za pomocą wiersza poleceń, tak jakbyśmy uzyskali dostęp przez ssh.
#vzctl enter ID

Uruchom polecenie w kontenerze.
#vzctl exec ID comando

Lista kontenerów, które są aktywne na serwerze. W przypadku opcji -a wymień również zatrzymanych.
#vzlist

To wszystko na dziś. Na tym kończymy najbardziej podstawową część administracji OpenVZ.

W kolejnych artykułach porozmawiamy o bardziej zaawansowanych procedurach, takich jak zarządzanie zasobami, wykonywanie Kopie zapasowe lub użycie pluć.

Do tego czasu możesz spróbować wszystkiego, co do tej pory wyjaśniliśmy. Jak zwykle zostawcie wszelkie pytania w komentarzach i do zobaczenia wkrótce. Długie życie i dobrobyt.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   pełen życia powiedział

    Świetny artykuł !! 😉

    1.    kamisama666 powiedział

      Wielkie dzięki!. Bardzo się cieszę, że mogłem opublikować te artykuły. Będę nadal ciężko pracować i współpracować, gdzie tylko będę mógł. Długie życie i dobrobyt.

  2.   Ocz powiedział

    Bardzo ciekawe artykuły o OpenVZ. Zobaczmy, czy zachęcisz mnie do wypróbowania, mam na to oko od dawna. Tutaj zostawiam kilka komentarzy:

    Jestem zupełnie nieświadomy tego, jak działa OpenVZ, a jednym z głównych pytań, które mam, jest to, dlaczego konieczne jest ręczne ustawienie konfiguracji sieci dla każdej maszyny. Nie możesz pozwolić, aby uzyskał to z serwera DHCP? To znaczy, czy możesz dać mu most MAC +, a następnie maszyny same sobie poradzą, aby uzyskać konfigurację sieci? (Ponieważ w artykułach o OpenVZ, które udało mi się przeczytać, zawsze jest skonfigurowany z IPv4, ale co z IPv6?)

    Co więcej, gdybym musiał statycznie konfigurować ustawienia sieciowe, co jest złego w robieniu tego „z wnętrza” maszyny? A co to znaczy przypisać nazwę hosta z hosta? Krótko mówiąc, wydaje mi się to zbędne i zbędne, a chciałbym wiedzieć, dlaczego jest to konieczne lub zalecane.

    Nawiasem mówiąc, nie wiem, czy zamierzasz poruszyć ten temat, ale byłbym zainteresowany artykułem na temat bezpieczeństwa i prywatności w korzystaniu z OpenVZ. W VirtualBox jestem przyzwyczajony do tego, że nie „widzę” siebie ani z hostem, chyba że chcę przez sieć lub foldery współdzielone. Zastanawiam się na przykład, jakie ryzyko wiąże się z ustawieniem honeypot z OpenVZ. Komentuję to jako pomysł na wypadek, gdybyś chciał o tym napisać.

    1.    kamisama666 powiedział

      Bardzo się cieszę, że podobają Ci się posty i zachęcam do wypróbowania OpenVZ. Przekonasz się, że jest to niezwykle łatwe w zarządzaniu.

      Jeśli chodzi o Twoje wątpliwości, większość dotyczy spraw, o których jeszcze nie rozmawialiśmy. Ale dam ci małe wprowadzenie, aby je rozwiązać.

      Pierwszą rzeczą, którą musisz wiedzieć, jest to, że w OpenVZ istnieją dwa rodzaje konfiguracji sieci. Można zastosować Venet lub veth. Pierwsza jest podobna do sieci prywatnej, to znaczy dostępna tylko z kontenerów i fizycznego hosta. W oczach innych maszyn w sieci to tak, jakby ich nie było. Z drugiej strony veth to wirtualna karta sieciowa, która sprawia, że ​​kontener działa jak inny komputer w sieci i jest dostępny dla innych maszyn. Pozwala także na bardziej zaawansowane opcje, takie jak użycie DHCP lub konfiguracja sieci z poziomu kontenera.

      Jeśli chodzi o IPv6, oba tryby go obsługują. Możesz bez problemu użyć polecenia ipadd z adresem IPv6. Oczywiście z venetem nie wszystkie funkcje działają. Ponieważ karta Venet nie ma skojarzonego adresu MAC, takie rzeczy jak wykrywanie sąsiadów lub reklamy routerów nie działają.

      Jeśli chodzi o to, że trzeba konfigurować charakterystyki zewnętrznie, to moim zdaniem jest to sposób na ułatwienie pracy administratorom. Umożliwia łatwą zmianę charakterystyk i prawie bez wysiłku zautomatyzowanie. I, jak wspomniałem w artykule, możesz stworzyć swój własny model konfiguracji, na podstawie którego będziesz tworzyć maszyny, eliminując w ten sposób wiele problemów.

      Wreszcie, jeśli chodzi o bezpieczeństwo, zdecydowanie zalecane jest używanie OpenVZ do tworzenia honeypotów. OpenVZ całkowicie izoluje kontenery od systemu fizycznego i wydaje się atakującemu rzeczywistością. A wszystko to przy bardzo niskim zużyciu zasobów. To świetna opcja do budowania honeypotów (chociaż istnieją prostsze i bardziej ukierunkowane opcje).

      Mam nadzieję, że rozwiałem Twoje wątpliwości. Jeśli masz jakiś inny temat, który chciałbyś abym poruszył, nie wahaj się o tym powiedzieć. Do zobaczenia wkrótce. Długie życie i dobrobyt.

  3.   Gabriel powiedział

    Witam, ta seria postów jest bardzo dobra, chciałem zapoznać się z następującymi kwestiami: Próbuję przywrócić niektóre kopie zapasowe niektórych kontenerów OpenVZ (niektóre pliki .tar), które są uruchomione na hoście z Ubuntu Server, są one wykonane z następującym Komenda:

    vzdump –zawieszanie ID –mail do katalogu głównego –dumpdir / backups / file

    Ten host ma następującą wersję: vzctl w wersji 3.0.22
    Teraz pomysł polegałby na tym, aby móc przywrócić te kontenery na serwerze CentOS 6. Podczas tworzenia nowych maszyn wirtualnych nie mam żadnych problemów, ale nie mogę znaleźć sposobu na przywrócenie tych kopii zapasowych (na CentOS mam następującą wersję: vzctl wersja 4.7.2)

    Przeczytałem to:
    https://openvz.org/Quick_Installation_CentOS_6
    http://wiki.centos.org/HowTos/Virtualization/OpenVZ
    http://www.howtoforge.com/installing-and-using-openvz-on-centos-6.4-p2
    I oczywiście byłby to post 😉 😀

    Z tego, co widziałem, większość z nich mówi o używaniu vzrestore lub vzdump –restore, ale nie mogę uruchomić funkcji przywracania. (W CentOS 6 nie mam vzrestore i nie ma też flagi –restore w vzdump) Na pewno coś mi umyka z powodu braku doświadczenia na ten temat 😛

    Oto pytania:
    Czy mogę robić to, co chcę? Jakaś przeszkoda?
    Jaki byłby sposób, aby to zrobić? Czy powinienem jakoś zainstalować vzrestore?
    Zalecenie? Czytanie?

    Dziękuję za wkład, pozdrawiam

    1.    kamisama666 powiedział

      Cześć, dziękuję za komentarz.

      Jeśli chodzi o twoje pytania, w zasadzie nie powinno być problemu. Właściwie pamiętam, że zetknąłem się z tym dawno temu i wtedy to rozwiązałem. Ale w tej chwili nie mam dostępu do dokumentacji, którą zrobiłem dla siebie, a ponieważ od jakiegoś czasu jej nie dotykałem, nie pamiętam. Ale nie rozpaczaj, za chwilę zainstaluję maszynę z OpenVZ, a za chwilę to rozwiążę. I tak przy okazji może wrócę do tej serii postów, którą trochę porzuciłem.

      Długie życie i dobrobyt.

      1.    Gabriel powiedział

        Dziękuję za odpowiedź, byłbym wdzięczny, gdybyś mógł to zobaczyć.
        (Poza tym nowe posty, które mogą wyjść na ten temat, są z pewnością bardzo przydatne)

        Jedną z rzeczy, które przykuwają moją uwagę, jest to, że w CentOS 6.5, które instaluję, są to narzędzia, które instaluje:
        vzcalc, vzcptcheck, vzctl, vzdqdump, vzeventd, vzifup-post, vzmemcheck, vznetaddbr, vzoversell, vzquota, vzstats, vzubc, vzcfgvalidate, vzcpucheck, vzmemcheck, vznetaddbr, vzoversell, vzquota, vzstats, vzubc, vzcfgvalidate, vzcpucheck, vzmemcheck, vznetaddbr, vzoversell, vzquota, vzstats, vzubc, vzcfgvalidate, vzcpucheck, vzdqqcheck, vzmplt -zmplt, vzmplt -zmplt

        Postępując zgodnie z instrukcjami w oficjalnej dokumentacji: https://openvz.org/Quick_Installation_CentOS_6
        A we flagach, które widzę w man vzdqdump, nie mam flagi –restore. Widzę też, że w man vzctl mam kilka flag - migawka *, ale nie wiem, czy tego właśnie szukam i jak ich dokładnie używać.

    2.    kamisama666 powiedział

      Cóż, po walce z openvz i potworną lekkością jego dokumentacji, myślę, że w końcu to rozgryzłem. W rzeczywistości musisz użyć vzrestore, który jest dostarczany w pakiecie z vzdump. Ale w CentOS nie są one instalowane i musisz to zrobić ręcznie. Proces jest nieco zawiły (wystarczy, że uderzysz głową w klawiaturę), więc zaimprowizowałem artykuł na moim blogu, który niedawno otworzyłem.

      adres URL to: https://kamisama666.github.io/2014/07/instalacion-vzdump-centos6/

      Mam nadzieję, że byłem pomocny, powiesz mi, jak poszło. Aha, a skoro pytasz, opcja "migawka" działa tylko dla kontenerów typu ploop, który jest inną formą przechowywania niż zwykle w openvz. Bardziej interesujące jest "zawieszanie" i "przywracanie", które są w stanie zapisać stan kontenera i przywrócić go później (ale nie, nie jest to zgodne z vzdump). W każdym razie, żeby zobaczyć, czy ponownie przeglądam posty i rozmawiam o tych rzeczach.

      Długie życie i dobrobyt.

      1.    Gabriel powiedział

        Nie masz pojęcia, za co doceniam ten post. W poniedziałek spróbuję i powiem, że nie mogę się doczekać wznowienia nowej serii postów na ten temat. I oczywiście podzielę się swoim postem, który na pewno komuś się przyda 😉 powiem Ci jak było w poniedziałek, pozdrawiam.

    3.    kamisama666 powiedział

      Cieszę się, że ci to pomogło. Tak naprawdę, skoro już napisałem post, skorzystałem i również go opublikowałem desdelinux żeby więcej osób mogło to zobaczyć. Znajdziesz go tutaj:

      https://blog.desdelinux.net/vzdump-instalarlo-centos-6-5/

      Długie życie i dobrobyt

  4.   jcrisdro powiedział

    Przyjacielu mam problem z podążaniem za krokami konfiguracji pytanie czy z maszyny na której konfiguruję jest widoczna moja nowa VM, ale z segmentu sieciowego nie jest to np:

    Mam segment 1. *, mój host A ma 1.50, a nowa VM B ma 1.201, z maszyny A widzę B, ale nie z innego komputera podłączonego do tej samej sieci,

    Mógłbyś mnie zilustrować tym, czego zawodzę

  5.   dario powiedział

    Świetny artykuł i bardzo mi pomógł, teraz zapytanie, mam kontener już w produkcji z szablonem debian-7 i chcę go zaktualizować do tego samego kontenera debian-8, jak mam zrobić?

    1.    kamisama666 powiedział

      Cześć dziękuje Ci bardzo. Od jakiegoś czasu jestem odłączony od OpenVZ, ale postaram się pomóc Ci jak najwięcej.

      Przede wszystkim chciałbym powiedzieć, że jeśli to możliwe, rozważysz utworzenie nowego kontenera niż szablon Debian 8 i stopniową migrację danych i konfiguracji ze starego kontenera do nowego. Następnie wystarczy ustawić adres IP starej maszyny na nowy i naprawić. To najłatwiejszy i najprostszy sposób.

      Z drugiej strony, jeśli z jakiegoś powodu nie jest to możliwe, teoretycznie możliwa jest aktualizacja dystrybucji z poziomu samego kontenera, tak jak na każdej innej maszynie Debiana. Ale słyszałem od osób, które miały z tym problem, więc najpierw spróbuj z jakimkolwiek innym pojemnikiem. A jeśli masz problemy, oto kilka witryn, które mówią o tym, jak je rozwiązać (w języku angielskim):

      https://www.skelleton.net/2015/05/04/upgrading-debian-guests-on-proxmox-to-jessie/
      http://forum.openvz.org/index.php?t=msg&goto=51280&
      http://justinfranks.com/linux-administration/upgrade-openvz-vps-from-debian-7-wheezy-64-bit-to-debian-8-jessie-64-bit

      Szczególnie spójrz na pierwszy, który jest najnowszy i wyjaśnia wszystko krok po kroku.

      Oczywiście przed wprowadzeniem jakichkolwiek zmian w kontenerze w produkcji nie muszę nawet mówić, aby wykonać kopię zapasową kontenera, odpowiednio zimnego lub gorącego, na wypadek, gdyby coś poszło nie tak.

      Mam nadzieję, że pomogłem. Długie życie i dobrobyt.

    2.    kamisama666 powiedział

      Cześć dziękuje Ci bardzo. Od jakiegoś czasu jestem odłączony od OpenVZ, ale mam nadzieję, że mogę ci pomóc.

      Przede wszystkim, jeśli nic Cię nie powstrzyma, zalecam utworzenie nowego kontenera z szablonem Debian 8 i migrację tam wszystkich konfiguracji, danych i oprogramowania. Gdy wszystko już działa, wystarczy zmienić adres IP starego kontenera i umieścić go w nowym. To naprawdę najprostszy i najszybszy sposób.

      Jeśli z jakiegoś powodu nie możesz tego zrobić, teoretycznie możesz zaktualizować dystrybucję z poziomu samego kontenera. Musisz to zrobić tak, jak na normalnej maszynie Debiana. Ale słyszałem od ludzi, którzy mieli problemy, chociaż nie powinno się to zdarzyć, jeśli aktualizujesz jądro hosta. W każdym razie, najlepszą rzeczą, jaką możesz zrobić, jest próba aktualizacji za pomocą innego kontenera z debianem 7, aby upewnić się, że nie powoduje on problemów. A jeśli jakieś znajdziesz, oto kilka stron, które mówią o tym, jak to naprawić (w języku angielskim):

      https://www.skelleton.net/2015/05/04/upgrading-debian-guests-on-proxmox-to-jessie/
      http://justinfranks.com/linux-administration/upgrade-openvz-vps-from-debian-7-wheezy-64-bit-to-debian-8-jessie-64-bit
      http://forum.openvz.org/index.php?t=msg&goto=51280&

      Szczególnie interesujący jest pierwszy, który jest najnowszy i wyjaśnia wszystko krok po kroku.

      Mimo to nie muszę Ci mówić, że cokolwiek zdecydujesz, nie rób nic z kontenerem w produkcji bez wcześniejszego wykonania kopii zapasowej, zimnej lub gorącej, na wypadek, gdyby coś się stało.

      Mam nadzieję, że ci pomogłem. Długie życie i dobrobyt

      1.    dario powiedział

        Dziękuję za odpowiedź, pomoc jest świetna, przeczytam artykuł i zrobię kilka testów, a potem powiem, który z nich był najlepszy, pozdrawiam.

  6.   ramoncyna powiedział

    Witam dobrze, mam błąd z kontenerami openvz i nie mogę znaleźć żadnej logiki. Widząc tego bloga z częścią komentarzy uruchamiam tutaj zapytanie na wypadek, gdyby ktoś mógł mi pomóc.

    Zainstalowałem openvz bez problemu i bez problemu stworzyłem kontenery, zamontowałem prostą usługę internetową w jednym z nich i uzyskałem dostęp.

    Faktem jest, że podczas próby wykonania aktualizacji, na przykład: »apt-get update» informuje mnie, że nie ma połączenia z adresami IP repozytoriów i niczego nie pobiera, więc nie mogę zaktualizować ani zainstalować nowych pakietów. Jeśli pingujesz te adresy IP, czy jest coś, czego mi brakuje?

    Z góry dziękuję

    1.    ramoncyna powiedział

      Witam ponownie.

      Odpowiedź zajęła mi dużo czasu, ale rozwiązanie znalazłem dawno temu i nie chciałem zostawiać go na antenie.

      Problem polegał głównie na tym, że nie jestem zbyt mądry, zwykle jest źródłem większości moich problemów, miałem nateo, które przekierowywało wszystko, co przeszło przez port 80 do odwrotnego proxy, podczas robienia aktualizacji apt-get uruchomiło ją ale odpowiedzi zostały przekierowane do wspomnianego zespołu, konfiguracja iptables poprawnie rozwiązuje problem i oczywiście wszystko idzie gładko.

      Dzięki za wkład w OpenVZ, pomogło mi to dość dobrze skonfigurować

      PS: Dowiedziałem się, że aktualizacje są wykonywane przez port 80, pomyślałem, że użyję losowego z 1000 ...

      Pozdrowienia.