Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° Xen Virtualization: ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π Π΅Π°Π»Π½ΠΈΡ Π‘Π²ΡΡ
Xen Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡΠ΅ open-source Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΈ, ΠΊΠΎΠΉΡΠΎ Π·Π°Ρ ΡΠ°Π½Π²Π° Π½ΡΠΊΠΎΠΈ ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΠ΅Π½ΡΡΠΎΠ²Π΅ Π·Π° Π΄Π°Π½Π½ΠΈ Π² ΡΠ²Π΅ΡΠ°. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΡΠ΅Π½ΡΠ²Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ·Π΄Π°Π²Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ»ΠΈ ΠΠ’ Π²Π·Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ° Π΄Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ° ΡΡΡΠ²ΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ Xen β ΠΈ Π·Π°ΡΠΎ Π΅ Π²Π°ΠΆΠ΅Π½ β Π΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°Π½ΠΈΠ΅ Π² Π΄Π½Π΅ΡΠ½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΡΠ²ΡΡ.
Π’ΠΎΠ²Π° Π²ΡΠ΅ΠΎΠ±Ρ Π²Π°ΡΠ½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ° Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ Π·Π° Xen Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°: Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΌΠΎΠ΄Π΅Π» Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ ΡΠ΅ΠΆΠΈΠΌΠΈ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°.
ΠΠ°ΠΊΠ²ΠΎ Π΅ Xen Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ?
Xen Π΅ bare-metal, Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ (VMs) Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΎΡΡ. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π² Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π½Π° ΠΠ΅ΠΉΠΌΠ±ΡΠΈΠ΄ΠΆ ΠΏΡΠ΅Π· 2003 Π³. ΠΈ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ ΠΎΡ Linux Foundation ΠΏΠΎΠ΄ ΡΠ°Π΄ΡΡΠ° Π½Π° Xen Project, ΡΠΎΠΉ ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΠ½Π° Π² Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠ΅ΡΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΈΠ½Π΄ΡΡΡΡΠΈΡΡΠ°.
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Ρ ΠΎΡΡΠ²Π°Π½ΠΈΡΠ΅ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΈ (Type 2), ΠΊΠΎΠΈΡΠΎ ΡΠ°Π±ΠΎΡΡΡ Π²ΡΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, Xen Π΅ Type 1 Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ β ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°, Π½Π°ΠΌΠΈΡΠ°ΠΉΠΊΠΈ ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΠ²ΡΡ ΠΈ Π³ΠΎΡΡΠ½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. Π’Π°Π·ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠ΄Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΏΠΎ-ΡΡΠ΅Π³Π½Π°ΡΠ° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΠΏΠΎ-ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅.
ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Amazon Web Services (AWS) Π² ΡΠ°Π½Π½Π°ΡΠ° ΠΈ ΡΡΠ΅Π΄Π½Π° Π΅ΡΠ° Π½Π° ΡΠ²ΠΎΡΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, ΡΠ°Π·ΡΠΈΡΠ°Ρ Π° ΡΠΈΠ»Π½ΠΎ Π½Π° Xen, Π·Π° Π΄Π° Π·Π°Ρ ΡΠ°Π½Π²Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ. ΠΠ»ΠΈΡΠ½ΠΈΠ΅ΡΠΎ ΠΌΡ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΠΎ ΠΎΠ±Π»Π°ΡΠ½ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΡΠ²Π΅Π»ΠΈΡΠΈ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ Xen Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ°
Π ΡΠ²ΠΎΡΡΠ° ΠΎΡΠ½ΠΎΠ²Π°, Xen Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π³ΠΎΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π½Π° Π΅Π΄Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° ΠΌΠ°ΡΠΈΠ½Π° β Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ CPU, RAM, ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ I/O ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ β Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΡΡΠΎΠ³Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΡΠΊΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΡΡΠ΅Π΄Π°.
ΠΡΡΠΊΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ, ΡΡΡ ΡΠ²ΠΎΠ΅ΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΡΠ΄ΡΠΎ, ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΎΡΡΠ½ΠΈΡΠ΅ VM ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π΄ΠΎ Windows Server, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Xen ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π³ΡΠ²ΠΊΠ°Π²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠ°Π·Π½ΠΎΡΠΎΠ΄Π½ΠΈ ΡΡΠ΅Π΄ΠΈ.
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Xen Π² production, Dedicated Server ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°, Π΄ΠΎΡΡΡΠΏ Π½Π° Π½ΠΈΠ²ΠΎ BIOS ΠΈ ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π·Π²Π΅ΡΡΠ°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Xen Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΡΡΠ΅Π΄Π° Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°.
ΠΠ»ΡΡΠ½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Xen
1. Paravirtualization (PV)
Paravirtualization Π΅ Π΅Π΄Π½Π° ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΠΈΡΠ΅ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π½Π° Xen. Π PV ΡΠ΅ΠΆΠΈΠΌ, Π³ΠΎΡΡΠ½Π°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ΅Π½Π°, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡΠ΅ Π² Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ. ΠΠΌΠ΅ΡΡΠΎ Π΄Π° Π΅ΠΌΡΠ»ΠΈΡΠ° Ρ Π°ΡΠ΄ΡΠ΅Ρ, Π³ΠΎΡΡΠ½Π°ΡΠ° ΠΠ‘ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Ρ Xen Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΡΡΠ΅Π· Π΄ΠΎΠ±ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ hypercall ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° paravirtualization:
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½Π° ΡΠ΅ΠΆΠΈΠΉΠ½ΠΎΡΡ
- ΠΠΎ-Π²ΠΈΡΠΎΠΊΠ° I/O ΠΏΡΠΎΠΏΡΡΠΊΠ»ΠΈΠ²ΠΎΡΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΡΠ»Π½Π° Π΅ΠΌΡΠ»Π°ΡΠΈΡ
- ΠΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ CPU ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°
- ΠΠΎ-Π½ΠΈΡΠΊΠ° Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡ Π·Π° Π΄ΠΈΡΠΊΠΎΠ²Π½ΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
ΠΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ Π΅, ΡΠ΅ PV ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ Π³ΠΎΡΡΠ½ΠΎ ΡΠ΄ΡΠΎ. ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ ΡΠ΅ Π΄ΠΎΡΡΠ°Π²ΡΡ Ρ PV-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΠ΄ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° Linux-ΡΠ΅Π½ΡΡΠΈΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ.
2. Hardware-Assisted Virtualization (HVM)
Xen ΡΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Hardware-assisted Virtual Machine (HVM) ΡΠ΅ΠΆΠΈΠΌ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ CPU ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ Intel VT-x ΠΈ AMD-V. Π HVM ΡΠ΅ΠΆΠΈΠΌ, Π½Π΅ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π³ΠΎΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ β Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Windows ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΈ β ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ.
HVM ΡΠ΅ΠΆΠΈΠΌΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ Π½Π° Π³ΠΎΡΡΠ½Π°ΡΠ° ΠΠ‘ Π΄Π° ΡΠ΅ Π΄ΡΡΠΆΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅ Π»ΠΈ ΠΈΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ, Π΄ΠΎΠΊΠ°ΡΠΎ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠ»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ».
ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° HVM ΡΠ΅ΠΆΠΈΠΌ:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π½Π΅ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ Π³ΠΎΡΡΠ½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ
- ΠΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠ»Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Windows Server
- Π‘ΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΏΠΎ-ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- ΠΠΏΡΠΎΡΡΡΠ²Π° ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ΡΠΎ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΡΡΠ½Π°ΡΠ° ΠΠ‘
3. PVH Mode (ΠΠ°ΠΉ-Π΄ΠΎΠ±ΡΠΎΡΠΎ ΠΎΡ Π΄Π²Π°ΡΠ° ΡΠ²ΡΡΠ°)
Π‘ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Xen ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡ PVH ΡΠ΅ΠΆΠΈΠΌ, Ρ ΠΈΠ±ΡΠΈΠ΄Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ° Π»Π΅ΠΊΠΎΡΠ΅ΠΆΠΊΠΈΡΠ΅ paravirtualized ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° PV Ρ hardware-assisted ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° HVM. PVH Π³ΠΎΡΡΠΈΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π° CPU ΠΈ ΠΏΠ°ΠΌΠ΅Ρ, Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ°Ρ Π½Π° PV Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° I/O, Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΠΎΡΠ»ΠΈΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ Π±Π΅Π· Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΡΠ΄ΡΠΎ.
4. Π‘ΠΈΠ»Π½Π° VM ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ
Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π΅ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° Xen. Π₯ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡΡ Π½Π°Π»Π°Π³Π° ΡΡΡΠΎΠ³Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΈΡΠΊΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΠΉΠΊΠΈ, ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ I/O ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π² Π΅Π΄Π½Π° VM Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ΅ΡΠ°Ρ Π½Π° ΠΈΠ»ΠΈ Π΄Π° ΠΏΠΎΠ»ΡΡΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅Π·ΠΈ Π² Π΄ΡΡΠ³Π°.
Π’ΠΎΠ²Π° ΠΏΡΠ°Π²ΠΈ Xen ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π°:
- ΠΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΡ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Ρ Π°ΡΠ΄ΡΠ΅Ρ
- Π Π°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ, ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΡΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΡΡ
- Π Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½ΠΈΡ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΈ ΠΎΡ ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π² ΡΠ΅Π³ΡΠ»ΠΈΡΠ°Π½ΠΈ ΠΈΠ½Π΄ΡΡΡΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΡΠΈΠ½Π°Π½ΡΠΈ ΠΈ Π·Π΄ΡΠ°Π²Π΅ΠΎΠΏΠ°Π·Π²Π°Π½Π΅
ΠΠΎΡΠΈ Π°ΠΊΠΎ Π΅Π΄Π½Π° VM Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π°, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈΡΠ΅ Π·Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π΄ΡΡΠ³ΠΈ VM Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ Ρ ΠΎΡΡ.
5. Live Migration
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΡΠ΅Π½Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Xen Π΅ live migration β ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° ΠΎΡ Π΅Π΄ΠΈΠ½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΎΡΡ Π½Π° Π΄ΡΡΠ³ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ΅ΡΡΠΎΠΉΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅.
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° live migration, Xen ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° VM ΠΊΡΠΌ ΡΠ΅Π»Π΅Π²ΠΈΡ Ρ ΠΎΡΡ, Π΄ΠΎΠΊΠ°ΡΠΎ VM ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½ΠΎ, VM Π΅ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΠΏΡΡΠ½, ΡΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½Π° ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° Π½Π° Π½ΠΎΠ²ΠΈΡ Ρ ΠΎΡΡ β ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π² ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ Π΅Π΄Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° live migration:
- ΠΠ°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅: ΠΡΠ΅ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΠ΅ VM-ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠ²Π΅, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ° Π² ΡΠ΅ΡΡΡΡΠΈΡΠ΅
- Π₯Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅: ΠΠ²Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ VM-ΡΠ° ΠΎΡ ΡΡΡΠ²ΡΡ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° Π³ΠΎ ΠΎΡΠ²Π΅Π΄Π΅ΡΠ΅ ΠΎΡΠ»Π°ΠΉΠ½ Π·Π° Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΈ
- ΠΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠΈ: ΠΡΠΎΠ°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΎΡΠΊΠ°Π·Π²Π°Ρ Ρ Π°ΡΠ΄ΡΠ΅Ρ
- ΠΠ½Π΅ΡΠ³ΠΈΠΉΠ½Π° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ: ΠΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ°ΠΉΡΠ΅ VM-ΡΠ° Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Ρ ΠΎΡΡΠΎΠ²Π΅ ΠΏΡΠ΅Π· ΠΈΠ·Π²ΡΠ½ΠΏΠΈΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΡΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅ΡΠ΅ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ
6. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ ΠΈ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅
Xen Π²ΠΊΠ»ΡΡΠ²Π° ΡΠΎΡΠΈΡΡΠΈΡΠΈΡΠ°Π½ credit-based CPU scheduler, ΠΊΠΎΠΉΡΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ. ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠΈΡΠ²ΠΎΡΡ CPU ΡΠ΅Π³Π»Π° ΠΈ ΠΊΠ°ΠΏΠ°ΡΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ VM-ΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΠΉΠΊΠΈ ΡΠΈΠ½-Π·ΡΡΠ½Π΅ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° (QoS).
ΠΠ°ΠΌΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ balloon Π΄ΡΠ°ΠΉΠ²Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Π΄Π° Π²ΡΠ·Π²ΡΡΠ½Π΅ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΎΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΈ VM-ΡΠ° ΠΈ Π΄Π° Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»ΠΈ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΠ΄ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ β ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΠΉΠΊΠΈ ΠΎΠ±ΡΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π±Π΅Π· ΡΡΡΠ½Π° Π½Π°ΠΌΠ΅ΡΠ°.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° Xen: ΠΡΠ»Π±ΠΎΠΊ Π°Π½Π°Π»ΠΈΠ·
Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° Xen Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·Π³ΡΡΡΠ° ΠΈΠ»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΡΡΠ΅Π΄Π°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Xen. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π° ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²Π° ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°: Xen Hypervisor ΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ.
Xen Hypervisor
Π‘Π°ΠΌΠΈΡΡ Xen hypervisor Π΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ΅Π½ β ΡΠΈΠ»ΠΎΡΠΎΡΠΈΡ Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π°, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° Π½Π°ΡΠΈΡΠ°Π½Π° "ΡΡΠ½ΡΠΊ hypervisor" ΠΏΠΎΠ΄Ρ ΠΎΠ΄. Π’ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ°ΠΌΠΎ Π½Π°ΠΉ-ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- ΠΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° CPU Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ
- Π Π°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠΌΠ΅ΡΠΈ
- ΠΠ°Π»Π°Π³Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ
Π§ΡΠ΅Π· ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° hypervisor ΠΌΠ°Π»ΡΠΊ ΠΈ ΡΠΎΠΊΡΡΠΈΡΠ°Π½, Xen Project ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° Π½Π° Π°ΡΠ°ΠΊΠ° ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡΠ° ΠΎΡ Π³ΡΠ΅ΡΠΊΠΈ Π² Π½Π°ΠΉ-ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»ΠΎΠΉ Π½Π° ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈΡ ΡΡΠ΅ΠΊ. Hypervisor Π½Π΅ Π²ΠΊΠ»ΡΡΠ²Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ΅ΠΊΠΎΠ²Π΅ β ΡΠ΅Π·ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡΠΈ ΡΠ΅ Π΄Π΅Π»Π΅Π³ΠΈΡΠ°Ρ Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ.
Domain 0 (Dom0): ΠΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½
ΠΠΎΠ³Π°ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Xen ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°, hypervisor ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΡΠ²ΠΈ, ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°, Π½Π°ΡΠ΅ΡΠ΅Π½Π° Domain 0, ΠΈΠ»ΠΈ Dom0.
Dom0 Π½Π΅ Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π³ΠΎΡΡΠ½Π° VM β ΡΠΎΠ²Π° Π΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ» Ρ ΠΏΡΠ΅ΠΊΠΈ, ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ Ρ Π°ΡΠ΄ΡΠ΅Ρ. Dom0 ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΏΡΠ»Π½ΠΎ Linux ΡΠ΄ΡΠΎ (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΡΠ΄ΡΠΎ Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΎ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Xen) ΠΈ ΡΠ»ΡΠΆΠΈ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ:
- Π₯ΠΎΡΡ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°: Dom0 ΡΠ°Π±ΠΎΡΠΈ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° Π·Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ, ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° VM: Dom0 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΊΠ°ΡΠΎ
xlΠΈΠ»ΠΈlibvirtΠ·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅, ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅, ΡΠΏΠΈΡΠ°Π½Π΅, ΠΏΠ°ΡΠ·Π° ΠΈ ΡΠ½ΠΈΡΠΎΠΆΠ°Π²Π°Π½Π΅ Π½Π° Π³ΠΎΡΡΠ½ΠΈ VM - ΠΠ΅ΠΊΠ΅Π½Π΄ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ: Dom0 ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ Π½Π° Π³ΠΎΡΡΠ½ΠΈ VM ΡΡΠ΅Π· ΠΌΠΎΠ΄Π΅Π» Π½Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ
- ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° toolstack: Xen ΡΠΏΡΠ°Π²Π»Π΅Π½ΡΠΊΠΈΡ toolstack (xl, xapi, ΠΈΠ»ΠΈ libvirt) ΡΠ°Π±ΠΎΡΠΈ Π² Dom0
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Dom0 Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΠ΅Π½ΡΡΠ°Π»Π΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΡ ΡΠ° ΠΎΡ ΠΏΡΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡ. ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠΊΡΠ΅ΠΏΠ²Π°Π½Π΅ Π½Π° Dom0, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ ΡΠΎΡΡΡΠ΅ΡΠ°, ΡΠ°Π±ΠΎΡΠ΅Ρ Π² Π½Π΅Π³ΠΎ, ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈΡ Π΄ΠΎΡΡΡΠΏ, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΡΡ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° ΠΌΡ Π½Π° Π°ΡΠ°ΠΊΠ°.
ΠΠ΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ (DomU): ΠΠΎΡΡΠ½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ
ΠΡΠΈΡΠΊΠΈ Π΄ΡΡΠ³ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° Ρ ΠΎΡΡ Π½Π° Xen, ΡΠ΅ Π½Π°ΡΠΈΡΠ°Ρ DomU (ΠΠ΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½) ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ. Π’ΠΎΠ²Π° ΡΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ VM Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΎΡΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ β ΡΡΠ΅Π΄ΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠ»ΡΠ³ΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠ»ΡΡΠΎΠ²ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° DomU ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈΡΠ΅:
- ΠΠ°ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π΅Π΄Π½Π° ΠΎΡ Π΄ΡΡΠ³Π° ΠΈ ΠΎΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π½Π° Dom0
- ΠΠ΅Π· ΠΏΡΠ΅ΠΊΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Ρ Π°ΡΠ΄ΡΠ΅Ρ β Π²ΡΡΠΊΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Ρ Π°ΡΠ΄ΡΠ΅Ρ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π΄Π½ΠΈΡΠΈ ΡΡΠ΅Π· Π±Π΅ΠΊΠ΅Π½Π΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Π½Π° Dom0
- ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΈ OS ΡΡΠ΅Π΄ΠΈ β Π²ΡΠ΅ΠΊΠΈ DomU ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅ΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ β CPU, ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠ΅ΡΡΠΎΡΠ½Π° Π»Π΅Π½ΡΠ° Π½Π° I/O ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π·Π° Π²ΡΡΠΊΠ° VM
- Π‘Π½ΠΈΠΌΠ°Π΅ΠΌΠΈ ΠΈ ΠΌΠΈΠ³ΡΠΈΡΡΠ΅ΠΌΠΈ β DomU ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ, Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ, ΠΊΠ»ΠΎΠ½ΠΈΡΠ°Π½ΠΈ ΠΈ ΠΆΠΈΠ²ΠΎ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½ΠΈ
ΠΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ DomU ΡΡΠΎΠ½ΡΠ΅Π½Π΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ ΠΈ Dom0 Π±Π΅ΠΊΠ΅Π½Π΄ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ ΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΡΡΠ΅Π· Π²ΠΈΡΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π½Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ, Π½Π°ΡΠ΅ΡΠ΅Π½ XenBus ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ Π½Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΅ΡΠΈΠΊΠ°ΡΠ΅Π½ ΡΡΠ°Π½ΡΡΠ΅Ρ Π½Π° Π΄Π°Π½Π½ΠΈ Π±Π΅Π· ΡΠΊΡΠΏΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
Xen ΡΡΠ΅ΡΡ KVM: Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠΈΡΠ΅
Xen ΠΈ KVM (Kernel-based Virtual Machine) ΡΠ° Π΄Π²Π°ΡΠ° Π΄ΠΎΠΌΠΈΠ½ΠΈΡΠ°ΡΠΈ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π² Linux ΡΡΠ΅Π΄ΠΈ. ΠΡΠΎ Π΅Π΄Π½ΠΎ ΠΊΡΠ°ΡΠΊΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅:
| Π€ΡΠ½ΠΊΡΠΈΡ | Xen | KVM |
|---|---|---|
| Π’ΠΈΠΏ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ | Π’ΠΈΠΏ 1 (bare-metal) | Π’ΠΈΠΏ 1 (ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½ Π² Linux ΡΠ΄ΡΠΎ) |
| ΠΠ°ΡΠ°Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ | Π ΠΎΠ΄Π½Π° PV ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° | ΠΠ·ΠΈΡΠΊΠ²Π° VirtIO Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ |
| ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° | ΠΡΠ΄Π΅Π»Π΅Π½ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ + Dom0 | Linux ΡΠ΄ΡΠΎ Π Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡΡ |
| Live Migration | ΠΠ° | ΠΠ° |
| ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Windows Π³ΠΎΡΡ | ΠΠ° (HVM ΡΠ΅ΠΆΠΈΠΌ) | ΠΠ° |
| ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ | xl, xapi, libvirt | libvirt, virt-manager |
| ΠΡΠΈΠ΅ΠΌΠ°Π½Π΅ Π² ΠΎΠ±Π»Π°ΠΊΠ° | AWS (Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ), Citrix | Google Cloud, OpenStack ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ |
Π Π΄Π²Π°ΡΠ° ΡΠ° ΠΎΡΠ»ΠΈΡΠ½ΠΈ ΠΈΠ·Π±ΠΎΡΠΈ. Π―Π²Π½ΠΎΡΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Xen ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π² ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π² ΡΡΠ΅Π΄ΠΈ Ρ Π²ΠΈΡΠΎΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡ, Π΄ΠΎΠΊΠ°ΡΠΎ KVM ΡΠ΅ Π²ΡΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΎΡ Π΄ΡΠ»Π±ΠΎΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Linux ΡΠ΄ΡΠΎΡΠΎ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Xen Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΈΡ ΡΠ²ΡΡ
ΠΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ
Π‘ΠΊΠ°Π»ΠΈΡΡΠ΅ΠΌΠΎΡΡΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΠΌΡΠ»ΡΠΈΡΠ΅Π½Π°Π½ΡΠ½ΠΎΡΡ Π½Π° Xen Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈΡΠ΅ Π½Π° ΠΏΡΡΠ²ΠΎΡΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΠΈ. Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° ΠΌΡ Π΄Π° ΡΠ°Π·Π΄Π΅Π»Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΅Π΄ΠΈΠ½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ²ΡΡ Π½Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈΠ½ΡΡΠ°Π½ΡΠΈΠΈ β Π²ΡΡΠΊΠ° Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΡΡΡΠΈ β Π΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½Π° Π·Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΠΎΠ±Π»Π°ΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΡ.
ΠΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΡΠ°ΡΡΠ½ΠΈ ΠΎΠ±Π»Π°ΡΠΈ, ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° Xen Π½Π° Dedicated Servers ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π½Π°Π΄Π΅ΠΆΠ΄Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Π΄Π΅ΡΠ΅ΡΠΊΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
ΠΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° ΡΡΡΠ²ΡΡΠΈ
Π Π°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π° ΠΊΠ°ΠΏΠΈΡΠ°Π»ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ, ΠΏΠ»ΠΎΡΡΠ° Π½Π° Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΡΠ°, ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΅Π½Π΅ΡΠ³ΠΈΡ ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΎΡ Π»Π°ΠΆΠ΄Π°Π½Π΅. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° Xen Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Ρ, ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ°Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Π½Π΅ ΡΠ΅ ΠΏΡΠ΅ΡΠ°Ρ Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³, Π΄ΠΎΡΠΈ ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈ Π½Π° ΠΏΠΈΠΊΠΎΠ²ΠΎ ΡΡΡΡΠ΅Π½Π΅.
Π‘ΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅
Xen ΠΎΡΠ»ΠΈΡΠ°Π²Π° ΡΠ΅ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ, Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΎΡΡΡΠ΅Ρ ΠΈ QA ΡΠ΅ΡΡΠ²Π°Π½Π΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ β Π΄Π° ΡΠ΅ΡΡΠ²Π°Ρ ΡΠ²ΠΎΡ ΠΊΠΎΠ΄ β ΠΈ Π΄Π° ΡΠ°Π·ΡΡΡΠ°Ρ ΡΡΠ΅Π΄Π°ΡΠ° Π±Π΅Π· Π΄Π° Π·Π°ΡΡΠ³Π°Ρ Π½ΠΈΠΊΠΎΡ Π΄ΡΡΠ³Π° ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ° Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π½ΡΠΆΠ΄Π° ΠΎΡ Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° ΡΠ²ΠΎΡΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, VPS Hosting ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅Π½ΡΠ°Π±ΠΈΠ»Π½Π° Π½Π°ΡΠ°Π»Π½Π° ΡΠΎΡΠΊΠ° Ρ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ Π΄Π° ΡΠ΅ ΠΌΠ°ΡΠ°Π±ΠΈΡΠ° Ρ ΡΠ°ΡΡΠ΅ΠΆΠ° Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠΈΡΠΎΠΊΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ ΠΈ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΏΡΠΈ Π±Π΅Π΄ΡΡΠ²ΠΈΡ
Π ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ ΠΆΠΈΠ²ΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅, Xen ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠ»ΡΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ Ρ Π²ΠΈΡΠΎΠΊΠ° Π½Π°Π»ΠΈΡΠ½ΠΎΡΡ, ΠΊΡΠ΄Π΅ΡΠΎ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ Π½Π° Π·Π΄ΡΠ°Π²ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅, Π°ΠΊΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠ²ΡΡ ΡΠ΅ ΠΎΡΠΊΠ°ΠΆΠ΅. Π’ΠΎΠ²Π° Π΅ ΠΎΡΠ½ΠΎΠ²Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈ ΡΡΠ΅Π΄ΠΈ ΡΡΡ ΡΡΡΠΎΠ³ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΏΡΡΡΡΠ½ΠΈΡΠΈ
Π‘ΠΈΠ»Π½ΠΈΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π·Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° Xen Π³ΠΎ ΠΏΡΠ°Π²ΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, Π°Π½Π°Π»ΠΈΠ· Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ΅Π½ ΡΠΎΡΡΡΠ΅Ρ ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡΡΡΡΠ½ΠΈΡΠΈ. ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π²ΡΡΡΠ΅ Π² DomU Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π° Ρ ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ, ΡΠ΅ ΡΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π±ΡΠ³Π° ΠΊΡΠΌ Ρ ΠΎΡΡΠ° ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ.
Π Π°Π·Π²Π΅ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Xen: Π‘ΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°
Π£ΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ΅Π½Π΅ Π½Π° Xen Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°:
ΠΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ CPU:
- Intel VT-x ΠΈΠ»ΠΈ AMD-V ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ (Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π·Π° HVM Π³ΠΎΡΡΠΈ)
- IOMMU ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° (Intel VT-d ΠΈΠ»ΠΈ AMD-Vi) Π·Π° PCI passthrough
- ΠΠΎΡΡΠ°ΡΡΡΠ΅Π½ Π±ΡΠΎΠΉ ΡΠ΄ΡΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π°ΡΠ° VM ΠΏΠ»ΡΡΠ½ΠΎΡΡ
ΠΠ°ΠΌΠ΅Ρ:
- Dom0 ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΠΈΠΊΡΠΈΡΠ°Π½Π°, Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π° ΡΠ΅Π·Π΅ΡΠ²Π°ΡΠΈΡ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ (ΡΠΈΠΏΠΈΡΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 2β4 GB)
- ΠΠ±ΡΠ°ΡΠ° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ° RAM ΡΡΡΠ±Π²Π° Π΄Π° Π²ΠΌΠ΅ΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ DomU ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ»ΡΡ Dom0 ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ
Π‘ΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅:
- ΠΡΡΠ·ΠΎΡΠΎ NVMe ΠΈΠ»ΠΈ SAS ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° VM
- LVM (Logical Volume Manager) ΠΈΠ»ΠΈ ZFS ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° VM Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ
- Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΎ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ (NFS, iSCSI, Ceph) Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΠΆΠΈΠ²ΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠ²Π΅
ΠΡΠ΅ΠΆΠ°:
- Linux ΠΌΠΎΡΡΠΎΠ²Π΅ ΠΈΠ»ΠΈ Open vSwitch (OVS) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° VM Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΊΡΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΈ
- VLAN Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ VM Π½Π° Π½Π°Π΅ΠΌΠ°ΡΠ΅Π»ΠΈΡΠ΅
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ:
ΠΠ° Π΅ΠΊΠΈΠΏΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄, ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ΡΠΎ Π½Π° VPS ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΎΠΏΡΠΎΡΡΠΈ VM ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ.
Security Best Practices for Xen Deployments
Given that Xen is often used in multi-tenant environments, security hardening is non-negotiable:
- Keep Xen updated: Apply security patches promptly. The Xen Security Advisory (XSA) process publishes vulnerabilities and patches regularly.
- Minimize Dom0: Run only essential software in Dom0. Every additional package increases the attack surface.
- Use IOMMU: Enable VT-d/AMD-Vi to prevent DMA attacks from compromised VMs attempting to access Dom0 memory.
- Restrict Dom0 network access: Limit which networks Dom0 is directly reachable from.
- Enable stubdomains: Use stub domains for device emulation to further isolate HVM guests from Dom0.
- Audit VM configurations: Regularly review DomU configurations to ensure resource limits and isolation settings are correctly applied.
- Pair with SSL: Any management interfaces exposed over the network should be protected with valid SSL Certificates to prevent credential interception.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Xen Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΎΡΡΠ°Π²Π° Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΠΌΠΎΡΠ½ΠΈΡΠ΅, Π³ΡΠ²ΠΊΠ°Π²ΠΈ ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΊΡΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π΄Π½Π΅Ρ. ΠΠ΅ΠΉΠ½ΠΎΡΠΎ ΡΠΈΡΡΠΎ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°, ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ (Dom0) ΠΈ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΈ Π³ΠΎΡΡΠ½ΠΈ VM (DomU) ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° Π²ΡΠΈΡΠΊΠΎ β ΠΎΡ ΠΌΠ°Π»ΠΊΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΎ ΠΌΠ°ΡΠ°Π±Π½Π° ΠΎΠ±Π»Π°ΡΠ½Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°.
ΠΠ»ΡΡΠΎΠ²ΠΈ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
- Xen Π΅ Type 1 bare-metal Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ ΠΊΡΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½
- Paravirtualization (PV), HVM ΠΈ PVH ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π½Π° Π³ΠΎΡΡΠ½ΠΈ OS
- Π‘ΠΈΠ»Π½Π° VM ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ ΠΏΡΠ°Π²ΠΈ Xen ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° multi-tenant ΠΈ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΡΠΌ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΡΠ°Π·Π³ΡΡΡΠ°Π½ΠΈΡ
- Live migration ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ Ρ Π½ΡΠ»Π΅Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠ΅ΡΡΠΎΠΉ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ
- Dom0 Π΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½, ΠΊΠΎΠΉΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ° ΠΈ ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° Π³ΠΎΡΡΠ½ΠΈΡΠ΅ VM
ΠΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, Π³ΠΎΡΠΎΠ²ΠΈ Π΄Π° ΡΠ°Π·Π³ΡΡΠ½Π°Ρ Xen ΠΈΠ»ΠΈ Π²ΡΡΠΊΠ° Π΄ΡΡΠ³Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Π½Π°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΎΡΠ½ΠΎΠ²Π° Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ. Dedicated Servers Π½Π° AlexHost ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ ΠΏΡΠ»Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°, ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΌΡΠ΅ΠΆΠΎΠ²Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π½Π° Xen Π² ΠΌΠ°ΡΠ°Π± β Ρ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΠ°ΡΠ΅ ΡΡΡΠ²ΡΡΠΈ, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠ΅ ΡΠ°ΡΡΠ΅Π½ ΠΎΠ±Π»Π°ΠΊ ΠΈΠ»ΠΈ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Xen Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Ρ ΠΎΡΡΠΈΠ½Π³ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π²ΠΈ Π΄Π°Π²Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π²Π°ΡΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ