Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-commits
Navigation:
Lists: gentoo-commits: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-commits@g.o
From: "Lukasz Damentko (rane)" <rane@g.o>
Subject: gentoo commit in xml/htdocs/proj/pl/vps: vserver-howto.xml
Date: Fri, 28 Sep 2007 02:22:17 +0000
rane        07/09/28 02:22:17

  Added:                vserver-howto.xml
  Log:
  new translation by Piotr Miedzik (qermit), rev. 1.10

Revision  Changes    Path
1.1                  xml/htdocs/proj/pl/vps/vserver-howto.xml

file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/vps/vserver-howto.xml?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/vps/vserver-howto.xml?rev=1.1&content-type=text/plain

Index: vserver-howto.xml
===================================================================
<?xml version='1.0' encoding="UTF-8"?>
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/pl/vps/vserver-howto.xml,v 1.1 2007/09/28 02:22:16 rane Exp $ -->
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<guide link="/proj/pl/vps/vserver-howto.xml" lang="pl">
<title>Linux-VServer w Gentoo</title>
<author title="Autor">
  <mail link="hollow@g.o">Benedikt Boehm</mail>
</author>
<author title="Redakcja">
  <mail link="fox2mike@g.o">Shyam Mani</mail>
</author>
<author title="Tłumaczenie">
   Paweł Kwiatkowski
</author>
<author title="Tłumaczenie">
  <mail link="miedzik_piotr@...">Piotr Miedzik</mail>
</author>

<abstract>
Opis instalacji wirtualnych serwerów przy użyciu technologii Linux-Vserver.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>

<version>1.10</version>
<date>2007-03-26</date>

<chapter>
<title>Wprowadzenie</title>
<section>
<title>Koncepcja Linux-VServer</title>
<body>

<p>
Linux-VServer pozwala na rozdzielenie przestrzeni użytkownika na jednostki, z
których każda jest osobnym serwerem dla procesów, które są w niej zawarte.
</p>

</body>
</section>
<section>
<title>Pojęcia użyte w tym przewodniku</title>
<body>

<table>
<tr>
  <th>Termin</th>
  <th>Opis</th>
</tr>
<tr>
  <th>Linux-VServer, VServer</th>
  <ti>
    Linux-VSerwer to oficjalna nazwa projektu i jest używana w tym przewodniku
    dokładnie w tym znaczeniu
  </ti>
</tr>
<tr>
  <th>vserwer, wirtualny serwer, gość</th>
  <ti>
    Wszystkie te terminy odnoszą się do pojedynczej instancji serwera (tj.
    jednego serwera wirtualnego)
  </ti>
</tr>
<tr>
  <th>komputer host, host</th>
  <ti>
    Komputer, na którym zainstalowany jest Gentoo Linux i na którym będą
    znajdować się wszystkie wirtualne serwery
  </ti>
</tr>
<tr>
  <th>util-vserver</th>
  <ti>
    Pakiet <c>util-vserver</c> zawiera wszystkie programy potrzebne do
    zarządzania serwerami wirtualnymi
  </ti>
</tr>
</table>

</body>
</section>
</chapter>

<chapter>
<title>Konfiguracja hosta</title>
<section>
<title>Instalacja jądra wspierającego VServer</title>
<body>

<pre caption="Instalacja vserver-sources">
# <i>emerge vserver-sources</i>
</pre>

<p>
Po instalacji źródeł vserver-sources należy je skonfigurować przy użyciu <c>make
menuconfig</c>. Poniżej znajduje się standardowa konfiguracja dla wersji 2.1.1
oraz wyższych. W wersjach 2.0.x niektóre opcje konfiguracji mogą być
niedostępne.
</p>

<pre caption="Konfiguracja vserver-sources">
# <i>cd /usr/src/linux-&lt;WERSJA_JĄDRA&gt;-vserver-&lt;WERSJA_VSERVER&gt;</i>
# <i>make menuconfig</i>

Linux VServer ---&gt;
<comment>(Nie zaznaczamy opcji 'legacy')</comment>
  [ ] Enable Legacy Kernel API
  [ ] Enable Legacy Networking Kernel API
<comment>(Warto przeczytać pomoc dla tych opcji)</comment>
  [ ] Remap Source IP Address
  [*] Enable COW Immutable Link Breaking
  [ ] Enable Virtualized Guest Time
  [*] Enable Proc Security
  [*] Enable Hard CPU Limits
  [*]   Avoid idle CPUs by skipping Time
  [*]   Limit the IDLE task
      Persistent Inode Tagging (UID24/GID24)  ---&gt;
  [ ] Tag NFSD User Auth and Files
  [*] Enable Inode Tag Propagation
  [*] Honor Privacy Aspects of Guests
  [ ] VServer Debugging Code
</pre>

<note>
Jeśli korzysta się z reiserfs jako systemu plików, na którym będą przechowywane
obrazy, należy w jądrze uaktywnić opcję "Extended attributes for reiserfs" czyli
rozszerzone funkcje reiserfs oraz dodać opcję <c>attrs</c> do pliku
<path>/etc/fstab</path>.
</note>

<pre caption="Konfiguracja opcji reiserfs">
File systems  --->
  &lt;*&gt; Reiserfs support
  [*]   ReiserFS extended attributes
</pre>

<pre caption="Przykład wpisu w fstab z atrybutami rozszerzonymi">
/dev/hdb1 /vservers reiserfs noatime,attrs 0 0
</pre>

<p>
Po zbudowaniu jądra należy uaktualnić konfigurację programu ładującego, a
następnie ponownie uruchomić system i sprawdzić czy startuje poprawnie.
</p>

<pre caption="Instalacja jądra">
<comment>(Budowanie jądra)</comment>
# <i>make</i>
<comment>(Instalacja)</comment>
# <i>make modules_install</i>
# <i>cp arch/&lt;arch&gt;/boot/bzImage /boot/kernel-&lt;WERSJA_JĄDRA&gt;-vserver-&lt;WERSJA_VSERVER&gt;</i>
<comment>(Zmiana konfiguracji bootloadera w razie potrzeby i restart)</comment>
# <i>reboot</i>
</pre>

</body>
</section>
<section>
<title>Konfiguracja na komputerze host</title>
<body>

<p>
Aby zarządzać serwerami wirtualnymi, należy zainstalować pakiet util-vserwer,
który zawiera wszystkie niezbędne programy.
</p>

<pre caption="Instalacja util-vserver">
# <i>emerge >=sys-cluster/util-vserver-0.30.212</i>
</pre>

<p>
W celu zapewnienia odpowiednich praw dostępu do systemu plików
<path>/proc</path>, po każdym ponownym uruchomieniu komputera trzeba będzie
wykonać polecenie <c>vprocunhide</c>. Aby to zautomatyzować, należy dodać
skrypty vservera do domyślnego poziomu uruchamiania.
</p>

<pre caption="Skrypty startowe util-vserver">
# <i>rc-update add vprocunhide default</i>
# <i>/etc/init.d/vprocunhide start</i>
# <i>rc-update add util-vserver default</i>
# <i>/etc/init.d/util-vserver start</i>
</pre>

</body>
</section>
</chapter>

<chapter>
<title>Tworzenie szkieletu</title>
<section>
<title>Pobranie gotowych stage3/4</title>
<body>

<p>
Wiele poleceń związanych ze sprzętem jest niedostępnych wewnątrz wirtualnego
serwera. Dlatego kiedyś powstała specjalna, poprawiona wersja pakietu baselayout
o nazwie baselayout-vserver. Obecnie, konkretnie od wersji
baselayout-1.13.0_alpha12, wszystkie potrzebne zmiany zostały wprowadzone do
standardowego baselayout, a co za tym idzie nie są już potrzebne osobne pliki
stage, profile ani osobny pakiet baselayout. Jedynym minusem jest to, że
baselayout-1.13 został dodany do stage będącego dopiero w wersji alpha i nie ma
możliwości pobrania go z serwerów lustrzanych.
</p>

<p>
Gdy baselayout-1.13 zostanie ustabilizowany, będzie można używać plików stage3/4
z jednego z <uri link="/main/en/mirrors.xml">serwerów lustrzanych</uri>.  Zanim
jednak to się stanie, wciąż trzeba pobierać stage3/4 z <uri
link="http://people.linux-vserver.org/~hollow/stages/">tego miejsca</uri>. W
związku z tym, że stage3/4 zawiera kompletne drzewo plików, można użyć metody
budowania z szablonów. Jednakże ta metoda jest dostępna dopiero od
util-vserver-0.30.213_rc5, należy więc sprawdzić zainstalowaną wersję.
</p>

<p>
Należy wybrać identyfikator kontekstowy dla vserwera (odradzamy używanie
dynamicznych identyfikatorów) oraz potrzebne informacje o urządzeniu sieciowym
(w tym przykładzie eth0 zostało skonfigurowane jako 192.168.1.253/24, a
identyfikator jest odpowiedni dla ostatnich dwóch części adresu IP serwera
wirtualnego).
</p>

<note>
Identyfikator powinien zawierać się w przedziale 1-49152.
</note>

</body>
</section>
<section>
<title>Metoda budowy z szablonów</title>
<body>

<p>
Przez długi czas zwykły styl uruchamiania był jedynym dostępnym. Na każdym z
gości był uruchamiany osobny proces init, tak jak na każdym innym uniksowym
systemie. Takie podejście miało jednak kilka wad:
</p>

<ul>
  <li>
    Nie było możliwości przejrzenia informacji dotyczących uruchamiania skryptów
    init/rc
  </li>
  <li>
    Marnowały się zasoby dla każdego procesu init w każdym wirtualnym serwerze
  </li>
  <li>Pojawiały się denerwujące konflikty o plik <path>/etc/inittab</path></li>
</ul>

<p>
Z tego powodu wielu użytkowników prosiło o ponowną implementację systemu
uruchamiania z Gentoo, która została zarzucona z powodu konieczności dodawania
ogromnej liczby poprawek działających mniej lub bardziej sprawnie oraz dużych
modyfikacji w baselayout. Jednak od wersji util-vserver-0.30.212 sposób
uruchamiania typowy dla Gentoo został ponownie zaimplementowany i w przyszłości
znów stanie się domyślną opcją.
</p>

<note>
Użytkownicy, którzy nie chcą korzystać z osobnych procesów init dla każdego
gościa lub tacy, którzy po prostu nie wiedzą co wybrać, powinni zaznaczyć sposób
uruchamiania typowy dla Gentoo.
</note>

<pre caption="Rozpoczęcie instalacji stage3">
# <i>vserver myguest build \</i>
  <i>--context 1253 \</i>
  <i>--hostname gentoo \</i>
  <i>--interface eth0:192.168.1.253/24 \</i>
  <i>--initstyle gentoo \</i> <comment>(Sposób uruchamiania, można go zmienić jeśli zachodzi taka potrzeba)</comment>
  <i>-m template -- \</i>
  <i>  -d gentoo \</i>
  <i>  -t /path/to/stage4-&lt;arch&gt;-&lt;version&gt;.tar.bz2</i>
</pre>

<note>
Następnie należy odpowiednio skonfigurować sieć poprzez zmianę plików
<path>/etc/conf.d/hostname</path>, <path>/etc/conf.d/domainname</path> oraz
<path>/etc/hosts</path>. Należy to zrobić na każdym gościu. Szczegóły
konfiguracji są opisane w <uri
link="/doc/pl/handbook/handbook-x86.xml?part=1&amp;chap=8#doc_chap2_sect1">
rozdziale 8.b.1</uri> oraz <uri
link="/doc/pl/handbook/handbook-x86.xml?part=1&amp;chap=8#doc_chap2_sect4">
rozdziale 8.b.4</uri> Podręcznika Gentoo. Pozostała część konfiguracji sieci dla
wirtualnych serwerów zostanie przeprowadzona na komputerze host.
</note>

<p>
Teraz można sprawdzić działanie serwera wirtualnego używając poleceń podanych
poniżej.
</p>

<pre caption="Testowanie serwera wirtualnego">
# <i>vserver myguest start</i>


Gentoo/Linux 1.13.0_alpha12; http://www.gentoo.org/
 Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2

Press I to enter interactive boot mode

 * Using existing device nodes in /dev                    [ ok ]
 * root filesystem is mounted read-write - skipping
 * Checking all filesystems                               [ ok ]
 * Mounting local filesystems                             [ ok ]
 * Activating (possible) swap                             [ ok ]
 * Setting hostname to myguest                            [ ok ]
 * Updating environment                                   [ ok ]
 * Cleaning /var/lock, /var/run                           [ ok ]
 * Cleaning /tmp directory                                [ ok ]
 * Initializing random number generator                   [ ok ]
 * Setting system clock using the hardware clock [VPS]    [ ok ]
 * Starting syslog-ng                                     [ ok ]
 * Starting vixie-cron                                    [ ok ]
 * Starting local                                         [ ok ]
# <i>vserver-stat</i>
CTX   PROC    VSZ    RSS  userTIME   sysTIME    UPTIME NAME
0       90   1.4G 153.4K  14m00s11   6m45s17   2h59m59 root server
1252     2     3M   286    0m00s45   0m00s42   0m02s91 myguest
# <i>vserver myguest enter</i>
# <i>ps ax</i>
PID   TTY      STAT   TIME COMMAND
    1 ?        S      0:00 init [3]
22887 ?        Ss     0:00 /usr/sbin/syslog-ng
20496 pts/0    S      0:00 /bin/bash -login
20508 pts/0    R+     0:00 ps ax
# <i>logout</i>
</pre>

</body>
</section>
</chapter>

<chapter>
<title>Zarządzanie staje się prostsze</title>
<section>
<title>Uruchamianie gości razem z systemem</title>
<body>

<p>
Każdy vserwer może zostać uruchomiony w trakcie ładowania systemu poprzez
oznaczenie go [ang. MARK]. W tym celu wystarczy tylko ustawić je w
konfiguracjach poszczególnych gości oraz dodać odpowiedni skrypt startowy do
domyślnego poziomu uruchamiania.
</p>

<pre caption="Konfiguracja oznaczeń (MARK)">
<comment>(Należy to wykonać dla każdego gościa którego chce się uruchamiać na starcie systemu)</comment>
# <i>mkdir -p /etc/vservers/myguest/apps/init</i>
# <i>echo "default" > /etc/vservers/myguest/apps/init/mark</i>
</pre>

<pre caption="Dodawanie skryptu startowego">
# <i>rc-update add vservers.default default</i>
</pre>

</body>
</section>
<section>
<title>Utrzymywanie zsynchronizowanego drzewa Portage</title>
<body>

<p>
Skrypt <c>vesync</c> pozwala na łatwą aktualizację wszystkich nakładek (ang.
overlay) oraz metadanych. Skrypt <c>vemerge</c> jest prostą nakładką (ang.
wrapper) na <c>emerge</c> do użytku wewnątrz wirtualnych serwerów.
</p>

<pre caption="Przykłady">
<comment>(Synchronizacja metadanych dla 'myguest')</comment>
# <i>vesync myguest</i>
<comment>(Synchronizacja metadanych dla wszystkich)</comment>
# <i>vesync --all</i>
<comment>(Synchronizacja nakładki o nazwie "myoverlay" dla wszystkich)</comment>
# <i>vesync --all \</i>
  <i>--overlay /usr/local/overlays/myoverlay \</i>
  <i>--overlay-host rsync://rsync.myhost.com/myoverlay \</i>
  <i>--overlay-only</i>
<comment>(Instalacja app-editors/vim na 'myguest')</comment>
# <i>vemerge myguest -- app-editors/vim -va</i>
</pre>

</body>
</section>
<section>
<title>Aktualizacja gości</title>
<body>

<p>
Każdy gość Gentoo może współdzielić pakiety w celu skrócenia czasu
kompilacji. W tym celu należy stworzyć katalog na pakiety na komputerze hoście.
W przykładzie tym katalogiem będzie <path>/var/cache/vpackages</path> i zostanie
on zamontowany do <path>/usr/portage/packages</path> na każdym vserverze.
</p>

<pre caption="Dodawanie powiązanego (ang. bind) udziału do konfiguracji vserwera">
# <i>mkdir -p /var/cache/vpackages</i>
# <i>$EDITOR /etc/vservers/myguest/fstab</i>
<comment>(Dodanie linijki na koniec pliku)</comment>
/var/cache/vpackages /usr/portage/packages none bind,rw 0 0
</pre>

<p>
Na koniec należy użyć <c>vupdateworld</c> do aktualizacji każdego vserwera.
Polecenie to jest odpowiednikiem <c>emerge --deep --update --newuse world</c>
wraz z dodatkowymi opcjami.
</p>

<pre caption="przykłady z vupdateworld">
<comment>(Symulacja aktualizacji dla 'myguest')</comment>
# <i>vupdateworld myguest -- -vp</i>
<comment>(Aktualizacja 'myguest' przy użyciu prekompilowanych pakietów)</comment>
# <i>vupdateworld myguest -- -k</i>
<comment>(Aktualizacja wszystkich vserwerów przy użyciu prekompilowanych pakietów)</comment>
# <i>vupdateworld --all -- -k</i>
</pre>

<note>
Korzystanie z prekompilowanych pakietów jest możliwe po ustawieniu zmiennej
PORTAGE_BINHOST w każdym gościu (szczegóły w <c>man make.conf</c>) oraz
zmiennej FEATURES="buildpkg" przynajmniej w jednym.
</note>

<p>
Po udanej aktualizacji pakietów można łatwo zaktualizować wszystkie konfiguracje
za pomocą <c>vdispatch-conf</c>. Jest to nakładka na <c>dispatch-conf</c> i
identycznie się zachowuje.
</p>

<pre caption="przykłady z vdispatch-conf">
<comment>(Aktualizacja konfiguracji dla 'myguest')</comment>
# <i>vdispatch-conf myguest</i>
<comment>(Aktualizacja konfiguracji dla wszystkich vserwerów)</comment>
# <i>vdispatch-conf --all</i>
</pre>

</body>
</section>

<section>
<title>Kontakt</title>
<body>

<p>
W przypadku wystąpienia jakichkolwiek problemów, należy skontaktować się z <mail
link="hollow@g.o">autorem</mail> tego tekstu lub zgłosić problem na  <uri
link="http://bugs.gentoo.org">Bugzilli</uri>.
</p>

</body>
</section>
</chapter>
</guide>



-- 
gentoo-commits@g.o mailing list


Navigation:
Lists: gentoo-commits: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
gentoo-x86 commit in media-libs/netpbm: ChangeLog netpbm-10.40.0.ebuild
Next by thread:
gentoo commit in xml/htdocs/doc/pl: metadoc.xml vserver-howto.xml
Previous by date:
gentoo-x86 commit in dev-util/git: ChangeLog git-1.5.2.5.ebuild
Next by date:
gentoo commit in xml/htdocs/doc/pl: metadoc.xml vserver-howto.xml


Updated Jan 26, 2011

Summary: Archive of the gentoo-commits mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.