Gentoo Archives: gentoo-commits

From: "Lukasz Damentko (rane)" <rane@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in xml/htdocs/proj/pl/vps: vserver-howto.xml
Date: Fri, 28 Sep 2007 02:31:05
Message-Id: E1Ib5Uf-0000fU-0S@stork.gentoo.org
1 rane 07/09/28 02:22:17
2
3 Added: vserver-howto.xml
4 Log:
5 new translation by Piotr Miedzik (qermit), rev. 1.10
6
7 Revision Changes Path
8 1.1 xml/htdocs/proj/pl/vps/vserver-howto.xml
9
10 file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/vps/vserver-howto.xml?rev=1.1&view=markup
11 plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/proj/pl/vps/vserver-howto.xml?rev=1.1&content-type=text/plain
12
13 Index: vserver-howto.xml
14 ===================================================================
15 <?xml version='1.0' encoding="UTF-8"?>
16 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/pl/vps/vserver-howto.xml,v 1.1 2007/09/28 02:22:16 rane Exp $ -->
17 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
18
19 <guide link="/proj/pl/vps/vserver-howto.xml" lang="pl">
20 <title>Linux-VServer w Gentoo</title>
21 <author title="Autor">
22 <mail link="hollow@g.o">Benedikt Boehm</mail>
23 </author>
24 <author title="Redakcja">
25 <mail link="fox2mike@g.o">Shyam Mani</mail>
26 </author>
27 <author title="Tłumaczenie">
28 Paweł Kwiatkowski
29 </author>
30 <author title="Tłumaczenie">
31 <mail link="miedzik_piotr@××.pl">Piotr Miedzik</mail>
32 </author>
33
34 <abstract>
35 Opis instalacji wirtualnych serwerów przy użyciu technologii Linux-Vserver.
36 </abstract>
37
38 <!-- The content of this document is licensed under the CC-BY-SA license -->
39 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
40 <license/>
41
42 <version>1.10</version>
43 <date>2007-03-26</date>
44
45 <chapter>
46 <title>Wprowadzenie</title>
47 <section>
48 <title>Koncepcja Linux-VServer</title>
49 <body>
50
51 <p>
52 Linux-VServer pozwala na rozdzielenie przestrzeni użytkownika na jednostki, z
53 których każda jest osobnym serwerem dla procesów, które są w niej zawarte.
54 </p>
55
56 </body>
57 </section>
58 <section>
59 <title>Pojęcia użyte w tym przewodniku</title>
60 <body>
61
62 <table>
63 <tr>
64 <th>Termin</th>
65 <th>Opis</th>
66 </tr>
67 <tr>
68 <th>Linux-VServer, VServer</th>
69 <ti>
70 Linux-VSerwer to oficjalna nazwa projektu i jest używana w tym przewodniku
71 dokładnie w tym znaczeniu
72 </ti>
73 </tr>
74 <tr>
75 <th>vserwer, wirtualny serwer, gość</th>
76 <ti>
77 Wszystkie te terminy odnoszą się do pojedynczej instancji serwera (tj.
78 jednego serwera wirtualnego)
79 </ti>
80 </tr>
81 <tr>
82 <th>komputer host, host</th>
83 <ti>
84 Komputer, na którym zainstalowany jest Gentoo Linux i na którym będą
85 znajdować się wszystkie wirtualne serwery
86 </ti>
87 </tr>
88 <tr>
89 <th>util-vserver</th>
90 <ti>
91 Pakiet <c>util-vserver</c> zawiera wszystkie programy potrzebne do
92 zarządzania serwerami wirtualnymi
93 </ti>
94 </tr>
95 </table>
96
97 </body>
98 </section>
99 </chapter>
100
101 <chapter>
102 <title>Konfiguracja hosta</title>
103 <section>
104 <title>Instalacja jądra wspierającego VServer</title>
105 <body>
106
107 <pre caption="Instalacja vserver-sources">
108 # <i>emerge vserver-sources</i>
109 </pre>
110
111 <p>
112 Po instalacji źródeł vserver-sources należy je skonfigurować przy użyciu <c>make
113 menuconfig</c>. Poniżej znajduje się standardowa konfiguracja dla wersji 2.1.1
114 oraz wyższych. W wersjach 2.0.x niektóre opcje konfiguracji mogą być
115 niedostępne.
116 </p>
117
118 <pre caption="Konfiguracja vserver-sources">
119 # <i>cd /usr/src/linux-&lt;WERSJA_JĄDRA&gt;-vserver-&lt;WERSJA_VSERVER&gt;</i>
120 # <i>make menuconfig</i>
121
122 Linux VServer ---&gt;
123 <comment>(Nie zaznaczamy opcji 'legacy')</comment>
124 [ ] Enable Legacy Kernel API
125 [ ] Enable Legacy Networking Kernel API
126 <comment>(Warto przeczytać pomoc dla tych opcji)</comment>
127 [ ] Remap Source IP Address
128 [*] Enable COW Immutable Link Breaking
129 [ ] Enable Virtualized Guest Time
130 [*] Enable Proc Security
131 [*] Enable Hard CPU Limits
132 [*] Avoid idle CPUs by skipping Time
133 [*] Limit the IDLE task
134 Persistent Inode Tagging (UID24/GID24) ---&gt;
135 [ ] Tag NFSD User Auth and Files
136 [*] Enable Inode Tag Propagation
137 [*] Honor Privacy Aspects of Guests
138 [ ] VServer Debugging Code
139 </pre>
140
141 <note>
142 Jeśli korzysta się z reiserfs jako systemu plików, na którym będą przechowywane
143 obrazy, należy w jądrze uaktywnić opcję "Extended attributes for reiserfs" czyli
144 rozszerzone funkcje reiserfs oraz dodać opcję <c>attrs</c> do pliku
145 <path>/etc/fstab</path>.
146 </note>
147
148 <pre caption="Konfiguracja opcji reiserfs">
149 File systems --->
150 &lt;*&gt; Reiserfs support
151 [*] ReiserFS extended attributes
152 </pre>
153
154 <pre caption="Przykład wpisu w fstab z atrybutami rozszerzonymi">
155 /dev/hdb1 /vservers reiserfs noatime,attrs 0 0
156 </pre>
157
158 <p>
159 Po zbudowaniu jądra należy uaktualnić konfigurację programu ładującego, a
160 następnie ponownie uruchomić system i sprawdzić czy startuje poprawnie.
161 </p>
162
163 <pre caption="Instalacja jądra">
164 <comment>(Budowanie jądra)</comment>
165 # <i>make</i>
166 <comment>(Instalacja)</comment>
167 # <i>make modules_install</i>
168 # <i>cp arch/&lt;arch&gt;/boot/bzImage /boot/kernel-&lt;WERSJA_JĄDRA&gt;-vserver-&lt;WERSJA_VSERVER&gt;</i>
169 <comment>(Zmiana konfiguracji bootloadera w razie potrzeby i restart)</comment>
170 # <i>reboot</i>
171 </pre>
172
173 </body>
174 </section>
175 <section>
176 <title>Konfiguracja na komputerze host</title>
177 <body>
178
179 <p>
180 Aby zarządzać serwerami wirtualnymi, należy zainstalować pakiet util-vserwer,
181 który zawiera wszystkie niezbędne programy.
182 </p>
183
184 <pre caption="Instalacja util-vserver">
185 # <i>emerge >=sys-cluster/util-vserver-0.30.212</i>
186 </pre>
187
188 <p>
189 W celu zapewnienia odpowiednich praw dostępu do systemu plików
190 <path>/proc</path>, po każdym ponownym uruchomieniu komputera trzeba będzie
191 wykonać polecenie <c>vprocunhide</c>. Aby to zautomatyzować, należy dodać
192 skrypty vservera do domyślnego poziomu uruchamiania.
193 </p>
194
195 <pre caption="Skrypty startowe util-vserver">
196 # <i>rc-update add vprocunhide default</i>
197 # <i>/etc/init.d/vprocunhide start</i>
198 # <i>rc-update add util-vserver default</i>
199 # <i>/etc/init.d/util-vserver start</i>
200 </pre>
201
202 </body>
203 </section>
204 </chapter>
205
206 <chapter>
207 <title>Tworzenie szkieletu</title>
208 <section>
209 <title>Pobranie gotowych stage3/4</title>
210 <body>
211
212 <p>
213 Wiele poleceń związanych ze sprzętem jest niedostępnych wewnątrz wirtualnego
214 serwera. Dlatego kiedyś powstała specjalna, poprawiona wersja pakietu baselayout
215 o nazwie baselayout-vserver. Obecnie, konkretnie od wersji
216 baselayout-1.13.0_alpha12, wszystkie potrzebne zmiany zostały wprowadzone do
217 standardowego baselayout, a co za tym idzie nie są już potrzebne osobne pliki
218 stage, profile ani osobny pakiet baselayout. Jedynym minusem jest to, że
219 baselayout-1.13 został dodany do stage będącego dopiero w wersji alpha i nie ma
220 możliwości pobrania go z serwerów lustrzanych.
221 </p>
222
223 <p>
224 Gdy baselayout-1.13 zostanie ustabilizowany, będzie można używać plików stage3/4
225 z jednego z <uri link="/main/en/mirrors.xml">serwerów lustrzanych</uri>. Zanim
226 jednak to się stanie, wciąż trzeba pobierać stage3/4 z <uri
227 link="http://people.linux-vserver.org/~hollow/stages/">tego miejsca</uri>. W
228 związku z tym, że stage3/4 zawiera kompletne drzewo plików, można użyć metody
229 budowania z szablonów. Jednakże ta metoda jest dostępna dopiero od
230 util-vserver-0.30.213_rc5, należy więc sprawdzić zainstalowaną wersję.
231 </p>
232
233 <p>
234 Należy wybrać identyfikator kontekstowy dla vserwera (odradzamy używanie
235 dynamicznych identyfikatorów) oraz potrzebne informacje o urządzeniu sieciowym
236 (w tym przykładzie eth0 zostało skonfigurowane jako 192.168.1.253/24, a
237 identyfikator jest odpowiedni dla ostatnich dwóch części adresu IP serwera
238 wirtualnego).
239 </p>
240
241 <note>
242 Identyfikator powinien zawierać się w przedziale 1-49152.
243 </note>
244
245 </body>
246 </section>
247 <section>
248 <title>Metoda budowy z szablonów</title>
249 <body>
250
251 <p>
252 Przez długi czas zwykły styl uruchamiania był jedynym dostępnym. Na każdym z
253 gości był uruchamiany osobny proces init, tak jak na każdym innym uniksowym
254 systemie. Takie podejście miało jednak kilka wad:
255 </p>
256
257 <ul>
258 <li>
259 Nie było możliwości przejrzenia informacji dotyczących uruchamiania skryptów
260 init/rc
261 </li>
262 <li>
263 Marnowały się zasoby dla każdego procesu init w każdym wirtualnym serwerze
264 </li>
265 <li>Pojawiały się denerwujące konflikty o plik <path>/etc/inittab</path></li>
266 </ul>
267
268 <p>
269 Z tego powodu wielu użytkowników prosiło o ponowną implementację systemu
270 uruchamiania z Gentoo, która została zarzucona z powodu konieczności dodawania
271 ogromnej liczby poprawek działających mniej lub bardziej sprawnie oraz dużych
272 modyfikacji w baselayout. Jednak od wersji util-vserver-0.30.212 sposób
273 uruchamiania typowy dla Gentoo został ponownie zaimplementowany i w przyszłości
274 znów stanie się domyślną opcją.
275 </p>
276
277 <note>
278 Użytkownicy, którzy nie chcą korzystać z osobnych procesów init dla każdego
279 gościa lub tacy, którzy po prostu nie wiedzą co wybrać, powinni zaznaczyć sposób
280 uruchamiania typowy dla Gentoo.
281 </note>
282
283 <pre caption="Rozpoczęcie instalacji stage3">
284 # <i>vserver myguest build \</i>
285 <i>--context 1253 \</i>
286 <i>--hostname gentoo \</i>
287 <i>--interface eth0:192.168.1.253/24 \</i>
288 <i>--initstyle gentoo \</i> <comment>(Sposób uruchamiania, można go zmienić jeśli zachodzi taka potrzeba)</comment>
289 <i>-m template -- \</i>
290 <i> -d gentoo \</i>
291 <i> -t /path/to/stage4-&lt;arch&gt;-&lt;version&gt;.tar.bz2</i>
292 </pre>
293
294 <note>
295 Następnie należy odpowiednio skonfigurować sieć poprzez zmianę plików
296 <path>/etc/conf.d/hostname</path>, <path>/etc/conf.d/domainname</path> oraz
297 <path>/etc/hosts</path>. Należy to zrobić na każdym gościu. Szczegóły
298 konfiguracji są opisane w <uri
299 link="/doc/pl/handbook/handbook-x86.xml?part=1&amp;chap=8#doc_chap2_sect1">
300 rozdziale 8.b.1</uri> oraz <uri
301 link="/doc/pl/handbook/handbook-x86.xml?part=1&amp;chap=8#doc_chap2_sect4">
302 rozdziale 8.b.4</uri> Podręcznika Gentoo. Pozostała część konfiguracji sieci dla
303 wirtualnych serwerów zostanie przeprowadzona na komputerze host.
304 </note>
305
306 <p>
307 Teraz można sprawdzić działanie serwera wirtualnego używając poleceń podanych
308 poniżej.
309 </p>
310
311 <pre caption="Testowanie serwera wirtualnego">
312 # <i>vserver myguest start</i>
313
314
315 Gentoo/Linux 1.13.0_alpha12; http://www.gentoo.org/
316 Copyright 1999-2007 Gentoo Foundation; Distributed under the GPLv2
317
318 Press I to enter interactive boot mode
319
320 * Using existing device nodes in /dev [ ok ]
321 * root filesystem is mounted read-write - skipping
322 * Checking all filesystems [ ok ]
323 * Mounting local filesystems [ ok ]
324 * Activating (possible) swap [ ok ]
325 * Setting hostname to myguest [ ok ]
326 * Updating environment [ ok ]
327 * Cleaning /var/lock, /var/run [ ok ]
328 * Cleaning /tmp directory [ ok ]
329 * Initializing random number generator [ ok ]
330 * Setting system clock using the hardware clock [VPS] [ ok ]
331 * Starting syslog-ng [ ok ]
332 * Starting vixie-cron [ ok ]
333 * Starting local [ ok ]
334 # <i>vserver-stat</i>
335 CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
336 0 90 1.4G 153.4K 14m00s11 6m45s17 2h59m59 root server
337 1252 2 3M 286 0m00s45 0m00s42 0m02s91 myguest
338 # <i>vserver myguest enter</i>
339 # <i>ps ax</i>
340 PID TTY STAT TIME COMMAND
341 1 ? S 0:00 init [3]
342 22887 ? Ss 0:00 /usr/sbin/syslog-ng
343 20496 pts/0 S 0:00 /bin/bash -login
344 20508 pts/0 R+ 0:00 ps ax
345 # <i>logout</i>
346 </pre>
347
348 </body>
349 </section>
350 </chapter>
351
352 <chapter>
353 <title>Zarządzanie staje się prostsze</title>
354 <section>
355 <title>Uruchamianie gości razem z systemem</title>
356 <body>
357
358 <p>
359 Każdy vserwer może zostać uruchomiony w trakcie ładowania systemu poprzez
360 oznaczenie go [ang. MARK]. W tym celu wystarczy tylko ustawić je w
361 konfiguracjach poszczególnych gości oraz dodać odpowiedni skrypt startowy do
362 domyślnego poziomu uruchamiania.
363 </p>
364
365 <pre caption="Konfiguracja oznaczeń (MARK)">
366 <comment>(Należy to wykonać dla każdego gościa którego chce się uruchamiać na starcie systemu)</comment>
367 # <i>mkdir -p /etc/vservers/myguest/apps/init</i>
368 # <i>echo "default" > /etc/vservers/myguest/apps/init/mark</i>
369 </pre>
370
371 <pre caption="Dodawanie skryptu startowego">
372 # <i>rc-update add vservers.default default</i>
373 </pre>
374
375 </body>
376 </section>
377 <section>
378 <title>Utrzymywanie zsynchronizowanego drzewa Portage</title>
379 <body>
380
381 <p>
382 Skrypt <c>vesync</c> pozwala na łatwą aktualizację wszystkich nakładek (ang.
383 overlay) oraz metadanych. Skrypt <c>vemerge</c> jest prostą nakładką (ang.
384 wrapper) na <c>emerge</c> do użytku wewnątrz wirtualnych serwerów.
385 </p>
386
387 <pre caption="Przykłady">
388 <comment>(Synchronizacja metadanych dla 'myguest')</comment>
389 # <i>vesync myguest</i>
390 <comment>(Synchronizacja metadanych dla wszystkich)</comment>
391 # <i>vesync --all</i>
392 <comment>(Synchronizacja nakładki o nazwie "myoverlay" dla wszystkich)</comment>
393 # <i>vesync --all \</i>
394 <i>--overlay /usr/local/overlays/myoverlay \</i>
395 <i>--overlay-host rsync://rsync.myhost.com/myoverlay \</i>
396 <i>--overlay-only</i>
397 <comment>(Instalacja app-editors/vim na 'myguest')</comment>
398 # <i>vemerge myguest -- app-editors/vim -va</i>
399 </pre>
400
401 </body>
402 </section>
403 <section>
404 <title>Aktualizacja gości</title>
405 <body>
406
407 <p>
408 Każdy gość Gentoo może współdzielić pakiety w celu skrócenia czasu
409 kompilacji. W tym celu należy stworzyć katalog na pakiety na komputerze hoście.
410 W przykładzie tym katalogiem będzie <path>/var/cache/vpackages</path> i zostanie
411 on zamontowany do <path>/usr/portage/packages</path> na każdym vserverze.
412 </p>
413
414 <pre caption="Dodawanie powiązanego (ang. bind) udziału do konfiguracji vserwera">
415 # <i>mkdir -p /var/cache/vpackages</i>
416 # <i>$EDITOR /etc/vservers/myguest/fstab</i>
417 <comment>(Dodanie linijki na koniec pliku)</comment>
418 /var/cache/vpackages /usr/portage/packages none bind,rw 0 0
419 </pre>
420
421 <p>
422 Na koniec należy użyć <c>vupdateworld</c> do aktualizacji każdego vserwera.
423 Polecenie to jest odpowiednikiem <c>emerge --deep --update --newuse world</c>
424 wraz z dodatkowymi opcjami.
425 </p>
426
427 <pre caption="przykłady z vupdateworld">
428 <comment>(Symulacja aktualizacji dla 'myguest')</comment>
429 # <i>vupdateworld myguest -- -vp</i>
430 <comment>(Aktualizacja 'myguest' przy użyciu prekompilowanych pakietów)</comment>
431 # <i>vupdateworld myguest -- -k</i>
432 <comment>(Aktualizacja wszystkich vserwerów przy użyciu prekompilowanych pakietów)</comment>
433 # <i>vupdateworld --all -- -k</i>
434 </pre>
435
436 <note>
437 Korzystanie z prekompilowanych pakietów jest możliwe po ustawieniu zmiennej
438 PORTAGE_BINHOST w każdym gościu (szczegóły w <c>man make.conf</c>) oraz
439 zmiennej FEATURES="buildpkg" przynajmniej w jednym.
440 </note>
441
442 <p>
443 Po udanej aktualizacji pakietów można łatwo zaktualizować wszystkie konfiguracje
444 za pomocą <c>vdispatch-conf</c>. Jest to nakładka na <c>dispatch-conf</c> i
445 identycznie się zachowuje.
446 </p>
447
448 <pre caption="przykłady z vdispatch-conf">
449 <comment>(Aktualizacja konfiguracji dla 'myguest')</comment>
450 # <i>vdispatch-conf myguest</i>
451 <comment>(Aktualizacja konfiguracji dla wszystkich vserwerów)</comment>
452 # <i>vdispatch-conf --all</i>
453 </pre>
454
455 </body>
456 </section>
457
458 <section>
459 <title>Kontakt</title>
460 <body>
461
462 <p>
463 W przypadku wystąpienia jakichkolwiek problemów, należy skontaktować się z <mail
464 link="hollow@g.o">autorem</mail> tego tekstu lub zgłosić problem na <uri
465 link="http://bugs.gentoo.org">Bugzilli</uri>.
466 </p>
467
468 </body>
469 </section>
470 </chapter>
471 </guide>
472
473
474
475 --
476 gentoo-commits@g.o mailing list