Управление на OpenVZ сървър (III)

Здравейте отново всички. Днес ще продължим с тази поредица статии за администрирането на OpenVZ, В предишен пост ние обхващаме всичко, свързано с монтаж от OpenVZ.

Така че, ако всичко върви добре, вече трябва да имаме нашия сървър OpenVZ инсталиран и готов за започване на работа с него.

Днес ще говорим за всичко, свързано с администрирането на контейнери, както неговото създаване, така и неговата конфигурация и управление.

Създаване на контейнери

Лос контейнери o електромобилите Те са виртуални среди (виртуални машини), които ще създаваме и управляваме с нашия сървър OpenVZ. За да ги създадем, трябва да имаме шаблон.

Лос шаблони те са моделът, от който ще бъде изграден контейнерът. Те съдържат различните пакети, необходими за работата на системата и някои основни приложения, както и всички метаданни (кеш на шаблон) за изграждане и конфигуриране на машината.

Има различни шаблони разпределения de Linux. Някои от тях се поддържат официално, а други са приноси от общността.

Най-простият начин да ги получите е да използвате един от предварително създадени шаблони. Те са получени чрез създаване на контейнер от шаблон и след това опаковането му във файл gzip.

Тези компресирани файлове ще бъдат тези, които ще изтеглим и от които ще създадем свои собствени контейнери. По този начин създаването на контейнери е много по-бързо и лесно, отколкото в миналото, когато кешът трябваше да се генерира на ръка. Всичко, което трябва да направите днес, е да изтеглите файла от избраната от вас дистрибуция от тази страница:

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

Веднъж изтеглени, ние го запазваме, както е в тази директория на нашия сървър:

/vz/template/cache

Сега можем да създадем нашите контейнери от инсталираните шаблони. Първото нещо, което трябва да имате предвид, е, че всеки контейнер има свързан с него цифров идентификатор, който служи за идентифициране на VE и че не може да се повтори в рамките на един и същ физически хост.

Също така идентификаторът трябва да е по-голям от 100, тъй като идентификаторите от 0 до 100 се използват от системата.

За да управлявате контейнери, най-важната команда е vzctl. Следният синтаксис се използва за създаване на нов контейнер:

#vzctl create --ostemplate template --config config_file

В ostemplate поставяме името на шаблона, който сме изтеглили преди. Конфигурационният параметър не е задължителен. В него поставяте името на файл с предварително дефинирани конфигурации за контейнерите.

Ако не го посочим, ще трябва да ги сложим на ръка. Конфигурационните файлове се намират на:

/etc/sysconfig/vz-scripts

Имената на файловете имат тази структура:

ve-nombre_config.conf-sample

Най-често срещаният е basic (ve-basic.conf-sample). Можем да използваме тези, които са създадени по подразбиране или да направим свои собствени. Във всеки случай всички посочени стойности могат да бъдат модифицирани по-късно.

Например, за да създадем контейнер с ID 101, от шаблон на debian, който изтеглихме преди и използвайки основната конфигурация, изпълняваме:

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

Конфигурация на контейнера

След като създадохме нашия контейнер, можем да преминем към неговото конфигуриране. За това използваме следния синтаксис:

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

Има много параметри, които можем да конфигурираме. За да се консултираме с тях, всички можем да отидем на ръководството vzctl (#човек vzctl) или да openvz wiki.

За да ги променим, те остават след изключване на системата, трябва да добавим –съхранение в края на командата. Ако не, ще продължи само до следващото изключване.

Тук ще обясним някои от най-основните команди:

Конфигурирайте контейнера да се стартира, когато компютърът се стартира или не.
onboot [yes/no]

Посочете името на хоста на компютъра
hostname

Добавете IP адрес към устройството. Те се добавят кумулативно.
ipadd

Ако искаме да изтрием някоя от предварително конфигурираните, трябва да използваме:
ipdel dir_ip|all

Конфигурирайте адреса на DNS сървърите. Можете да използвате тази опция няколко пъти в една и съща команда, за да конфигурирате множество сървъри. Това ще замени всички предварително конфигурирани сървъри на имена.
nameserver

Задайте паролата за системен потребител. Ако не съществува, създайте го. Препоръчително е да не използвате този параметър заедно с други. Не е необходимо да се използва save с този параметър.

userpasswd user:password

Показва реда, в който машината ще стартира при стартиране. Колкото по-голям е броят, толкова по-голям приоритет ще има той. Ако не е конфигуриран, се счита, че има най-нисък приоритет и всеки друг конфигуриран контейнер ще стартира първи.

bootorder

И накрая, оставям ви като пример изпълнението на основна конфигурация за контейнер 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

Управление на контейнери

След като създадем и конфигурираме нашите контейнери, можем да ги управляваме. За целта отново ще използваме командата vzctl. Някои от основните команди за управление на контейнери са изброени по-долу:

Стартирайте контейнера
#vzctl start ID

Спира контейнера
#vzctl stop ID

Спира контейнера, без да чака всички негови процеси да спрат
#vzctl stop ID --fast

Казва ни състоянието на контейнера
#vzctl status ID

Унищожете контейнера. Преди да е необходимо да го спрете.
#vzctl destroy ID

Влизате в машината през командния ред, сякаш имаме достъп до ssh.
#vzctl enter ID

Изпълнете команда в контейнера.
#vzctl exec ID comando

Избройте контейнерите, които са активни на сървъра. С опцията -a избройте и задържаните.
#vzlist

Това е всичко за днес. С това завършваме най-основната част от администрацията на OpenVZ.

В следващите няколко статии ще говорим за по-усъвършенствани процедури, като управление на ресурси, изпълнение архивиране или използването на мляко.

Дотогава можете да опитате всичко, което обяснихме досега. Както винаги, оставете всички въпроси, които имате, в коментарите и до скоро. Дълъг живот и просперитет.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   елав каза той

    Отлична статия !! 😉

    1.    666 каза той

      Много благодаря!. Много се радвам, че успях да публикувам тези статии. Ще продължа да работя усилено и да си сътруднича, където мога. Дълъг живот и просперитет.

  2.   OCZ каза той

    Много интересни статии за OpenVZ. Да видим дали ме насърчавате да го пробвам, отдавна съм си гледал въпроса. Тук оставям няколко коментара:

    Напълно не знам как работи OpenVZ и едно от големите съмнения, които имам, е защо е необходимо да настроите мрежовата конфигурация на ръка за всяка машина. Не можете да го получите от DHCP сървър? Тоест, може ли да се предостави MAC + мост и след това машините да се управляват сами, за да получат мрежовата конфигурация? (Защото в статиите за OpenVZ, които успях да прочета, той винаги е конфигуриран с IPv4, но какво да кажем за IPv6?)

    Нещо повече, ако трябваше да конфигурирам статично мрежовите настройки, какво лошо има да го правя от "вътре" на машината? И какво е това, за да присвоите име на хост от хоста? Накратко, изглежда ми излишно и излишно и бих искал да знам защо е необходимо или препоръчително.

    Между другото, не знам дали ще засегнете темата, но бих се интересувал от статия за сигурността и поверителността при използването на OpenVZ. Във VirtualBox съм свикнал да не се "виждам" нито с хоста, освен ако искам чрез мрежа или споделени папки. Чудя се например какъв риск съществува при създаването на меден съд с OpenVZ. Коментирам го като идея, в случай че искате да пишете за него.

    1.    666 каза той

      Много се радвам, че харесвате публикациите и ви препоръчвам да опитате OpenVZ. Ще видите, че е невероятно лесно да се управлява.

      Що се отнася до вашите съмнения, повечето са свързани с неща, за които все още не сме говорили. Но ще ви дам малко въведение, за да ги разрешите.

      Първото нещо, което трябва да знаете, е, че в OpenVZ има два типа конфигурации за мрежата. Може да се използва Venet или Veth. Първият е подобен на частна мрежа, т.е.достъпен само от контейнерите и физическия хост. В очите на други машини в мрежата сякаш те не съществуват. От друга страна, veth е виртуална мрежова карта, която кара контейнера да работи като друг компютър в мрежата и може да бъде достъпен от други машини. Той също така позволява по-разширени опции като използването на DHCP или мрежовата конфигурация от контейнера.

      По отношение на IPv6 и двата режима го поддържат. Можете да използвате командата ipadd без ipv6 адрес без проблеми. Разбира се, с venet не всички функции работят. Тъй като картата на venet няма свързан MAC, неща като откриване на съседи или реклами на рутери не работят.

      Що се отнася до факта, че трябва да конфигурирате характеристиките външно, според мен това е начин да улесните работата на администраторите. Позволява ви да променяте характеристиките лесно и може да го автоматизира почти без усилие. И, както споменах в статията, можете да създадете свой собствен конфигурационен модел, от който да създавате машините, като по този начин елиминирате много главоболия.

      И накрая, по отношение на сигурността, силно се препоръчва използването на OpenVZ за създаване на медни съдове. OpenVZ напълно изолира контейнерите от физическата система и изглежда реален за нападателя. И всичко това с много ниско потребление на ресурси. Това е чудесна възможност за изграждане на медни съдове (въпреки че има по-прости и специално фокусирани опции за него).

      Надявам се да съм разрешил съмненията ви. Ако имате друга или тема, която бихте искали да разгледам, не се колебайте да го кажете. Ще се видим скоро. Дълъг живот и просперитет.

  3.   Gabriel каза той

    Здравейте, тази поредица от публикации е много добра, исках да се консултирам със следното: Опитвам се да възстановя някои резервни копия на някои контейнери на OpenVZ (някои .tar файлове), които се изпълняват на хост с Ubuntu Server, те се правят със следното команда:

    vzdump –suspend ID –mailto root –dumpdir / архиви / файл

    Този хост има следната версия: vzctl версия 3.0.22
    Сега идеята би била да мога да възстановя тези контейнери на сървър CentOS 6. При създаването на нови виртуални машини нямам проблеми, но не мога да намеря начин да възстановя тези архиви (на CentOS имам следната версия: vzctl версия 4.7.2)

    Прочетох това:
    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
    И разбира се това би било публикация 😉 😀

    От това, което видях, че повечето от тях говорят за използването на vzrestore или vzdump –restore, но не мога да накарам възстановяването да работи. (Нямам vzrestore в CentOS 6 и нямам флага –restore и в vzdump) Със сигурност нещо ми убягва поради липса на опит по въпроса 😛

    Тук идват въпросите:
    Възможно ли е да правя това, което искам? Някаква пречка?
    Какъв би бил начинът да го направя? Трябва ли да инсталирам vzrestore по някакъв начин?
    Препоръка? Четене?

    Благодаря за вашия принос, поздрави

    1.    666 каза той

      Здравейте, благодаря за вашия коментар.

      По отношение на вашите въпроси, по принцип не би трябвало да има проблем. Всъщност си спомням, че се натъкнах на това отдавна и го реших навремето. Но в момента нямам достъп до документацията, която направих за себе си и тъй като не съм я пипал от известно време, не мога да си спомня. Но не се отчайвайте, след малко ще инсталирам машина с OpenVZ и след малко ще ви го реша. И така между другото, може би ще се върна към тази поредица от постове, които малко съм изоставил.

      Дълъг живот и просперитет.

      1.    Gabriel каза той

        Благодаря за отговора ви, наистина бих оценил, ако можете да го видите.
        (Освен това новите публикации, които могат да се появят по темата, със сигурност са много полезни)

        Едно от нещата, които привличат вниманието ми, е, че в CentOS 6.5, който инсталирам, това са инструментите, които той инсталира:
        vzcalc, vzcptcheck, vzctl, vzdqdump, vzeventd, vzifup-post, vzmemcheck, vznetaddbr, vzoversell, vzquota, vzstats, vzubc, vzcfgvalidate, vzcpucheck, vzdqqcheck, vzmigt-vzmigplqznet, vzmgzgltvp, vzmgzlgtp, vzmgzglvpl

        Следвайки стъпките в официалната документация: https://openvz.org/Quick_Installation_CentOS_6
        И във флаговете, които виждам в vzdqdump man, нямам флаг за възстановяване. Също така виждам, че в vzctl man имам някои флагове –snapshot *, но не знам дали това търся или как да ги използвам точно.

    2.    666 каза той

      Е, след като се бих с openvz и мъчителната лекота на документацията му, мисля, че най-накрая го разбрах. Всъщност трябва да използвате vzrestore, който се доставя в комплект с vzdump. Но в CentOS те не са инсталирани и трябва да го направите на ръка. Процесът е малко объркан (достатъчно, за да удариш главата си в клавиатурата), затова импровизирах статия в мой блог, който отворих наскоро.

      URL адресът е: https://kamisama666.github.io/2014/07/instalacion-vzdump-centos6/

      Надявам се, че съм бил от помощ, ще ми кажете как е минало. О, и тъй като питате, опцията "моментна снимка" работи само за контейнери от тип ploop, което е различна форма на съхранение от обичайната в openvz. По-интересно е „суспендиране“ и „възстановяване“, които са в състояние да запазят състоянието на контейнер и да го възстановят по-късно (но не, не е съвместимо с vzdump). Така или иначе, за да видя дали ще повторя публикациите и ще говоря за тези неща.

      Дълъг живот и просперитет.

      1.    Gabriel каза той

        Нямате представа какво оценявам този пост. В понеделник ще го пробвам и ще ви кажа, очаквам с нетърпение да възобновите нова поредица от публикации по темата. И разбира се ще споделя вашия пост, че със сигурност някой друг го намира за полезен 😉 Ще ви разкажа как беше в понеделник, поздрави.

    3.    666 каза той

      Me aligro de que te haya servido de ayuda. De hecho, ya que tenía el post hecho, he aprovechado y lo he publicado también en desdelinux para que lo vea más gente. Lo puedes encontrar aquí:

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

      Дълъг живот и просперитет

  4.   jcrisdro каза той

    Приятелю, имам проблем следвайки стъпките за конфигуриране, въпросът е, че от машината, където конфигурирам новата си виртуална машина, се вижда, но от мрежовия сегмент не е, например:

    Имам сегмент 1. *, хостът ми A има 1.50, а новата VM B има 1.201, от машина A виждам B, но не и от друг компютър, свързан към същата мрежа,

    Бихте могли да ме илюстрирате с това, което не успявам

  5.   Дарио каза той

    Отлична статия и много ми помогна, сега заявка, имам контейнер, който вече е в производство с шаблон на debian-7 и искам да го актуализирам до debian-8 същия контейнер, как да го направя?

    1.    666 каза той

      Здравейте благодаря ви много. От известно време съм изключен от OpenVZ, но ще се опитам да ви помогна с каквото мога.

      На първо място бих ви казал, че ако е възможно, помислете за създаване на нов контейнер от шаблона на Debian 8 и постепенно мигриране на данните и конфигурацията от стария контейнер към новия. След това просто трябва да поставите IP на старата машина на новата и фиксирана. Това е най-лесният и опростен начин.

      От друга страна, ако това не е възможно по някаква причина, на теория е възможно да актуализирате дистрибуцията от самия контейнер, както бихте направили на всяка друга машина на Debian. Но съм чувал от хора, които са имали проблеми с това, така че първо опитайте с всеки друг контейнер. И ако имате проблеми, има няколко сайта, които говорят за това как да ги разрешите (на английски):

      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

      Погледнете най-вече първата, която е най-новата и ви обяснява всичко стъпка по стъпка.

      Разбира се, преди да правите някакви промени в контейнера си в производството, дори не е нужно да ви казвам да направите резервно копие на контейнера, студено или горещо, според случая, в случай че нещо се обърка.

      Надявам се да съм помогнал. Дълъг живот и просперитет.

    2.    666 каза той

      Здравейте благодаря ви много. От известно време съм изключен от OpenVZ, но се надявам да мога да ви помогна.

      На първо място, ако няма нищо, което да ви спре, препоръчвам ви да създадете нов контейнер с шаблона Debian 8 и да мигрирате всички конфигурации, данни и софтуер там. След като всичко работи, просто трябва да смените IP на стария контейнер и да го поставите в новия. Това е най-простият и бърз начин наистина.

      Ако по някаква причина не е възможно да направите това, на теория е възможно да актуализирате разпространението от самия контейнер. Просто трябва да го направите както на нормална машина на Debian. Но съм чувал от хора, които са имали проблеми, въпреки че не бива да се случва, ако поддържате актуализираното ядро ​​на хоста. Както и да е, най-доброто нещо, което можете да направите, е да опитате да актуализирате с друг контейнер с debian 7, за да сте сигурни, че той не създава проблеми. И ако намерите такива, ето няколко страници, които разказват как да го поправите (на английски):

      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&

      Особено интересен е първият, който е най-новият и обяснява всичко стъпка по стъпка.

      Въпреки това не е нужно да ви казвам, че каквото и да решите, не правете нищо с контейнера в производството, без първо да направите резервно копие, било топло или студено, в случай че нещо се случи.

      Надявам се да съм ви помогнал. Дълъг живот и просперитет

      1.    Дарио каза той

        Благодаря за отговора, помощта е страхотна, ще прочета статията и ще направя няколко теста и тогава ще ви кажа кой е най-добрият, поздрави.

  6.   рамонцин каза той

    Здравейте добре, имам грешка с контейнерите openvz и не мога да намеря никаква логика. Виждайки този блог с част от коментари, стартирам заявката тук, в случай че някой може да ми помогне.

    Инсталирах openvz без проблем и създадох контейнери без проблем, монтирах проста уеб услуга в един от тях и получих достъп.

    Факт е, че когато се опитвам да извърша актуализация, например: »apt-get update», това ми казва, че няма връзка с ips на хранилищата и не изтегля нищо, така че не мога да актуализирам или инсталирам нови пакети. Ако пингнете тези ips, има ли нещо, което да ми липсва?

    Благодаря предварително

    1.    рамонцин каза той

      Здравей отново.

      Отне ми много време да отговоря, но решението намерих отдавна и не исках да го оставя в ефир.

      Проблемът беше най-вече в това, че не съм много умен, обикновено той е източникът на повечето ми проблеми, имах nateo, който пренасочваше всичко, което дойде през порт 80 към обратния прокси сървър, когато правеше актуализацията apt-get, тя го стартира но отговорите бяха пренасочени към споменатия екип, конфигурирането на iptables правилно го решава и всичко върви гладко, както е логично.

      Благодаря за входа на OpenVZ, той ми помогна да го конфигурирам доста добре

      PS: Научих, че актуализациите се извършват през порт 80, мислех, че ще използвам произволен от 1000 ...

      За поздрав.