Π Π°Π±ΠΎΡΠ° Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ»Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· libvirt-python
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ libvirt ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠ»ΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· Python, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ libvirt-python, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Python-ΠΎΠ±ΡΡΡΠΊΠΎΠΉ Π½Π°Π΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ libvirt API. ΠΡΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π΄ΠΈΡΠΊΠΈ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ Π½ΡΠΆΠ΄. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ pool_name, pool_type, source_host, source_path ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠ»Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
pool_name:
ΠΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΏΡΠ»Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° libvirt. ΠΠΌΡ ΠΏΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π· API ΠΈΠ»ΠΈ ΡΡΠΈΠ»ΠΈΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
pool_type:
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ dir Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, disk Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠ°, logical Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΠΌΠ° LVM, netfs Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, NFS) ΠΈ Π΄Ρ.
source_host:
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠΌΡ Ρ ΠΎΡΡΠ° ΠΈΠ»ΠΈ IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΡΡΡΡ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² Ρ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ netfs, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
source_path:
Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ ΠΎΡΡΠ΅ ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅. ΠΠ»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΡ ΠΊ NFS ΡΠ°ΡΠ΅).
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠ»Π° ΡΠΈΠΏΠ° dir Π½Π° Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ libvirt-python:
import libvirt
conn = libvirt.open('qemu:///system') # ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ libvirt
xml_desc = """
<pool type='dir'>
<name>example_dir_pool</name>
<target>
<path>/home/user/virtual_disks</path>
</target>
</pool>
"""
try:
pool = conn.storagePoolDefineXML(xml_desc, 0)
pool.create() # ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΡΠ»Π°
pool.setAutostart(1) # ΠΠ²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠ»Π° ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
except libvirt.libvirtError as e:
print(f"An error occurred: {str(e)}")
finally:
conn.close()
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΡΠ» Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΠΊΠΎΠ² Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ /home/user/virtual_disks . ΠΡΠ»ΠΈ Π±Ρ ΠΌΡ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΏΡΠ» Π΄Π»Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΌΡ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π±Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ source_host ΠΈ source_path Π² XML-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅.
ΠΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠ»Π° Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ Π±ΡΠ΄Π΅Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π² XML-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΏΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° libvirt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΠΏΡΠ»ΠΎΠ² Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠ°ΡΠΈΠ½. ΠΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
pool_type Π² libvirt:
- dir: ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΡΠ»Π° ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΠΎΡΡΠ°. Π€Π°ΠΉΠ»Ρ Π² ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΠΈΡΠΊΠΎΠ² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½.
<pool type='dir'>
<name>mydirpool</name>
<source>
<path>/var/lib/libvirt/images</path>
</source>
</pool>
- fs: ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ (NFS, GlusterFS ΠΈ Π΄ΡΡΠ³ΠΈΠ΅).
<pool type='fs'>
<name>mynfspool</name>
<source>
<host name='nfsserver.example.com'/>
<path>/mnt/nfs_share</path>
</source>
</pool>
- netfs: ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΡΠ»Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ NFS ΠΈΠ»ΠΈ CIFS/SMB.
<pool type='netfs'>
<name>mynetfspool</name>
<source>
<host name='nfsserver.example.com'/>
<dir path="/mnt/nfs_share"/> # Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌ Ρ
ΠΎΡΡΠ΅
</source>
<target>
<path>/mnt/nfs</path> # Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ NFS
</target>
</pool>
- logical: ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»Ρ LVM (Logical Volume Manager).
<pool type='logical'>
<name>mylogicalpool</name>
<source>
<device path='/dev/vg_name'/>
</source>
</pool>
- disk: ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π½ΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ Π΄ΠΈΡΠΊΠΈ.
<pool type='disk'>
<name>mydiskpool</name>
<source>
<device path='/dev/sdb'/>
</source>
</pool>
- iscsi: ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ iSCSI ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½.
<pool type='iscsi'>
<name>myiscsipool</name>
<source>
<host name='iscsihost.example.com'/>
<device path='iqn.2017-03.org.example:disk1'/>
</source>
</pool>
- scsi: ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΏΡΠ»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° SCSI.
<pool type='scsi'>
<name>myscsipool</name>
<source>
<adapter type='scsi_host' name='host1'/>
<target dev='sda'/>
</source>
</pool>
- mpath: ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΡΠ»Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° mpath (MultiPath) Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
<pool type='mpath'>
<name>mympathpool</name>
<source>
<adapter type='fc_host' name='host1'/>
<device name='mpath/mpath1'/>
</source>
</pool>
Π ΡΠ°ΠΌΠΊΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠ»Π°ΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ libvirt Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΠΏΡΠ»Ρ:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ»Π°: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ»Π° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ ΠΈΠ»ΠΈ Π΄ΠΈΡΠΊΠΎΠ².
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ»Π°: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠ»Π° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Π½ΡΡΡΡ ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ/Π΄Π΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΡΠ»Π°: ΠΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ ΠΏΡΠ»Π°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°: ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ· ΠΏΡΠ»Π°: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΏΡΠ» ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ· Π½Π΅Π³ΠΎ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠ»Π°: ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΏΡΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΡΠΈ ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ°.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠ»Π°: ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΏΡΠ»Π΅, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ: ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΠΏΡΠ»Π΅.
Π Π΅Π·Π΅ΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ ΠΏΡΠ»Π° ΠΈ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ .
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ»Π°: ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ»Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ Ρ ΠΎΡΡ ΠΈΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΅Π³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° Π΄ΡΡΠ³ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΡΠΎ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠΈΠΏΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΠΏΡΠ»Π°ΠΌΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ². ΠΠ°ΠΆΠ΄Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ.