Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ OpenVZ 7
- ΠΠΌΡΠ»ΡΡΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ
- ΠΠΎΠ»Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- ΠΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
- ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΠ‘)
- OpenVZ β ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΠΠ‘ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
- Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠ²
- ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Virtuozzo/OpenVZ
- Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² OpenVZ 7
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenVZ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ISO-ΠΎΠ±ΡΠ°Π·Π° (bare-metal installation)
- ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
- Π¨Π°Π±Π»ΠΎΠ½Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘
- Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
- Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
- ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
- ΠΠ°ΠΏΡΡΠΊ ΠΈ Π²Ρ ΠΎΠ΄
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
- ΠΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
- ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
- ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Ρ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ
- ΠΠΈΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠ²ΠΎΡΡ
- ΠΡΠΎΡΠ΅ΡΡΠΎΡ
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
- ΠΠ°ΠΌΡΡΡ
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅ΡΡΡΡΠΎΠ²
- SimFS ΠΈ ploop
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ
- Π Π°Π±ΠΎΡΠ° Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΠ
- VNC
- ΠΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘
- ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½
- Π¨Π°Π±Π»ΠΎΠ½Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Π² ΠΠ
- ΠΠΎΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ CPU ΠΈ RAM
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ KSM
- ΠΠΈΠ³ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½
- Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ ΠΈ ΠΠ
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
- Π‘ΡΡΠ»ΠΊΠΈ
- ΠΠΈΡΠ΅Π½Π·ΠΈΡ
β¬ ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠΎΠ² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²:
- ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠ΅, ΡΠ»Π΅ΠΊΡΡΠΎΡΠ½Π΅ΡΠ³ΠΈΠΈ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ)
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ (ΠΠ‘), ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ (ΠΠ), ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ, ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ)
- Π±ΠΈΠ·Π½Π΅ΡΠ΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² Π±ΠΈΠ·Π½Π΅ΡΠ΅ ΡΠ°ΡΡΠ΅Ρ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π΄Π½Π΅ΠΌ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½Π°ΠΏΡΠΎΡ)
- ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠ°Π½ΡΠΈΠΉ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ "ΡΠΎΠ½ΠΊΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ²")
ΠΠ±ΡΠ°Ρ ΡΡ
Π΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ

ΠΠΎΠ½ΡΡΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ:
- Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ (ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ)
- Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² (ΠΏΡΠ΅ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅Π»ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΉ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, ΡΠ΅ΡΠ΅ΠΉ)
ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π°Π±ΡΡΡΠ°Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ»ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
- ΡΠΌΡΠ»ΡΡΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ (QEMU, Bochs, Dynamips)
- ΠΏΠΎΠ»Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (KVM, Microsoft Hyper-V, Oracle VM VirtualBox, VMware ESXi)
- ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (Xen, L4, Trango Virtual Processors)
- Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΠ‘ (LXC, OpenVZ, FreeBSD jail, Solaris Zone)
ΠΠΌΡΠ»ΡΡΠΈΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°Ρ .
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°.
ΠΠΌΡΠ»ΡΡΠΈΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°

ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ (Π³ΠΎΡΡΠ΅Π²ΠΎΠ³ΠΎ) ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Ρ ΠΎΡΡΠ° Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ. QEMU ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΠΌΠΈΠΊΡΠΎΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΈ ΠΌΠΈΠΊΡΠΎΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ C-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½, Π½ΠΎ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΡ.
ΠΠΎΠ»Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘ ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ, ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΈΠΆΠ΅ ΡΠ΅ΠΌ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΠΎΠΉ. ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π² ΠΠ‘ Π½Π΅ Π²Π½ΠΎΡΠΈΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ β ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° (AMD SVM ΠΈΠ»ΠΈ Intel VT).
ΠΠΎΠ»Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ

Π Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅ KVM Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ Linux-ΠΏΡΠΎΡΠ΅ΡΡ, Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Linux. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΉ Linux-ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ KVM ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ΄ΡΠ° Linux. ΠΠΌΡΠ»ΡΡΠΈΠ΅ΠΉ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ QEMU, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΌΡΠ»ΡΡΠΈΡ BIOS, ΡΠΈΠ½Ρ PCI, ΡΠΈΠ½Ρ USB, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π΄ΠΈΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ IDE ΠΈ SCSI, ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΊΠ°ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
ΠΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡ ΠΎΠ΄ΡΡΠ²Π° Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ. ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ, Π½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΊΠΎΠ΄, ΠΊΠ°ΡΠ°ΡΡΠΈΠΉΡΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π² Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ Π³ΠΎΡΡΠ΅Π²Π°Ρ ΠΠ‘ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° Π΄Π»Ρ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°. ΠΠΎ ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΡΡΡΡΠ΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π° ΠΊ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ, ΡΡΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΡΡΡ ΠΈ ΡΡΠ΅ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ ΡΠ΄ΡΠ°. ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡ Π³ΠΈΠΏΠ΅ΡΠ²ΡΠ·ΠΎΠ²Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ΄ΡΠ° Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘ ΠΊ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡ Ρ ΠΏΡΠΎΡΡΠ±ΠΎΠΉ ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ Ρ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘

Π ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (PV) ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΡΡΡ, ΠΈ Π³ΠΎΡΡΠ΅Π²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ°ΠΊΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 3.0, ΡΠ΄ΡΠΎ Linux ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΡΠΊ Π² ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΠΏΠ°ΡΡΠ°ΠΌΠΈ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΡΠ°ΡΠΈΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΈΠ½Π΅ PCI.
Π Π΅ΠΆΠΈΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ (HVM), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π² Xen, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 3.0 Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΡΠΌΡΠ»ΡΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ QEMU, ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅ΡΡΠΌΠ° ΠΌΠ΅Π΄Π»ΠΈΡΠ΅Π»Π΅Π½ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΏΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ»Π° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π°ΠΆΠ΅ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Π»ΡΠΏΡΠΎΠΏΠΎΠ².
ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ . ΠΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΠΊΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°Π΄ ΠΠ‘. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ΄Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΠΠ‘ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΡΠΎΠ΄Π½Π°Ρ" ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ.
ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΠ‘ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ

ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ²Π½Ρ ΠΠ‘ β ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΄ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²) Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ UNIX ΡΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° chroot. Π―Π΄ΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°.
OpenVZ β ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ²Π½Ρ ΠΠ‘ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ
OpenVZ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ , ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ·Π»Π΅. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π½Π° Π±Π°Π·Π΅ QEMU/KVM. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΠΈΠ»ΠΈΡ.
ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° OpenVZ 7

ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠ΅ΡΡ (IP-Π°Π΄ΡΠ΅ΡΠ°, ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ KVM ΠΈΠ»ΠΈ Xen, OpenVZ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ ΡΠ΄ΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠΈΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅:
- ΡΠ΄ΡΠΎ (namespaces, cgroups, CRIU, ploop, vcmmd, ...)
- ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ (prlctl, vzctl, vzpkg, vzlist, ...)
Namespaces β ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½. ΠΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ·ΠΎΠ»ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π² ΡΠ΅ΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ (ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½):
- mount β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ Π΅Π΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΆΠ΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΉ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ chroot
- PID β ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (PID) ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°
- network β ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅ΠΊ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, IP-Π°Π΄ΡΠ΅Ρ, ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, ARP ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΡ
- IPC β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ
- UTS β ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ·Π»Π°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΈΠΌΡ Ρ ΠΎΡΡΠ° (hostname) ΠΈ Π΄ΠΎΠΌΠ΅Π½Π° (domain)
- user β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π½Π°Π±ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π³ΡΡΠΏΠΏ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΠΎΠΉ root ΠΈ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈ Π³ΡΡΠΏΠΏΡ
CGroups (Control Groups) β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠΎΠ΄ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ: ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΏΠ°ΠΌΡΡΡ, Π΄ΠΈΡΠΊΠΎΠ²Π°Ρ ΠΈ ΡΠ΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°Π±ΠΎΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π»Π°Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ°Ρ Π²ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΡΠ°ΡΡ ΠΎΠ΄ΡΠ΅ΠΌΡΡ Π³ΡΡΠΏΠΏΠΎΠΉ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°ΠΌΠΎΡΠΎΠ·ΠΊΠ° (freezing) Π³ΡΡΠΏΠΏ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ (checkpointing) ΠΈ ΠΈΡ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ°. ΠΠ»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΈΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libcgroups, Π² ΡΠΎΡΡΠ°Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠ°ΠΊ cgcreate, cgexec ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅.
CRIU (Checkpoint/Restore In Userspace) β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ CRIU ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². Π£ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ, IPC ΡΠΎΠΊΠ΅ΡΡ, TCP/IP ΠΈ UDP ΡΠΎΠΊΠ΅ΡΡ, ΡΠ°ΠΉΠΌΠ΅ΡΡ, ΡΠΈΠ³Π½Π°Π»Ρ, ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ. Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ TCP ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ.
VCMM (Virtuozzo containers memory management) β ΡΠ΅ΡΠ²ΠΈΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ memory cgroups Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ 4 ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ memory cgroups, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠ΄ΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ OpenVZ.
ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ OpenVZ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠ½ΠΊΠ΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π½ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΡ .
ΠΡΠ°ΡΠΈΠΊ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ

ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ² β Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ, Π±Π΅Π· Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΠ. ΠΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΠ°Ρ OpenVZ ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ESXi ΠΈ Hyper-V ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ²Π΅ΡΡ Π΅Π΄ 700-3000%, ΠΊΠΎΠ³Π΄Π° Ρ OpenVZ Π²ΡΠ΅Π³ΠΎ 1-3%.
ΠΡΠ°ΡΠΈΠΊ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ

ΠΠ° Π²ΡΠΎΡΠΎΠΌ Π³ΡΠ°ΡΠΈΠΊΠ΅ β ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠΈ. ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ, ΡΡΠΎ OpenVZ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ 10Gb ΡΠ΅ΡΠΈ (9.7Gbit/s ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΠΈ 9.87Gbit/s ΠΏΡΠΈΠ΅ΠΌ).
Π’Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ DVD Store. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΠ: Linux, Apache, MySQL, PHP (LAMP). ΠΠ½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΠ ΡΠΌΡΠ»ΠΈΡΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΠΏΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΠ΅ DVD. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ΅ΡΡΠ° β ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ ΠΠ (ΠΎΡΡ ΠΎΡΠ΄ΠΈΠ½Π°Ρ). ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΠ Π² ΡΠ΅ΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡ 1 Π΄ΠΎ 100 (ΠΎΡΡ Π°Π±ΡΡΠΈΡΡ).
LAMP: OpenSource QEMU KVM vs Virtuozzo @ CentOS 7.4 (ΠΠ)

ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ Π²ΡΡΠ΅, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Ρ CentOS Linux 7.4 ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ΅ Virtuozzo 7 ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎ 30% Π²ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° KVM. ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠ°Ρ ΡΠ°Π·Π½ΠΈΡΠ° Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Π² ΡΠΎΡΠΊΠ΅ CPU-ΠΎΠ²Π΅ΡΠΊΠΎΠΌΠΌΠΈΡΠ°, Π³Π΄Π΅ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΡ Π²ΡΠ΅ΠΌ ΠΠ, Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΄Π΅Ρ CPU ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠ° ΡΠΎΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 20 ΠΠ.
ΠΡΡΠ³ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Virtuozzo 7 ΠΈ Hyper-V 3.0. ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΡΡΠ° vConsolidate, Π³ΠΎΡΡΠ΅Π²Π°Ρ ΠΠ‘ β Windows Server 2012 R2.
vConsolidate: Hyper-V vs Virtuozzo @ Windows 2012 R2 (ΠΠ)

Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ DVD Store, Π² vConsolidate Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΠ. Π ΡΡΠΎΠΌ ΡΠ΅ΡΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π½Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ CSU (Consolidation Stack Units). ΠΠ°ΠΆΠ΄Π°Ρ CSU β ΡΡΠΎ Π³ΡΡΠΏΠΏΠ° ΠΈΠ· ΡΠ΅ΡΡΡΠ΅Ρ ΠΠ, Π½Π°Π³ΡΡΠ·ΠΊΡ Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ SPECjbb, WebBench ΠΈ SysBench (OLTP). Π§Π΅ΡΠ²Π΅ΡΡΠ°Ρ ΠΠ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ CSU β idle, ΡΠΎ Π΅ΡΡΡ Π±Π΅Π· Π½Π°Π³ΡΡΠ·ΠΊΠΈ. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β ΡΡΠ΅Π΄Π½Π΅Π΅ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΡΡΠ΅Ρ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΠ΅ΡΡΠΎΠ², ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ ΠΈΠ· Π²ΡΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ (ΠΎΡΡ ΠΎΡΠ΄ΠΈΠ½Π°Ρ). ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ CSU Π² ΡΠ΅ΡΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡ 1 Π΄ΠΎ 24 (ΠΎΡΡ Π°Π±ΡΡΠΈΡΡ).
β¬ ΠΡΠ°ΡΠΊΠ°Ρ ΠΈΡΡΠΎΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Virtuozzo/OpenVZ
Π 1999 Π³ΠΎΠ΄Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Linux-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π° ΡΠΆΠ΅ Π² 2002 Π³ΠΎΠ΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ SWsoft ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Virtuozzo. Π ΡΠΎΠΌ ΠΆΠ΅ 2002 Π³ΠΎΠ΄Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π² ΠΡΠ΅ΠΌΠ½ΠΈΠ΅Π²ΠΎΠΉ Π΄ΠΎΠ»ΠΈΠ½Π΅.
Π 2004 Π³ΠΎΠ΄Ρ β Π²ΡΠΏΡΡΠΊ Virtuozzo Π΄Π»Ρ Windows. Π 2005 Π³ΠΎΠ΄Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Virtuozzo Π½Π° Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ OpenVZ (ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GNU GPL) ΠΈ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΡΠΉ Virtuozzo.
Π 2006 Π³ΠΎΠ΄Ρ OpenVZ ΡΡΠ°Π» Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ Debian Linux, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΊ ΡΠ΄ΡΡ RHEL 4. Π 2007 Π³ΠΎΠ΄Ρ β ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° RHEL 5.
Π 2011 Π³ΠΎΠ΄Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΈΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° CRIU, OpenVZ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° RHEL 6. Π 2012 Π³ΠΎΠ΄Ρ ΡΡΠ°Π»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° CRIU v0.1.
Π ΠΊΠΎΠ½ΡΠ΅ 2014 Π³ΠΎΠ΄Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Odin Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»Π° ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Parallels Cloud Server ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΅Π΅ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ OpenVZ.
Π Π°ΠΏΡΠ΅Π»Π΅ 2015 Π³ΠΎΠ΄Π° ΠΎΡΠΊΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Ρ ΡΠ΄ΡΠΎΠΌ RHEL 7 (3.10), Π² ΠΌΠ°Π΅ Π±ΡΠ»ΠΈ ΠΎΡΠΊΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΡΠΈΠ»ΠΈΡ, Π° Π² ΠΈΡΠ½Π΅ Π²ΡΠ»ΠΎΠΆΠ΅Π½Ρ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ ISO-ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ RPM-ΠΏΠ°ΠΊΠ΅ΡΡ.
Π ΠΌΠ°ΡΡΠ΅ 2016 Π³ΠΎΠ΄Π° Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ Π²ΡΡ ΠΎΠ΄ Virtuozzo 7.0 Beta, Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘ Π΄Π»Ρ Linux ΠΈ Windows. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° "ΠΆΠΈΠ²Π°Ρ" ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ CRIU ΠΈ P.Haul.
25 ΠΈΡΠ»Ρ 2016 Π³ΠΎΠ΄Π° Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΈΠ· ΠΏΡΠΎΠ΄ΡΠΊΡΠ° ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ OpenVZ 7.0. Π ΡΠ΅Π»ΠΈΠ·Π΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΊΠ°ΠΊ ΠΎΡΠΊΠ°Π· ΠΎΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ SimFS, ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΡΡΠΎ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ OpenVZ ΡΡΠΈΠ»ΠΈΡΠ° vzctl Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ prlctl ΠΈΠ»ΠΈ virsh.
β¬ Π§ΡΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π² OpenVZ 7
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ OpenVZ 6 (2.6.32):
- OpenVZ 7 Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ΄ΡΠ΅ RHEL 7 (3.10)
- Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π² Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΄ΡΠΎ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΡΠ΅ΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΎΡΡ, Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² 2.6.18 (RHEL 5) ΡΠ°Π²Π½ΠΎ 264000, Π΄Π»Ρ 2.6.32 (RHEL 6) β 202000, Π΄Π»Ρ 3.10 (RHEL 7) β 66000 ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ²
- ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΆΠΈΠ²ΠΎΠΉ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ P.Haul ΠΈ CRIU
- Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π½Π° Π±Π°Π·Π΅ KVM
- ΠΎΡΠΊΠ°Π· ΠΎΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ vzctl Π² ΠΏΠΎΠ»ΡΠ·Ρ prlctl ΠΈ virsh
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° VCMM Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ
- ΠΎΡΠΊΠ°Π· ΠΎΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ SimFS Π² ΠΏΠΎΠ»ΡΠ·Ρ ploop
- ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ libvirt
- Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ
- Π³ΠΎΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ CPU/RAM Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° KSM
- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Ρ 2005 Π³ΠΎΠ΄Π°
- ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Docker ΠΈ OpenStack
β¬ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ OpenVZ 7.0 Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ISO-ΠΎΠ±ΡΠ°Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenVZ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PXE (Preboot Execution Environment) ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Π° Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Virtuozzo Linux (VzLinux) Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΠ΄ΡΠ° RHEL 7, ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ISO-ΠΎΠ±ΡΠ°Π·Π° ΠΈ Π² Π²ΠΈΠ΄Π΅ netinstall-ΠΎΠ±ΡΠ°Π·Π°.
Π’Π΅ΠΊΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ISO-ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: https://download.openvz.org/virtuozzo/releases/7.0/x86_64/iso/
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΈΡΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ OpenVZ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ Ρ Π½ΠΎΡΠΈΡΠ΅Π»Ρ.
ΠΠΊΡΠ°Π½ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenVZ ΠΏΠΎΡΠ»Π΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Ρ Π½ΠΎΡΠΈΡΠ΅Π»Ρ

Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenVZ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Linux-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°. Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Anaconda ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ, ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΡΠ·ΡΠΊΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ Π΄ΠΈΡΠΊΠ° ΠΈ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½ kdump, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΡΡΠ½ΠΈΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ±ΠΎΠ΅Π² Π² ΡΠ΄ΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π½Π΅ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ.
ΠΠΊΡΠ°Π½ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ

ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ 30GB Π΄ΠΈΡΠΊΠ°

ΠΠ΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΡΠ°Π·Π΄Π΅Π»Π° / Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 8GB Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°.
Π Π°Π·ΠΌΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»Π° swap ΡΠ°Π²Π΅Π½ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 30GB) Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π΄Π΅Π» /vz Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ext4.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Ρ
ΠΎΡΡΠ°

Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ root ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ vzuser.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ

ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ.
ΠΠ° ΡΡΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° OpenVZ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ISO-ΠΎΠ±ΡΠ°Π·Π° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°.
ΠΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠ° GRUB ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ OpenVZ

ΠΠ΅ΡΠ²ΡΠΉ Π²Ρ
ΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ vzuser, ΠΏΠΎ SSH.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π² ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅:
user@localhost ~ $ ssh [email protected]
[email protected]'s password: ΠΏΠ°ΡΠΎΠ»Ρ_ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ_vzuser
[vzuser@vz ~]$ su -
Password: ΠΏΠ°ΡΠΎΠ»Ρ_ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ_root
[root@vz ~]#
ΠΠ° ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π²Π°ΠΆΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ:
[root@vz ~]# yum update
ΠΠ»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. Π§ΡΠΎΠ±Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ntp.
ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ‘, Π±ΡΠ»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π·ΠΎΠ½Π°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ·ΠΆΠ΅:
[root@vz ~]# timedatectl set-timezone Europe/Moscow
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ntp ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ:
[root@vz ~]# yum install ntp
[root@vz ~]# systemctl start ntpd
[root@vz ~]# systemctl enable ntpd
[root@vz ~]# ntpdate -q 0.ru.pool.ntp.org 1.ru.pool.ntp.org
β¬ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ
Π¨Π°Π±Π»ΠΎΠ½Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘:
[root@vz ~]# vzpkg list -O --with-summary
ubuntu-14.04-x86_64 :Ubuntu 14.04 (for AMD64/Intel EM64T) Virtuozzo Template
ubuntu-16.04-x86_64 :Ubuntu 16.04 (for AMD64/Intel EM64T) Virtuozzo Template
vzlinux-7-x86_64 :VzLinux 7 (for AMD64/Intel EM64T) Virtuozzo Template
centos-7-x86_64 :Centos 7 (for AMD64/Intel EM64T) Virtuozzo Template
centos-6-x86_64 :Centos 6 (for AMD64/Intel EM64T) Virtuozzo Template
debian-8.0-x86_64 :Debian 8.0 (for AMD64/Intel EM64T) Virtuozzo Template
debian-8.0-x86_64-minimal :Debian 8.0 minimal (for AMD64/Intel EM64T) Virtuozzo Template
Π£Π΄Π°Π»Π΅Π½Π½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ:
[root@vz ~]# vzpkg list --available --with-summary
debian-7.0-x86_64
fedora-22-x86_64
fedora-23-x86_64
suse-42.1-x86_64
ubuntu-14.10-x86_64
ubuntu-15.04-x86_64
ubuntu-15.10-x86_64
vzlinux-6-x86_64
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½Π°:
[root@vz ~]# vzpkg install template ubuntu-16.04-x86_64
ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°:
[root@vz ~]# yum install ubuntu-16.04-x86_64-ez
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΡΠ° ΡΠ°Π±Π»ΠΎΠ½Π°:
[root@vz ~]# vzpkg create cache ubuntu-16.04-x86_64
[root@vz ~]# vzpkg update cache ubuntu-16.04-x86_64
ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Π°, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΡΠ° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
ΠΡΠΎΡΠΌΠΎΡΡ Π΄Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΡΡΠ°:
[root@vz ~]# vzpkg list -O
ubuntu-14.04-x86_64
ubuntu-16.04-x86_64 2016-05-14 02:10:18
vzlinux-7-x86_64
centos-7-x86_64
centos-6-x86_64
debian-8.0-x86_64
debian-8.0-x86_64-minimal
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², Π° ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΠ Π΄Π»Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ centos-7-x86_64:
[root@vz ~]# vzpkg list centos-7-x86_64
centos-7-x86_64 2016-02-09 17:01:05
centos-7-x86_64 cyrus-imap
centos-7-x86_64 tomcat
centos-7-x86_64 php
centos-7-x86_64 docker
centos-7-x86_64 mailman
centos-7-x86_64 spamassassin
centos-7-x86_64 devel
centos-7-x86_64 mod_ssl
centos-7-x86_64 jre
centos-7-x86_64 vzftpd
centos-7-x86_64 postgresql
centos-7-x86_64 mysql
centos-7-x86_64 jsdk
ΠΡΠΈΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ tomcat ΠΈ jre:
[root@vz ~]# vzpkg list ct5
centos-7-x86_64 2016-02-09 17:00:57
[root@vz ~]# vzpkg install ct5 tomcat jre
[root@vz ~]# prlctl exec ct5 systemctl start tomcat
[root@vz ~]# prlctl exec ct5 systemctl is-active tomcat
active
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# vzpkg list ct5
centos-7-x86_64 2016-02-09 17:00:57
centos-7-x86_64 tomcat 2016-02-09 19:56:03
centos-7-x86_64 jre 2016-02-09 20:03:50
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# vzpkg remove ct5 tomcat
Removed:
tomcat noarch 0:7.0.54-2.el7_1
tomcat-admin-webapps noarch 0:7.0.54-2.el7_1
tomcat-webapps noarch 0:7.0.54-2.el7_1
tomcat-lib noarch 0:7.0.54-2.el7_1
tomcat-el-2.2-api noarch 0:7.0.54-2.el7_1
[root@vz ~]# vzpkg list ct5
centos-7-x86_64 2016-02-09 17:00:57
centos-7-x86_64 jre 2016-02-09 20:03:50
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ³, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ CentOS 7 Ρ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Apache Tomcat:
[root@vz ~]# cd /etc/vz/conf/
[root@vz conf]# cp ve-basic.conf-sample ve-centos-7-x86_64-tomcat.conf-sample
[root@vz conf]# echo OSTEMPLATE=".centos-7" >> ve-centos-7-x86_64-tomcat.conf-sample
[root@vz conf]# echo TEMPLATES=".tomcat" >> ve-centos-7-x86_64-tomcat.conf-sample
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΊΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
[root@vz ~]# vzpkg create appcache --config centos-7-x86_64-tomcat
[root@vz ~]# vzpkg list appcache
centos-7-x86_64 2016-07-31 03:12:28
tomcat
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
[root@vz ~]# prlctl create ct5 --config centos-7-x86_64-tomcat --vmtype=ct
Creating the Virtuozzo Container...
The Container has been successfully created.
[root@vz ~]# prlctl start ct5
Starting the CT...
The CT has been successfully started.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Apache Tomcat Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ°Π±Π»ΠΎΠ½Π°:
[root@vz ~]# prlctl exec ct5 rpm -q tomcat
tomcat-7.0.54-2.el7_1.noarch
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΠ‘ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΠ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ct2 Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ nginx:
[root@vz ~]# prlctl clone ct2 --name CentOS7+nginx --template
Clone the ct2 CT to template CentOS7+nginx...
The CT has been successfully cloned.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²:
[root@vz ~]# prlctl list -t
UUID DIST T NAME
{c28c09dd-a379-43dd-aae9-3e62f972476a} centos7 CT CentOS7+nginx
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° CentOS7+nginx:
[root@vz ~]# prlctl create ct3 --ostemplate CentOS7+nginx
Creating the VM on the basis of the CentOS7+nginx template...
Clone the CentOS7+nginx CT to CT ct3...
The CT has been successfully cloned.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°:
[root@vz ~]# prlctl delete CentOS7+nginx
Removing the CT...
The CT has been successfully removed.
β¬ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
Π ΡΡΠ°ΡΡΡ Π²Π΅ΡΡΠΈΡΡ OpenVZ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ CTID, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΡΡΠ½ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π‘Π΅ΠΉΡΠ°Ρ Π² ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π½Π° ΡΠΌΠ΅Π½Ρ CTID ΠΏΡΠΈΡΠ΅Π» UUID, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» /vz/private/$UUID/ve.conf.
ΠΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΠΏΠΎ UUID ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ UUID = {3d32522a-80af-4773-b9fa-ea4915dee4b3}, ΠΊΠΎΠ½ΡΠΈΠ³ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ /vz/private/3d32522a-80af-4773-b9fa-ea4915dee4b3/ve.conf.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ², Π΄Π»Ρ Π½ΠΈΡ
ΡΠΎΠ·Π΄Π°Π½Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π²ΠΈΠ΄Π° /etc/vz/conf/$UUID.conf.
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠ², ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π²ΠΈΠ΄Π° /etc/vz/names/$NAME.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
Π’ΠΈΠΏΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /etc/vz/conf/:
[root@vz ~]# ls /etc/vz/conf/ | grep sample
ve-basic.conf-sample
ve-confixx.conf-sample
ve-vswap.1024MB.conf-sample
ve-vswap.2048MB.conf-sample
ve-vswap.256MB.conf-sample
ve-vswap.512MB.conf-sample
ve-vswap.plesk.conf-sample
vps.vzpkgtools.conf-sample
Π ΡΡΠΈΡ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»Π°Ρ
ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈ Ρ.Π΄.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ³Π° ve-vswap.512MB.conf-sample, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ Π΄ΠΈΡΠΊΠΎΠ²ΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ 10GB, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ 512MB ΠΈ swap 512MB:
[root@vz ~]# egrep "DISKSPACE|PHYSPAGES|SWAPPAGES|DISKINODES" /etc/vz/conf/ve-vswap.512MB.conf-sample
PHYSPAGES="131072:131072"
SWAPPAGES="131072"
DISKSPACE="10485760:10485760"
DISKINODES="655360:655360"
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π²Π°ΡΠΈΠ°ΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π½Π° Π±Π°Π·Π΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ vswap.512MB.
ΠΡΠΏΡΠ°Π²ΠΈΠΌ Π² Π½Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ PHYSPAGES, SWAPPAGES, DISKSPACE, DISKINODES:
[root@vz ~]# cp /etc/vz/conf/ve-vswap.512MB.conf-sample /etc/vz/conf/ve-vswap.1GB.conf-sample
[root@vz ~]# vim /etc/vz/conf/ve-vswap.1GB.conf-sample
PHYSPAGES="262144:262144"
SWAPPAGES="262144"
DISKSPACE="20971520:20971520"
DISKINODES="1310720:1310720"
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ 20GB Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, 1GB ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ 1GB swap.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ°Π±Π»ΠΎΠ½Π° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ vswap.1GB (ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½):
[root@vz ~]# prlctl set ct1 --applyconfig vswap.1GB
The CT has been successfully configured.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ:
[root@vz ~]# prlctl create ct1 --ostemplate debian-8.0-x86_64 --vmtype=ct
Creating the Virtuozzo Container...
The Container has been successfully created.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ct1 Π½Π° Π±Π°Π·Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° debian-8.0-x86_64.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²:
[root@vz ~]# prlctl list -a
UUID STATUS IP_ADDR T NAME
{3d32522a-80af-4773-b9fa-ea4915dee4b3} stopped - CT ct1
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΡΠΎ OpenVZ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ /etc/vz/vz.conf.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ centos-7 ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» basic:
[root@vz ~]# egrep "CONFIGFILE|DEF_OSTEMPLATE" /etc/vz/vz.conf
CONFIGFILE="basic"
DEF_OSTEMPLATE=".centos-7"
ΠΡΠ»ΠΈ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³Π΅, ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π½Π° Π½ΡΠΆΠ½ΡΠ΅.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΎΠ·Π΄Π°Π½, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ. ΠΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠ΅ΡΠ²ΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ IP-Π°Π΄ΡΠ΅ΡΠ°, hostname, ΡΠΊΠ°Π·Π°ΡΡ DNS ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ IP-Π°Π΄ΡΠ΅ΡΠΎΠ²:
[root@vz ~]# prlctl set ct1 --ipadd 192.168.0.161/24
[root@vz ~]# prlctl set ct1 --ipadd fe80::20c:29ff:fe01:fb08
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° DNS ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ hostname:
[root@vz ~]# prlctl set ct1 --nameserver 192.168.0.1,192.168.0.2
[root@vz ~]# prlctl set ct1 --hostname ct1.vz.localhost
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°:
[root@vz ~]# prlctl set ct1 --searchdomain vz.localhost
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
[root@vz ~]# prlctl set ct1 --userpasswd root:eVjfsDkTE63s5Nw
Π‘Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Linux:
[root@vz ~]# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 15 | head -1
BC4Ce984DBWVcXc
ΠΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠΎΠΉ pwgen:
[root@vz ~]# yum localinstall https://dl.fedoraproject.org/pub/epel/7/x86_64/p/pwgen-2.07-1.el7.x86_64.rpm
[root@vz ~]# pwgen -s 15 1
esxrcH7dyoA46LY
ΠΠ°ΡΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π² ΡΠ°ΠΉΠ» /etc/shadow ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΡΠ΅ΡΡΠ½ ΠΈΠ»ΠΈ Π·Π°Π±ΡΡ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ:
[root@vz ~]# prlctl set ct1 --onboot yes
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl set ct1 --description "This is my first container"
ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl start ct1
Starting the CT...
The CT has been successfully started.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π²Π½ΡΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘:
[root@vz ~]# prlctl exec ct1 ip addr show venet0
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
link/void
inet 127.0.0.1/32 scope host venet0
valid_lft forever preferred_lft forever
inet 192.168.0.161/24 brd 192.168.0.255 scope global venet0:0
valid_lft forever preferred_lft forever
inet6 ::2/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe01:fb08/64 scope link
valid_lft forever preferred_lft forever
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ hostname:
[root@vz ~]# prlctl exec ct1 hostname
ct1.vz.localhost
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΡΠ΅ΡΠΈ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ:
[root@vz ~]# ssh [email protected]
[email protected]'s password: eVjfsDkTE63s5Nw
root@ct1:~#
ΠΡ ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π°ΠΏΡΡΠΌΡΡ Ρ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ:
[root@vz ~]# prlctl enter ct1
entered into CT
root@ct1:/# exit
logout
[root@vz ~]#
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl console ct2
Attached to CT 9d921e42-1087-45e6-bea0-3d706b2d1862 tty2 (type ESC . to detach)
CentOS Linux 7 (Core)
Kernel 3.10.0-327.3.1.vz7.10.11 on an x86_64
ct2 login: root
Password: veig7Ei1iedeVa8
[root@ct2 ~]#
ΠΠ»Ρ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ESC + .
β¬ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ
Π‘ΡΠ°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl status ct1
CT ct1 exist running
[root@vz ~]# prlctl status ct2
CT ct2 exist stopped
ΠΠΎ Π²ΡΠ²ΠΎΠ΄Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ct1 Π·Π°ΠΏΡΡΠ΅Π½, Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ct2 ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl stop ct1
Stopping the CT...
The CT has been successfully stopped.
ΠΠ½ΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ» ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ Π²Π·Π»ΠΎΠΌΡ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΎΡΠ½ΠΎ Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ --kill:
[root@vz ~]# prlctl stop ct1 --kill
Stopping the CT...
The CT has been forcibly stopped
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl restart ct1
Restarting the CT...
The CT has been successfully restarted.
ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΡΠ°ΠΉΠ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΡΠΎ ΠΆΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ Π±ΡΠ» ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π° ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ suspend ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π° resume β Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ:
[root@vz ~]# prlctl suspend ct1
Suspending the CT...
The CT has been successfully suspended.
[root@vz ~]# prlctl status ct1
CT ct1 exist suspended
[root@vz ~]# prlctl resume ct1
Resuming the CT...
The CT has been successfully resumed.
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ delete (ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ):
[root@vz ~]# prlctl stop ct1
[root@vz ~]# prlctl delete ct1
Removing the CT...
The CT has been successfully removed.
ΠΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° (/vz/private/$UUID).
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±Π΅Π· Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΠΏΡΠΈΡ mount, Π΄Π»Ρ ΡΠ°Π·ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ β umount.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π΅ ΡΡΠ°ΡΡΡΠ΅Ρ:
[root@vz ~]# prlctl mount ct6
Mounting the CT...
The CT has been successfully mounted.
[root@vz ~]# ls /vz/root/8de0101f-c166-42ce-ad53-a7900b223d46/
bin boot dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@vz ~]# prlctl status ct6
CT ct6 exist mounted
[root@vz ~]# prlctl umount ct6
Unmounting the CT...
The CT has been successfully unmounted.
[root@vz ~]# ls /vz/root/8de0101f-c166-42ce-ad53-a7900b223d46/
[root@vz ~]#
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΡΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² Π΄ΡΡΠ³ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° move:
[root@vz ~]# mkdir /home/private
[root@vz ~]# prlctl move ct6 --dst /home/private
Move the ct6 CT to /home/private...
The CT has been successfully moved.
[root@vz ~]# ls /home/private/8de0101f-c166-42ce-ad53-a7900b223d46/
dump/ fs/ .lck .owner root.hdd/ scripts/ templates/ .uptime ve.conf .ve.layout .ve.xml
Π‘Π±ΡΠΎΡ Π°ΠΏΡΠ°ΠΉΠΌΠ° (Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΡ) ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl list -i ct1 | grep Uptime
Uptime: 01:15:57 (since 2016-07-31 01:18:41)
[root@vz ~]# prlctl reset-uptime ct1
Performing reset uptime operation to the CT...
The CT uptime has been successfully reset.
[root@vz ~]# prlctl list -i ct1 | grep Uptime
Uptime: 00:00:00 (since 2016-08-17 23:18:22)
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ‘ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° vzctl reinstall.
ΠΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΡΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ):
[root@vz ~]# prlctl stop ct1
[root@vz ~]# vzctl reinstall ct1 --skipbackup
...
Container was successfully reinstalled
[root@vz ~]# prlctl start ct1
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, vzctl reinstall Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (ΡΠ°ΡΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ) ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /old Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ --skipbackup.
OpenVZ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ:
[root@vz ~]# prlctl clone ct1 --name ct2
Clone the ct1 CT to CT ct2...
The CT has been successfully cloned.
[root@vz ~]# prlctl list -a
UUID STATUS IP_ADDR T NAME
{3d32522a-80af-4773-b9fa-ea4915dee4b3} running 192.168.0.161 CT ct1
{54bc2ba6-b040-469e-9fda-b0eabda822d4} stopped 192.168.0.161 CT ct2
ΠΡΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΌΠ΅Π½Π΅ IP-Π°Π΄ΡΠ΅ΡΠ°, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π·Π°ΠΏΡΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Π½Π°Π±Π»ΡΠ΄Π°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°:
[root@vz ~]# prlctl start ct2
Starting the CT...
Failed to start the CT: PRL_ERR_VZCTL_OPERATION_FAILED
Unable to add ip 192.168.0.161: Address already in use
Failed to start the Container
Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ°ΡΡΠ΅ IP-Π°Π΄ΡΠ΅ΡΠ°:
[root@vz ~]# prlctl set ct2 --ipdel 192.168.0.161/24
[root@vz ~]# prlctl set ct2 --ipdel fe80::20c:29ff:fe01:fb08
ΠΠ°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅:
[root@vz ~]# prlctl set ct2 --ipadd 192.168.0.162/24
[root@vz ~]# prlctl set ct2 --ipadd fe80::20c:29ff:fe01:fb09
Π‘ΠΌΠ΅Π½Π° hostname:
[root@vz ~]# prlctl set ct2 --hostname ct2.vz.localhost
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ:
[root@vz ~]# prlctl start ct2
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅:
[root@vz ~]# prlctl exec ct1 cat /etc/issue
Debian GNU/Linux 8 \n \l
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ . ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:
[root@vz ~]# CMD="cat /etc/issue"
[root@vz ~]# for i in `prlctl list -o name -H`; do echo "CT $i"; prlctl exec $i $CMD; done
CT ct1
Debian GNU/Linux 8 \n \l
CT ct2
Debian GNU/Linux 8 \n \l
β¬ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠ΅ΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.
ΠΡΠ΅ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΉΠ»Π°Ρ
ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /etc/vz/conf/.
ΠΡ
ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈΠ»ΠΈΡΡ OpenVZ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ Π½Π° Π³ΡΡΠΏΠΏΡ:
- Π΄ΠΈΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠ²ΠΎΡΡ
- ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ
- ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°
- ΠΏΠ°ΠΌΡΡΡ
- ΡΠ΅ΡΡ
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ° OpenVZ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΠ΅ ΠΊΠ²ΠΎΡΡ, Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° inodes, ΡΠΈΡΠ»ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π²Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠ²ΠΎΡΡ. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ, Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΊΠ²ΠΎΡ UNIX Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π³ΡΡΠΏΠΏ.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΊΠ²ΠΎΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ OpenVZ:
[root@vz ~]# grep DISK_QUOTA /etc/vz/vz.conf
DISK_QUOTA=yes
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
DISKSPACEβ ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° (Π·Π°Π΄Π°Π΅ΡΡΡ Π² Kb)DISKINODESβ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ inodesQUOTATIMEβ Π²ΡΠ΅ΠΌΡ (Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π²ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ soft ΠΏΡΠ΅Π΄Π΅Π»Π°
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π² Π²ΠΈΠ΄Π΅:
COMMAND="softlimit:hardlimit"
Π³Π΄Π΅:
COMMANDβ ΠΊΠΎΠΌΠ°Π½Π΄Π° (DISKSPACEΠΈΠ»ΠΈDISKINODES)softlimitβ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π²ΡΡΠ°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Π° Π½Π°ΡΡΡΠΏΠ°Π΅Ρ grace ΠΏΠ΅ΡΠΈΠΎΠ΄, ΠΏΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ, Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠ»ΠΈ inodes ΠΏΡΠ΅ΠΊΡΠ°ΡΡΡ ΡΠ²ΠΎΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅hardlimitβ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π²ΡΡΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΏΠΈΡΡ:
DISKSPACE="19922944:20971520"
DISKINODES="1300000:1310720"
QUOTATIME="600"
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π°Π΄Π°Π΅ΡΡΡ softlimit Π΄Π»Ρ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΡΠ°Π²Π½ΡΠΌ ~19G ΠΈ hardlimit ΡΠ°Π²Π½ΡΠΉ 20G, ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Ρ inodes 1300000 ΠΈ 1310720 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π½ΡΡΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠ»ΠΈ inodes Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ΅ softlimit, ΡΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ 600 ΡΠ΅ΠΊ (10 ΠΌΠΈΠ½), Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠ»ΠΈ inodes, ΠΎΠ½ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΡΡ ΡΠ²ΠΎΠ΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ vzctl:
[root@vz ~]# vzctl set ct1 --diskspace 5G:6G --save
Resize the image /vz/private/3d32522a-80af-4773-b9fa-ea4915dee4b3/root.hdd to 6291456K
dumpe2fs 1.42.9 (28-Dec-2013)
[root@vz ~]# vzctl set ct1 --diskinodes 10000:110000 --save
ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π² OpenVZ ΡΠ°ΠΊΠΆΠ΅ Π΄Π²ΡΡ
ΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ.
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π°ΡΡ ΠΊΠ²Π°Π½Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π±Π°Π·ΠΈΡΡΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° CPUUNITS Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ GNU/Linux ΡΠ΅ΡΠ°Π΅Ρ, ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ Π΄Π°ΡΡ ΠΊΠ²Π°Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Π±Π°Π·ΠΈΡΡΡΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°Ρ
ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ CPU ΡΠ²Π»ΡΡΡΡΡ:
CPUUNITSβ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡCPUMASKβ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡCPULIMITβ Π²Π΅ΡΡ Π½ΠΈΠΉ Π»ΠΈΠΌΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΡΠΎΡΠ΅Π½ΡΠ°ΡCPUSβ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌNODEMASKβ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ° ΡΠ΄Π΅Ρ NUMA-ΡΠΈΡΡΠ΅ΠΌ ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ CPUUNITS ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π²Π½ΠΎ 1000.
Π’ΠΎ Π΅ΡΡΡ, Π΅ΡΠ»ΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ct1 ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 2000, Π° Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ct2 ΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1000, ΡΠΎ ΠΏΡΠΈ ΡΠ°Π²Π½ΡΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ct1 ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠΎΠ²Π½ΠΎ Π² Π΄Π²Π° ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
[root@vz ~]# prlctl set ct1 --cpuunits 2000
set cpuunits 2000
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½Π°Ρ, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° CPUMASK ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌ.
Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΡΡΠΌΠΈΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ, ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌ 0-3, 6, 7:
[root@vz ~]# prlctl set ct1 --cpumask 0-3,6,7
set cpu mask 0-3,6,7
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ CPULIMIT ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠΈΠΉ Π²Π΅ΡΡ
Π½ΠΈΠΉ Π»ΠΈΠΌΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°:
[root@vz ~]# prlctl set ct1 --cpulimit 15
set cpulimit 15%
ΠΠ»Ρ ΠΎΠ΄Π½ΠΎΡΠ΄Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π²Π΅ΡΡ Π½ΠΈΠΉ Π»ΠΈΠΌΠΈΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ 100%, Π΄Π»Ρ Π΄Π²ΡΡ ΡΠ΄Π΅ΡΠ½ΠΎΠ³ΠΎ 200% ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ CPULIMIT Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
(MHz):
[root@vz ~]# prlctl set ct1 --cpulimit 600m
set cpulimit 600Mhz
Π ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ CPUS Π·Π°Π΄Π°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ
ΡΠ΄Π΅Ρ.
ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΄ΡΠ°:
[root@vz ~]# CPUINFO="grep processor /proc/cpuinfo"
[root@vz ~]# prlctl exec ct1 $CPUINFO
processor : 0
processor : 1
processor : 2
processor : 3
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π»ΠΈΠΌΠΈΡ Π² 2 ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΄ΡΠ°:
[root@vz ~]# prlctl set ct1 --cpus 2
set cpus(4): 2
[root@vz ~]# prlctl exec ct1 $CPUINFO
processor : 0
processor : 1
ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ NUMA ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌ NUMA-Π½ΠΎΠ΄:
[root@vz ~]# prlctl set ct1 --nodemask 0
Π£ΡΠΈΠ»ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ Π»ΡΠ±ΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΡΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ Ρ Π½ΠΈΠΌ Π·Π° Π²ΡΠ΅ΠΌΡ CPU ΡΠ΅ΡΠ²Π΅ΡΠ°.
Π OpenVZ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°. ΠΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠ°ΠΊ:
IOPRIOIOLIMITIOPSLIMIT
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ IOPRIO ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²Π²ΠΎΠ΄Π° Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ°Π²Π½ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ (Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 4).
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡ 0 (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ) Π΄ΠΎ 7:
[root@vz ~]# prlctl set ct1 --ioprio 6
set ioprio 6
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ IOLIMIT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0, ΡΠΎ Π΅ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ².
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² MB/s:
[root@vz ~]# prlctl set ct1 --iolimit 20
Set up iolimit: 20971520
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠ² ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
Gβ Π³ΠΈΠ³Π°Π±Π°ΠΉΡMβ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡKβ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡBβ Π±Π°ΠΉΡ
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄ΠΈΡΠΊΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 2GB/s.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ IOPSLIMT ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ 300:
[root@vz ~]# prlctl set ct1 --iopslimit 300
set IOPS limit 300
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠ°Π²Π½ΠΎ 0, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π»ΠΈΠΌΠΈΡΠΎΠ².
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ IOLIMIT.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ IOLIMIT ΡΠ°Π²Π½ΠΎ 0:
root@ct1:/# dd if=/dev/zero of=test bs=1048576 count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.210523 s, 49.8 MB/s
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ IOLIMIT ΡΠ°Π²Π½ΠΎ 500K:
root@ct1:/# dd if=/dev/zero of=test bs=1048576 count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 17.4388 s, 601 kB/s
Π OpenVZ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ VCMM. Π ΠΏΡΠΎΡΠ»ΠΎΠΌ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ:
- VSwap (ΡΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅)
- SLM (Π²ΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅)
- User Beancounters (ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅)
Π‘ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ VSwap ΠΈ VCMM Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, VCMM ΡΠΆΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠ΄ΡΠ΅ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ°ΡΡΠ΅ΠΉ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² OpenVZ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ swap Π·Π°Π΄Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ PHYSPAGES ΠΈ SWAPPAGES.
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² Π±Π»ΠΎΠΊΠ°Ρ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
PHYSPAGES="262144:262144"
SWAPPAGES="262144:262144"
ΡΠ°Π²Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ Π² 1024MB (262144 Π±Π»ΠΎΠΊ / 256 = 1024MB).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ prlctl Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅:
[root@vz ~]# prlctl set ct1 --memsize 1G --swappages 1G
Set the memsize parameter to 1024Mb.
Set swappages 262144
Overcommiting β Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ΅ΠΌ Π²ΡΠ΄Π°Π½ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ VM_OVERCOMMIT ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎ, Π²ΠΎ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ VM_OVERCOMMIT ΡΠ°Π²Π½ΠΎ 1.5.
Π’ΠΎ Π΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ, Ρ 1024MB ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ 1024MB swap, ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ 2048MB ΠΏΠ°ΠΌΡΡΠΈ, Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (2048MB * 1.5 = 3072MB) ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ:
VM_OVERCOMMIT="2"
Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ vzctl:
[root@vz ~]# vzctl set ct1 --vm_overcommit 2 --save
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 2 Π΄Π»Ρ ΡΠ°Π½Π΅Π΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Ρ 2048MB ΠΏΠ°ΠΌΡΡΠΈ, Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ (2048MB * 2 = 4096MB) ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π΅ΡΠ»ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΈ ΡΠ΅ΡΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π΅.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ vznetstat ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΠΈ ΠΈΡΡ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΡΠ°ΡΠΈΠΊ (Π² Π±Π°ΠΉΡΠ°Ρ
ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ
) Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²:
[root@vz ~]# vznetstat
UUID Net.Class Input(bytes) Input(pkts) Output(bytes) Output(pkts)
0 0 244486 3024 1567749 2491
54bc2ba6-b040-469e-9fda-b0eabda822d4 0 0 0 0 0
4730cba8-deed-4168-9f9e-34373e618026 0 0 0 0 0
3d32522a-80af-4773-b9fa-ea4915dee4b3 0 2925512 49396 49398885 49254
ΠΠ»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ -v:
[root@vz ~]# vznetstat -v 3d32522a-80af-4773-b9fa-ea4915dee4b3
UUID Net.Class Input(bytes) Input(pkts) Output(bytes) Output(pkts)
3d32522a-80af-4773-b9fa-ea4915dee4b3 0 2925512 49396 49398885 49254
Π£ΡΠΈΠ»ΠΈΡΠ° vzstat ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, Π·Π°Π½ΡΡΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΠ΅ΡΠΈ:
[root@vz ~]# vzstat -p 3d32522a-80af-4773-b9fa-ea4915dee4b3 -t
loadavg 0 0 0
CTNum 3
procs 289 1 288 0 0 0 0
CPU 16 0 2 3 95
sched latency 372 9
Mem 989 360 0
Mem latency 1 0
ZONE0 (DMA): size 15MB, act 4MB, inact 4MB, free 4MB (0/0/1)
ZONE1 (DMA32): size 1007MB, act 243MB, inact 274MB, free 355MB (43/54/64)
Mem lat (ms): A0 1, K0 0, U0 1, K1 0, U1 0
Slab pages: 62MB/62MB (ino 22MB, de 0MB, bh 1MB, pb 0MB)
Swap 952 952 0.000 0.000
Net stats 0.382 5949 5.542 5820
if br0 stats 0.171 2975 2.771 2910
if lo stats 0.000 0 0.000 0
if virbr1-nic stats 0.000 0 0.000 0
if enp0s3 stats 0.211 2975 2.771 2910
if virbr1 stats 0.000 0 0.000 0
Disks stats 0.000 0.000
CTID ST %VM %KM PROC CPU SOCK FCNT MLAT IP
vzpid ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° "ΠΏΡΠΎΡΠ΅ΡΡΠ°-Π³ΡΡΠ·ΡΠΈΠΊΠ°":
[root@vz ~]# top
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5625 33 20 0 364432 6232 1284 S 26.2 0.6 0:03.20 apache2
...
[root@vz ~]# vzpid 5625
Pid VEID Name
5625 3d32522a-80af-4773-b9fa-ea4915dee4b3 apache2
Π£ΡΠΈΠ»ΠΈΡΠ° vzps Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΡΠΈΠ»ΠΈΡΠ΅ ps, ΠΎΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈ ΠΈΡ
ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# vzps aufx -E 3d32522a-80af-4773-b9fa-ea4915dee4b3
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
0 2432 0.0 0.0 0 0 ? S 20:10 0:00 [kthreadd/3d3252]
0 2433 0.0 0.0 0 0 ? S 20:10 0:00 \_ [khelper]
0 2420 0.0 0.3 28168 3136 ? Ss 20:10 0:00 init -z
101 3088 0.0 0.1 26168 1448 ? Ss 20:10 0:00 \_ /lib/systemd/systemd-networkd
0 3117 0.0 0.1 28856 1620 ? Ss 20:10 0:00 \_ /lib/systemd/systemd-journald
0 3135 0.0 0.1 38916 1624 ? Ss 20:10 0:00 \_ /lib/systemd/systemd-udevd
0 3376 0.0 0.3 55156 3128 ? Ss 20:10 0:00 \_ /usr/sbin/sshd -D
102 3380 0.0 0.1 25732 1092 ? Ss 20:10 0:00 \_ /lib/systemd/systemd-resolved
0 3382 0.0 0.1 25884 1120 ? Ss 20:10 0:00 \_ /usr/sbin/cron -f
0 3388 0.0 0.1 182848 1884 ? Ssl 20:10 0:00 \_ /usr/sbin/rsyslogd -n
0 3433 0.0 0.0 12648 840 ? Ss+ 20:10 0:00 \_ /sbin/agetty --noclear tty2 linux
0 3434 0.0 0.0 12648 840 ? Ss+ 20:10 0:00 \_ /sbin/agetty --noclear --keep-baud console 115200 38400 9600 linux
0 3508 0.0 0.0 20200 956 ? Ss 20:10 0:00 \_ /usr/sbin/xinetd -pidfile /run/xinetd.pid -stayalive -inetd_compat -inetd_ipv6
0 3617 0.0 0.1 65452 1164 ? Ss 20:10 0:00 \_ /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 2
0 3625 0.0 0.0 65452 836 ? S 20:10 0:00 | \_ /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 2
0 3755 0.0 0.2 73496 2724 ? Ss 20:10 0:00 \_ /usr/sbin/apache2 -k start
33 5747 0.2 0.5 363364 5300 ? Sl 20:46 0:00 | \_ /usr/sbin/apache2 -k start
0 4074 0.0 0.2 36144 2388 ? Ss 20:10 0:00 \_ /usr/lib/postfix/master
105 4081 0.0 0.2 38208 2316 ? S 20:10 0:00 \_ pickup -l -t unix -u -c
105 4082 0.0 0.2 38256 2336 ? S 20:10 0:00 \_ qmgr -l -t unix -u
Π£ΡΠΈΠ»ΠΈΡΠ° vztop ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π°Π»ΠΈΠ°ΡΠΎΠΌ Π½Π° htop Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ UUID ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡ:
[root@vz ~]# which vztop
alias vztop='htop -s CTID'
/usr/bin/htop
β¬ ΠΡΠΎΠ±ΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ VPN ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ VPN ΡΠ°Π±ΠΎΡΠ°Π»Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TUN/TAP ΡΡΡΡΠΎΠΉΡΡΠ² Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
Π‘Ρ
Π΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ Virtual Private Network

ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ TUN ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ Π² ΡΠ΄ΡΠΎ, ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ lsmod:
[root@vz ~]# lsmod | grep ^tun
tun 27183 1
ΠΡΠ»ΠΈ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½, ΡΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ modprobe:
[root@vz ~]# modprobe tun
ΠΡΠΎΠ±ΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ TUN Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
[root@vz ~]# vzctl set ct3 --devnodes net/tun:rw --save
Setting devices
Create /etc/tmpfiles.d/device-tun.conf
[root@vz ~]# prlctl exec ct3 ls -l /dev/net/tun
crw------- 1 root root 10, 200 Feb 10 13:12 /dev/net/tun
ΠΠ° ΡΡΠΎΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° TUN ΠΎΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΠ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ VPN. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ:
FUSE (Filesystem in Userspace) β ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° Linux, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. FUSE ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π±ΡΠ» Π΄ΠΎΡΡΡΠΏΠ΅Π½ FUSE, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π° Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π΅:
[root@vz ~]# modprobe fuse
[root@vz ~]# lsmod | grep fuse
fuse 106371 0
Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°Π»ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ΅ΡΡΠ°ΡΡΠ΅ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ:
[root@vz ~]# echo fuse >> /etc/modules-load.d/vz.conf
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ FUSE Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# vzctl set ct3 --devnodes fuse:rw --save
Setting devices
Create /etc/tmpfiles.d/device-fuse.conf
[root@vz ~]# prlctl exec ct3 ls -l /dev/fuse
crw------- 1 root root 10, 229 Feb 10 13:42 /dev/fuse
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π―Π½Π΄Π΅ΠΊΡ.ΠΠΈΡΠΊΠ° Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅:
[root@vz ~]# prlctl exec ct3 yum install fuse davfs2
[root@vz ~]# prlctl exec ct3 mount -t davfs https://webdav.yandex.ru /mnt/
Please enter the username to authenticate with server
https://webdav.yandex.ru or hit enter for none.
Username: user
Please enter the password to authenticate user username with server
https://webdav.yandex.ru or hit enter for none.
Password: pass
NFS (Network File System) β ΡΡΠΎ ΡΠ΅ΡΠ΅Π²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π±ΡΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ° NFS ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² OpenVZ, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΎΠ±ΡΠΎΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΠ±ΡΠΎΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ:
[root@vz ~]# prlctl stop ct1
[root@vz ~]# prlctl set ct1 --features nfsd:on
set features: nfsd:on
Π ΠΏΠΎΡΠ»Π΅ β Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ° nfs:
[root@vz ~]# prlctl start ct1
[root@vz ~]# prlctl exec ct1 systemctl start nfs
[root@vz ~]# prlctl exec ct1 systemctl is-active nfs
active
PPTP (Point-to-Point Tunneling Protocol) β ΡΡΠ½Π½Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠΈΠΏΠ° ΡΠΎΡΠΊΠ°-ΡΠΎΡΠΊΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π·Π° ΡΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ½Π½Π΅Π»Ρ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ, Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. PPTP ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½Π½Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ PPTP Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ OpenVZ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ° Π½Π° Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π΅.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° ppp_async, ppp_deflate, ppp_mppe:
[root@vz ~]# modprobe ppp_async
[root@vz ~]# modprobe ppp_deflate
[root@vz ~]# modprobe ppp_mppe
[root@vz ~]# lsmod | grep ppp
ppp_mppe 13002 0
ppp_deflate 12950 0
zlib_deflate 26914 1 ppp_deflate
ppp_async 17413 0
ppp_generic 33029 3 ppp_mppe,ppp_async,ppp_deflate
slhc 13450 1 ppp_generic
crc_ccitt 12707 1 ppp_async
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΡ:
[root@vz ~]# echo ppp_async >> /etc/modules-load.d/vz.conf
[root@vz ~]# echo ppp_deflate >> /etc/modules-load.d/vz.conf
[root@vz ~]# echo ppp_mppe >> /etc/modules-load.d/vz.conf
ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΏΡΠΎΠ±ΡΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl stop ct1
[root@vz ~]# vzctl set ct1 --devnodes ppp:rw --save
[root@vz ~]# prlctl start ct1
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°:
[root@vz ~]# prlctl enter ct1
[root@ct1 ~]# ls /dev/ppp
/dev/ppp
[root@ct1 ~]# /usr/sbin/pppd
~οΏ½}#οΏ½!}!}!} }4}"}&} } } } }%}&}0VοΏ½οΏ½}'}"}(}"ty
Netfilter β ΡΡΠΎ ΠΌΠ΅ΠΆΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠΊΡΠ°Π½ Π² ΡΠ΄ΡΠ΅ Linux.
Π OpenVZ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ Netfilter Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΡΡΠ΅ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠ°Π±ΠΎΡΡ Netfilter Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅:
- disabled β ΠΎΡΠΊΠ»ΡΡΠ΅Π½Ρ Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
- stateless (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) β Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ NAT ΠΈ conntracks
- stateful β Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ NAT
- full β Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Netfilter, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Netfilter Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl stop ct1
[root@vz ~]# prlctl set ct1 --netfilter disabled
Set netfilter: disabled
[root@vz ~]# prlctl start ct1
[root@vz ~]# prlctl exec ct1 iptables -L INPUT
iptables v1.4.21: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ:
[root@vz ~]# prlctl stop ct1
[root@vz ~]# prlctl set ct1 --netfilter full
Set netfilter: full
[root@vz ~]# prlctl start ct1
[root@vz ~]# prlctl exec ct1 iptables -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
β¬ SimFS ΠΈ ploop
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ OpenVZ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°:
- SimFS (ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ)
- ploop (ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°)
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² OpenVZ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ploop. SimFS ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΈ Ρ Π²Π΅ΡΡΠΈΠΈ OpenVZ 7 Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ploop:
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°
- ΠΆΡΡΠ½Π°Π» ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΠΊΠΈΠΌ ΠΌΠ΅ΡΡΠΎΠΌ
- ΠΆΠΈΠ²Π°Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ
- ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
- Π±ΡΡΡΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±Π΅Π· Π΅Π³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ploop ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ext4.
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ SimFS ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
[root@vz ~]# vim /etc/vz/vz.conf
#VEFSTYPE="ext4"
VEFSTYPE="simfs"
[root@vz ~]# prlctl create ct3 --vmtype=ct
[root@vz ~]# ls /vz/private/731a1572-d609-498f-8c8b-8739e336a210/fs/
.autorelabel boot/ etc/ lib/ media/ opt/ root/ sbin/ sys/ usr/ .vzfifo
bin/ dev/ home/ lib64/ mnt/ proc/ run/ srv/ tmp/ var/
ΠΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ SimFS Π½ΡΠΆΠ½ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ /etc/vz/vz.conf ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ VEFSTYPE="ext4".
β¬ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ
ΠΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ½Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΠ, Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π·Π°ΠΏΠΈΡΡ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΠ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡΠΎΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl snapshot ct2 -n FreshCentOS7 -d "Fresh CentOS 7 container"
Creating the snapshot...
The snapshot with id {aa9649d9-9ed1-408a-9463-36ce0cea6ba7} has been successfully created.
Π³Π΄Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ -n ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΡΠ½Π°ΠΏΡΠΎΡΠ°, -d β Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡΠΎΡΠ° Π²ΡΠ΅Π³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ
.
Π‘Π½Π°ΠΏΡΠΎΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /vz/private/$UUID/dump/:
[root@vz ~]# ls /vz/private/49465252-b780-45f1-9784-538166be2367/dump/
{aa9649d9-9ed1-408a-9463-36ce0cea6ba7} {aa9649d9-9ed1-408a-9463-36ce0cea6ba7}.ve.conf
ΠΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ½Π°ΠΏΡΠΎΡΠ΅:
[root@vz ~]# prlctl snapshot-list ct2 -i {aa9649d9-9ed1-408a-9463-36ce0cea6ba7}
ID: {aa9649d9-9ed1-408a-9463-36ce0cea6ba7}
Name: FreshCentOS7
Date: 2016-07-31 01:44:43
State: poweroff
Description: Fresh CentOS 7 container
Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ½Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl snapshot-list ct2
PARENT_SNAPSHOT_ID SNAPSHOT_ID
{aa9649d9-9ed1-408a-9463-36ce0cea6ba7}
{aa9649d9-9ed1-408a-9463-36ce0cea6ba7} *{e76f0a0d-aa8e-491f-a720-daa65dfb911a}
Π‘ΠΈΠΌΠ²ΠΎΠ» * ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π²Π΅ΡΠΊΡ ΡΠ½Π°ΠΏΡΠΎΡΠ°:
[root@vz ~]# prlctl snapshot-list ct2 -t
_{aa9649d9-9ed1-408a-9463-36ce0cea6ba7}*{e76f0a0d-aa8e-491f-a720-daa65dfb911a}
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ½Π°ΠΏΡΠΎΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ», Π° ΠΏΠΎΡΠΎΠΌ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΈΠ· ΡΠ½Π°ΠΏΡΠΎΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π΅Ρ:
[root@vz ~]# prlctl exec ct2 touch /root/file.txt
[root@vz ~]# prlctl exec ct2 ls /root/file.txt
/root/file.txt
[root@vz ~]# prlctl snapshot-switch ct2 --id {aa9649d9-9ed1-408a-9463-36ce0cea6ba7}
Switch to the snapshot...
The CT has been successfully switched.
[root@vz ~]# prlctl exec ct2 ls /root/file.txt
ls: cannot access /root/file.txt: No such file or directory
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ½Π°ΠΏΡΠΎΡΠ°:
[root@vz ~]# prlctl snapshot-delete ct2 --id {aa9649d9-9ed1-408a-9463-36ce0cea6ba7}
Delete the snapshot...
The snapshot has been successfully deleted.
ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ½Π°ΠΏΡΠΎΡΠ°, ΡΠ½Π°ΠΏΡΠΎΡΡ-ΠΏΠΎΡΠΎΠΌΠΊΠΈ Π½Π΅ ΡΠ΄Π°Π»ΡΡΡΡΡ.
β¬ Π Π°Π±ΠΎΡΠ° Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², OpenVZ 7 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ QEMU/KVM.
Π£ΡΠΈΠ»ΠΈΡΠ° prlctl ΠΈΠΌΠ΅Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ libvirt.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz ~]# prlctl create vm1 --distribution rhel7 --vmtype vm
Creating the virtual machine...
Generate the VM configuration for rhel7.
The VM has been successfully created.
ΠΠ»ΡΡ --distribution (-d) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΠ‘ ΠΈΠ»ΠΈ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΠ‘:
[root@vz ~]# prlctl create vm1 -d list
The following values are allowed:
win-2000 win-xp win-2003 win-vista
win-2008 win-7 win-8 win-2012
win-8.1 win rhel rhel7
suse debian fedora-core fc
xandros ubuntu mandriva centos
centos7 vzlinux7 psbm redhat
opensuse linux-2.4 linux-2.6 linux
mageia mint freebsd-4 freebsd-5
freebsd-6 freebsd-7 freebsd-8 freebsd
chrome-1 chrome
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /vz/vmprivate/ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ Π΅Π΅ UUID:
[root@vz ~]# ls /vz/vmprivate/1bdb465a-31e6-46c5-ad7b-947f6ff00208/
config.pvs config.pvs.backup harddisk.hdd
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΠ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π° ΡΠ°ΠΉΠ»Π°:
- ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
config.pvs - Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ
harddisk.hdd
Π ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π² XML-ΡΠΎΡΠΌΠ°ΡΠ΅.
Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ²:
- plain β Π΄ΠΈΡΠΊ Ρ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ
- expanded β Π΄ΠΈΡΠΊ Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ expanded-Π΄ΠΈΡΠΊ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 65G.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΠ:
[root@vz ~]# prlctl list -a
UUID STATUS IP_ADDR T NAME
{6fe60288-fe50-49fe-a68d-7a8330837358} stopped 192.168.0.161 CT ct1
{2cdb07fd-a68a-4279-81c1-3d269460c2f7} stopped 192.168.0.162 CT ct2
{485372f0-2ae3-4bfe-aa55-e556c37fea9f} stopped - VM vm1
ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ:
[root@vz ~]# prlctl set vm1 --description "Backend for app"
[root@vz ~]# prlctl set vm1 --device-set net0 --ipadd 192.168.0.180/24
[root@vz ~]# prlctl set vm1 --device-set net0 --ipadd 192.168.0.180/24
[root@vz ~]# prlctl set vm1 --device-set net0 --ipadd FE80:0:0:0:20C:29FF:FE01:FB07
[root@vz ~]# prlctl set vm1 --nameserver 192.168.0.1,192.168.0.2
[root@vz ~]# prlctl set vm1 --hostname vm1.vz.localhost
[root@vz ~]# prlctl set vm1 --memsize 1024
[root@vz ~]# prlctl set vm1 --cpus 2
[root@vz ~]# prlctl set vm1 --cpuunits 1000
[root@vz ~]# prlctl set vm1 --cpulimit 1024m
[root@vz ~]# prlctl set vm1 --cpumask 0-1
[root@vz ~]# prlctl set vm1 --ioprio 6
[root@vz ~]# prlctl set vm1 --iolimit 0
[root@vz ~]# prlctl set vm1 --iopslimit 0
ΠΠ»ΡΡ --videosize ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ Π² MB Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ:
[root@vz ~]# prlctl set vm1 --videosize 64
ΠΠ»ΡΡ --autostart Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ --onboot Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΡΡΠ°ΡΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ:
[root@vz ~]# prlctl set vm1 --autostart on
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π·. ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΠ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π² Π½Π΅ΠΌ Π²ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ:
[root@vz ~]# mkdir /vz/vmprivate/images/
[root@vz ~]# ls /vz/vmprivate/images/ -1
CentOS-7-x86_64-Minimal-1503-01.iso
9200.16384.WIN8_RTM.120725-1247_X64FRE_SERVER_EVAL_RU-RU-HRM_SSS_X64FREE_RU-RU_DV5.ISO
ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ Windows Server ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: https://www.microsoft.com/ru-ru/evalcenter/evaluate-windows-server-2016
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΠ Ρ ΠΎΠ±ΡΠ°Π·Π° CentOS-7-x86_64-Minimal-1503-01.iso:
[root@vz ~]# prlctl set vm1 --device-set cdrom1 --image "/vz/vmprivate/images/CentOS-7-x86_64-Minimal-1503-01.iso" --iface scsi --position 1
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΈΡΠΊΠ° Π΄ΠΎ 8G:
[root@vz ~]# prl_disk_tool resize --hdd /vz/vmprivate/vm1.pvm/harddisk.hdd --size 8G
ΠΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ:
[root@vz ~]# prlctl list vm1 -i | grep Hardware -A9
Hardware:
cpu cpus=2 VT-x accl=high mode=32 cpuunits=1000 cpulimit=1024Mhz ioprio=6 iolimit='0' mask=0-1
memory 1024Mb
video 64Mb 3d acceleration=highest vertical sync=yes
memory_guarantee auto
hdd0 (+) scsi:0 image='/vz/vmprivate/vm1.pvm/harddisk.hdd' type='expanded' 8192Mb subtype=virtio-scsi
cdrom0 (+) ide:0 image='/vz/vmprivate/vm1.pvm/cloud-config.iso'
cdrom1 (+) scsi:1 image='/vz/vmprivate/images/CentOS-7-x86_64-Minimal-1503-01.iso' subtype=virtio-scsi
usb (+)
net0 (+) dev='vme4292dc5f' network='Bridged' mac=001C4292DC5F card=virtio ips='192.168.0.180/255.255.255.0 FE80:0:0:0:20C:29FF:FE01:FB07/64 '
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ VNC Π΄Π»Ρ ΠΠ:
[root@vz ~]# prlctl set vm1 --vnc-mode manual --vnc-port 5901 --vnc-passwd Oiwaiqud
Configure VNC: Remote display: mode=manual port=5901
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π±Π΅ΡΠΏΠ°ΡΠΎΠ»ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ VNC Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ° --vnc-nopasswd Π²ΠΌΠ΅ΡΡΠΎ --vnc-passwd.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ Π΄Π»Ρ VNC. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠΈΠ½Π°ΠΌΠΈ, VNC Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
ΠΠ°ΠΏΡΡΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ:
[root@vz ~]# prlctl start vm1
Π’Π΅ΠΏΠ΅ΡΡ ΠΊ ΠΠ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΏΠΎ VNC:
user@localhost ~ $ sudo apt-get install xvnc4viewer
user@localhost ~ $ xvnc4viewer 192.168.0.150:5901
Password: Oiwaiqud
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ VNC-ΡΠ΅ΡΡΠΈΡ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅

ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΠ‘ Π² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ. ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π³ΠΎΡΡΠ΅Π²Π°Ρ ΠΠ‘

ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ‘, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΏΠΎ SSH:
user@localhost ~ $ ssh [email protected]
[email protected]'s password: eihaixahghath7A
[root@vm1 ~]#
OpenVZ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ OpenVZ Guest Tools (Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² ΠΠ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:
- Π·Π°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
prlctl exec - ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
prlctl set --userpasswd - ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ Π² ΠΠ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ vm1 Ρ Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ:
[root@vz ~]# prlctl installtools vm1
Installing...
The Parallels tools have been successfully installed.
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΠΉΡΠΈ Π² ΠΠ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎ SSH ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ:
[root@vz ~]# ssh [email protected]
[email protected]'s password: eihaixahghath7A
[root@vm1 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@vm1 ~]# bash /mnt/install
Preparing... ################################# [100%]
Updating / installing...
1:qemu-guest-agent-vz-2.5.0-19.el7 ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:prl_nettool-7.0.1-3.vz7 ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:vz-guest-udev-7.0.0-2 ################################# [100%]
Done!
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Ρ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ:
[root@vz ~]# prlctl exec vm1 uname -a
Linux vm1.tld 3.10.0-229.el7.x86_64 #1 SMP Fri Mar 6 11:36:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@vz ~]# prlctl set vm1 --userpasswd testuser:iel9cophoo2Aisa
Authentication tokens updated successfully.
[root@vz ~]# prlctl exec vm1 id testuser
uid=1000(testuser) gid=1000(testuser) groups=1000(testuser)
Π Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ Windows ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΡΡΠ΅ΠΌ ΠΏΡΠ½ΠΊΡΠ°ΠΌ:
- ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π²
<CD_root>/vioserial/<Win_version>/amd64/vioser.inf - Π·Π°ΠΏΡΡΠΊ
prl_nettool_<Win_arch>.msiΠΈqemu-ga-<Win_arch>.msi - ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°
qemu-ga.exe
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘ Π² ΠΠ:
[root@vz ~]# prlctl set vm1 --tools-autoupdate on
ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ prlctl Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈ Π΄Π»Ρ ΠΠ:
setliststartstoprestartsuspendresumeexecenterconsolestatuscreatedeletemountumountclonemovesnapshot
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊ ΡΡΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΠ:
[root@vz ~]# prlctl pause vm1
Pause the VM...
The VM has been successfully paused.
[root@vz ~]# prlctl status vm1
VM vm1 exist paused
[root@vz ~]# prlctl start vm1
ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΠΏΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° config-1024MB-centos7, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ°Π½Π΅Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ vm1:
[root@vz ~]# mkdir /etc/parallels/samples
[root@vz ~]# cp /vz/vmprivate/vm1.pvm/config.pvs /etc/parallels/samples/config-1024MB-centos7.pvs
[root@vz ~]# prlctl create vm3
[root@vz ~]# prlctl list vm3 -i | egrep "cpu|memory|video|hdd0"
Boot order: hdd0 cdrom0
cpu cpus=1 VT-x accl=high mode=32 ioprio=4 iolimit='0'
memory 512Mb
video 32Mb 3d acceleration=highest vertical sync=yes
memory_guarantee auto
hdd0 (+) scsi:0 image='/vz/vmprivate/vm3.pvm/harddisk.hdd' type='expanded' 65536Mb subtype=virtio-scsi
[root@vz ~]# prlctl set vm3 --applyconfig config-1024MB-centos7
[root@vz ~]# prlctl list vm3 -i | egrep "cpu|memory|video|hdd0"
Boot order: hdd0 cdrom0
cpu cpus=2 VT-x accl=high mode=32 cpuunits=1000 cpulimit=1024Mhz ioprio=4 iolimit='0' mask=0-1
memory 1024Mb
video 64Mb 3d acceleration=highest vertical sync=yes
memory_guarantee auto
hdd0 (+) scsi:0 image='/vz/vmprivate/vm3.pvm/harddisk.hdd' type='expanded' 8192Mb subtype=virtio-scsi
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²:
- 4 IDE ΠΈΠ»ΠΈ 8 SCSI (HDD, CD/DVD-ROM) ΡΡΡΡΠΎΠΉΡΡΠ²
- 16 ΡΠ΅ΡΠ΅Π²ΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ²
- 4 ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ (COM) ΠΏΠΎΡΡΠ°
- ΠΎΠ΄ΠΈΠ½ USB-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ
- ΠΎΠ΄Π½ΠΎ FDD ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ HDD Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Linux:
[root@vz ~]# prlctl list vm1 -i | grep hdd
Boot order: hdd0 cdrom1
hdd0 (+) scsi:0 image='/vz/vmprivate/vm1.pvm/harddisk.hdd' type='expanded' 8192Mb subtype=virtio-scsi
[root@vz ~]# prlctl set vm1 --device-add hdd --size 2048 --iface scsi
Creating hdd1 (+) scsi:2 image='/vz/vmprivate/vm1.pvm/harddisk1.hdd' type='expanded' 2048Mb subtype=virtio-scsi
Created hdd1 (+) scsi:2 image='/vz/vmprivate/vm1.pvm/harddisk1.hdd' type='expanded' 2048Mb subtype=virtio-scsi
[root@vz ~]# prlctl list vm1 -i | grep hdd
Boot order: hdd0 cdrom1 hdd1
hdd0 (+) scsi:0 image='/vz/vmprivate/vm1.pvm/harddisk.hdd' type='expanded' 8192Mb subtype=virtio-scsi
hdd1 (+) scsi:2 image='/vz/vmprivate/vm1.pvm/harddisk1.hdd' type='expanded' 2048Mb subtype=virtio-scsi
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄ΠΈΡΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° Π½Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π» ΠΈ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ:
[root@vz ~]# prlctl enter vm1
[root@vm1 /]# lsblk | grep sd
sda 8:0 0 8G 0 disk
ββsda1 8:1 0 500M 0 part /boot
ββsda2 8:2 0 7.5G 0 part
sdb 8:16 0 2G 0 disk
[root@vm1 /]# fdisk /dev/sdb
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): <Enter>
First sector (2048-4194303, default 2048): <Enter>
Last sector, +sectors or +size{K,M,G} (2048-4194303, default 4194303): <Enter>
Command (m for help): w
[root@vm1 /]# mkfs -t ext4 /dev/sdb1
[root@vm1 /]# mount /dev/sdb1 /mnt/
[root@vm1 /]# tail -1 /etc/mtab >> /etc/fstab
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ° --device-disconnect ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡ ΠΠ:
[root@vz ~]# prlctl set vm1 --device-disconnect cdrom1
Disconnect device: cdrom1
The device successfully disconnected
[root@vz ~]# prlctl list vm1 -i | grep cdrom1
Boot order: hdd0 cdrom1 hdd1
cdrom1 (+) scsi:1 image='/vz/vmprivate/images/CentOS-7-x86_64-Minimal-1503-01.iso' state=disconnected subtype=virtio-scsi
ΠΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ ΠΊΠ»ΡΡΠΎΠΌ --device-connect.
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ --device-del:
[root@vz ~]# prlctl set vm1 --device-del usb
Remove the usb device.
[root@vz ~]# prlctl set vm1 --device-del cdrom1
Remove the cdrom1 device.
[root@vz ~]# prlctl list vm1 -i | egrep "cdrom1|usb"
ΠΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ HDD ΠΈΠ· Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΊ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡ --detach-only, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄ΠΈΡΠΊ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ° --destroy-image.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²:
[root@vz ~]# prlctl list vm1 -i | grep "Boot order"
Boot order: hdd0 hdd1
[root@vz ~]# prlctl set vm1 --device-bootorder "hdd1 hdd0"
[root@vz ~]# prlctl list vm1 -i | grep "Boot order"
Boot order: hdd1 hdd0
ΠΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
[root@vz ~]# prlctl set vm1 --device-add net --network Bridged --mac auto --ipadd 192.168.0.181 --gw 192.168.122.1 --nameserver 192.168.0.1 --adapter-type virtio
Enable automatic reconfiguration for this network adapter.
Creating net1 (+) dev='' ifname='eth1' network='Bridged' mac=001C42AFDC9B card=virtio ips='192.168.0.181/255.255.255.0 ' gw='192.168.0.1'
Created net1 (+) dev='vme42afdc9b' network='Bridged' mac=001C42AFDC9B card=virtio ips='192.168.0.181/255.255.255.0 ' gw='192.168.0.1'
[root@vz ~]# prlctl list vm1 -i | grep -i net
net0 (+) dev='vme4292dc5f' network='Bridged' mac=001C4292DC5F card=virtio ips='192.168.0.180/255.255.255.0 FE80:0:0:0:20C:29FF:FE01:FB07/64 '
net1 (+) dev='vme42afdc9b' network='Bridged' mac=001C42AFDC9B card=virtio ips='192.168.0.181/255.255.255.0 ' gw='192.168.0.1'
ΠΠ»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π³ΠΎΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ (hotplug) ΡΠ΅ΡΡΡΡΠΎΠ² Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΌΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½. Π ΡΠ°ΠΊΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Π³ΠΎΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ.
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ "Π½Π°Π»Π΅ΡΡ" Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° --mem-hotplug Π² on:
[root@vz ~]# prlctl list vm1 -i | grep "memory "
memory 1024Mb
[root@vz ~]# prlctl set vm1 --mem-hotplug on
set mem hotplug: 1
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΠΌΡΡΠΈ:
[root@vz ~]# prlctl restart vm1
[root@vz ~]# prlctl set vm1 --memsize 1536M
Set the memsize parameter to 1536Mb.
[root@vz ~]# prlctl list vm1 -i | grep "memory "
memory 1536Mb hotplug
ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ CPU hotplug, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΠ±Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π»Π° Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ:
- Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° RHEL 5 ΠΈ Π²ΡΡΠ΅
- Windows Server 2008 x64 ΠΈ Π²ΡΡΠ΅
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ CPU hotplug ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ MEM hotplug:
[root@vz ~]# prlctl list vm1 -i | grep cpu
cpu cpus=2 VT-x accl=high mode=32 cpuunits=1000 cpulimit=1024Mhz ioprio=6 iolimit='0' mask=0-1
[root@vz ~]# prlctl set vm1 --cpu-hotplug on
set cpu hotplug: 1
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ²:
[root@vz ~]# prlctl restart vm1
[root@vz ~]# prlctl set vm1 --cpuunits 2000 --cpus 3 --cpumask 0-2
set cpus(4): 3
set cpuunits 2000
set cpu mask 0-2
[root@vz ~]# prlctl list vm1 -i | grep cpu
cpu cpus=3 VT-x hotplug accl=high mode=32 cpuunits=2000 cpulimit=1024Mhz ioprio=6 iolimit='0' mask=0-2
ΠΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ hotplug ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ --mem-hotplug off ΠΈ --cpu-hotplug off ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
KSM (Kernel Same-Page Merging) β ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ΄ΡΠ° Linux, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π³ΠΎΡΡΠ΅Π²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π² ΠΎΠ΄Π½Ρ Π΄Π»Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅Π»ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠ°ΡΠ° Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΄ΡΠΎ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠΈΡΠΊ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΠΎΠ² Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΎΡΠ΅Π½ΠΊΠ° β Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ΄ΡΡ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ, ΡΡΠΎΠ±Ρ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡΡΡΠ½ΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΈ Π½Π΅ ΠΏΡΠΈΠ±Π΅Π³Π°ΡΡ ΠΊ ΡΠ»ΠΈΡΠ½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ. KSM ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (memory overcommitment). Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π³ΠΎΡΡΠ΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΡΠ΅ΠΊΡ, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ KSM ΠΎΡ Red Hat ΠΏΠΎΠΊΠ°Π·Π°Π»Π°, ΡΡΠΎ 52 Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Windows XP Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ 1GB ΠΏΠ°ΠΌΡΡΠΈ, ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π΅ Ρ 16GB ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ KSM Π² OpenVZ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡΡ ksm ΠΈ ksmtuned:
[root@vz ~]# systemctl start ksm ksmtuned
[root@vz ~]# systemctl enable ksm ksmtuned
Π Π°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ KSM ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±ΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ (shared memory pages):
[root@vz ~]# cat /sys/kernel/mm/ksm/pages_sharing
120990
β¬ ΠΠΈΠ³ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½
Π OpenVZ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ "ΠΆΠΈΠ²Π°Ρ" ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ CRIU ΠΈ P.Haul.
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ct3 Ρ Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ vz-source Π½Π° vz-dest (192.168.0.190).
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ SSH-ΠΊΠ»ΡΡ Ρ vz-source Π½Π° vz-dest Π΄Π»Ρ Π±Π΅ΡΠΏΠ°ΡΠΎΠ»ΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ:
[root@vz-source ~]# ssh-keygen
[root@vz-source ~]# ssh-copy-id [email protected]
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π² screen:
[root@vz-source ~]# screen -S migrate-dest
[root@vz-source ~]# prlctl migrate ct3 192.168.0.190
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° vz-dest ΡΠΌΠΈΠ³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°:
[root@vz-dest ~]# prlctl list ct3
UUID STATUS IP_ADDR T NAME
{4730cba8-deed-4168-9f9e-34373e618026} running 192.168.0.163 CT ct3
β¬ Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ ΠΈ ΠΠ
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° list Ρ ΠΊΠ»ΡΡΠΎΠΌ -i (--info):
[root@vz ~]# prlctl list -i ct4
INFO
ID: {22c418d7-948b-456e-9d84-d59ab5ead661}
EnvID: 22c418d7-948b-456e-9d84-d59ab5ead661
Name: ct4
Description:
Type: CT
State: running
OS: centos7
Template: no
Uptime: 00:00:00 (since 2016-02-09 17:04:41)
Home: /vz/private/22c418d7-948b-456e-9d84-d59ab5ead661
Owner: root
Effective owner: owner
GuestTools: state=possibly_installed
Autostart: on
Autostop: suspend
Autocompact: on
Undo disks: off
Boot order:
EFI boot: off
Allow select boot device: off
External boot device:
Remote display: mode=off address=0.0.0.0
Remote display state: stopped
Hardware:
cpu cpus=unlimited VT-x accl=high mode=32 cpuunits=1000 ioprio=4
memory 512Mb
video 0Mb 3d acceleration=highest vertical sync=yes
memory_guarantee auto
hdd0 (+) image='/vz/private/22c418d7-948b-456e-9d84-d59ab5ead661/root.hdd' type='expanded' 10240Mb mnt=/
venet0 (+) type='routed' ips='192.168.0.164/255.255.255.0 FE80:0:0:0:20C:29FF:FE01:FB10/64 '
Host Shared Folders: (-)
Features:
Encrypted: no
Faster virtual machine: on
Adaptive hypervisor: off
Disabled Windows logo: on
Auto compress virtual disks: on
Nested virtualization: off
PMU virtualization: off
Offline management: (-)
Hostname: ct4.vz.localhost
DNS Servers: 192.168.0.1 192.168.0.2
Search Domains: 192.168.0.1
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ :
[root@vz ~]# prlctl list -o type,status,name,hostname,dist,ip
T STATUS NAME HOSTNAME DIST IP_ADDR
CT running ct2 ct2.vz.localhost debian 192.168.0.162 FE80:0:0:0:20C:29FF:FE01:FB09
CT running ct1 ct1.vz.localhost debian 192.168.0.161 FE80:0:0:0:20C:29FF:FE01:FB08
VM stopped vm1 vm1.vz.localhost rhel7 192.168.0.163 FE80:0:0:0:20C:29FF:FE01:FB07
Π‘ΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ:
[root@vz ~]# prlctl list -L
uuid UUID
envid ENVID
status STATUS
name NAME
dist DIST
owner OWNER
system-flags SYSTEM_FLAGS
description DESCRIPTION
numproc NPROC
ip IP_ADDR
ip_configured IP_ADDR
hostname HOSTNAME
netif NETIF
mac MAC
features FEATURES
location LOCATION
iolimit IOLIMIT
netdev NETDEV
type T
ha_enable HA_ENABLE
ha_prio HA_PRIO
- -
β¬ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ
- Π΅ΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ
ΠΎΡΡ-Π½ΠΎΠ΄Ρ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΠ»Π°ΡΡ, Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
vzps,vztop,iotop,atop - Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
ping,traceroute,nmap,mtr,tcpdump,nc,iftop,netstat,ss straceΠ±ΡΠ΄Π΅Ρ Π²Π΅ΡΠ½ΡΠΌ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ²- ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ RAID Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ
- Π΄Π»Ρ ΡΠΊΡΡΡΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ IPMI ΠΈΠ»ΠΈ KVM-Π΄ΠΎΡΡΡΠΏ
- Π½Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΠΉΡΠ΅ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ Π±Π΅Π· Π²ΡΡΡΠ½Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ² Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΡΡ ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ
- ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ NTP Π½Π° Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π΅
- Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ NTP, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½ΡΠΆΠ½ΡΠΉ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ
- Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ Π±Π»ΠΎΠ±Ρ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ VPS, Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ Ρ ΠΎΡΡ-Π½ΠΎΠ΄Ρ
- Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΠΊΠΈΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ°ΠΌΠΈ
chrootkitΠΈrkhunter - ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΡΡΠ΅ΡΡ ΠΎΡ DoS/DDoS
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Puppet, Ansible, Chef, SaltStack, CFEngine Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π½Π° Ρ ΠΎΡΡ-Π½ΠΎΠ΄Π°Ρ
- Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π²Π°ΠΆΠ½ΡΡ Π΄Π°Π½Π½ΡΡ
- ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΌ ΠΌΠ΅ΡΡΠΎΠΌ Π½Π° ΠΆΠ΅ΡΡΠΊΠΈΡ Π΄ΠΈΡΠΊΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡΠ°ΡΠΈΡ Π»ΠΎΠ³ΠΎΠ²
- ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΠΏΡΠ»ΠΎΠΌ IP-Π°Π΄ΡΠ΅ΡΠΎΠ², ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡΡ Π² ΡΠ°ΠΌΡΠΉ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ
- ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
/var/log/, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΎΠ³ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ - ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
iptables,fail2ban,ipset - Π³Π΅Π½Π΅ΡΠΈΡΡΠΉΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΠΏΠ°ΡΠΎΠ»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
pwgen), ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΈΡ , ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ± ΡΡΠΎΠΌ - Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ
root - ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠ°ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΠΠ, ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
- ΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΠΏΡΠ°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅
- ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅ΡΡΡΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Cacti, Munin, MRTG, Zabbix, Nagios, Icinga, Monit)
- Π²Π΅Π΄ΠΈΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ ΠΈ ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅
- Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² OpenVZ ΠΈ Virtuozzo, Π° ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ Π½Π° ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΡΡΠΌΠ°Ρ
β¬ Π‘ΡΡΠ»ΠΊΠΈ
- https://docs.openvz.org
- https://src.openvz.org
- https://wiki.openvz.org
- https://lists.openvz.org
- https://bugs.openvz.org

