ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืžื—ืฉื•ื‘ ืขื ืŸ ื—ื•ื“ืจ ืขืžื•ืง ื™ื•ืชืจ ื•ื™ื•ืชืจ ืœื—ื™ื™ื ื• ื•ื›ื ืจืื” ืื™ืŸ ืื“ื ืื—ื“ ืฉืœื ื”ืฉืชืžืฉ ื‘ืฉื•ื ืฉื™ืจื•ืชื™ ืขื ืŸ ืœืคื—ื•ืช ืคืขื ืื—ืช. ืขื ื–ืืช, ืžื” ื–ื” ื‘ื“ื™ื•ืง ืขื ืŸ ื•ืื™ืš ื”ื•ื ืขื•ื‘ื“, ืžืขื˜ื™ื ื™ื•ื“ืขื™ื, ืืคื™ืœื• ื‘ืจืžื” ืฉืœ ืจืขื™ื•ืŸ. 5G ื›ื‘ืจ ื”ื•ืคืš ืœืžืฆื™ืื•ืช ื•ืชืฉืชื™ืช ื”ื˜ืœืงื•ื ืžืชื—ื™ืœื” ืœืขื‘ื•ืจ ืžืคืชืจื•ื ื•ืช ืขืžื•ื“ื™ื ืœืคืชืจื•ื ื•ืช ืขื ืŸ, ื‘ื“ื™ื•ืง ื›ืคื™ ืฉืขื‘ืจื” ืžืคืชืจื•ื ื•ืช ื—ื•ืžืจื” ืžืœืื™ื ืœ"ืขืžื•ื“ื™ื" ื•ื™ืจื˜ื•ืืœื™ื™ื.

ื”ื™ื•ื ื ื“ื‘ืจ ืขืœ ื”ืขื•ืœื ื”ืคื ื™ืžื™ ืฉืœ ืชืฉืชื™ืช ืขื ืŸ, ื‘ืžื™ื•ื—ื“ ื ื‘ื—ืŸ ืืช ื”ื™ืกื•ื“ื•ืช ืฉืœ ื—ืœืง ื”ืจืฉืช.

ืžื”ื• ืขื ืŸ? ืื•ืชื” ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” - ืชืฆื•ื’ืช ืคืจื•ืคื™ืœ?

ื™ื•ืชืจ ืžืฉืืœื” ื”ื’ื™ื•ื ื™ืช. ืœื - ื–ื• ืœื ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื”, ืœืžืจื•ืช ืฉืื™ ืืคืฉืจ ืœืขืฉื•ืช ืืช ื–ื” ื‘ืœืขื“ื™ื”. ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ืฉืชื™ ื”ื’ื“ืจื•ืช:

ืžื—ืฉื•ื‘ ืขื ืŸ (ืœื”ืœืŸ ืขื ืŸ) ื”ื•ื ืžื•ื“ืœ ืœืžืชืŸ ื’ื™ืฉื” ื™ื“ื™ื“ื•ืชื™ืช ืœืžืฉืชืžืฉ ืœืžืฉืื‘ื™ ืžื—ืฉื•ื‘ ืžื‘ื•ื–ืจื™ื ืฉื™ืฉ ืœืคืจื•ืก ื•ืœื”ืฉื™ืง ืœืคื™ ื“ืจื™ืฉื” ืขื ื–ืžืŸ ื”ืฉื”ื™ื” ื”ื ืžื•ืš ื‘ื™ื•ืชืจ ื”ืืคืฉืจื™ ื•ื‘ืขืœื•ืช ืžื™ื ื™ืžืœื™ืช ืœืกืคืง ื”ืฉื™ืจื•ืช.

ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” - ื–ื•ื”ื™ ื”ื™ื›ื•ืœืช ืœื—ืœืง ื™ืฉื•ืช ืคื™ื–ื™ืช ืื—ืช (ืœื“ื•ื’ืžื”, ืฉืจืช) ืœื›ืžื” ื•ื™ืจื˜ื•ืืœื™ื•ืช, ื•ื‘ื›ืš ืœื”ื’ื“ื™ืœ ืืช ื ื™ืฆื•ืœ ื”ืžืฉืื‘ื™ื (ืœื“ื•ื’ืžื”, ื”ื™ื• ืœืš 3 ืฉืจืชื™ื ื ื˜ืขื ื™ื ื‘-25-30 ืื—ื•ื–, ืœืื—ืจ ื”ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืืชื” ืžืงื‘ืœ ืฉืจืช 1 ื˜ืขื•ืŸ ื‘-80-90 ืื—ื•ื–). ื‘ืื•ืคืŸ ื˜ื‘ืขื™, ื”ื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื’ื•ื–ืœืช ื—ืœืง ืžื”ืžืฉืื‘ื™ื - ืืชื” ืฆืจื™ืš ืœื”ืื›ื™ืœ ืืช ื”-Hypervisor, ืขื ื–ืืช, ื›ืคื™ ืฉื”ืจืื” ื‘ืคื•ืขืœ, ื”ืžืฉื—ืง ืฉื•ื•ื” ืืช ื”ื ืจ. ื“ื•ื’ืžื” ืื™ื“ื™ืืœื™ืช ืœื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื”ื™ื VMWare ืฉืžื›ื™ื ื” ื‘ืฆื•ืจื” ืžื•ืฉืœืžืช ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ืื• ืœืžืฉืœ KVM ืฉืื ื™ ืžืขื“ื™ืฃ, ืื‘ืœ ื–ื” ืขื ื™ื™ืŸ ืฉืœ ื˜ืขื.

ืื ื• ืžืฉืชืžืฉื™ื ื‘ื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืžื‘ืœื™ ืฉื ืฉื™ื ืœื‘, ื•ืืคื™ืœื• ื ืชื‘ื™ ื‘ืจื–ืœ ื›ื‘ืจ ืžืฉืชืžืฉื™ื ื‘ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” โ€“ ืœืžืฉืœ, ื‘ื’ืจืกื” ื”ืขื“ื›ื ื™ืช ืฉืœ JunOS, ืžืขืจื›ืช ื”ื”ืคืขืœื” ืžื•ืชืงื ืช ื›ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืขืœ ื’ื‘ื™ ื”ืคืฆืช ืœื™ื ื•ืงืก ื‘ื–ืžืŸ ืืžืช (Wind River 9). ืื‘ืœ ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื”ื™ื ืœื ื”ืขื ืŸ, ืื‘ืœ ื”ืขื ืŸ ืœื ื™ื›ื•ืœ ืœื”ืชืงื™ื™ื ื‘ืœื™ ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื”.

ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื”ื™ื ืื—ืช ืžืื‘ื ื™ ื”ื‘ื ื™ื™ืŸ ืฉืขืœื™ื”ืŸ ื‘ื ื•ื™ ื”ืขื ืŸ.

ื™ืฆื™ืจืช ืขื ืŸ ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ืื™ืกื•ืฃ ืฉืœ ืžืกืคืจ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ืœืชื—ื•ื L2 ืื—ื“, ื”ื•ืกืคืช ื›ืžื” ืกืคืจื™ ืžืฉื—ืง ืฉืœ yaml ืœืจื™ืฉื•ื ืื•ื˜ื•ืžื˜ื™ ืฉืœ vlans ื“ืจืš ืกื•ื’ ืฉืœ ืื ืกื™ื‘ืœ ื•ืชื™ืงื•ื ืžืฉื”ื• ื›ืžื• ืžืขืจื›ืช ืชื–ืžื•ืจ ืขืœ ื”ื›ืœ ืœื™ืฆื™ืจื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืœื ื™ืขื‘ื•ื“. ื–ื” ื™ื”ื™ื” ืžื“ื•ื™ืง ื™ื•ืชืจ, ืื‘ืœ ืคืจื ืงื ืฉื˜ื™ื™ืŸ ืฉื”ืชืงื‘ืœ ื”ื•ื ืœื ื”ืขื ืŸ ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื, ืœืžืจื•ืช ืฉื–ื” ืขืฉื•ื™ ืœื”ื™ื•ืช ื”ื—ืœื•ื ื”ืื•ืœื˜ื™ืžื˜ื™ื‘ื™ ืขื‘ื•ืจ ืื—ืจื™ื. ื™ืชืจ ืขืœ ื›ืŸ, ืื ืืชื” ืœื•ืงื— ืืช ืื•ืชื• Openstack, ื–ื” ื‘ืขืฆื ืขื“ื™ื™ืŸ ืคืจื ืงื ืฉื˜ื™ื™ืŸ, ืื‘ืœ ื ื• ื˜ื•ื‘, ื‘ื•ื ืœื ื ื“ื‘ืจ ืขืœ ื–ื” ื‘ื™ื ืชื™ื™ื.

ืื‘ืœ ืื ื™ ืžื‘ื™ืŸ ืฉืžื”ื”ื’ื“ืจื” ืฉื”ื•ืฆื’ื” ืœืขื™ืœ ืœื ืœื’ืžืจื™ ื‘ืจื•ืจ ืžื” ื‘ืขืฆื ืืคืฉืจ ืœืงืจื•ื ืœืขื ืŸ.

ืœื›ืŸ, ืžืกืžืš ืž-NIST (ื”ืžื›ื•ืŸ ื”ืœืื•ืžื™ ืœืชืงื ื™ื ื•ื˜ื›ื ื•ืœื•ื’ื™ื”) ืžืกืคืง 5 ืžืืคื™ื™ื ื™ื ืขื™ืงืจื™ื™ื ืฉื™ืฉ ืœืชืฉืชื™ืช ืขื ืŸ:

ืžืชืŸ ืฉื™ืจื•ืช ืœืคื™ ื‘ืงืฉื”. ื™ืฉ ืœื”ืขื ื™ืง ืœืžืฉืชืžืฉ ื’ื™ืฉื” ื—ื•ืคืฉื™ืช ืœืžืฉืื‘ื™ ื”ืžื—ืฉื‘ ื”ืžื•ืงืฆื™ื ืœื• (ื›ื’ื•ืŸ ืจืฉืชื•ืช, ื“ื™ืกืงื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื, ื–ื™ื›ืจื•ืŸ, ืœื™ื‘ื•ืช ืžืขื‘ื“ ื•ื›ื“ื•ืžื”), ื•ืžืฉืื‘ื™ื ืืœื• ื—ื™ื™ื‘ื™ื ืœื”ื™ื ืชืŸ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ โ€“ ื›ืœื•ืžืจ ืœืœื ื”ืชืขืจื‘ื•ืช ืฉืœ ื ื•ืชืŸ ื”ืฉื™ืจื•ืช.

ื–ืžื™ื ื•ืช ืจื—ื‘ื” ืฉืœ ืฉื™ืจื•ืช. ื”ื’ื™ืฉื” ืœืžืฉืื‘ื™ื ื—ื™ื™ื‘ืช ืœื”ื™ื ืชืŸ ืขืœ ื™ื“ื™ ืžื ื’ื ื•ื ื™ื ืกื˜ื ื“ืจื˜ื™ื™ื ื›ื“ื™ ืœืืคืฉืจ ืฉื™ืžื•ืฉ ื”ืŸ ื‘ืžื—ืฉื‘ื™ื ืื™ืฉื™ื™ื ืกื˜ื ื“ืจื˜ื™ื™ื ื•ื”ืŸ ื‘ืœืงื•ื—ื•ืช ื“ืงื™ื ื•ื”ืชืงื ื™ื ื ื™ื™ื“ื™ื.

ืฉื™ืœื•ื‘ ืžืฉืื‘ื™ื ืœื‘ืจื™ื›ื•ืช. ืžืื’ืจื™ ืžืฉืื‘ื™ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืžืกื•ื’ืœื™ื ืœืกืคืง ืžืฉืื‘ื™ื ืœืžืกืคืจ ืœืงื•ื—ื•ืช ื‘ื•-ื–ืžื ื™ืช, ื•ืœื”ื‘ื˜ื™ื— ืฉื”ืœืงื•ื—ื•ืช ื™ื”ื™ื• ืžื‘ื•ื“ื“ื™ื ื•ืœืœื ื”ืฉืคืขื” ื”ื“ื“ื™ืช ื•ืชื—ืจื•ืช ืขืœ ืžืฉืื‘ื™ื. ื›ืžื• ื›ืŸ ื ื›ืœืœื•ืช ื‘ืžืื’ืจื™ื ืจืฉืชื•ืช, ืžื” ืฉืžืขื™ื“ ืขืœ ืืคืฉืจื•ืช ืฉื™ืžื•ืฉ ื‘ื›ืชื•ื‘ืช ื—ื•ืคืคืช. ื‘ืจื™ื›ื•ืช ื—ื™ื™ื‘ื•ืช ืœื”ื™ื•ืช ืžืกื•ื’ืœื•ืช ืœื”ื’ื“ื™ืœ ืœืคื™ ื“ืจื™ืฉื”. ื”ืฉื™ืžื•ืฉ ื‘ืžืื’ืจื™ื ืžืืคืฉืจ ืœืกืคืง ืืช ื”ืจืžื” ื”ื ื“ืจืฉืช ืฉืœ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื‘ืžืฉืื‘ื™ื ื•ื”ืคืฉื˜ื” ืฉืœ โ€‹โ€‹ืžืฉืื‘ื™ื ืคื™ื–ื™ื™ื ื•ื•ื™ืจื˜ื•ืืœื™ื™ื - ืžืงื‘ืœ ื”ืฉื™ืจื•ืช ืคืฉื•ื˜ ืžืกื•ืคืง ื‘ืžืขืจืš ื”ืžืฉืื‘ื™ื ืฉื‘ื™ืงืฉ (ื”ื™ื›ืŸ ื ืžืฆืื™ื ืžืฉืื‘ื™ื ืืœื• ืคื™ื–ื™ืช, ืขืœ ื›ืžื” ืฉืจืชื™ื ื•ืžืชื’ื™ื - ื–ื” ืœื ืžืฉื ื” ืœืœืงื•ื—). ืขื ื–ืืช, ืขืœื™ื ื• ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืช ื”ืขื•ื‘ื“ื” ืฉืขืœ ื”ืกืคืง ืœื”ื‘ื˜ื™ื— ืฉืžื™ืจื” ืฉืงื•ืคื” ืฉืœ ืžืฉืื‘ื™ื ืืœื•.

ื”ืชืืžื” ืžื”ื™ืจื” ืœืชื ืื™ื ืฉื•ื ื™ื. ื”ืฉื™ืจื•ืชื™ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื’ืžื™ืฉื™ื โ€“ ืืกืคืงื” โ€‹โ€‹ืžื”ื™ืจื” ืฉืœ ืžืฉืื‘ื™ื, ื—ืœื•ืงื” ืžื—ื“ืฉ ืฉืœื”ื, ื”ื•ืกืคื” ืื• ืฆืžืฆื•ื ืžืฉืื‘ื™ื ืœืคื™ ื‘ืงืฉืช ื”ืœืงื•ื—, ื•ืžืฆื“ ื”ืœืงื•ื— ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืชื—ื•ืฉื” ืฉืžืฉืื‘ื™ ื”ืขื ืŸ ื”ื ืื™ื ืกื•ืคื™ื™ื. ืœืžืขืŸ ื ื•ื—ื•ืช ื”ื”ื‘ื ื”, ืœืžืฉืœ, ืื™ื ืš ืจื•ืื” ืื–ื”ืจื” ืฉื—ืœืง ืžืฉื˜ื— ื”ื“ื™ืกืง ืฉืœืš ื‘-Apple iCloud ื ืขืœื ืžื›ื™ื•ื•ืŸ ืฉื”ื›ื•ื ืŸ ื”ืงืฉื™ื— ื‘ืฉืจืช ื”ืชืงืœืงืœ, ื•ื”ื›ื•ื ื ื™ื ืื›ืŸ ืžืชืงืœืงืœื™ื. ื‘ื ื•ืกืฃ, ืžืฆื“ื›ื, ื”ืืคืฉืจื•ื™ื•ืช ืฉืœ ื”ืฉื™ืจื•ืช ื”ื–ื” ื”ืŸ ื›ืžืขื˜ ื‘ืœืชื™ ืžื•ื’ื‘ืœื•ืช โ€“ ืฆืจื™ืš 2 TB โ€“ ืื™ืŸ ื‘ืขื™ื”, ืฉื™ืœืžืชื ื•ืงื™ื‘ืœืชื. ื“ื•ื’ืžื” ื“ื•ืžื” ื ื™ืชืŸ ืœืชืช ืขื Google.Drive ืื• Yandex.Disk.

ืืคืฉืจื•ืช ืœืžื“ื•ื“ ืืช ื”ืฉื™ืจื•ืช ืฉื ื™ืชืŸ. ืžืขืจื›ื•ืช ืขื ืŸ ื—ื™ื™ื‘ื•ืช ืœืฉืœื•ื˜ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื•ืœื‘ืฆืข ืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืฉืœ ื”ืžืฉืื‘ื™ื ื”ื ืฆืจื›ื™ื, ื•ื”ืžื ื’ื ื•ื ื™ื ื”ืœืœื• ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืฉืงื•ืคื™ื ื”ืŸ ืœืžืฉืชืžืฉ ื•ื”ืŸ ืœื ื•ืชืŸ ื”ืฉื™ืจื•ืช. ื›ืœื•ืžืจ, ืชืžื™ื“ ืชื•ื›ืœื• ืœื‘ื“ื•ืง ื›ืžื” ืžืฉืื‘ื™ื ืืชื ื•ื”ืœืงื•ื—ื•ืช ืฉืœื›ื ืฆื•ืจื›ื™ื.

ื›ื“ืื™ ืœืงื—ืช ื‘ื—ืฉื‘ื•ืŸ ืืช ื”ืขื•ื‘ื“ื” ืฉื“ืจื™ืฉื•ืช ืืœื• ื”ืŸ ื‘ืขื™ืงืจ ื“ืจื™ืฉื•ืช ืœืขื ืŸ ืฆื™ื‘ื•ืจื™, ื•ืœื›ืŸ ืขื‘ื•ืจ ืขื ืŸ ืคืจื˜ื™ (ื›ืœื•ืžืจ, ืขื ืŸ ืฉื”ื•ืฉืง ืœืฆืจื›ื™ื ื”ืคื ื™ืžื™ื™ื ืฉืœ ื”ื—ื‘ืจื”), ื ื™ืชืŸ ืœื”ืชืื™ื ืžืขื˜ ืืช ื”ื“ืจื™ืฉื•ืช ื”ืœืœื•. ืขื ื–ืืช, ื”ื ืขื“ื™ื™ืŸ ืฆืจื™ื›ื™ื ืœื”ื™ืขืฉื•ืช, ืื—ืจืช ืœื ื ืงื‘ืœ ืืช ื›ืœ ื”ื™ืชืจื•ื ื•ืช ืฉืœ ืžื—ืฉื•ื‘ ืขื ืŸ.

ืœืžื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ืขื ืŸ?

ืขื ื–ืืช, ื›ืœ ื˜ื›ื ื•ืœื•ื’ื™ื” ื—ื“ืฉื” ืื• ืงื™ื™ืžืช, ื›ืœ ืคืจื•ื˜ื•ืงื•ืœ ื—ื“ืฉ ื ื•ืฆืจ ืขื‘ื•ืจ ืžืฉื”ื• (ื˜ื•ื‘, ืžืœื‘ื“ RIP-ng, ื›ืžื•ื‘ืŸ). ืืฃ ืื—ื“ ืœื ืฆืจื™ืš ืคืจื•ื˜ื•ืงื•ืœ ืœืžืขืŸ ืคืจื•ื˜ื•ืงื•ืœ (ื˜ื•ื‘, ืžืœื‘ื“ RIP-ng, ื›ืžื•ื‘ืŸ). ื–ื” ื”ื’ื™ื•ื ื™ ืฉื”ืขื ืŸ ื ื•ืฆืจ ื›ื“ื™ ืœืกืคืง ืฉื™ืจื•ืช ื›ืœืฉื”ื• ืœืžืฉืชืžืฉ/ืœืงื•ื—. ื›ื•ืœื ื• ืžื›ื™ืจื™ื ืœืคื—ื•ืช ื›ืžื” ืฉื™ืจื•ืชื™ ืขื ืŸ, ืœืžืฉืœ Dropbox ืื• Google.Docs, ื•ืื ื™ ืžืืžื™ืŸ ืฉืจื•ื‘ ื”ืื ืฉื™ื ืžืฉืชืžืฉื™ื ื‘ื”ื ื‘ื”ืฆืœื—ื” - ืœื“ื•ื’ืžื”, ืžืืžืจ ื–ื” ื ื›ืชื‘ ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืช ื”ืขื ืŸ Google.Docs. ืื‘ืœ ืฉื™ืจื•ืชื™ ื”ืขื ืŸ ืฉืื ื• ืžื›ื™ืจื™ื ื”ื ืจืง ื—ืœืง ืžื”ื™ื›ื•ืœื•ืช ืฉืœ ื”ืขื ืŸ - ืœื™ืชืจ ื“ื™ื•ืง, ื”ื ืจืง ืฉื™ืจื•ืช ืžืกื•ื’ SaaS. ืื ื• ื™ื›ื•ืœื™ื ืœืกืคืง ืฉื™ืจื•ืช ืขื ืŸ ื‘ืฉืœื•ืฉ ื“ืจื›ื™ื: ื‘ืฆื•ืจื” ืฉืœ SaaS, PaaS ืื• IaaS. ืื™ื–ื” ืฉื™ืจื•ืช ืืชื” ืฆืจื™ืš ืชืœื•ื™ ื‘ืจืฆื•ื ื•ืช ื•ื‘ื™ื›ื•ืœื•ืช ืฉืœืš.

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื›ืœ ืื—ื“ ืœืคื™ ื”ืกื“ืจ:

ืชื•ื›ื ื” ื›ืฉื™ืจื•ืช (SaaS) ื”ื•ื ืžื•ื“ืœ ืœืžืชืŸ ืฉื™ืจื•ืช ืžืœื ืœืœืงื•ื—, ืœืžืฉืœ, ืฉื™ืจื•ืช ื“ื•ืืจ ืืœืงื˜ืจื•ื ื™ ื›ืžื• Yandex.Mail ืื• Gmail. ื‘ืžื•ื“ืœ ืืกืคืงืช ืฉื™ืจื•ืช ื–ื”, ืืชื”, ื›ืœืงื•ื—, ืœืžืขืฉื” ืœื ืขื•ืฉื” ื“ื‘ืจ ืžืœื‘ื“ ืฉื™ืžื•ืฉ ื‘ืฉื™ืจื•ืชื™ื - ื›ืœื•ืžืจ, ืื™ื ืš ืฆืจื™ืš ืœื—ืฉื•ื‘ ืขืœ ื”ืงืžืช ื”ืฉื™ืจื•ืช, ืกื•ื‘ืœื ื•ืช ื”ืชืงืœื•ืช ืฉืœื• ืื• ื™ืชื™ืจื•ืชื•. ื”ืขื™ืงืจ ืœื ืœื”ืชืคืฉืจ ืขืœ ื”ืกื™ืกืžื” ืฉืœืš; ืกืคืง ื”ืฉื™ืจื•ืช ื”ื–ื” ื™ืขืฉื” ืืช ื”ืฉืืจ ื‘ืฉื‘ื™ืœืš. ืžื ืงื•ื“ืช ืžื‘ื˜ื• ืฉืœ ื ื•ืชืŸ ื”ืฉื™ืจื•ืช, ื”ื•ื ืื—ืจืื™ ื‘ืื•ืคืŸ ืžืœื ืขืœ ื›ืœ ื”ืฉื™ืจื•ืช - ืžื—ื•ืžืจืช ืฉืจืชื™ื ื•ืžืขืจื›ื•ืช ื”ืคืขืœื” ืžืืจื— ื•ืขื“ ืœื”ื’ื“ืจื•ืช ืžืกื“ื™ ื ืชื•ื ื™ื ื•ืชื•ื›ื ื”.

ืคืœื˜ืคื•ืจืžื” ื›ืฉื™ืจื•ืช (PaaS) - ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžื•ื“ืœ ื–ื”, ืกืคืง ื”ืฉื™ืจื•ืช ืžืกืคืง ืœืœืงื•ื— ื—ื•ืžืจ ืขื‘ื•ื“ื” ืขื‘ื•ืจ ื”ืฉื™ืจื•ืช, ืœืžืฉืœ, ื ื™ืงื— ืฉืจืช ืื™ื ื˜ืจื ื˜. ืกืคืง ื”ืฉื™ืจื•ืช ืกื™ืคืง ืœืœืงื•ื— ืฉืจืช ื•ื™ืจื˜ื•ืืœื™ (ืœืžืขืฉื”, ืžืขืจืš ืžืฉืื‘ื™ื, ื›ื’ื•ืŸ RAM/CPU/Storage/Nets ื•ื›ื•'), ื•ืืฃ ื”ืชืงื™ืŸ ืืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ื”ืชื•ื›ื ื” ื”ื ื—ื•ืฆื” ืขืœ ืฉืจืช ื–ื”, ืื•ืœื ื”ืชืฆื•ืจื” ืฉืœ ื›ืœ ื”ื“ื‘ืจื™ื ื”ืืœื” ื ืขืฉื™ื ืขืœ ื™ื“ื™ ื”ืœืงื•ื— ืขืฆืžื• ื•ืœืฆื•ืจืš ื‘ื™ืฆื•ืข ื”ืฉื™ืจื•ืช ืฉื”ืœืงื•ื— ืขื•ื ื”. ืกืคืง ื”ืฉื™ืจื•ืช, ื›ืžื• ื‘ืžืงืจื” ื”ืงื•ื“ื, ืื—ืจืื™ ืขืœ ื‘ื™ืฆื•ืขื™ ื”ืฆื™ื•ื“ ื”ืคื™ื–ื™, ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื, ื”ืžื›ื•ื ื” ื”ื•ื•ื™ืจื˜ื•ืืœื™ืช ืขืฆืžื”, ื–ืžื™ื ื•ืช ื”ืจืฉืช ืฉืœื” ื•ื›ื•', ืืš ื”ืฉื™ืจื•ืช ืขืฆืžื• ืื™ื ื• ื ืžืฆื ืขื•ื“ ื‘ืชื—ื•ื ืื—ืจื™ื•ืชื•.

ืชืฉืชื™ืช ื›ืฉื™ืจื•ืช (IaaS) - ื”ื’ื™ืฉื” ื”ื–ื• ื›ื‘ืจ ืžืขื ื™ื™ื ืช ื™ื•ืชืจ, ืœืžืขืฉื”, ืกืคืง ื”ืฉื™ืจื•ืช ืžืกืคืง ืœืœืงื•ื— ืชืฉืชื™ืช ื•ื™ืจื˜ื•ืืœื™ืช ืžืœืื” - ื›ืœื•ืžืจ, ืกื˜ (ืžืื’ืจ) ื›ืœืฉื”ื• ืฉืœ ืžืฉืื‘ื™ื, ื›ื’ื•ืŸ ืœื™ื‘ื•ืช ืžืขื‘ื“, ื–ื™ื›ืจื•ืŸ RAM, ืจืฉืชื•ืช ื•ื›ื•'. ื”ืœืงื•ื— - ืžื” ื”ืœืงื•ื— ืจื•ืฆื” ืœืขืฉื•ืช ืขื ื”ืžืฉืื‘ื™ื ื”ืœืœื• ื‘ืชื•ืš ื”ืžืื’ืจ ืฉื”ื•ืงืฆื” (ืžื›ืกื”) - ื–ื” ืœื ื—ืฉื•ื‘ ื‘ืžื™ื•ื—ื“ ืขื‘ื•ืจ ื”ืกืคืง. ื‘ื™ืŸ ืื ื”ืœืงื•ื— ืจื•ืฆื” ืœื™ืฆื•ืจ vEPC ืžืฉืœื• ืื• ืืคื™ืœื• ืœื™ืฆื•ืจ ืžื™ื ื™ ืžืคืขื™ืœ ื•ืœืกืคืง ืฉื™ืจื•ืชื™ ืชืงืฉื•ืจืช - ืื™ืŸ ืฉืืœื” - ืขืฉื” ื–ืืช. ื‘ืชืจื—ื™ืฉ ื›ื–ื”, ืกืคืง ื”ืฉื™ืจื•ืช ืื—ืจืื™ ืขืœ ืืกืคืงืช ืžืฉืื‘ื™ื, ืกื•ื‘ืœื ื•ืช ื”ืชืงืœื•ืช ื•ื”ื–ืžื™ื ื•ืช ืฉืœื”ื, ื›ืžื• ื’ื ืžืขืจื›ืช ื”ื”ืคืขืœื” ื”ืžืืคืฉืจืช ืœื”ื ืœืื’ื“ ืžืฉืื‘ื™ื ืืœื• ื•ืœื”ืคื•ืš ืื•ืชื ืœื–ืžื™ื ื™ื ืœืœืงื•ื— ืขื ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืœ ืื• ืœื”ืงื˜ื™ืŸ ืžืฉืื‘ื™ื ื‘ื›ืœ ืขืช. ืœืคื™ ื‘ืงืฉืช ื”ืœืงื•ื—. ื”ืœืงื•ื— ืžื’ื“ื™ืจ ื‘ืขืฆืžื• ืืช ื›ืœ ื”ืžื›ื•ื ื•ืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ื•ืช ื•ืฉืืจ ื˜ื™ื ืกืœ ื“ืจืš ื”ืคื•ืจื˜ืœ ื•ื”ืงื•ื ืกื•ืœื” ืœืฉื™ืจื•ืช ืขืฆืžื™, ื›ื•ืœืœ ื”ื’ื“ืจืช ืจืฉืชื•ืช (ืœืžืขื˜ ืจืฉืชื•ืช ื—ื™ืฆื•ื ื™ื•ืช).

ืžื” ื–ื” OpenStack?

ื‘ื›ืœ ืฉืœื•ืฉ ื”ืืคืฉืจื•ื™ื•ืช, ืกืคืง ื”ืฉื™ืจื•ืช ื–ืงื•ืง ืœืžืขืจื›ืช ื”ืคืขืœื” ืฉืชืืคืฉืจ ื™ืฆื™ืจืช ืชืฉืชื™ืช ืขื ืŸ. ืœืžืขืฉื”, ืขื SaaS, ื™ื•ืชืจ ืžื—ื˜ื™ื‘ื” ืื—ืช ืื—ืจืื™ืช ืขืœ ื›ืœ ืขืจื™ืžืช ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช - ื™ืฉื ื” ื—ื˜ื™ื‘ื” ืฉืื—ืจืื™ืช ืขืœ ื”ืชืฉืชื™ืช - ื›ืœื•ืžืจ ื”ื™ื ืžืกืคืงืช IaaS ืœื—ื˜ื™ื‘ื” ืื—ืจืช, ื”ื—ื˜ื™ื‘ื” ื”ื–ื• ืžืกืคืงืช SaaS ืœืœืงื•ื—. OpenStack ื”ื™ื ืื—ืช ืžืžืขืจื›ื•ืช ื”ื”ืคืขืœื” ื‘ืขื ืŸ ื”ืžืืคืฉืจื•ืช ืœืš ืœืืกื•ืฃ ื—ื‘ื•ืจื” ืฉืœ ืžืชื’ื™ื, ืฉืจืชื™ื ื•ืžืขืจื›ื•ืช ืื—ืกื•ืŸ ืœืžืื’ืจ ืžืฉืื‘ื™ื ืื—ื“, ืœืคืฆืœ ืืช ื”ืžืื’ืจ ื”ืžืฉื•ืชืฃ ื”ื–ื” ืœ-subpools (ื“ื™ื™ืจื™ื) ื•ืœืกืคืง ืžืฉืื‘ื™ื ืืœื• ืœืœืงื•ื—ื•ืช ื“ืจืš ื”ืจืฉืช.

ืœืคืชื•ื— ืขืจื™ืžื” ื”ื™ื ืžืขืจื›ืช ื”ืคืขืœื” ื‘ืขื ืŸ ื”ืžืืคืฉืจืช ืœืš ืœืฉืœื•ื˜ ื‘ืžืื’ืจื™ื ื’ื“ื•ืœื™ื ืฉืœ ืžืฉืื‘ื™ ืžื—ืฉื•ื‘, ืื—ืกื•ืŸ ื ืชื•ื ื™ื ื•ืžืฉืื‘ื™ ืจืฉืช, ื”ืžืกื•ืคืงื™ื ื•ืžื ื•ื”ืœื™ื ื‘ืืžืฆืขื•ืช API ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ื ื™ ืื™ืžื•ืช ืกื˜ื ื“ืจื˜ื™ื™ื.

ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ืžื“ื•ื‘ืจ ื‘ืกื˜ ืฉืœ ืคืจื•ื™ืงื˜ื™ ืชื•ื›ื ื” ื—ื™ื ืžื™ื™ื ืฉื ื•ืขื“ื• ืœื™ืฆื•ืจ ืฉื™ืจื•ืชื™ ืขื ืŸ (ืฆื™ื‘ื•ืจื™ ื•ืคืจื˜ื™ ื›ืื—ื“) - ื›ืœื•ืžืจ ืกื˜ ื›ืœื™ื ื”ืžืืคืฉืจื™ื ืœืฉืœื‘ ืฉืจืช ื•ืฆื™ื•ื“ ืžื™ืชื•ื’ ืœืžืื’ืจ ื™ื—ื™ื“ ืฉืœ ืžืฉืื‘ื™ื, ืœื ื”ืœ ืžืฉืื‘ื™ื ืืœื”, ื”ืžืกืคืงื™ื ืืช ื”ืจืžื” ื”ื ื“ืจืฉืช ืฉืœ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช.

ื‘ื–ืžืŸ ื›ืชื™ื‘ืช ื”ื—ื•ืžืจ ื”ื–ื”, ืžื‘ื ื” OpenStack ื ืจืื” ื›ืš:
ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ
ืชืžื•ื ื” ื ืœืงื—ื” ืž openstack.org

ื›ืœ ืื—ื“ ืžื”ืจื›ื™ื‘ื™ื ื”ื›ืœื•ืœื™ื ื‘-OpenStack ืžื‘ืฆืข ืคื•ื ืงืฆื™ื” ืกืคืฆื™ืคื™ืช. ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื‘ื•ื–ืจืช ื–ื• ืžืืคืฉืจืช ืœืš ืœื›ืœื•ืœ ื‘ืคืชืจื•ืŸ ืืช ืกื˜ ื”ืจื›ื™ื‘ื™ื ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื™ื ืฉืืชื” ืฆืจื™ืš. ืขื ื–ืืช, ื—ืœืง ืžื”ืจื›ื™ื‘ื™ื ื”ื ืจื›ื™ื‘ื™ ืฉื•ืจืฉ ื•ื”ืกืจืชื ืชื•ื‘ื™ืœ ืœืื™-ื”ืคืขืœื” ืžืœืื” ืื• ื—ืœืงื™ืช ืฉืœ ื”ืคืชืจื•ืŸ ื‘ื›ืœืœื•ืชื•. ืจื›ื™ื‘ื™ื ืืœื” ืžืกื•ื•ื’ื™ื ื‘ื“ืจืš ื›ืœืœ ื›:

  • ืœื•ื— ื ื™ื”ื•ืœ ื—ืฉื‘ื•ืŸ - GUI ืžื‘ื•ืกืก ืื™ื ื˜ืจื ื˜ ืœื ื™ื”ื•ืœ ืฉื™ืจื•ืชื™ OpenStack
  • ืื‘ืŸ ืจืืฉื” ื”ื•ื ืฉื™ืจื•ืช ื–ื”ื•ืช ืžืจื›ื–ื™ ื”ืžืกืคืง ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืื™ืžื•ืช ื•ื”ืจืฉืื” ืขื‘ื•ืจ ืฉื™ืจื•ืชื™ื ืื—ืจื™ื, ื›ืžื• ื’ื ื ื™ื”ื•ืœ ืื™ืฉื•ืจื™ ืžืฉืชืžืฉื™ื ื•ืชืคืงื™ื“ื™ื”ื.
  • ื ื™ื•ื˜ืจื•ืŸ - ืฉื™ืจื•ืช ืจืฉืช ื”ืžืกืคืง ืงื™ืฉื•ืจื™ื•ืช ื‘ื™ืŸ ื”ืžืžืฉืงื™ื ืฉืœ ืฉื™ืจื•ืชื™ OpenStack ืฉื•ื ื™ื (ื›ื•ืœืœ ืงื™ืฉื•ืจื™ื•ืช ื‘ื™ืŸ ืžื—ืฉื‘ื™ VM ื•ื”ื’ื™ืฉื” ืฉืœื”ื ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ)
  • ืกื™ื ื“ืจ - ืžืกืคืง ื’ื™ืฉื” ืœื—ืกื™ืžืช ืื—ืกื•ืŸ ืขื‘ื•ืจ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช
  • ื ื•ื‘ื” - ื ื™ื”ื•ืœ ืžื—ื–ื•ืจ ื—ื™ื™ื ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช
  • ืžื‘ื˜ - ืžืื’ืจ ืฉืœ ืชืžื•ื ื•ืช ื•ืชืžื•ื ื•ืช ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช
  • ืกื•ื•ื™ืคื˜ - ืžืกืคืง ื’ื™ืฉื” ืœืื•ื‘ื™ื™ืงื˜ ื”ืื—ืกื•ืŸ
  • ืžื“ ืชืงืจื” - ืฉื™ืจื•ืช ื”ืžืกืคืง ืืช ื”ื™ื›ื•ืœืช ืœืืกื•ืฃ ื˜ืœืžื˜ืจื™ื” ื•ืœืžื“ื•ื“ ืžืฉืื‘ื™ื ื–ืžื™ื ื™ื ื•ื ืฆืจื›ื™ื
  • ื—ื•ื - ืชื–ืžื•ืจ ืžื‘ื•ืกืก ืขืœ ืชื‘ื ื™ื•ืช ืœื™ืฆื™ืจื” ื•ื”ืงืฆืื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืžืฉืื‘ื™ื

ื ื™ืชืŸ ืœืจืื•ืช ืจืฉื™ืžื” ืžืœืื” ืฉืœ ื›ืœ ื”ืคืจื•ื™ืงื˜ื™ื ื•ืžื˜ืจืชื ื›ืืŸ.

ื›ืœ ืจื›ื™ื‘ OpenStack ื”ื•ื ืฉื™ืจื•ืช ืฉืžื‘ืฆืข ืคื•ื ืงืฆื™ื” ืกืคืฆื™ืคื™ืช ื•ืžืกืคืง API ืœื ื™ื”ื•ืœ ืคื•ื ืงืฆื™ื” ื–ื• ื•ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืฉื™ืจื•ืชื™ ืžืขืจื›ื•ืช ื”ืคืขืœื” ืขื ืŸ ืื—ืจื™ื ื›ื“ื™ ืœื™ืฆื•ืจ ืชืฉืชื™ืช ืžืื•ื—ื“ืช. ื›ืš ืœืžืฉืœ, Nova ืžืกืคืงืช ื ื™ื”ื•ืœ ืžืฉืื‘ื™ ืžื—ืฉื•ื‘ ื•-API ืœื’ื™ืฉื” ืœื”ื’ื“ืจืช ืžืฉืื‘ื™ื ืืœื•, Glance ืžืกืคืงืช ื ื™ื”ื•ืœ ืชืžื•ื ื•ืช ื•-API ืœื ื™ื”ื•ืœื, Cinder ืžืกืคืงืช ืื—ืกื•ืŸ ื‘ืœื•ืง ื•-API ืœื ื™ื”ื•ืœื• ื•ื›ื•'. ื›ืœ ื”ืคื•ื ืงืฆื™ื•ืช ืžื—ื•ื‘ืจื•ืช ื–ื• ืœื–ื• ื‘ืฆื•ืจื” ืงืจื•ื‘ื” ืžืื•ื“.

ืขื ื–ืืช, ืื ืืชื” ืžืกืชื›ืœ ืขืœ ื–ื”, ื›ืœ ื”ืฉื™ืจื•ืชื™ื ื”ืคื•ืขืœื™ื ื‘-OpenStack ื”ื ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืกื•ื’ ืฉืœ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช (ืื• ืžื™ื›ืœ) ื”ืžื—ื•ื‘ืจืช ืœืจืฉืช. ื ืฉืืœืช ื”ืฉืืœื” โ€“ ืœืžื” ืื ื—ื ื• ืฆืจื™ื›ื™ื ื›ืœ ื›ืš ื”ืจื‘ื” ืืœืžื ื˜ื™ื?

ื‘ื•ืื• ื ืขื‘ื•ืจ ืขืœ ื”ืืœื’ื•ืจื™ืชื ืœื™ืฆื™ืจืช ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ื•ื—ื™ื‘ื•ืจื” ืœืจืฉืช ื•ืœืื—ืกื•ืŸ ืžืชืžืฉืš ื‘-Openstack.

  1. ื›ืืฉืจ ืืชื” ื™ื•ืฆืจ ื‘ืงืฉื” ืœื™ืฆื™ืจืช ืžื›ื•ื ื”, ื‘ื™ืŸ ืื ื–ื• ื‘ืงืฉื” ื“ืจืš Horizon (Dashboard) ืื• ื‘ืงืฉื” ื“ืจืš ื”-CLI, ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืงื•ืจื” ื”ื•ื ืื™ืฉื•ืจ ื”ื‘ืงืฉื” ืฉืœืš ื‘-Keystone - ื”ืื ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืžื›ื•ื ื”, ื”ืื ื™ืฉ ืœื” ืืช ื”ื–ื›ื•ืช ืœื”ืฉืชืžืฉ ื‘ืจืฉืช ื”ื–ื•, ื”ืื ืืช ืžื›ืกืช ื”ื˜ื™ื•ื˜ื” ืฉืœืš ื•ื›ื•'.
  2. Keystone ืžืืžืช ืืช ื‘ืงืฉืชืš ื•ืžื™ื™ืฆืจ ืืกื™ืžื•ืŸ ืื™ืžื•ืช ื‘ื”ื•ื“ืขืช ื”ืชื’ื•ื‘ื”, ืฉื™ืฉืžืฉ ื‘ื”ืžืฉืš. ืœืื—ืจ ืงื‘ืœืช ืชืฉื•ื‘ื” ืžืงื™ืกื˜ื•ืŸ, ื”ื‘ืงืฉื” ื ืฉืœื—ืช ืœื›ื™ื•ื•ืŸ ื ื•ื‘ื” (nova api).
  3. Nova-api ื‘ื•ื“ืง ืืช ืชืงืคื•ืช ื”ื‘ืงืฉื” ืฉืœืš ืขืœ ื™ื“ื™ ื™ืฆื™ืจืช ืงืฉืจ ืขื Keystone ื‘ืืžืฆืขื•ืช ืืกื™ืžื•ืŸ ื”ืื™ืฉื•ืจ ืฉื ื•ืฆืจ ืงื•ื“ื ืœื›ืŸ
  4. Keystone ืžื‘ืฆืขืช ืื™ืžื•ืช ื•ืžืกืคืงืช ืžื™ื“ืข ืขืœ ื”ืจืฉืื•ืช ื•ื”ื’ื‘ืœื•ืช ืขืœ ืกืžืš ืืกื™ืžื•ืŸ ืื™ืฉื•ืจ ื–ื”.
  5. Nova-api ื™ื•ืฆืจ ืขืจืš ืขื‘ื•ืจ ื”-VM ื”ื—ื“ืฉ ื‘-nova-database ื•ืžืขื‘ื™ืจ ืืช ื”ื‘ืงืฉื” ืœื™ืฆื•ืจ ืืช ื”ืžื—ืฉื‘ ืœ-nova-scheduler.
  6. Nova-scheduler ื‘ื•ื—ืจ ืืช ื”ืžืืจื— (ืฆื•ืžืช ื”ืžื—ืฉื‘) ืขืœื™ื• ื™ื™ืคืจืก ื”-VM ื‘ื”ืชื‘ืกืก ืขืœ ื”ืคืจืžื˜ืจื™ื, ื”ืžืฉืงืœื™ื ื•ื”ืื–ื•ืจื™ื ืฉืฆื•ื™ื ื•. ืจื™ืฉื•ื ืฉืœ ื–ื” ื•ืžื–ื”ื” VM ื ื›ืชื‘ื™ื ืœ-nova-database.
  7. ืœืื—ืจ ืžื›ืŸ, nova-scheduler ื™ื•ืฆืจ ืงืฉืจ ืขื nova-compute ืขื ื‘ืงืฉื” ืœืคืจื•ืก ืžื•ืคืข. Nova-compute ื™ื•ืฆืจ ืงืฉืจ ืขื nova-conductor ื›ื“ื™ ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ืคืจืžื˜ืจื™ ืžื›ื•ื ื” (nova-conductor ื”ื•ื ืืœืžื ื˜ nova ืฉืคื•ืขืœ ื›ืฉืจืช ืคืจื•ืงืกื™ ื‘ื™ืŸ nova-database ืœ-nova-compute, ืžื’ื‘ื™ืœ ืืช ืžืกืคืจ ื”ื‘ืงืฉื•ืช ืœ-nova-database ื›ื“ื™ ืœืžื ื•ืข ื‘ืขื™ื•ืช ืขื ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืคื—ืชืช ืขื•ืžืก ืขืงื‘ื™ื•ืช).
  8. Nova-conductor ืžืงื‘ืœ ืืช ื”ืžื™ื“ืข ื”ืžื‘ื•ืงืฉ ืž-nova-database ื•ืžืขื‘ื™ืจ ืื•ืชื• ืœ-nova-compute.
  9. ืœืื—ืจ ืžื›ืŸ, ืฉื™ื—ื•ืช nova-compute ืžื‘ื™ื˜ื™ื ื›ื“ื™ ืœืงื‘ืœ ืืช ืžื–ื”ื” ื”ืชืžื•ื ื”. Glace ืžืืžืช ืืช ื”ื‘ืงืฉื” ื‘ืงื™ืกื˜ื•ืŸ ื•ืžื—ื–ื™ืจื” ืืช ื”ืžื™ื“ืข ื”ืžื‘ื•ืงืฉ.
  10. Nova-compute ืžืชืงืฉืจ ืœื ื™ื™ื˜ืจื•ืŸ ื›ื“ื™ ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ืคืจืžื˜ืจื™ ืจืฉืช. ื‘ื“ื•ืžื” ืœืžื‘ื˜, ื ื•ื™ื˜ืจื•ืŸ ืžืืžืช ืืช ื”ื‘ืงืฉื” ื‘-Keystone, ื•ืœืื—ืจ ืžื›ืŸ ื”ื•ื ื™ื•ืฆืจ ืขืจืš ื‘ืžืกื“ ื”ื ืชื•ื ื™ื (ืžื–ื”ื” ืคื•ืจื˜ื™ื ื•ื›ื•'), ื™ื•ืฆืจ ื‘ืงืฉื” ืœื™ืฆื™ืจืช ืคื•ืจื˜ ื•ืžื—ื–ื™ืจ ืืช ื”ืžื™ื“ืข ื”ืžื‘ื•ืงืฉ ืœ-nova-compute.
  11. Nova-compute contacts cinder ืขื ื‘ืงืฉื” ืœื”ืงืฆื•ืช ื ืคื— ืœืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช. ื‘ื“ื•ืžื” ืœืžื‘ื˜, ืกื™ื™ื“ืจ ืžืืžืช ืืช ื”ื‘ืงืฉื” ื‘-Keystone, ื™ื•ืฆืจ ื‘ืงืฉื” ืœื™ืฆื™ืจืช ื ืคื— ื•ืžื—ื–ื™ืจ ืืช ื”ืžื™ื“ืข ื”ืžื‘ื•ืงืฉ.
  12. Nova-compute ืื ืฉื™ ืงืฉืจ ืขื libvirt ืขื ื‘ืงืฉื” ืœืคืจื•ืก ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืขื ื”ืคืจืžื˜ืจื™ื ืฉืฆื•ื™ื ื•.

ืœืžืขืฉื”, ืคืขื•ืœื” ืคืฉื•ื˜ื” ืœื›ืื•ืจื” ืฉืœ ื™ืฆื™ืจืช ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืคืฉื•ื˜ื” ื”ื•ืคื›ืช ืœืžืขืจื‘ื•ืœืช ื›ื–ื• ืฉืœ ืงืจื™ืื•ืช API ื‘ื™ืŸ ืืœืžื ื˜ื™ื ืฉืœ ืคืœื˜ืคื•ืจืžืช ื”ืขื ืŸ. ื™ืชืจื” ืžื›ืš, ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช, ืืคื™ืœื• ื”ืฉื™ืจื•ืชื™ื ืฉื™ื•ืขื“ื• ืงื•ื“ื ืœื›ืŸ ืžื•ืจื›ื‘ื™ื ื’ื ืžืžืจื›ื™ื‘ื™ื ืงื˜ื ื™ื ื™ื•ืชืจ ืฉื‘ื™ื ื™ื”ื ืžืชืจื—ืฉืช ืื™ื ื˜ืจืืงืฆื™ื”. ื™ืฆื™ืจืช ืžื›ื•ื ื” ื”ื™ื ืจืง ื—ืœืง ืงื˜ืŸ ืžืžื” ืฉืคืœื˜ืคื•ืจืžืช ื”ืขื ืŸ ืžืืคืฉืจืช ืœืš ืœืขืฉื•ืช - ื™ืฉ ืฉื™ืจื•ืช ืฉืื—ืจืื™ ืขืœ ืื™ื–ื•ืŸ ืชืขื‘ื•ืจื”, ืฉื™ืจื•ืช ืฉืื—ืจืื™ ืขืœ ืื—ืกื•ืŸ ื‘ืœื•ืง, ืฉื™ืจื•ืช ืื—ืจืื™ ืขืœ DNS, ืฉื™ืจื•ืช ืฉืื—ืจืื™ ืขืœ ืืกืคืงืช ืฉืจืชื™ ืžืชื›ืช ื—ืฉื•ืคื™ื ื•ื›ื•' ื”ืขื ืŸ ืžืืคืฉืจ ืœืš ืœื”ืชื™ื™ื—ืก ืœืžื›ื•ื ื•ืช ื”ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืœืš ื›ืžื• ืœืขื“ืจ ื›ื‘ืฉื™ื (ื‘ื ื™ื’ื•ื“ ืœื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื”). ืื ืžืฉื”ื• ืงื•ืจื” ืœืžื›ื•ื ื” ืฉืœืš ื‘ืกื‘ื™ื‘ื” ื•ื™ืจื˜ื•ืืœื™ืช - ืืชื” ืžืฉื—ื–ืจ ืื•ืชื• ืžื’ื™ื‘ื•ื™ื™ื ื•ื›ื•', ืื‘ืœ ื™ื™ืฉื•ืžื™ ืขื ืŸ ื‘ื ื•ื™ื™ื ื‘ืฆื•ืจื” ื›ื–ื• ืฉื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ืœื ืžืฉื—ืงืช ืชืคืงื™ื“ ื›ืœ ื›ืš ื—ืฉื•ื‘ - ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช "ืžืชื”" - ืื™ืŸ ื‘ืขื™ื” - ืคืฉื•ื˜ ื ื•ืฆืจ ืื—ื“ ื—ื“ืฉ ื”ืจื›ื‘ ืžื‘ื•ืกืก ืขืœ ื”ืชื‘ื ื™ืช, ื•ื›ืžื• ืฉืื•ืžืจื™ื, ื”ื—ื•ืœื™ื” ืœื ื”ื‘ื—ื™ื ื” ื‘ืื•ื‘ื“ืŸ ื”ืœื•ื—ื. ื‘ืื•ืคืŸ ื˜ื‘ืขื™, ื–ื” ืžืกืคืง ื ื•ื›ื—ื•ืช ืฉืœ ืžื ื’ื ื•ื ื™ ืชื–ืžื•ืจ - ื‘ืืžืฆืขื•ืช ืชื‘ื ื™ื•ืช Heat, ืืชื” ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœืคืจื•ืก ืคื•ื ืงืฆื™ื” ืžื•ืจื›ื‘ืช ื”ืžื•ืจื›ื‘ืช ืžืขืฉืจื•ืช ืจืฉืชื•ืช ื•ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช.

ืชืžื™ื“ ื›ื“ืื™ ืœื–ื›ื•ืจ ืฉืื™ืŸ ืชืฉืชื™ืช ืขื ืŸ ืœืœื ืจืฉืช โ€“ ื›ืœ ืืœืžื ื˜ ืžืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ื›ื–ื• ืื• ืื—ืจืช ืขื ืืœืžื ื˜ื™ื ืื—ืจื™ื ื“ืจืš ื”ืจืฉืช. ื‘ื ื•ืกืฃ, ืœืขื ืŸ ื™ืฉ ืจืฉืช ืœื ืกื˜ื˜ื™ืช ืœื—ืœื•ื˜ื™ืŸ. ืžื˜ื‘ืข ื”ื“ื‘ืจื™ื, ืจืฉืช ื”ืฉื›ื‘ื” ื”ื™ื ืืคื™ืœื• ืคื—ื•ืช ืื• ื™ื•ืชืจ ืกื˜ื˜ื™ืช - ืฆืžืชื™ื ื•ืžืชื’ื™ื ื—ื“ืฉื™ื ืœื ืžืชื•ื•ืกืคื™ื ื›ืœ ื™ื•ื, ืื‘ืœ ืจื›ื™ื‘ ื”ืฉื›ื‘ื” ื™ื›ื•ืœ ื•ื™ืฉืชื ื” ื‘ื”ื›ืจื— - ืจืฉืชื•ืช ื—ื“ืฉื•ืช ื™ืชื•ื•ืกืคื• ืื• ื™ื™ืžื—ืงื•, ื™ื•ืคื™ืขื• ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื—ื“ืฉื•ืช ื•ื™ืฉื ื•ืช ืœึธืžื•ึผืช. ื•ื›ื–ื›ื•ืจ ืžื”ื’ื“ืจืช ื”ืขื ืŸ ืฉื ื™ืชื ื” ืžืžืฉ ื‘ืชื—ื™ืœืช ื”ืžืืžืจ, ื™ืฉ ืœื”ืงืฆื•ืช ืžืฉืื‘ื™ื ืœืžืฉืชืžืฉ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื•ื‘ืžื™ื ื™ืžื•ื (ืื• ื™ื•ืชืจ ื˜ื•ื‘, ืœืœื) ื”ืชืขืจื‘ื•ืช ืžืกืคืง ื”ืฉื™ืจื•ืช. ื›ืœื•ืžืจ, ืกื•ื’ ื”ืืกืคืงื” โ€‹โ€‹ืฉืœ ืžืฉืื‘ื™ ืจืฉืช ืฉืงื™ื™ื ื›ืขืช ื‘ืฆื•ืจื” ืฉืœ ื—ื–ื™ืช ืงืฆื” ื‘ืฆื•ืจืช ื”ื—ืฉื‘ื•ืŸ ื”ืื™ืฉื™ ืฉืœืš ื”ื ื’ื™ืฉ ื“ืจืš http/https ื•ืžื”ื ื“ืก ื”ืจืฉืช ื”ืชื•ืจืŸ ื•ืกื™ืœื™ ื›ื—ืœืง ืื—ื•ืจื™ ืื™ื ื• ืขื ืŸ, ืืคื™ืœื• ืื ืœื•ื•ืืกื™ืœื™ ื™ืฉ ืฉืžื•ื ื” ื™ื“ื™ื™ื.

Neutron, ื›ืฉื™ืจื•ืช ืจืฉืช, ืžืกืคืงืช API ืœื ื™ื”ื•ืœ ื—ืœืง ื”ืจืฉืช ืฉืœ ืชืฉืชื™ืช ื”ืขื ืŸ. ื”ืฉื™ืจื•ืช ืžืคืขื™ืœ ื•ืžื ื”ืœ ืืช ื—ืœืง ื”ืจืฉืช ืฉืœ Openstack ืขืœ ื™ื“ื™ ืžืชืŸ ืฉื›ื‘ืช ื”ืคืฉื˜ื” ื‘ืฉื Network-as-a-Service (NaaS). ื›ืœื•ืžืจ, ื”ืจืฉืช ื”ื™ื ืื•ืชื” ื™ื—ื™ื“ื” ื•ื™ืจื˜ื•ืืœื™ืช ื”ื ื™ืชื ืช ืœืžื“ื™ื“ื” ื›ืžื• ืœืžืฉืœ ืœื™ื‘ื•ืช ืžืขื‘ื“ ื•ื™ืจื˜ื•ืืœื™ื•ืช ืื• ื›ืžื•ืช ื”-RAM.

ืื‘ืœ ืœืคื ื™ ืฉื ืขื‘ื•ืจ ืœืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ ื—ืœืง ื”ืจืฉืช ื‘-OpenStack, ื‘ื•ืื• ื ื‘ื—ืŸ ืื™ืš ื”ืจืฉืช ื”ื–ื• ืขื•ื‘ื“ืช ื‘-OpenStack ื•ืžื“ื•ืข ื”ืจืฉืช ื”ื™ื ื—ืœืง ื—ืฉื•ื‘ ื•ื‘ืœืชื™ ื ืคืจื“ ืžื”ืขื ืŸ.

ืื– ื™ืฉ ืœื ื• ืฉื ื™ VMs RED ื•ืฉื ื™ GREEN VMs. ื”ื‘ื” ื ื ื™ื— ืฉื”ืžื›ื•ื ื•ืช ื”ืœืœื• ืžืžื•ืงืžื•ืช ืขืœ ืฉื ื™ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ื‘ืฆื•ืจื” ื–ื•:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื›ืจื’ืข ื–ื• ืจืง ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืฉืœ 4 ืฉืจืชื™ื ื•ืชื• ืœื, ืฉื›ืŸ ืขื“ ื›ื” ื›ืœ ืžื” ืฉืขืฉื™ื ื• ื”ื•ื ืœืขืฉื•ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืฉืœ 4 ืฉืจืชื™ื, ื•ืœื”ืฆื™ื‘ ืื•ืชื ื‘ืฉื ื™ ืฉืจืชื™ื ืคื™ื–ื™ื™ื. ื•ืขื“ ื›ื” ื”ื ืืคื™ืœื• ืœื ืžื—ื•ื‘ืจื™ื ืœืจืฉืช.

ื›ื“ื™ ืœื™ืฆื•ืจ ืขื ืŸ, ืขืœื™ื ื• ืœื”ื•ืกื™ืฃ ืžืกืคืจ ืจื›ื™ื‘ื™ื. ืจืืฉื™ืช, ืื ื• ืขื•ืฉื™ื ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืฉืœ ื—ืœืง ื”ืจืฉืช - ืขืœื™ื ื• ืœื—ื‘ืจ ืืช 4 ื”ืžื›ื•ื ื•ืช ื”ืœืœื• ื‘ื–ื•ื’ื•ืช, ื•ื”ืœืงื•ื—ื•ืช ืจื•ืฆื™ื ื—ื™ื‘ื•ืจ L2. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืชื’ ื•ืœื”ื’ื“ื™ืจ ื˜ืจืื ืง ืœื›ื™ื•ื•ืŸ ืฉืœื• ื•ืœืคืชื•ืจ ื”ื›ืœ ื‘ืืžืฆืขื•ืช ื’ืฉืจ ืœื™ื ื•ืงืก ืื•, ืœืžืฉืชืžืฉื™ื ืžืชืงื“ืžื™ื ื™ื•ืชืจ, openvswitch (ื ื—ื–ื•ืจ ืœื–ื” ื‘ื”ืžืฉืš). ืื‘ืœ ื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ื”ืจื‘ื” ืจืฉืชื•ืช, ื•ื“ื—ื™ืคื” ืžืชืžื“ืช ืฉืœ L2 ื“ืจืš ืžืชื’ ื–ื” ืœื ื”ืจืขื™ื•ืŸ ื”ื›ื™ ื˜ื•ื‘ - ื™ืฉ ืžื—ืœืงื•ืช ืฉื•ื ื•ืช, ื“ืœืคืง ืฉื™ืจื•ืช, ื—ื•ื“ืฉื™ื ืฉืœ ื”ืžืชื ื” ืœืกื™ื•ื ื”ื‘ืงืฉื”, ืฉื‘ื•ืขื•ืช ืฉืœ ืคืชืจื•ืŸ ื‘ืขื™ื•ืช - ื‘ืขื•ืœื ื”ืžื•ื“ืจื ื™ ื–ื” ื”ื’ื™ืฉื” ื›ื‘ืจ ืœื ืขื•ื‘ื“ืช. ื•ื›ื›ืœ ืฉื—ื‘ืจื” ืžื‘ื™ื ื” ื–ืืช ืžื•ืงื“ื ื™ื•ืชืจ, ื›ืš ืงืœ ืœื” ืœื”ืชืงื“ื. ืœื›ืŸ, ื‘ื™ืŸ ื”ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ื ื‘ื—ืจ ืจืฉืช L3 ืฉื“ืจื›ื” ื™ืชืงืฉืจื• ื”ืžื›ื•ื ื•ืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืœื ื•, ื•ืขืœ ื’ื‘ื™ ืจืฉืช L3 ื–ื• ื ื‘ื ื” ืจืฉืชื•ืช ืฉื›ื‘ืช L2 ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉื‘ื”ืŸ ืชืคืขืœ ื”ืชืขื‘ื•ืจื” ืฉืœ ื”ืžื›ื•ื ื•ืช ื”ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืœื ื•. ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-GRE, Geneve ืื• VxLAN ื›ืื ืงืคืกื•ืœืฆื™ื”. ื”ื‘ื” ื ืชืžืงื“ ื‘ืื—ืจื•ืŸ ืœืขืช ืขืชื”, ืœืžืจื•ืช ืฉื–ื” ืœื ื—ืฉื•ื‘ ื‘ืžื™ื•ื—ื“.

ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืืชืจ ืืช VTEP ืื™ืคืฉื”ื• (ืื ื™ ืžืงื•ื•ื” ืฉื›ื•ืœื ืžื›ื™ืจื™ื ืืช ื”ื˜ืจืžื™ื ื•ืœื•ื’ื™ื” ืฉืœ VxLAN). ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื ื• ืจืฉืช L3 ืฉืžื’ื™ืขื” ื™ืฉืจ ืžื”ืฉืจืชื™ื, ืฉื•ื ื“ื‘ืจ ืœื ืžื•ื ืข ืžืื™ืชื ื• ืœื”ืฆื™ื‘ VTEP ืขืœ ื”ืฉืจืชื™ื ืขืฆืžื, ื•-OVS (OpenvSwitch) ื”ื•ื ืžืฆื•ื™ืŸ ืœืขืฉื•ืช ื–ืืช. ื›ืชื•ืฆืื” ืžื›ืš, ืงื™ื‘ืœื ื• ืืช ื”ืขื™ืฆื•ื‘ ื”ื–ื”:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื—ืœืง ืืช ื”ืชืขื‘ื•ืจื” ื‘ื™ืŸ ืžื—ืฉื‘ื™ VM, ืœื™ืฆื™ืื•ืช ืœืขื‘ืจ ื”ืžื›ื•ื ื•ืช ื”ื•ื™ืจื˜ื•ืืœื™ื•ืช ื™ื”ื™ื• ืžืกืคืจื™ vlan ืฉื•ื ื™ื. ืžืกืคืจ ื”ืชื’ ืžืฉื—ืง ืชืคืงื™ื“ ืจืง ื‘ืชื•ืš ืžืชื’ ื•ื™ืจื˜ื•ืืœื™ ืื—ื“, ืฉื›ืŸ ื›ืืฉืจ ื”ื•ื ืžื•ื‘ืœืข ื‘-VxLAN ื ื•ื›ืœ ืœื”ืกื™ืจ ืื•ืชื• ื‘ืงืœื•ืช, ืžื›ื™ื•ื•ืŸ ืฉื™ื”ื™ื” ืœื ื• VNI.

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื›ืขืช ื ื•ื›ืœ ืœื™ืฆื•ืจ ืขื‘ื•ืจื ืืช ื”ืžื›ื•ื ื•ืช ื•ื”ืจืฉืชื•ืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืœื ื• ืœืœื ื‘ืขื™ื•ืช.

ืขื ื–ืืช, ืžื” ืื ืœืœืงื•ื— ื™ืฉ ืžื›ื•ื ื” ืื—ืจืช, ืืš ื”ื•ื ื ืžืฆื ื‘ืจืฉืช ืื—ืจืช? ืื ื—ื ื• ืฆืจื™ื›ื™ื ื”ืฉืชืจืฉื•ืช ื‘ื™ืŸ ืจืฉืชื•ืช. ื ื‘ื—ืŸ ืืคืฉืจื•ืช ืคืฉื•ื˜ื” ื›ืืฉืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ื ื™ืชื•ื‘ ืžืจื›ื–ื™ - ื›ืœื•ืžืจ, ื”ืชืขื‘ื•ืจื” ืžื ื•ืชื‘ืช ื“ืจืš ืฆืžืชื™ ืจืฉืช ื™ื™ืขื•ื“ื™ื™ื ืžื™ื•ื—ื“ื™ื (ื˜ื•ื‘, ื›ื›ืœืœ, ื”ื ืžืฉื•ืœื‘ื™ื ืขื ืฆืžืชื™ ื‘ืงืจื”, ื›ืš ืฉื™ื”ื™ื” ืœื ื• ืื•ืชื• ื“ื‘ืจ).

ื–ื” ื ืจืื” ื›ืื™ืœื• ืฉื•ื ื“ื‘ืจ ืœื ืžืกื•ื‘ืš - ืื ื—ื ื• ื™ื•ืฆืจื™ื ืžืžืฉืง ื’ืฉืจ ืขืœ ืฆื•ืžืช ื”ื‘ืงืจื”, ืžื ื™ืขื™ื ืืœื™ื• ืชื ื•ืขื” ื•ืžืฉื ืื ื—ื ื• ืžื ืชื‘ื™ื ืื•ืชื• ืœืืŸ ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืื•ืชื”. ืื‘ืœ ื”ื‘ืขื™ื” ื”ื™ื ืฉื”ืœืงื•ื— RED ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘ืจืฉืช 10.0.0.0/24, ื•ื”ืœืงื•ื— GREEN ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘ืจืฉืช 10.0.0.0/24. ื›ืœื•ืžืจ, ืื ื—ื ื• ืžืชื—ื™ืœื™ื ืœื—ืชื•ืš ืžืจื—ื‘ื™ ื›ืชื•ื‘ืช. ื‘ื ื•ืกืฃ, ืœืงื•ื—ื•ืช ืœื ืจื•ืฆื™ื ืฉืœืงื•ื—ื•ืช ืื—ืจื™ื ื™ื•ื›ืœื• ืœื ืชื‘ ืœืจืฉืชื•ืช ื”ืคื ื™ืžื™ื•ืช ืฉืœื”ื, ื•ื–ื” ื”ื’ื™ื•ื ื™. ื›ื“ื™ ืœื”ืคืจื™ื“ ื‘ื™ืŸ ื”ืจืฉืชื•ืช ืœืชืขื‘ื•ืจืช ื ืชื•ื ื™ ื”ืœืงื•ื—, ื ืงืฆื” ืžืจื—ื‘ ืฉืžื•ืช ื ืคืจื“ ืœื›ืœ ืื—ืช ืžื”ืŸ. ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ื•ื ืœืžืขืฉื” ืขื•ืชืง ืฉืœ ืžื—ืกื ื™ืช ื”ืจืฉืช ืฉืœ ืœื™ื ื•ืงืก, ื›ืœื•ืžืจ, ืœืงื•ื—ื•ืช ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช RED ืžื‘ื•ื“ื“ื™ื ืœื—ืœื•ื˜ื™ืŸ ืžืœืงื•ื—ื•ืช ืžืžืจื—ื‘ ื”ืฉืžื•ืช GREEN (ื˜ื•ื‘, ื ื™ืชื•ื‘ ื‘ื™ืŸ ืจืฉืชื•ืช ืœืงื•ื— ืืœื• ืžื•ืชืจ ื“ืจืš ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ืžื•ื’ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ืื• ื‘ืฆื™ื•ื“ ืชื—ื‘ื•ืจื” ื‘ืžืขืœื” ื”ื–ืจื).

ื›ืœื•ืžืจ, ื ืงื‘ืœ ืืช ื”ืชืจืฉื™ื ื”ื‘ื:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืžื ื”ืจื•ืช L2 ืžืชื›ื ืกื•ืช ืžื›ืœ ืฆืžืชื™ ื”ืžื—ืฉื•ื‘ ืœืฆื•ืžืช ื”ื‘ืงืจื”. ืฆื•ืžืช ืฉื‘ื• ืžืžื•ืงื ืžืžืฉืง L3 ืขื‘ื•ืจ ืจืฉืชื•ืช ืืœื”, ื›ืœ ืื—ืช ื‘ืžืจื—ื‘ ืฉืžื•ืช ื™ื™ืขื•ื“ื™ ืœื‘ื™ื“ื•ื“.

ืขื ื–ืืช, ืฉื›ื—ื ื• ืืช ื”ื“ื‘ืจ ื”ื—ืฉื•ื‘ ื‘ื™ื•ืชืจ. ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ื—ื™ื™ื‘ืช ืœืกืคืง ืฉื™ืจื•ืช ืœืœืงื•ื—, ื›ืœื•ืžืจ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ืœื” ืœืคื—ื•ืช ืžืžืฉืง ื—ื™ืฆื•ื ื™ ืื—ื“ ืฉื“ืจื›ื• ื ื™ืชืŸ ืœื”ื’ื™ืข ืืœื™ื•. ื›ืœื•ืžืจ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืฆืืช ืืœ ื”ืขื•ืœื ื”ื—ื™ืฆื•ืŸ. ื™ืฉ ื›ืืŸ ืืคืฉืจื•ื™ื•ืช ืฉื•ื ื•ืช. ื‘ื•ืื• ื ืขืฉื” ืืช ื”ืืคืฉืจื•ืช ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ. ื ื•ืกื™ืฃ ืจืฉืช ืื—ืช ืœื›ืœ ืœืงื•ื—, ืฉืชื”ื™ื” ืชืงืคื” ื‘ืจืฉืช ื”ืกืคืง ื•ืœื ืชื—ืคื•ืฃ ืœืจืฉืชื•ืช ืื—ืจื•ืช. ื”ืจืฉืชื•ืช ื™ื›ื•ืœื•ืช ื’ื ืœื”ืฆื˜ืœื‘ ื•ืœื”ืกืชื›ืœ ืขืœ VRFs ืฉื•ื ื™ื ื‘ืฆื“ ืฉืœ ืจืฉืช ื”ืกืคืง. ื ืชื•ื ื™ ื”ืจืฉืช ื™ื—ื™ื• ื’ื ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช ืฉืœ ื›ืœ ืœืงื•ื—. ืขื ื–ืืช, ื”ื ืขื“ื™ื™ืŸ ื™ื™ืฆืื• ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ ื“ืจืš ืžืžืฉืง ืคื™ื–ื™ ืื—ื“ (ืื• ืงืฉืจ, ืฉื–ื” ื™ื•ืชืจ ื”ื’ื™ื•ื ื™). ื›ื“ื™ ืœื”ืคืจื™ื“ ื‘ื™ืŸ ืชืขื‘ื•ืจืช ื”ืœืงื•ื—, ืชืขื‘ื•ืจื” ื”ื™ื•ืฆืืช ื”ื—ื•ืฆื” ืชืชื•ื™ื’ ื‘ืชื’ VLAN ืฉื”ื•ืงืฆื” ืœืœืงื•ื—.

ื›ืชื•ืฆืื” ืžื›ืš, ืงื™ื‘ืœื ื• ืืช ื”ืชืจืฉื™ื ื”ื–ื”:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืฉืืœื” ืกื‘ื™ืจื” ื”ื™ื ืžื“ื•ืข ืœื ืœื™ืฆื•ืจ ืฉืขืจื™ื ื‘ืฆืžืชื™ ื”ืžื—ืฉื•ื‘ ืขืฆืžื? ื–ื• ืœื ื‘ืขื™ื” ื’ื“ื•ืœื”; ื™ืชืจ ืขืœ ื›ืŸ, ืื ืชืคืขื™ืœ ืืช ื”ื ืชื‘ ื”ืžื‘ื•ื–ืจ (DVR), ื–ื” ื™ืขื‘ื•ื“. ื‘ืชืจื—ื™ืฉ ื–ื”, ืื ื• ืฉื•ืงืœื™ื ืืช ื”ืืคืฉืจื•ืช ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ ืขื ืฉืขืจ ืžืจื›ื–ื™, ื”ืžืฉืžืฉ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื‘-Openstack. ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื•ืช ืขื•ืžืก ื’ื‘ื•ื”, ื”ื ื™ืฉืชืžืฉื• ื’ื ื‘ื ืชื‘ ืžื‘ื•ื–ืจ ื•ื’ื ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืืฆื” ื›ืžื• SR-IOV ื•-Passthrough, ืื‘ืœ ื›ืžื• ืฉืื•ืžืจื™ื, ื–ื” ืกื™ืคื•ืจ ืื—ืจ ืœื’ืžืจื™. ืจืืฉื™ืช, ื ืขืกื•ืง ื‘ื—ืœืง ื”ื‘ืกื™ืกื™, ื•ืœืื—ืจ ืžื›ืŸ ื ื™ื›ื ืก ืœืคืจื˜ื™ื.

ืœืžืขืฉื”, ื”ืชื•ื›ื ื™ืช ืฉืœื ื• ื›ื‘ืจ ื ื™ืชื ืช ืœื‘ื™ืฆื•ืข, ืื‘ืœ ื™ืฉ ื›ืžื” ื ื™ื•ืื ืกื™ื:

  • ืื ื—ื ื• ืฆืจื™ื›ื™ื ืื™ื›ืฉื”ื• ืœื”ื’ืŸ ืขืœ ื”ืžื›ื•ื ื•ืช ืฉืœื ื•, ื›ืœื•ืžืจ ืœืฉื™ื ืžืกื ืŸ ืขืœ ืžืžืฉืง ื”ืžืชื’ ื›ืœืคื™ ื”ืœืงื•ื—.
  • ืืคืฉืจื• ืœืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืœืงื‘ืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ื›ืชื•ื‘ืช IP, ื›ืš ืฉืœื ืชืฆื˜ืจื›ื• ืœื”ื™ื›ื ืก ืืœื™ื” ื“ืจืš ื”ืงื•ื ืกื•ืœื” ื‘ื›ืœ ืคืขื ื•ืœืจืฉื•ื ืืช ื”ื›ืชื•ื‘ืช.

ื ืชื—ื™ืœ ืขื ื”ื’ื ืช ืžื›ื•ื ื”. ื‘ืฉื‘ื™ืœ ื–ื” ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-iptables ื‘ื ืืœื™, ืœืžื” ืœื.

ื›ืœื•ืžืจ, ืขื›ืฉื™ื• ื”ื˜ื•ืคื•ืœื•ื’ื™ื” ืฉืœื ื• ื”ืคื›ื” ืงืฆืช ื™ื•ืชืจ ืžืกื•ื‘ื›ืช:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื‘ื•ื ื ืžืฉื™ืš ื”ืœืื”. ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ื•ืกื™ืฃ ืฉืจืช DHCP. ื”ืžืงื•ื ื”ืื™ื“ื™ืืœื™ ื‘ื™ื•ืชืจ ืœืื™ืชื•ืจ ืฉืจืชื™ DHCP ืขื‘ื•ืจ ื›ืœ ืœืงื•ื— ื™ื”ื™ื” ืฆื•ืžืช ื”ื‘ืงืจื” ืฉื›ื‘ืจ ื”ื•ื–ื›ืจ ืœืขื™ืœ, ืฉื‘ื• ืžืžื•ืงืžื™ื ืžืจื—ื‘ื™ ื”ืฉืžื•ืช:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืขื ื–ืืช, ื™ืฉ ื‘ืขื™ื” ืงื˜ื ื”. ืžื” ืื ื”ื›ืœ ื™ืชื—ื™ืœ ืžื—ื“ืฉ ื•ื›ืœ ื”ืžื™ื“ืข ืขืœ ื”ืฉื›ืจืช ื›ืชื•ื‘ื•ืช ื‘-DHCP ื™ื™ืขืœื. ื–ื” ื”ื’ื™ื•ื ื™ ืฉื”ืžื›ื•ื ื•ืช ื™ืงื‘ืœื• ื›ืชื•ื‘ื•ืช ื—ื“ืฉื•ืช, ื•ื–ื” ืœื ืžืื•ื“ ื ื•ื—. ื™ืฉ ื›ืืŸ ืฉืชื™ ื“ืจื›ื™ื ืœืฆืืช - ืื• ืœื”ืฉืชืžืฉ ื‘ืฉืžื•ืช ื“ื•ืžื™ื™ืŸ ื•ืœื”ื•ืกื™ืฃ ืฉืจืช DNS ืœื›ืœ ืœืงื•ื—, ื•ืื– ื”ื›ืชื•ื‘ืช ืœื ืชื”ื™ื” ื—ืฉื•ื‘ื” ืœื ื• ื‘ืžื™ื•ื—ื“ (ื‘ื“ื•ืžื” ืœื—ืœืง ื”ืจืฉืช ื‘-k8s) - ืื‘ืœ ื™ืฉ ื‘ืขื™ื” ื‘ืจืฉืชื•ืช ื—ื™ืฆื•ื ื™ื•ืช, ืฉื›ืŸ ื ื™ืชืŸ ืœื”ื ืคื™ืง ื‘ื”ื ื›ืชื•ื‘ื•ืช ื’ื ื“ืจืš DHCP - ืฆืจื™ืš ืกื ื›ืจื•ืŸ ืขื ืฉืจืชื™ DNS ื‘ืคืœื˜ืคื•ืจืžืช ื”ืขื ืŸ ื•ืฉืจืช DNS ื—ื™ืฆื•ื ื™ ืฉืœื“ืขืชื™ ืœื ืžืื•ื“ ื’ืžื™ืฉ ืื‘ืœ ื‘ื”ื—ืœื˜ ืืคืฉืจื™. ืื• ืฉื”ืืคืฉืจื•ืช ื”ืฉื ื™ื™ื” ื”ื™ื ืœื”ืฉืชืžืฉ ื‘ืžื˜ื ื ืชื•ื ื™ื - ื›ืœื•ืžืจ ืœืฉืžื•ืจ ืžื™ื“ืข ืขืœ ื”ื›ืชื•ื‘ืช ืฉื”ื•ื ืคืงื” ืœืžื›ื•ื ื” ื›ื“ื™ ืฉืฉืจืช ื”-DHCP ื™ื“ืข ืื™ื–ื• ื›ืชื•ื‘ืช ืœื”ื ืคื™ืง ืœืžื›ื•ื ื” ืื ื”ืžื›ื•ื ื” ื›ื‘ืจ ืงื™ื‘ืœื” ื›ืชื•ื‘ืช. ื”ืืคืฉืจื•ืช ื”ืฉื ื™ื™ื” ืคืฉื•ื˜ื” ื•ื’ืžื™ืฉื” ื™ื•ืชืจ, ืฉื›ืŸ ื”ื™ื ืžืืคืฉืจืช ืœืฉืžื•ืจ ืžื™ื“ืข ื ื•ืกืฃ ืขืœ ื”ืžื›ื•ื ื™ืช. ื›ืขืช ื ื•ืกื™ืฃ ืžื˜ื ื ืชื•ื ื™ื ืฉืœ ืกื•ื›ืŸ ืœืชืจืฉื™ื:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื ื•ืฉื ื ื•ืกืฃ ืฉื’ื ื›ื“ืื™ ืœื“ื•ืŸ ื‘ื• ื”ื•ื ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืจืฉืช ื—ื™ืฆื•ื ื™ืช ืื—ืช ืขืœ ื™ื“ื™ ื›ืœ ื”ืœืงื•ื—ื•ืช, ืฉื›ืŸ ืจืฉืชื•ืช ื—ื™ืฆื•ื ื™ื•ืช, ืื ื”ืŸ ื—ื™ื™ื‘ื•ืช ืœื”ื™ื•ืช ืชืงืคื•ืช ื‘ื›ืœ ื”ืจืฉืช, ืชื”ื™ื” ืงืฉื” - ืฆืจื™ืš ืœื”ืงืฆื•ืช ื•ืœืฉืœื•ื˜ ื›ืœ ื”ื–ืžืŸ ื‘ื”ืงืฆืืช ื”ืจืฉืชื•ืช ื”ืœืœื•. ื”ื™ื›ื•ืœืช ืœื”ืฉืชืžืฉ ื‘ืจืฉืช ื—ื™ืฆื•ื ื™ืช ืื—ืช ืžื•ื’ื“ืจืช ืžืจืืฉ ืขื‘ื•ืจ ื›ืœ ื”ืœืงื•ื—ื•ืช ืชื”ื™ื” ืฉื™ืžื•ืฉื™ืช ืžืื•ื“ ื‘ืขืช ื™ืฆื™ืจืช ืขื ืŸ ืฆื™ื‘ื•ืจื™. ื–ื” ื™ืงืœ ืขืœ ืคืจื™ืกืช ืžื›ื•ื ื•ืช ืžื›ื™ื•ื•ืŸ ืฉืื™ื ื ื• ืฆืจื™ื›ื™ื ืœื”ืชื™ื™ืขืฅ ืขื ืžืกื“ ื ืชื•ื ื™ื ืฉืœ ื›ืชื•ื‘ื•ืช ื•ืœื‘ื—ื•ืจ ืžืจื—ื‘ ื›ืชื•ื‘ื•ืช ื™ื™ื—ื•ื“ื™ ืขื‘ื•ืจ ื”ืจืฉืช ื”ื—ื™ืฆื•ื ื™ืช ืฉืœ ื›ืœ ืœืงื•ื—. ื‘ื ื•ืกืฃ, ื ื•ื›ืœ ืœืจืฉื•ื ืจืฉืช ื—ื™ืฆื•ื ื™ืช ืžืจืืฉ ื•ื‘ื–ืžืŸ ื”ืคืจื™ืกื” ื ืฆื˜ืจืš ืœืฉื™ื™ืš ืจืง ื›ืชื•ื‘ื•ืช ื—ื™ืฆื•ื ื™ื•ืช ืœืžื›ื•ื ื•ืช ืœืงื•ื—.

ื•ื”ื ื” NAT ื‘ื ืœืขื–ืจืชื ื• - ืื ื—ื ื• ืคืฉื•ื˜ ื ืืคืฉืจ ืœืœืงื•ื—ื•ืช ืœื’ืฉืช ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ ื“ืจืš ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ืžื•ื’ื“ืจ ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื‘ืืžืฆืขื•ืช ืชืจื’ื•ื NAT. ื•ื‘ื›ืŸ, ื”ื ื” ื‘ืขื™ื” ืงื˜ื ื”. ื–ื” ื˜ื•ื‘ ืื ืฉืจืช ื”ืœืงื•ื— ืคื•ืขืœ ื›ืœืงื•ื— ื•ืœื ื›ืฉืจืช - ื›ืœื•ืžืจ ื”ื•ื ื™ื•ื–ื ื•ืœื ืžืงื‘ืœ ื—ื™ื‘ื•ืจื™ื. ืื‘ืœ ืืฆืœื ื• ื–ื” ื™ื”ื™ื” ื”ืคื•ืš. ื‘ืžืงืจื” ื–ื”, ืขืœื™ื ื• ืœืขืฉื•ืช NAT ืฉืœ ื™ืขื“ ื›ืš ืฉื‘ืขืช ืงื‘ืœืช ืชืขื‘ื•ืจื”, ืฆื•ืžืช ื”ื‘ืงืจื” ื™ื‘ื™ืŸ ืฉื”ืชืขื‘ื•ืจื” ื”ื–ื• ืžื™ื•ืขื“ืช ืœืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช A ืฉืœ ืœืงื•ื— A, ื›ืœื•ืžืจ ืขืœื™ื ื• ืœื‘ืฆืข ืชืจื’ื•ื NAT ืžื›ืชื•ื‘ืช ื—ื™ืฆื•ื ื™ืช, ืœืžืฉืœ 100.1.1.1 .10.0.0.1, ืœื›ืชื•ื‘ืช ืคื ื™ืžื™ืช 100. ื‘ืžืงืจื” ื–ื”, ืœืžืจื•ืช ืฉื›ืœ ื”ืœืงื•ื—ื•ืช ื™ืฉืชืžืฉื• ื‘ืื•ืชื” ืจืฉืช, ื”ื‘ื™ื“ื•ื“ ื”ืคื ื™ืžื™ ื ืฉืžืจ ืœื—ืœื•ื˜ื™ืŸ. ื›ืœื•ืžืจ, ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืขืฉื•ืช dNAT ื•-sNAT ืขืœ ืฆื•ืžืช ื”ื‘ืงืจื”. ื”ืื ืœื”ืฉืชืžืฉ ื‘ืจืฉืช ื™ื—ื™ื“ื” ืขื ื›ืชื•ื‘ื•ืช ืฆืคื•ืช ืื• ืจืฉืชื•ืช ื—ื™ืฆื•ื ื™ื•ืช, ืื• ืฉืชื™ื”ืŸ ื‘ื‘ืช ืื—ืช, ืชืœื•ื™ ื‘ืžื” ืฉืืชื” ืจื•ืฆื” ืœื”ื›ื ื™ืก ืœืขื ืŸ. ืœื ื ื•ืกื™ืฃ ืœืชืจืฉื™ื ื›ืชื•ื‘ื•ืช ืฆืคื•ืช, ืืœื ื ืฉืื™ืจ ืืช ื”ืจืฉืชื•ืช ื”ื—ื™ืฆื•ื ื™ื•ืช ืฉื ื•ืกืคื• ื›ื‘ืจ ืงื•ื“ื - ืœื›ืœ ืœืงื•ื— ื™ืฉ ืจืฉืช ื—ื™ืฆื•ื ื™ืช ืžืฉืœื• (ื‘ืชืจืฉื™ื ื”ื ืžืฆื•ื™ื ื™ื ื›-vlan 200 ื•-XNUMX ื‘ืžืžืฉืง ื”ื—ื™ืฆื•ื ื™).

ื›ืชื•ืฆืื” ืžื›ืš, ืงื™ื‘ืœื ื• ืคืชืจื•ืŸ ืžืขื ื™ื™ืŸ ื•ื™ื—ื“ ืขื ื–ืืช ืžื—ื•ืฉื‘ ื”ื™ื˜ื‘, ื‘ืขืœ ื’ืžื™ืฉื•ืช ืžืกื•ื™ืžืช ืืš ืื™ืŸ ื‘ื• ืขื“ื™ื™ืŸ ืžื ื’ื ื•ื ื™ ืกื‘ื™ืœื•ืช ืชืงืœื•ืช.

ืจืืฉื™ืช, ื™ืฉ ืœื ื• ืจืง ืฆื•ืžืช ื‘ืงืจื” ืื—ื“ - ื›ื™ืฉืœื•ืŸ ืฉืœื• ื™ื•ื‘ื™ืœ ืœืงืจื™ืกืช ื›ืœ ื”ืžืขืจื›ื•ืช. ื›ื“ื™ ืœืชืงืŸ ื‘ืขื™ื” ื–ื•, ืขืœื™ืš ืœื™ืฆื•ืจ ืœืคื—ื•ืช ืžื ื™ื™ืŸ ืฉืœ 3 ืฆืžืชื™ื. ื‘ื•ืื• ื ื•ืกื™ืฃ ืืช ื–ื” ืœืชืจืฉื™ื:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื‘ืื•ืคืŸ ื˜ื‘ืขื™, ื›ืœ ื”ืฆืžืชื™ื ืžืกื•ื ื›ืจื ื™ื ื•ื›ืืฉืจ ืฆื•ืžืช ืคืขื™ืœ ื™ื•ืฆื, ืฆื•ืžืช ืื—ืจ ื™ื™ืงื— ืขืœ ืขืฆืžื• ืืช ื”ืื—ืจื™ื•ืช ืฉืœื•.

ื”ื‘ืขื™ื” ื”ื‘ืื” ื”ื™ื ื“ื™ืกืงื™ื ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. ื›ืจื’ืข ื”ื ืžืื•ื—ืกื ื™ื ืขืœ ื”-Hypervisors ืขืฆืžื, ื•ื‘ืžืงืจื” ืฉืœ ื‘ืขื™ื•ืช ืขื ื”-Hypervisor, ืื ื—ื ื• ืžืื‘ื“ื™ื ืืช ื›ืœ ื”ื ืชื•ื ื™ื - ื•ื”ื ื•ื›ื—ื•ืช ืฉืœ raid ืœื ืชืขื–ื•ืจ ื›ืืŸ ืื ื ืื‘ื“ ืœื ืืช ื”ื“ื™ืกืง, ืืœื ืืช ื›ืœ ื”ืฉืจืช. ืœืฉื ื›ืš, ืขืœื™ื ื• ืœื™ืฆื•ืจ ืฉื™ืจื•ืช ืฉื™ืฉืžืฉ ื›ื—ื–ื™ืช ืœืื—ืกื•ืŸ ื›ืœืฉื”ื•. ืื™ื–ื” ืกื•ื’ ืฉืœ ืื—ืกื•ืŸ ื–ื” ื™ื”ื™ื” ืœื ื—ืฉื•ื‘ ืœื ื• ื‘ืžื™ื•ื—ื“, ืื‘ืœ ื–ื” ืืžื•ืจ ืœื”ื’ืŸ ืขืœ ื”ื ืชื•ื ื™ื ืฉืœื ื• ืžืคื ื™ ื›ืฉืœ ืฉืœ ื”ื“ื™ืกืง ื•ื’ื ืฉืœ ื”ืฆื•ืžืช, ื•ืื•ืœื™ ืฉืœ ื”ืืจื•ืŸ ื›ื•ืœื•. ื™ืฉ ื›ืืŸ ื›ืžื” ืืคืฉืจื•ื™ื•ืช - ื™ืฉ ื›ืžื•ื‘ืŸ ืจืฉืชื•ืช SAN ืขื Fibre Channel, ืื‘ืœ ื‘ื•ืื• ื ื”ื™ื” ื›ื ื™ื - FC ื”ื•ื ื›ื‘ืจ ืฉืจื™ื“ ืœืขื‘ืจ - ืื ืœื•ื’ื™ ืฉืœ E1 ื‘ืชื—ื‘ื•ืจื” - ื›ืŸ, ืื ื™ ืžืกื›ื™ื, ื”ื•ื ืขื“ื™ื™ืŸ ื‘ืฉื™ืžื•ืฉ, ืื‘ืœ ืจืง ืื™ืคื” ืฉืื™ ืืคืฉืจ ื‘ืœืขื“ื™ื• ืœื—ืœื•ื˜ื™ืŸ. ืœื›ืŸ, ืœื ื”ื™ื™ืชื™ ืคื•ืจืก ืžืจืฆื•ื ื™ ืจืฉืช FC ื‘ืฉื ืช 2020, ื‘ื™ื“ื™ืขื” ืฉื™ืฉ ืขื•ื“ ืืœื˜ืจื ื˜ื™ื‘ื•ืช ืžืขื ื™ื™ื ื•ืช ื™ื•ืชืจ. ืœืžืจื•ืช ืฉืœื›ืœ ืื—ื“ ืžืฉืœื•, ืื•ืœื™ ื™ืฉ ืžื™ ืฉืžืืžื™ืŸ ืฉ-FC ืขื ื›ืœ ื”ืžื’ื‘ืœื•ืช ืฉืœื• ื–ื” ื›ืœ ืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื - ืื ื™ ืœื ืืชื•ื•ื›ื—, ืœื›ืœ ืื—ื“ ื™ืฉ ื“ืขื” ืžืฉืœื•. ืขื ื–ืืช, ื”ืคืชืจื•ืŸ ื”ืžืขื ื™ื™ืŸ ื‘ื™ื•ืชืจ ืœื“ืขืชื™ ื”ื•ื ืœื”ืฉืชืžืฉ ื‘-SDS, ื›ืžื• Ceph.

Ceph ืžืืคืฉืจืช ืœืš ืœื‘ื ื•ืช ืคืชืจื•ืŸ ืื—ืกื•ืŸ ื ืชื•ื ื™ื ื–ืžื™ืŸ ื‘ื™ื•ืชืจ ืขื ืฉืœืœ ืืคืฉืจื•ื™ื•ืช ื’ื™ื‘ื•ื™ ืืคืฉืจื™ื•ืช, ื”ื—ืœ ืžืงื•ื“ื™ื ืขื ื‘ื“ื™ืงืช ื–ื•ื’ื™ื•ืช (ืื ืœื•ื’ื™ืช ืœ-Raid 5 ืื• 6) ื”ืžืกืชื™ื™ืžื™ื ื‘ืฉื›ืคื•ืœ ืžืœื ืฉืœ ื ืชื•ื ื™ื ืœื“ื™ืกืงื™ื ืฉื•ื ื™ื, ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ืžื™ืงื•ื ื”ื“ื™ืกืงื™ื ื‘- ืฉืจืชื™ื, ื•ืฉืจืชื™ื ื‘ืืจื•ื ื•ืช ื•ื›ื•'.

ื›ื“ื™ ืœื‘ื ื•ืช Ceph ืืชื” ืฆืจื™ืš ืขื•ื“ 3 ืฆืžืชื™ื. ื”ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืื—ืกื•ืŸ ืชืชื‘ืฆืข ื’ื ื‘ืืžืฆืขื•ืช ื”ืจืฉืช ื‘ืืžืฆืขื•ืช ืฉื™ืจื•ืชื™ ืื—ืกื•ืŸ ื‘ืœื•ืง, ืื•ื‘ื™ื™ืงื˜ ื•ืงื‘ืฆื™ื. ื‘ื•ืื• ื ื•ืกื™ืฃ ืื—ืกื•ืŸ ืœืกื›ื™ืžื”:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื”ืขืจื”: ื ื™ืชืŸ ื’ื ืœื™ืฆื•ืจ ืฆื•ืžืช ืžื—ืฉื•ื‘ ื”ื™ืคืจ-ืงื•ื ื‘ืจื–ืฆื™ื” - ื–ื”ื• ื”ืจืขื™ื•ืŸ ืฉืœ ืฉื™ืœื•ื‘ ืžืกืคืจ ืคื•ื ืงืฆื™ื•ืช ืขืœ ืฆื•ืžืช ืื—ื“ - ืœืžืฉืœ, ืื—ืกื•ืŸ+ืžื—ืฉื•ื‘ - ืžื‘ืœื™ ืœื”ืงื“ื™ืฉ ืฆืžืชื™ื ืžื™ื•ื—ื“ื™ื ืœืื—ืกื•ืŸ ceph. ื ืงื‘ืœ ืืช ืื•ืชื” ืชื›ื ื™ืช ืกื•ื‘ืœื ื™ืช ืœืชืงืœื•ืช - ืžื›ื™ื•ื•ืŸ ืฉ-SDS ื™ืฉืžื•ืจ ื ืชื•ื ื™ื ื‘ืจืžืช ื”ื”ื–ืžื ื” ืฉืื ื• ืžืฆื™ื™ื ื™ื. ืขื ื–ืืช, ืฆืžืชื™ื ืžืชื›ื ืกื™ื ื”ื™ืคืจ ื”ื ืชืžื™ื“ ืคืฉืจื” - ืžื›ื™ื•ื•ืŸ ืฉืฆื•ืžืช ื”ืื—ืกื•ืŸ ืœื ืจืง ืžื—ืžื ืืช ื”ืื•ื•ื™ืจ ื›ืคื™ ืฉื”ื•ื ื ืจืื” ื‘ืžื‘ื˜ ืจืืฉื•ืŸ (ืžื›ื™ื•ื•ืŸ ืฉืื™ืŸ ืขืœื™ื• ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช) - ื”ื•ื ืžื•ืฆื™ื ืžืฉืื‘ื™ ืžืขื‘ื“ ืขืœ ืฉื™ืจื•ืช SDS (ืœืžืขืฉื”, ื”ื•ื ืขื•ืฉื” ื”ื›ืœ ื”ืฉื›ืคื•ืœ ื•ื”ื”ืชืื•ืฉืฉื•ืช ืœืื—ืจ ื›ืฉืœื™ื ืฉืœ ืฆืžืชื™ื, ื“ื™ืกืงื™ื ื•ื›ื•'). ื›ืœื•ืžืจ, ืชืื‘ื“ ื—ืœืง ืžื”ื›ื•ื— ืฉืœ ืฆื•ืžืช ื”ืžื—ืฉื•ื‘ ืื ืชืฉืœื‘ ืื•ืชื• ืขื ืื—ืกื•ืŸ.

ื›ืœ ื”ื“ื‘ืจื™ื ื”ืืœื” ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืžื ื•ื”ืœื™ื ืื™ื›ืฉื”ื• - ืื ื—ื ื• ืฆืจื™ื›ื™ื ืžืฉื”ื• ืฉื“ืจื›ื• ื ื•ื›ืœ ืœื™ืฆื•ืจ ืžื›ื•ื ื”, ืจืฉืช, ื ืชื‘ ื•ื™ืจื˜ื•ืืœื™ ื•ื›ื•'. ืœืฉื ื›ืš, ื ื•ืกื™ืฃ ืฉื™ืจื•ืช ืœืฆื•ืžืช ื”ื‘ืงืจื” ืฉื™ืฉืžืฉ ื›ื“ืฉื‘ื•ืจื“ - ื”- ื”ืœืงื•ื— ื™ื•ื›ืœ ืœื”ืชื—ื‘ืจ ืœืคื•ืจื˜ืœ ื”ื–ื” ื“ืจืš http/ https ื•ืœืขืฉื•ืช ื›ืœ ืžื” ืฉื”ื•ื ืฆืจื™ืš (ื˜ื•ื‘, ื›ืžืขื˜).

ื›ืชื•ืฆืื” ืžื›ืš, ื™ืฉ ืœื ื• ื›ืขืช ืžืขืจื›ืช ืกื•ื‘ืœื ื™ืช ืœืชืงืœื•ืช. ื›ืœ ื”ืžืจื›ื™ื‘ื™ื ืฉืœ ื”ืชืฉืชื™ืช ื”ื–ื• ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืžื ื•ื”ืœื™ื ืื™ื›ืฉื”ื•. ื‘ืขื‘ืจ ืชื•ืืจ ืฉ-Openstack ื”ื•ื ืงื‘ื•ืฆื” ืฉืœ ืคืจื•ื™ืงื˜ื™ื, ืฉื›ืœ ืื—ื“ ืžื”ื ืžืกืคืง ืคื•ื ืงืฆื™ื” ืกืคืฆื™ืคื™ืช. ื›ืคื™ ืฉืื ื• ืจื•ืื™ื, ื™ืฉ ื™ื•ืชืจ ืžืžืกืคื™ืง ืืœืžื ื˜ื™ื ืฉืฆืจื™ืš ืœื”ื’ื“ื™ืจ ื•ืœืฉืœื•ื˜ ื‘ื”ื. ื”ื™ื•ื ื ื“ื‘ืจ ืขืœ ื”ื—ืœืง ื‘ืจืฉืช.

ืืจื›ื™ื˜ืงื˜ื•ืจืช ื ื™ื•ื˜ืจื•ื ื™ื

ื‘-OpenStack, Neutron ื”ื•ื ื–ื” ืฉืื—ืจืื™ ืขืœ ื—ื™ื‘ื•ืจ ื™ืฆื™ืื•ืช ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืœืจืฉืช L2 ืžืฉื•ืชืคืช, ื”ื‘ื˜ื—ืช ื ื™ืชื•ื‘ ืชืขื‘ื•ืจื” ื‘ื™ืŸ VMs ื”ืžืžื•ืงืžื™ื ื‘ืจืฉืชื•ืช L2 ืฉื•ื ื•ืช, ื›ืžื• ื’ื ื ื™ืชื•ื‘ ื”ื—ื•ืฆื”, ืžืชืŸ ืฉื™ืจื•ืชื™ื ื›ื’ื•ืŸ NAT, Floating IP, DHCP ื•ื›ื•'.

ื‘ืจืžื” ื’ื‘ื•ื”ื” ื ื™ืชืŸ ืœืชืืจ ืืช ืคืขื•ืœืช ืฉื™ืจื•ืช ื”ืจืฉืช (ื”ื—ืœืง ื”ื‘ืกื™ืกื™) ื‘ืื•ืคืŸ ื”ื‘ื.

ื‘ืขืช ื”ืคืขืœืช ื”-VM, ืฉื™ืจื•ืช ื”ืจืฉืช:

  1. ื™ื•ืฆืจ ื™ืฆื™ืื” ืขื‘ื•ืจ VM ื ืชื•ืŸ (ืื• ื™ืฆื™ืื•ืช) ื•ืžื•ื“ื™ืข ืขืœ ื›ืš ืœืฉื™ืจื•ืช DHCP;
  2. ื ื•ืฆืจ ื”ืชืงืŸ ืจืฉืช ื•ื™ืจื˜ื•ืืœื™ ื—ื“ืฉ (ื“ืจืš libvirt);
  3. ื”-VM ืžืชื—ื‘ืจ ืœื™ืฆื™ืื”/ื™ื ืฉื ื•ืฆืจื• ื‘ืฉืœื‘ 1;

ื‘ืื•ืคืŸ ืžื•ื–ืจ, ื”ืขื‘ื•ื“ื” ืฉืœ Neutron ืžื‘ื•ืกืกืช ืขืœ ืžื ื’ื ื•ื ื™ื ืกื˜ื ื“ืจื˜ื™ื™ื ื”ืžื•ื›ืจื™ื ืœื›ืœ ืžื™ ืฉืื™ ืคืขื ืฆืœืœ ืœืœื™ื ื•ืงืก - ืžืจื—ื‘ื™ ืฉืžื•ืช, iptables, Linux bridges, openvswitch, conntrack ื•ื›ื•'.

ื™ืฉ ืœื”ื‘ื”ื™ืจ ืžื™ื“ ื›ื™ ื ื™ื•ื˜ืจื•ืŸ ืื™ื ื• ื‘ืงืจ SDN.

ื ื™ื•ื˜ืจื•ืŸ ืžื•ืจื›ื‘ ืžืžืกืคืจ ืจื›ื™ื‘ื™ื ื”ืžื—ื•ื‘ืจื™ื ื‘ื™ื ื™ื”ื:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

Openstack-ื ื™ื™ื˜ืจื•ืŸ-ืฉืจืช ื”ื•ื ื“ืžื•ืŸ ืฉืขื•ื‘ื“ ืขื ื‘ืงืฉื•ืช ืžืฉืชืžืฉื™ื ื“ืจืš ื”-API. ื”ืฉื“ ื”ื–ื” ืื™ื ื• ืžืขื•ืจื‘ ื‘ืจื™ืฉื•ื ื›ืœ ื—ื™ื‘ื•ืจื™ ืจืฉืช, ืืš ืžืกืคืง ืืช ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ ืœื›ืš ืœืชื•ืกืคื™ื ืฉืœื•, ืืฉืจ ืœืื—ืจ ืžื›ืŸ ืžื’ื“ื™ืจื™ื ืืช ืจื›ื™ื‘ ื”ืจืฉืช ื”ืจืฆื•ื™. ืกื•ื›ื ื™ ื ื™ื•ื˜ืจื•ื ื™ื ื‘ืฆืžืชื™ OpenStack ื ืจืฉืžื™ื ื‘ืฉืจืช ื”ื ื•ื™ื˜ืจื•ืŸ.

Neutron-server ื”ื•ื ืœืžืขืฉื” ื™ื™ืฉื•ื ืฉื ื›ืชื‘ ื‘-python, ื”ืžื•ืจื›ื‘ ืžืฉื ื™ ื—ืœืงื™ื:

  • ืฉื™ืจื•ืช REST
  • ืชื•ืกืฃ ื ื™ื•ื˜ืจื•ืŸ (ืœื™ื‘ื”/ืฉื™ืจื•ืช)

ืฉื™ืจื•ืช REST ื ื•ืขื“ ืœืงื‘ืœ ืงืจื™ืื•ืช API ืžืžืจื›ื™ื‘ื™ื ืื—ืจื™ื (ืœื“ื•ื’ืžื”, ื‘ืงืฉื” ืœืกืคืง ืžื™ื“ืข ืžืกื•ื™ื ื•ื›ื•')

ืคืœืื’ื™ื ื™ื ื”ื ืจื›ื™ื‘ื™ ืชื•ื›ื ื”/ืžื•ื“ื•ืœื™ื ืชื•ืกืคื™ื ืฉื ืงืจืื™ื ื‘ืžื”ืœืš ื‘ืงืฉื•ืช API โ€“ ื›ืœื•ืžืจ ื™ื™ื—ื•ืก ืฉื™ืจื•ืช ืžืชืจื—ืฉ ื“ืจื›ื. ืชื•ืกืคื™ื ืžืชื—ืœืงื™ื ืœืฉื ื™ ืกื•ื’ื™ื - ืฉื™ืจื•ืช ื•ืฉื•ืจืฉ. ื›ื›ืœืœ, ืชื•ืกืฃ ื”ืกื•ืก ืื—ืจืื™ ื‘ืขื™ืงืจ ืขืœ ื ื™ื”ื•ืœ ืžืจื—ื‘ ื”ื›ืชื•ื‘ื•ืช ื•ื—ื™ื‘ื•ืจื™ L2 ื‘ื™ืŸ VMs, ื•ืชื•ืกืคื™ ืฉื™ืจื•ืช ื›ื‘ืจ ืžืกืคืงื™ื ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื ื•ืกืคืช ื›ื’ื•ืŸ VPN ืื• FW.

ื ื™ืชืŸ ืœืจืื•ืช ืœืžืฉืœ ืืช ืจืฉื™ืžืช ื”ืชื•ืกืคื™ื ื”ื–ืžื™ื ื™ื ื›ื™ื•ื ื›ืืŸ

ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืžืกืคืจ ืชื•ืกืคื™ื ืฉืœ ืฉื™ืจื•ืช, ืื‘ืœ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืจืง ืชื•ืกืฃ ืกื•ืก ืื—ื“.

openstack-neutron-ml2 ื”ื•ื ืชื•ืกืฃ ื”ืฉื•ืจืฉ ื”ืกื˜ื ื“ืจื˜ื™ ืฉืœ Openstack. ืœืชื•ืกืฃ ื–ื” ื™ืฉ ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื•ื“ื•ืœืจื™ืช (ื‘ื ื™ื’ื•ื“ ืœืงื•ื“ืžื•) ื•ืžื’ื“ื™ืจ ืืช ืฉื™ืจื•ืช ื”ืจืฉืช ื‘ืืžืฆืขื•ืช ื“ืจื™ื™ื‘ืจื™ื ื”ืžื—ื•ื‘ืจื™ื ืืœื™ื•. ื ืกืชื›ืœ ืขืœ ื”ืชื•ืกืฃ ืขืฆืžื• ืžืขื˜ ืžืื•ื—ืจ ื™ื•ืชืจ, ืฉื›ืŸ ืœืžืขืฉื” ื”ื•ื ื ื•ืชืŸ ืืช ื”ื’ืžื™ืฉื•ืช ืฉื™ืฉ ืœ-OpenStack ื‘ื—ืœืง ื”ืจืฉืช. ื ื™ืชืŸ ืœื”ื—ืœื™ืฃ ืืช ืชื•ืกืฃ ื”ืฉื•ืจืฉ (ืœื“ื•ื’ืžื”, Contrail Networking ืขื•ืฉื” ื”ื—ืœืคื” ื›ื–ื•).

ืฉื™ืจื•ืช RPC (ืฉืจืช rabbitmq) - ืฉื™ืจื•ืช ื”ืžืกืคืง ื ื™ื”ื•ืœ ืชื•ืจื™ื ื•ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืฉื™ืจื•ืชื™ OpenStack ืื—ืจื™ื, ื›ืžื• ื’ื ืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ ืกื•ื›ื ื™ ืฉื™ืจื•ืชื™ ืจืฉืช.

ืกื•ื›ื ื™ ืจืฉืช - ืกื•ื›ื ื™ื ื”ืžืžื•ืงืžื™ื ื‘ื›ืœ ืฆื•ืžืช, ื“ืจื›ื ืžื•ื’ื“ืจื™ื ืฉื™ืจื•ืชื™ ืจืฉืช.

ื™ืฉื ื ืžืกืคืจ ืกื•ื’ื™ื ืฉืœ ืกื•ื›ื ื™ื.

ื”ืกื•ื›ืŸ ื”ืจืืฉื™ ื”ื•ื ืกื•ื›ืŸ L2. ืกื•ื›ื ื™ื ืืœื• ืคื•ืขืœื™ื ืขืœ ื›ืœ ืื—ื“ ืžื”-hypervisors, ื›ื•ืœืœ ืฆืžืชื™ ื‘ืงืจื” (ืœื™ืชืจ ื“ื™ื•ืง, ื‘ื›ืœ ื”ืฆืžืชื™ื ื”ืžืกืคืงื™ื ืฉื™ืจื•ืช ื›ืœืฉื”ื• ืœื“ื™ื™ืจื™ื) ื•ืชืคืงื™ื“ื ื”ืขื™ืงืจื™ ื”ื•ื ืœื—ื‘ืจ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืœืจืฉืช L2 ืžืฉื•ืชืคืช, ื•ื›ืŸ ืœื™ืฆื•ืจ ื”ืชืจืื•ืช ื›ืืฉืจ ืžืชืจื—ืฉื™ื ืื™ืจื•ืขื™ื ื›ืœืฉื”ื ( ืœืžืฉืœ ื”ืฉื‘ืช/ื”ืคืขืœ ืืช ื”ื™ืฆื™ืื”).

ื”ืกื•ื›ืŸ ื”ื‘ื, ืœื ืคื—ื•ืช ื—ืฉื•ื‘ ื”ื•ื ืกื•ื›ืŸ L3. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืกื•ื›ืŸ ื–ื” ืคื•ืขืœ ืืš ื•ืจืง ืขืœ ืฆื•ืžืช ืจืฉืช (ืœืขื™ืชื™ื ืงืจื•ื‘ื•ืช ืฆื•ืžืช ื”ืจืฉืช ืžืฉื•ืœื‘ ืขื ืฆื•ืžืช ื‘ืงืจื”) ื•ืžืกืคืง ื ื™ืชื•ื‘ ื‘ื™ืŸ ืจืฉืชื•ืช ื“ื™ื™ืจื™ื (ื”ืŸ ื‘ื™ืŸ ื”ืจืฉืชื•ืช ืฉืœื• ื•ื”ืŸ ืœืจืฉืชื•ืช ืฉืœ ื“ื™ื™ืจื™ื ืื—ืจื™ื, ื•ื”ื•ื ื ื’ื™ืฉ ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ, ืžืกืคืง NAT, ื›ืžื• ื’ื ืฉื™ืจื•ืช DHCP). ืขื ื–ืืช, ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-DVR (ื ืชื‘ ืžื‘ื•ื–ืจ), ื”ืฆื•ืจืš ื‘ืชื•ืกืฃ L3 ืžื•ืคื™ืข ื’ื ื‘ืฆืžืชื™ ื”ืžื—ืฉื•ื‘.

ืกื•ื›ืŸ L3 ืžืฉืชืžืฉ ื‘ืžืจื—ื‘ื™ ืฉืžื•ืช ืฉืœ ืœื™ื ื•ืงืก ื›ื“ื™ ืœืกืคืง ืœื›ืœ ื“ื™ื™ืจ ืงื‘ื•ืฆื” ืฉืœ ืจืฉืชื•ืช ืžื‘ื•ื“ื“ื•ืช ืžืฉืœื• ื•ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ื ืชื‘ื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ืฉืžื ืชื‘ื™ื ืชืขื‘ื•ืจื” ื•ืžืกืคืงื™ื ืฉื™ืจื•ืชื™ ืฉืขืจ ืขื‘ื•ืจ ืจืฉืชื•ืช ืฉื›ื‘ื” 2.

ืžืกื“ ื ืชื•ื ื™ื - ืžืกื“ ื ืชื•ื ื™ื ืฉืœ ืžื–ื”ื™ื ืฉืœ ืจืฉืชื•ืช, ืจืฉืชื•ืช ืžืฉื ื”, ื™ืฆื™ืื•ืช, ื‘ืจื™ื›ื•ืช ื•ื›ื•'.

ืœืžืขืฉื”, ื ื™ื•ื˜ืจื•ืŸ ืžืงื‘ืœ ื‘ืงืฉื•ืช API ืžื™ืฆื™ืจืช ื™ืฉื•ื™ื•ืช ืจืฉืช ื›ืœืฉื”ืŸ, ืžืืžืช ืืช ื”ื‘ืงืฉื”, ื•ื“ืจืš RPC (ืื ื”ื•ื ื ื™ื’ืฉ ืœืชื•ืกืฃ ืื• ืกื•ื›ืŸ ื›ืœืฉื”ื•) ืื• REST API (ืื ื”ื•ื ืžืชืงืฉืจ ื‘-SDN) ืžืฉื“ืจ ืœืกื•ื›ื ื™ื (ื‘ืืžืฆืขื•ืช ืชื•ืกืคื™ื) ื”ื ื—ื™ื•ืช ื”ื“ืจื•ืฉื•ืช ืœืืจื’ื•ืŸ ื”ืฉื™ืจื•ืช ื”ืžื‘ื•ืงืฉ.

ื›ืขืช ื ืคื ื” ืœื”ืชืงื ืช ื”ื‘ื“ื™ืงื” (ืื™ืš ื”ื™ื ื ืคืจืกืช ื•ืžื” ื›ืœื•ืœ ื‘ื”, ื ืจืื” ื‘ื”ืžืฉืš ื”ื—ืœืง ื”ืžืขืฉื™) ื•ื ืจืื” ื”ื™ื›ืŸ ื ืžืฆื ื›ืœ ืจื›ื™ื‘:

(overcloud) [stack@undercloud ~]$ openstack network agent list  
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| ID                                   | Agent Type         | Host                                | Availability Zone | Alive | State | Binary                    |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| 10495de9-ba4b-41fe-b30a-b90ec3f8728b | Open vSwitch agent | overcloud-novacompute-1.localdomain | None              | :-)   | UP    | neutron-openvswitch-agent |
| 1515ad4a-5972-46c3-af5f-e5446dff7ac7 | L3 agent           | overcloud-controller-0.localdomain  | nova              | :-)   | UP    | neutron-l3-agent          |
| 322e62ca-1e5a-479e-9a96-4f26d09abdd7 | DHCP agent         | overcloud-controller-0.localdomain  | nova              | :-)   | UP    | neutron-dhcp-agent        |
| 9c1de2f9-bac5-400e-998d-4360f04fc533 | Open vSwitch agent | overcloud-novacompute-0.localdomain | None              | :-)   | UP    | neutron-openvswitch-agent |
| d99c5657-851e-4d3c-bef6-f1e3bb1acfb0 | Open vSwitch agent | overcloud-controller-0.localdomain  | None              | :-)   | UP    | neutron-openvswitch-agent |
| ff85fae6-5543-45fb-a301-19c57b62d836 | Metadata agent     | overcloud-controller-0.localdomain  | None              | :-)   | UP    | neutron-metadata-agent    |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
(overcloud) [stack@undercloud ~]$ 

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืœืžืขืฉื”, ื–ื” ื›ืœ ื”ืžื‘ื ื” ืฉืœ ื ื™ื•ื˜ืจื•ืŸ. ืขื›ืฉื™ื• ืฉื•ื•ื” ืœื”ืงื“ื™ืฉ ื–ืžืŸ ืœืชื•ืกืฃ ML2.

ืฉื›ื‘ื” ืžื•ื“ื•ืœืจื™ืช 2

ื›ืคื™ ืฉื”ื•ื–ื›ืจ ืœืขื™ืœ, ื”ืชื•ืกืฃ ื”ื•ื ืชื•ืกืฃ ืฉื•ืจืฉ OpenStack ืกื˜ื ื“ืจื˜ื™ ื•ื‘ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื•ื“ื•ืœืจื™ืช.

ืœืงื•ื“ืžื• ืฉืœ ื”ืชื•ืกืฃ ML2 ื”ื™ื” ืžื‘ื ื” ืžื•ื ื•ืœื™ื˜ื™, ืฉืœื ืืคืฉืจ, ืœืžืฉืœ, ืฉื™ืžื•ืฉ ื‘ืชืžื”ื™ืœ ืฉืœ ืžืกืคืจ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื‘ื”ืชืงื ื” ืื—ืช. ืœื“ื•ื’ืžื”, ืœื ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘-openvswitch ื•ื’ื ื‘-linuxbridge ื‘ื•-ื–ืžื ื™ืช - ืœื ื”ืจืืฉื•ืŸ ื•ืœื ื”ืฉื ื™. ืžืกื™ื‘ื” ื–ื•, ื”ืชื•ืกืฃ ML2 ืขื ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœื• ื ื•ืฆืจ.

ืœ-ML2 ืฉื ื™ ืจื›ื™ื‘ื™ื - ืฉื ื™ ืกื•ื’ื™ ื“ืจื™ื™ื‘ืจื™ื: ืžื ื”ืœื™ ื”ืชืงื ื™ื ืžืกื•ื’ ื•ื“ืจื™ื™ื‘ืจื™ ืžื ื’ื ื•ืŸ.

ื”ืงืœื“ ื“ืจื™ื™ื‘ืจื™ื ืœืงื‘ื•ืข ืืช ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืฉื™ืฉืžืฉื• ืœืืจื’ื•ืŸ ื—ื™ื‘ื•ืจื™ ืจืฉืช, ืœืžืฉืœ VxLAN, VLAN, GRE. ื‘ืžืงื‘ื™ืœ, ื”ื ื”ื’ ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืฉื•ื ื•ืช. ื”ื˜ื›ื ื•ืœื•ื’ื™ื” ื”ืกื˜ื ื“ืจื˜ื™ืช ื”ื™ื ืื ืงืคืกื•ืœืฆื™ื” VxLAN ืขื‘ื•ืจ ืจืฉืชื•ืช ืฉื›ื‘ืช-ืขืœ ื•ืจืฉืชื•ืช vlan ื—ื™ืฆื•ื ื™ื•ืช.

ืžื ื”ืœื™ ื”ื”ืชืงืŸ ืฉืœ ืกื•ื’ ื›ื•ืœืœื™ื ืืช ืกื•ื’ื™ ื”ืจืฉืช ื”ื‘ืื™ื:

ืฉื˜ื•ื— - ืจืฉืช ืœืœื ืชื™ื•ื’
VLAN - ืจืฉืช ืžืชื•ื™ื’ืช
ืžืงื•ืžื™ - ืกื•ื’ ืžื™ื•ื—ื“ ืฉืœ ืจืฉืช ืขื‘ื•ืจ ื”ืชืงื ื•ืช All-in-one (ื”ืชืงื ื•ืช ื›ืืœื” ื ื—ื•ืฆื•ืช ืœืžืคืชื—ื™ื ืื• ืœื”ื“ืจื›ื”)
GRE - ืจืฉืช ื›ื™ืกื•ื™ ื‘ืืžืฆืขื•ืช ืžื ื”ืจื•ืช GRE
VxLAN - ืจืฉืช ืฉื›ื‘ืช-ืขืœ ื‘ืืžืฆืขื•ืช ืžื ื”ืจื•ืช VxLAN

ื ื”ื’ื™ ืžื ื’ื ื•ืŸ ืœื”ื’ื“ื™ืจ ื›ืœื™ื ื”ืžื‘ื˜ื™ื—ื™ื ืืช ืืจื’ื•ืŸ ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืžืฆื•ื™ื ื•ืช ื‘ืžื ื”ืœ ื”ื”ืชืงืŸ ืฉืœ ื”ืกื•ื’ - ืœืžืฉืœ, openvswitch, sr-iov, opendaylight, OVN ื•ื›ื•'.

ื‘ื”ืชืื ืœื”ื˜ืžืขืช ื“ืจื™ื™ื‘ืจ ื–ื”, ื™ื™ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืกื•ื›ื ื™ื ื”ื ืฉืœื˜ื™ื ืขืœ ื™ื“ื™ Neutron, ืื• ืฉื™ื™ืขืฉื” ืฉื™ืžื•ืฉ ื‘ื—ื™ื‘ื•ืจื™ื ืœื‘ืงืจ SDN ื—ื™ืฆื•ื ื™, ืืฉืจ ืžื˜ืคืœ ื‘ื›ืœ ื”ื ื•ืฉืื™ื ื”ืงืฉื•ืจื™ื ืœืืจื’ื•ืŸ ืจืฉืชื•ืช L2, ื ื™ืชื•ื‘ ื•ื›ื•'.

ื“ื•ื’ืžื”: ืื ืื ื• ืžืฉืชืžืฉื™ื ื‘-ML2 ื™ื—ื“ ืขื OVS, ืื–ื™ ืกื•ื›ืŸ L2 ืžื•ืชืงืŸ ื‘ื›ืœ ืฆื•ืžืช ืžื—ืฉื•ื‘ ืฉืžื ื”ืœ ืืช OVS. ืขื ื–ืืช, ืื ื ืฉืชืžืฉ, ืœืžืฉืœ, ื‘-OVN ืื• ื‘-OpenDayLight, ืื– ื”ืฉืœื™ื˜ื” ื‘-OVS ื ืžืฆืืช ื‘ืกืžื›ื•ืช ื”ืฉื™ืคื•ื˜ ืฉืœื”ื - Neutron, ื“ืจืš ืชื•ืกืฃ ื”ืฉื•ืจืฉ, ื ื•ืชืŸ ืคืงื•ื“ื•ืช ืœื‘ืงืจ, ื•ื”ื•ื ื›ื‘ืจ ืขื•ืฉื” ืืช ืžื” ืฉื ืืžืจ ืœื•.

ื‘ื•ืื• ืœื”ืชื—ื“ืฉ ื‘-Open vSwitch

ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ืื—ื“ ื”ืžืจื›ื™ื‘ื™ื ื”ืžืจื›ื–ื™ื™ื ืฉืœ OpenStack ื”ื•ื Open vSwitch.
ื‘ืขืช ื”ืชืงื ืช OpenStack ืœืœื ื›ืœ ืกืคืง ื ื•ืกืฃ SDN ื›ื’ื•ืŸ Juniper Contrail ืื• Nokia Nuage, OVS ื”ื•ื ืžืจื›ื™ื‘ ื”ืจืฉืช ื”ืขื™ืงืจื™ ืฉืœ ืจืฉืช ื”ืขื ืŸ, ื•ื™ื—ื“ ืขื iptables, conntrack, ืžืจื—ื‘ื™ ืฉืžื•ืช, ืžืืคืฉืจ ืœืš ืœืืจื’ืŸ ืจืฉืชื•ืช ืฉื›ื‘ื•ืช ืžืจื•ื‘ื•ืช ื“ื™ืจื•ืช ืžืœืื•ืช. ื‘ืื•ืคืŸ ื˜ื‘ืขื™, ื ื™ืชืŸ ืœื”ื—ืœื™ืฃ ืจื›ื™ื‘ ื–ื”, ืœืžืฉืœ, ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืคืชืจื•ื ื•ืช SDN ืงื ื™ื™ื ื™ื™ื (ืกืคืง) ืฉืœ ืฆื“ ืฉืœื™ืฉื™.

OVS ื”ื•ื ืžืชื’ ืชื•ื›ื ื” ื‘ืงื•ื“ ืคืชื•ื— ื”ืžื™ื•ืขื“ ืœืฉื™ืžื•ืฉ ื‘ืกื‘ื™ื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื›ืžืขื‘ื™ืจ ืชืขื‘ื•ืจื” ื•ื™ืจื˜ื•ืืœื™.

ื›ืจื’ืข ืœ-OVS ื™ืฉ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืจืื•ื™ื” ืžืื•ื“, ื”ื›ื•ืœืœืช ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื›ืžื• QoS, LACP, VLAN, VxLAN, GENEVE, OpenFlow, DPDK ื•ื›ื•'.

ื”ืขืจื”: OVS ืœื ื ื‘ื ื” ื‘ืชื—ื™ืœื” ื›ืžืชื’ ืจืš ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื•ืช ื˜ืœืงื•ื ืขืžื•ืกื•ืช ื‘ื™ื•ืชืจ, ื•ื”ื•ื ืชื•ื›ื ืŸ ื™ื•ืชืจ ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื•ืช IT ื”ื“ื•ืจืฉื•ืช ืคื—ื•ืช ืจื•ื—ื‘ ืคืก ื›ื’ื•ืŸ ืฉืจืช WEB ืื• ืฉืจืช ื“ื•ืืจ. ืขื ื–ืืช, OVS ื ืžืฆื ื‘ืคื™ืชื•ื— ื ื•ืกืฃ ื•ื”ื˜ืžืขื•ืช ื ื•ื›ื—ื™ื•ืช ืฉืœ OVS ืฉื™ืคืจื• ืžืื•ื“ ืืช ื”ื‘ื™ืฆื•ืขื™ื ื•ื”ื™ื›ื•ืœื•ืช ืฉืœื•, ืžื” ืฉืžืืคืฉืจ ืœื”ืฉืชืžืฉ ื‘ื• ืขืœ ื™ื“ื™ ืžืคืขื™ืœื™ ื˜ืœืงื•ื ืขื ืคื•ื ืงืฆื™ื•ืช ืขืžื•ืกื•ืช ืžืื•ื“, ืœืžืฉืœ, ื™ืฉ ืžื™ืžื•ืฉ OVS ืขื ืชืžื™ื›ื” ื‘ื”ืืฆืช DPDK.

ื™ืฉื ื ืฉืœื•ืฉื” ืžืจื›ื™ื‘ื™ื ื—ืฉื•ื‘ื™ื ืฉืœ OVS ืฉืืชื” ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ื“ืข ืืœื™ื”ื:

  • ืžื•ื“ื•ืœ ืœื™ื‘ื” - ืจื›ื™ื‘ ื”ืžืžื•ืงื ื‘ืžืจื—ื‘ ื”ืงืจื ืœ ื”ืžืขื‘ื“ ืชืขื‘ื•ืจื” ืขืœ ืกืžืš ื”ื›ืœืœื™ื ื”ืžืชืงื‘ืœื™ื ืžืืœืžื ื˜ ื”ื‘ืงืจื”;
  • vSwitch daemon (ovs-vswitchd) ื”ื•ื ืชื”ืœื™ืš ืฉื”ื•ืฉืง ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ ืฉืื—ืจืื™ ืขืœ ืชื›ื ื•ืช ืžื•ื“ื•ืœ ื”ืœื™ื‘ื” - ื›ืœื•ืžืจ, ื”ื•ื ืžื™ื™ืฆื’ ื™ืฉื™ืจื•ืช ืืช ื”ื”ื™ื’ื™ื•ืŸ ืฉืœ ืคืขื•ืœืช ื”ืžืชื’
  • ืฉืจืช ืžืกื“ - ื ืชื•ื ื™ื - ืžืกื“ ื ืชื•ื ื™ื ืžืงื•ืžื™ ื”ืžืžื•ืงื ืขืœ ื›ืœ ืžืืจื— ื”ืžืจื™ืฅ OVS, ื‘ื• ืžืื•ื—ืกื ืช ื”ืชืฆื•ืจื”. ื‘ืงืจื™ SDN ื™ื›ื•ืœื™ื ืœืชืงืฉืจ ื‘ืืžืฆืขื•ืช ืžื•ื“ื•ืœ ื–ื” ื‘ืืžืฆืขื•ืช ืคืจื•ื˜ื•ืงื•ืœ OVSDB.

ื›ืœ ื–ื” ืžืœื•ื•ื” ื‘ืกื˜ ืฉืœ ื›ืœื™ ืขื–ืจ ืœืื‘ื—ื•ืŸ ื•ื ื™ื”ื•ืœ, ื›ื’ื•ืŸ ovs-vsctl, ovs-appctl, ovs-ofctl ื•ื›ื•'.

ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, Openstack ื ืžืฆื ื‘ืฉื™ืžื•ืฉ ื ืจื—ื‘ ืขืœ ื™ื“ื™ ืžืคืขื™ืœื™ ื˜ืœืงื•ื ื›ื“ื™ ืœื”ืขื‘ื™ืจ ืืœื™ื• ืคื•ื ืงืฆื™ื•ืช ืจืฉืช, ื›ื’ื•ืŸ EPC, SBC, HLR ื•ื›ื•'. ืคื•ื ืงืฆื™ื•ืช ืžืกื•ื™ืžื•ืช ื™ื›ื•ืœื•ืช ืœื—ื™ื•ืช ืœืœื ื‘ืขื™ื•ืช ืขื OVS ื›ืคื™ ืฉื”ืŸ, ืื‘ืœ ืœืžืฉืœ, EPC ืžืขื‘ื“ ืชืขื‘ื•ืจืช ืžื ื•ื™ื™ื - ื•ืื– ื”ื™ื ืขื•ื‘ืจืช ื“ืจืš ื›ืžื•ืช ืชื ื•ืขื” ืขืฆื•ืžื” (ื›ืขืช ืžื’ื™ืขื•ืช ื ืคื—ื™ ื”ืชื ื•ืขื” ืœื›ืžื” ืžืื•ืช ื’ื™ื’ื”-ื‘ื™ื˜ ืœืฉื ื™ื™ื”). ืžื˜ื‘ืข ื”ื“ื‘ืจื™ื, ื”ืขื‘ืจืช ืชืขื‘ื•ืจื” ื›ื–ื• ื“ืจืš ืฉื˜ื— ืœื™ื‘ื” (ืžื›ื™ื•ื•ืŸ ืฉื”ืžืฉืœื— ื ืžืฆื ืฉื ื›ื‘ืจื™ืจืช ืžื—ื“ืœ) ืื™ื ื• ื”ืจืขื™ื•ืŸ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ. ืœื›ืŸ, OVS ืœืจื•ื‘ ื ืคืจืก ื›ื•ืœื• ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ ื‘ืืžืฆืขื•ืช ื˜ื›ื ื•ืœื•ื’ื™ื™ืช ื”ืืฆืช DPDK ื›ื“ื™ ืœื”ืขื‘ื™ืจ ืชืขื‘ื•ืจื” ืž-NIC ืœืžืจื—ื‘ ืžืฉืชืžืฉ ืขื•ืงืฃ ืืช ื”ืœื™ื‘ื”.

ื”ืขืจื”: ืขื‘ื•ืจ ืขื ืŸ ืฉื ืคืจืก ืขื‘ื•ืจ ืคื•ื ืงืฆื™ื•ืช ื˜ืœืงื•ื, ื ื™ืชืŸ ืœื”ื•ืฆื™ื ืชืขื‘ื•ืจื” ืžืฆื•ืžืช ืžื—ืฉื•ื‘ ืขื•ืงืฃ OVS ื™ืฉื™ืจื•ืช ืœืฆื™ื•ื“ ืžื™ืชื•ื’. ืœืžื˜ืจื” ื–ื• ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื ื’ื ื•ื ื™ SR-IOV ื•-Passthrough.

ืื™ืš ื–ื” ืขื•ื‘ื“ ื‘ืคืจื™ืกื” ืืžื™ืชื™ืช?

ื•ื‘ื›ืŸ, ืขื›ืฉื™ื• ื‘ื•ืื• ื ืขื‘ื•ืจ ืœื—ืœืง ื”ืžืขืฉื™ ื•ื ืจืื” ืื™ืš ื”ื›ืœ ืขื•ื‘ื“ ื‘ืคื•ืขืœ.

ืจืืฉื™ืช, ื‘ื•ืื• ื ืคืจื•ืก ื”ืชืงื ื” ืคืฉื•ื˜ื” ืฉืœ โ€‹โ€‹Openstack. ืžื›ื™ื•ื•ืŸ ืฉืื™ืŸ ืœื™ ืงื‘ื•ืฆื” ืฉืœ ืฉืจืชื™ื ื‘ื”ื™ืฉื’ ื™ื“ ืœื ื™ืกื•ื™ื™ื, ื ืจื›ื™ื‘ ืืช ืื‘ ื”ื˜ื™ืคื•ืก ืขืœ ืฉืจืช ืคื™ื–ื™ ืื—ื“ ืžืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. ื›ืŸ, ืžื˜ื‘ืข ื”ื“ื‘ืจื™ื, ืคืชืจื•ืŸ ื›ื–ื” ืœื ืžืชืื™ื ืœืžื˜ืจื•ืช ืžืกื—ืจื™ื•ืช, ืื‘ืœ ื›ื“ื™ ืœืจืื•ืช ื“ื•ื’ืžื” ืื™ืš ื”ืจืฉืช ืขื•ื‘ื“ืช ื‘-Openstack, ืžืกืคื™ืงื” ื”ืชืงื ื” ื›ื–ื• ืœืขื™ื ื™ื™ื. ื™ืชืจื” ืžื›ืš, ื”ืชืงื ื” ื›ื–ื• ืžืขื ื™ื™ื ืช ืขื•ื“ ื™ื•ืชืจ ืœืžื˜ืจื•ืช ื”ื“ืจื›ื” - ืฉื›ืŸ ื ื™ืชืŸ ืœืชืคื•ืก ืชื ื•ืขื” ื•ื›ื•'.

ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืฆืจื™ื›ื™ื ืœืจืื•ืช ืจืง ืืช ื”ื—ืœืง ื”ื‘ืกื™ืกื™, ืื™ื ื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ืžืกืคืจ ืจืฉืชื•ืช ืืœื ืœื”ืขืœื•ืช ื”ื›ืœ ื‘ืืžืฆืขื•ืช ืฉืชื™ ืจืฉืชื•ืช ื‘ืœื‘ื“, ื•ื”ืจืฉืช ื”ืฉื ื™ื™ื” ื‘ืคืจื™ืกื” ื–ื• ืชืฉืžืฉ ืืš ื•ืจืง ืœื’ื™ืฉื” ืœืฉืจืช ื”ืื ื“ืจ-cloud ื•-DNS. ืœื ื ื™ื’ืข ื›ืจื’ืข ื‘ืจืฉืชื•ืช ื—ื™ืฆื•ื ื™ื•ืช - ื–ื” ื ื•ืฉื ืœืžืืžืจ ื’ื“ื•ืœ ื ืคืจื“.

ืื– ื‘ื•ืื• ื ืชื—ื™ืœ ืœืคื™ ื”ืกื“ืจ. ืจืืฉื™ืช, ืงืฆืช ืชื™ืื•ืจื™ื”. ื ืชืงื™ืŸ ืืช Openstack ื‘ืืžืฆืขื•ืช TripleO (Openstack ื‘-Openstack). ื”ืžื”ื•ืช ืฉืœ TripleO ื”ื™ื ืฉืื ื• ืžืชืงื™ื ื™ื Openstack all-in-one (ื›ืœื•ืžืจ, ืขืœ ืฆื•ืžืช ืื—ื“), ื”ื ืงืจื undercloud, ื•ืœืื—ืจ ืžื›ืŸ ืžืฉืชืžืฉื™ื ื‘ื™ื›ื•ืœื•ืช ืฉืœ Openstack ื”ืคืจื•ืก ื›ื“ื™ ืœื”ืชืงื™ืŸ ืืช Openstack ื”ืžื™ื•ืขื“ ืœืคืขื•ืœื”, ื”ื ืงืจื overcloud. Undercloud ืชืฉืชืžืฉ ื‘ื™ื›ื•ืœืช ื”ื˜ื‘ื•ืขื” ืฉืœื” ืœื ื”ืœ ืฉืจืชื™ื ืคื™ื–ื™ื™ื (ืžืชื›ืช ื—ืฉื•ืคื”) - ืคืจื•ื™ืงื˜ Ironic - ื›ื“ื™ ืœืกืคืง hypervisors ืฉื™ื‘ืฆืขื• ืืช ื”ืชืคืงื™ื“ื™ื ืฉืœ ืฆืžืชื™ ืžื—ืฉื•ื‘, ื‘ืงืจื”, ืื—ืกื•ืŸ. ื›ืœื•ืžืจ, ืื ื—ื ื• ืœื ืžืฉืชืžืฉื™ื ื‘ื›ืœื™ื ืฉืœ ืฆื“ ืฉืœื™ืฉื™ ื›ื“ื™ ืœืคืจื•ืก ืืช Openstack - ืื ื—ื ื• ืคื•ืจืกื™ื ืืช Openstack ื‘ืืžืฆืขื•ืช Openstack. ื–ื” ื™ืชื‘ืจืจ ื”ืจื‘ื” ื™ื•ืชืจ ื›ื›ืœ ืฉื”ื”ืชืงื ื” ืชืชืงื“ื, ืื– ืœื ื ืขืฆื•ืจ ืฉื ื•ื ืชืงื“ื.

ื”ืขืจื”: ื‘ืžืืžืจ ื–ื”, ืœืžืขืŸ ื”ืคืฉื˜ื•ืช, ืœื ื”ืฉืชืžืฉืชื™ ื‘ื‘ื™ื“ื•ื“ ืจืฉืช ืขื‘ื•ืจ ืจืฉืชื•ืช Openstack ืคื ื™ืžื™ื•ืช, ืืœื ื”ื›ืœ ื ืคืจืก ื‘ืืžืฆืขื•ืช ืจืฉืช ืื—ืช ื‘ืœื‘ื“. ืขื ื–ืืช, ื ื•ื›ื—ื•ืช ืื• ื”ื™ืขื“ืจ ื‘ื™ื“ื•ื“ ืจืฉืช ืื™ื ื ืžืฉืคื™ืขื™ื ืขืœ ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ื‘ืกื™ืกื™ืช ืฉืœ ื”ืคืชืจื•ืŸ - ื”ื›ืœ ื™ืขื‘ื•ื“ ื‘ื“ื™ื•ืง ื›ืžื• ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื‘ื™ื“ื•ื“, ืืš ื”ืชืขื‘ื•ืจื” ืชื–ืจื•ื ื‘ืื•ืชื” ืจืฉืช. ืขื‘ื•ืจ ื”ืชืงื ื” ืžืกื—ืจื™ืช, ื™ืฉ ืฆื•ืจืš ื›ืžื•ื‘ืŸ ืœื”ืฉืชืžืฉ ื‘ื‘ื™ื“ื•ื“ ืชื•ืš ืฉื™ืžื•ืฉ ื‘-Vlans ื•ืžืžืฉืงื™ื ืฉื•ื ื™ื. ืœื“ื•ื’ืžื”, ืชืขื‘ื•ืจืช ื ื™ื”ื•ืœ ืื—ืกื•ืŸ ceph ื•ืชืขื‘ื•ืจืช ื”ื ืชื•ื ื™ื ืขืฆืžื” (ื’ื™ืฉื” ืœืžื—ืฉื‘ื™ื ืœื“ื™ืกืงื™ื ื•ื›ื•') ื›ืืฉืจ ื”ื ืžื‘ื•ื“ื“ื™ื ืžืฉืชืžืฉื™ื ื‘ืชืชื™ ืจืฉืชื•ืช ืฉื•ื ื•ืช (ื ื™ื”ื•ืœ ืื—ืกื•ืŸ ื•ืื—ืกื•ืŸ) ื•ื–ื” ืžืืคืฉืจ ืœืš ืœื”ืคื•ืš ืืช ื”ืคืชืจื•ืŸ ืœืกื•ื‘ืœื ื™ ื™ื•ืชืจ ืœืชืงืœื•ืช ืขืœ ื™ื“ื™ ื—ืœื•ืงืช ืชืขื‘ื•ืจื” ื–ื•, ืœืžืฉืœ , ืขืœ ืคื ื™ ื™ืฆื™ืื•ืช ืฉื•ื ื•ืช, ืื• ืฉื™ืžื•ืฉ ื‘ืคืจื•ืคื™ืœื™ QoS ืฉื•ื ื™ื ืขื‘ื•ืจ ืชืขื‘ื•ืจื” ืฉื•ื ื” ื›ืš ืฉืชืขื‘ื•ืจืช ื ืชื•ื ื™ื ืœื ืชืกื—ื˜ ืชืขื‘ื•ืจืช ืื™ืชื•ืช. ื‘ืžืงืจื” ืฉืœื ื• ื”ื ื™ืขื‘ืจื• ืœืื•ืชื” ืจืฉืช ื•ืœืžืขืฉื” ื–ื” ืœื ืžื’ื‘ื™ืœ ืื•ืชื ื• ื‘ืฉื•ื ืฆื•ืจื”.

ื”ืขืจื”: ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืขื•ืžื“ื™ื ืœื”ืคืขื™ืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื‘ืกื‘ื™ื‘ื” ื•ื™ืจื˜ื•ืืœื™ืช ื”ืžื‘ื•ืกืกืช ืขืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ืจืืฉื™ืช ืขืœื™ื ื• ืœื”ืคืขื™ืœ ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืžืงื•ื ื ืช.

ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืื ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืžืงื•ื ื ืช ืžื•ืคืขืœืช ืื• ืœื ื›ืš:


[root@hp-gen9 bormoglotx]# cat /sys/module/kvm_intel/parameters/nested
N
[root@hp-gen9 bormoglotx]# 

ืื ืืชื” ืจื•ืื” ืืช ื”ืื•ืช N, ืื ื• ืžืืคืฉืจื™ื ืชืžื™ื›ื” ื‘ื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืžืงื•ื ื ืช ืœืคื™ ื›ืœ ืžื“ืจื™ืš ืฉืชืžืฆื ื‘ืจืฉืช, ืœืžืฉืœ ื›ื–ื” .

ืขืœื™ื ื• ืœื”ืจื›ื™ื‘ ืืช ื”ืžืขื’ืœ ื”ื‘ื ืžืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื‘ืžืงืจื” ืฉืœื™, ื›ื“ื™ ืœื—ื‘ืจ ืืช ื”ืžื›ื•ื ื•ืช ื”ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉื”ืŸ ื—ืœืง ืžื”ื”ืชืงื ื” ื”ืขืชื™ื“ื™ืช (ื•ืงื™ื‘ืœืชื™ 7 ืžื”ืŸ, ืื‘ืœ ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ืขื 4 ืื ืื™ืŸ ืœืš ื”ืจื‘ื” ืžืฉืื‘ื™ื), ื”ืฉืชืžืฉืชื™ ื‘-OpenvSwitch. ื™ืฆืจืชื™ ื’ืฉืจ one ovs ื•ื—ื™ื‘ืจืชื™ ืืœื™ื• ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื‘ืืžืฆืขื•ืช ืงื‘ื•ืฆื•ืช ื™ืฆื™ืื•ืช. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ื™ืฆืจืชื™ ืงื•ื‘ืฅ xml ื›ื–ื”:


[root@hp-gen9 ~]# virsh net-dumpxml ovs-network-1        
<network>
  <name>ovs-network-1</name>
  <uuid>7a2e7de7-fc16-4e00-b1ed-4d190133af67</uuid>
  <forward mode='bridge'/>
  <bridge name='ovs-br1'/>
  <virtualport type='openvswitch'/>
  <portgroup name='trunk-1'>
    <vlan trunk='yes'>
      <tag id='100'/>
      <tag id='101'/>
      <tag id='102'/>
    </vlan>
  </portgroup>
  <portgroup name='access-100'>
    <vlan>
      <tag id='100'/>
    </vlan>
  </portgroup>
  <portgroup name='access-101'>
    <vlan>
      <tag id='101'/>
    </vlan>
  </portgroup>
</network>

ืฉืœื•ืฉ ืงื‘ื•ืฆื•ืช ืคื•ืจื˜ื™ื ืžื•ืฆื”ืจื•ืช ื›ืืŸ - ืฉืชื™ ื’ื™ืฉื” ื•ื˜ืจืื ืง ืื—ื“ (ื”ืื—ืจื•ืŸ ื”ื™ื” ื ื—ื•ืฅ ืขื‘ื•ืจ ืฉืจืช ื”-DNS, ืื‘ืœ ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ื‘ืœืขื“ื™ื•, ืื• ืœื”ืชืงื™ืŸ ืื•ืชื• ื‘ืžื—ืฉื‘ ื”ืžืืจื— - ืžื” ืฉื ื•ื— ืœืš ื™ื•ืชืจ). ืœืื—ืจ ืžื›ืŸ, ื‘ืืžืฆืขื•ืช ืชื‘ื ื™ืช ื–ื•, ืื ื• ืžื›ืจื™ื–ื™ื ืขืœ ืฉืœื ื• ื‘ืืžืฆืขื•ืช virsh net-define:


virsh net-define ovs-network-1.xml 
virsh net-start ovs-network-1 
virsh net-autostart ovs-network-1 

ื›ืขืช ืื ื• ืขื•ืจื›ื™ื ืืช ืชืฆื•ืจื•ืช ื™ืฆื™ืืช ื”ื”ื™ืคืจื•ื•ื™ื–ืจ:


[root@hp-gen9 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens1f0   
TYPE=Ethernet
NAME=ens1f0
DEVICE=ens1f0
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=ovs-br1
ONBOOT=yes
OVS_OPTIONS="trunk=100,101,102"
[root@hp-gen9 ~]
[root@hp-gen9 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ovs-br1 
DEVICE=ovs-br1
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.255.200
PREFIX=24
[root@hp-gen9 ~]# 

ื”ืขืจื”: ื‘ืชืจื—ื™ืฉ ื–ื”, ื”ื›ืชื•ื‘ืช ื‘ืคื•ืจื˜ ovs-br1 ืœื ืชื”ื™ื” ื ื’ื™ืฉื” ืžื›ื™ื•ื•ืŸ ืฉืื™ืŸ ืœื” ืชื’ vlan. ื›ื“ื™ ืœืชืงืŸ ื–ืืช, ืขืœื™ืš ืœื”ื ืคื™ืง ืืช ื”ืคืงื•ื“ื” sudo ovs-vsctl set port ovs-br1 tag=100. ืขื ื–ืืช, ืœืื—ืจ ืืชื—ื•ืœ ืžื—ื“ืฉ, ื”ืชื’ ื”ื–ื” ื™ื™ืขืœื (ืื ืžื™ืฉื”ื• ื™ื•ื“ืข ืื™ืš ืœื’ืจื•ื ืœื• ืœื”ื™ืฉืืจ ื‘ืžืงื•ื, ืื ื™ ืื•ื“ื” ืœื• ืžืื•ื“). ืื‘ืœ ื–ื” ืœื ื›ืœ ื›ืš ื—ืฉื•ื‘, ื›ื™ ืื ื—ื ื• ื ื–ื“ืงืง ืœื›ืชื•ื‘ืช ื–ื• ืจืง ื‘ืžื”ืœืš ื”ื”ืชืงื ื” ื•ืœื ื ื–ื“ืงืง ืœื” ื›ืืฉืจ Openstack ืคืจื•ืกื” ื‘ืžืœื•ืื”.

ืœืื—ืจ ืžื›ืŸ, ืื ื• ื™ื•ืฆืจื™ื ืžื›ื•ื ืช ืชืช ืขื ืŸ:


virt-install  -n undercloud --description "undercloud"  --os-type=Linux  --os-variant=centos7.0  --ram=8192  --vcpus=8  --disk path=/var/lib/libvirt/images/undercloud.qcow2,bus=virtio,size=40,format=qcow2 --network network:ovs-network-1,model=virtio,portgroup=access-100 --network network:ovs-network-1,model=virtio,portgroup=access-101 --graphics none  --location /var/lib/libvirt/boot/CentOS-7-x86_64-Minimal-2003.iso --extra-args console=ttyS0

ื‘ืžื”ืœืš ื”ื”ืชืงื ื” ืžื’ื“ื™ืจื™ื ืืช ื›ืœ ื”ืคืจืžื˜ืจื™ื ื”ื ื“ืจืฉื™ื ื›ืžื• ืฉื ื”ืžื›ื•ื ื”, ืกื™ืกืžืื•ืช, ืžืฉืชืžืฉื™ื, ืฉืจืชื™ ntp ื•ื›ื•', ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืžื™ื“ ืืช ื”ืคื•ืจื˜ื™ื, ืื‘ืœ ืœื™ ืื™ืฉื™ืช ืœืื—ืจ ื”ื”ืชืงื ื” ืงืœ ื™ื•ืชืจ ืœื”ื™ื›ื ืก ืœืžื›ื•ื ื” ื“ืจืš ื”ืžืกื•ืฃ ื•ืชืงืŸ ืืช ื”ืงื‘ืฆื™ื ื”ื“ืจื•ืฉื™ื. ืื ื›ื‘ืจ ื™ืฉ ืœืš ืชืžื•ื ื” ืžื•ื›ื ื”, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื”, ืื• ืœืขืฉื•ืช ืžื” ืฉืขืฉื™ืชื™ - ืœื”ื•ืจื™ื“ ืืช ืชืžื•ื ืช Centos 7 ื”ืžื™ื ื™ืžืœื™ืช ื•ืœื”ืฉืชืžืฉ ื‘ื” ื›ื“ื™ ืœื”ืชืงื™ืŸ ืืช ื”-VM.

ืœืื—ืจ ื”ืชืงื ื” ืžื•ืฆืœื—ืช, ืืžื•ืจ ืœื”ื™ื•ืช ืœืš ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืฉื‘ื” ืชื•ื›ืœ ืœื”ืชืงื™ืŸ ืื ื“ืจืงืœืื•ื“


[root@hp-gen9 bormoglotx]# virsh list
 Id    Name                           State
----------------------------------------------------
 6     dns-server                     running
 62    undercloud                     running

ืจืืฉื™ืช, ื”ืชืงืŸ ืืช ื”ื›ืœื™ื ื”ื“ืจื•ืฉื™ื ืœืชื”ืœื™ืš ื”ื”ืชืงื ื”:

sudo yum update -y
sudo yum install -y net-tools
sudo yum install -y wget
sudo yum install -y ipmitool

ื”ืชืงื ืช ืขื ืŸ

ืื ื• ื™ื•ืฆืจื™ื ืžืฉืชืžืฉ ืžื—ืกื ื™ืช, ืžื’ื“ื™ืจื™ื ืกื™ืกืžื”, ืžื•ืกื™ืคื™ื ืื•ืชื” ืœ-sudoer ื•ื ื•ืชื ื™ื ืœื• ืืช ื”ื™ื›ื•ืœืช ืœื‘ืฆืข ืคืงื•ื“ื•ืช ืฉื•ืจืฉ ื“ืจืš sudo ืžื‘ืœื™ ืœื”ื–ื™ืŸ ืกื™ืกืžื”:


useradd stack
passwd stack

echo โ€œstack ALL=(root) NOPASSWD:ALLโ€ > /etc/sudoers.d/stack
chmod 0440 /etc/sudoers.d/stack

ื›ืขืช ืื ื• ืžืฆื™ื™ื ื™ื ืืช ืฉื ื”-undercloud ื”ืžืœื ื‘ืงื•ื‘ืฅ ื”ืžืืจื—ื™ื:


vi /etc/hosts

127.0.0.1   undercloud.openstack.rnd localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

ืœืื—ืจ ืžื›ืŸ, ืื ื• ืžื•ืกื™ืคื™ื ืžืื’ืจื™ื ื•ืžืชืงื™ืŸ ืืช ื”ืชื•ื›ื ื” ื”ื“ืจื•ืฉื” ืœื ื•:


sudo yum install -y https://trunk.rdoproject.org/centos7/current/python2-tripleo-repos-0.0.1-0.20200409224957.8bac392.el7.noarch.rpm
sudo -E tripleo-repos -b queens current
sudo -E tripleo-repos -b queens current ceph
sudo yum install -y python-tripleoclient
sudo yum install -y ceph-ansible

ื”ืขืจื”: ืื ืื™ื ืš ืžืชื›ื•ื•ืŸ ืœื”ืชืงื™ืŸ ceph, ืื™ื ืš ืฆืจื™ืš ืœื”ื–ื™ืŸ ืคืงื•ื“ื•ืช ื”ืงืฉื•ืจื•ืช ืœ-ceph. ื”ืฉืชืžืฉืชื™ ื‘ืžื”ื“ื•ืจื” ืฉืœ ืงื•ื•ื™ื ืก, ืื‘ืœ ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื›ืœ ืื—ืจ ืฉืชืจืฆื”.

ืœืื—ืจ ืžื›ืŸ, ื”ืขืชืง ืืช ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืฉืœ ื”ืขื ืŸ ืœืขืจื™ืžืช ืกืคืจื™ื™ืช ื”ื‘ื™ืช ืฉืœ ื”ืžืฉืชืžืฉ:


cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf

ื›ืขืช ืขืœื™ื ื• ืœืชืงืŸ ืืช ื”ืงื•ื‘ืฅ ื”ื–ื”, ืœื”ืชืื™ื ืื•ืชื• ืœื”ืชืงื ื” ืฉืœื ื•.

ืืชื” ืฆืจื™ืš ืœื”ื•ืกื™ืฃ ืฉื•ืจื•ืช ืืœื” ืœืชื—ื™ืœืช ื”ืงื•ื‘ืฅ:

vi undercloud.conf
[DEFAULT]
undercloud_hostname = undercloud.openstack.rnd
local_ip = 192.168.255.1/24
network_gateway = 192.168.255.1
undercloud_public_host = 192.168.255.2
undercloud_admin_host = 192.168.255.3
undercloud_nameservers = 192.168.255.253
generate_service_certificate = false
local_interface = eth0
local_mtu = 1450
network_cidr = 192.168.255.0/24
masquerade = true
masquerade_network = 192.168.255.0/24
dhcp_start = 192.168.255.11
dhcp_end = 192.168.255.50
inspection_iprange = 192.168.255.51,192.168.255.100
scheduler_max_attempts = 10

ืื– ื‘ื•ืื• ื ืขื‘ื•ืจ ืขืœ ื”ื”ื’ื“ืจื•ืช:

undercloud_hostname - ื”ืฉื ื”ืžืœื ืฉืœ ืฉืจืช ื”-undercloud, ื—ื™ื™ื‘ ืœื”ืชืื™ื ืœืขืจืš ื‘ืฉืจืช ื”-DNS

local_ip - ื›ืชื•ื‘ืช ืขื ืŸ ืžืงื•ืžื™ืช ืœื›ื™ื•ื•ืŸ ืืกืคืงืช ืจืฉืช

network_gateway - ืื•ืชื” ื›ืชื•ื‘ืช ืžืงื•ืžื™ืช, ืฉืชืฉืžืฉ ื›ืฉืขืจ ืœื’ื™ืฉื” ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ ื‘ืžื”ืœืš ื”ืชืงื ืช ืฆืžืชื™ื ื‘ืขื ืŸ ื™ืชืจ, ืขื•ืœื” ื‘ืงื ื” ืื—ื“ ืขื ip ืžืงื•ืžื™

undercloud_public_host - ื›ืชื•ื‘ืช API ื—ื™ืฆื•ื ื™ืช, ื›ืœ ื›ืชื•ื‘ืช ืคื ื•ื™ื” ืžืจืฉืช ื”ืืกืคืงื” โ€‹โ€‹ืžื•ืงืฆื™ืช

undercloud_admin_host ื›ืชื•ื‘ืช API ืคื ื™ืžื™ืช, ื›ืœ ื›ืชื•ื‘ืช ื—ื•ืคืฉื™ืช ืžืจืฉืช ื”ืืกืคืงื” โ€‹โ€‹ืžื•ืงืฆื™ืช

ืฉืจืชื™ ืฉืžื•ืช_undercloud - ืฉืจืช DNS

gener_service_certificat - ืฉื•ืจื” ื–ื• ื—ืฉื•ื‘ื” ืžืื•ื“ ื‘ื“ื•ื’ืžื” ื”ื ื•ื›ื—ื™ืช, ืžื›ื™ื•ื•ืŸ ืฉืื ืœื ืชื’ื“ื™ืจ ืื•ืชื” ืœ-false ืชืงื‘ืœ ืฉื’ื™ืื” ื‘ืžื”ืœืš ื”ื”ืชืงื ื”, ื”ื‘ืขื™ื” ืžืชื•ืืจืช ื‘ืžืขืงื‘ ืื—ืจ ื‘ืื’ื™ื ืฉืœ Red Hat

local_interface ืžืžืฉืง ื‘ื”ืงืฆืืช ืจืฉืช. ืžืžืฉืง ื–ื” ื™ื•ื’ื“ืจ ืžื—ื“ืฉ ื‘ืžื”ืœืš ืคืจื™ืกืช undercloud, ื›ืš ืฉืืชื” ืฆืจื™ืš ืฉื ื™ ืžืžืฉืงื™ื ื‘-undercloud - ืื—ื“ ืขื‘ื•ืจ ื’ื™ืฉื” ืืœื™ื•, ื”ืฉื ื™ ืขื‘ื•ืจ ื”ืงืฆืื”

local_mtu - MTU. ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื ื• ืžืขื‘ื“ืช ื‘ื“ื™ืงื” ื•ื™ืฉ ืœื™ MTU ืฉืœ 1500 ื‘ื™ืฆื™ืื•ืช ืฉืœ ืžืชื’ OVS, ื™ืฉ ืฆื•ืจืš ืœื”ื’ื“ื™ืจ ืื•ืชื• ืœ-1450 ื›ื“ื™ ืฉืžื ื•ืช ื”ืžื•ืงืคื•ืช ื‘-VxLAN ื™ื•ื›ืœื• ืœืขื‘ื•ืจ ื“ืจื›ืŸ

network_cidr - ืจืฉืช ืืกืคืงื”

ืžืกื›ื•ืช - ืฉื™ืžื•ืฉ ื‘-NAT ื›ื“ื™ ืœื’ืฉืช ืœืจืฉืช ื—ื™ืฆื•ื ื™ืช

ืจืฉืช_ืžืกื›ื•ืช - ืจืฉืช ืฉืชื”ื™ื” NATed

dhcp_start - ื›ืชื•ื‘ืช ื”ื”ืชื—ืœื” ืฉืœ ืžืื’ืจ ื”ื›ืชื•ื‘ื•ืช ืฉืžืžื ื• ื™ื•ืงืฆื• ื›ืชื•ื‘ื•ืช ืœืฆืžืชื™ื ื‘ืžื”ืœืš ืคืจื™ืกืช ืขื ืŸ ื™ืชืจ

dhcp_end - ื”ื›ืชื•ื‘ืช ื”ืกื•ืคื™ืช ืฉืœ ืžืื’ืจ ื”ื›ืชื•ื‘ื•ืช ืฉืžืžื ื• ื™ื•ืงืฆื• ื›ืชื•ื‘ื•ืช ืœืฆืžืชื™ื ื‘ืžื”ืœืš ืคืจื™ืกืช ืขื ืŸ ื™ืชืจ

inspection_iprange - ืžืื’ืจ ื›ืชื•ื‘ื•ืช ื”ื›ืจื—ื™ ืœื”ืชื‘ื•ื ื ื•ืช ืคื ื™ืžื™ืช (ืœื ืฆืจื™ืš ืœื—ืคื•ืฃ ืœืžืื’ืจ ืฉืœืขื™ืœ)

ืžืชื–ืžืŸ_ืžืงืกื™ืžื•ื_ื ืกื™ื•ื ื•ืช - ื”ืžืกืคืจ ื”ืžืจื‘ื™ ืฉืœ ื ื™ืกื™ื•ื ื•ืช ืœื”ืชืงื™ืŸ overcloud (ื—ื™ื™ื‘ ืœื”ื™ื•ืช ื’ื“ื•ืœ ืื• ืฉื•ื•ื” ืœืžืกืคืจ ื”ืฆืžืชื™ื)

ืœืื—ืจ ืชื™ืื•ืจ ื”ืงื•ื‘ืฅ, ืืชื” ื™ื›ื•ืœ ืœืชืช ืืช ื”ืคืงื•ื“ื” ืœืคืจื•ืก undercloud:


openstack undercloud install

ื”ื”ืœื™ืš ืœื•ืงื— ื‘ื™ืŸ 10 ืœ-30 ื“ืงื•ืช, ืชืœื•ื™ ื‘ื‘ืจื–ืœ ืฉืœืš. ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืืชื” ืืžื•ืจ ืœืจืื•ืช ืคืœื˜ ื›ื–ื”:

vi undercloud.conf
2020-08-13 23:13:12,668 INFO: 
#############################################################################
Undercloud install complete.

The file containing this installation's passwords is at
/home/stack/undercloud-passwords.conf.

There is also a stackrc file at /home/stack/stackrc.

These files are needed to interact with the OpenStack services, and should be
secured.

#############################################################################

ืคืœื˜ ื–ื” ืื•ืžืจ ืฉื”ืชืงื ืช ืืช ื”-undercloud ื‘ื”ืฆืœื—ื” ื•ื›ืขืช ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืืช ื”ืžืฆื‘ ืฉืœ undercloud ื•ืœื”ืžืฉื™ืš ืœื”ืชืงื™ืŸ overcloud.

ืื ืชืกืชื›ืœ ืขืœ ื”ืคืœื˜ ifconfig, ืชืจืื” ืฉืžืžืฉืง ื’ืฉืจ ื—ื“ืฉ ื”ื•ืคื™ืข

[stack@undercloud ~]$ ifconfig
br-ctlplane: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.168.255.1  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 fe80::5054:ff:fe2c:89e  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:2c:08:9e  txqueuelen 1000  (Ethernet)
        RX packets 14  bytes 1095 (1.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20  bytes 1292 (1.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ืคืจื™ืกืช Overcloud ืชืชื‘ืฆืข ื›ืขืช ื“ืจืš ืžืžืฉืง ื–ื”.

ืžื”ืคืœื˜ ืœืžื˜ื” ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉื™ืฉ ืœื ื• ืืช ื›ืœ ื”ืฉื™ืจื•ืชื™ื ื‘ืฆื•ืžืช ืื—ื“:

(undercloud) [stack@undercloud ~]$ openstack host list
+--------------------------+-----------+----------+
| Host Name                | Service   | Zone     |
+--------------------------+-----------+----------+
| undercloud.openstack.rnd | conductor | internal |
| undercloud.openstack.rnd | scheduler | internal |
| undercloud.openstack.rnd | compute   | nova     |
+--------------------------+-----------+----------+

ืœื”ืœืŸ ื”ืชืฆื•ืจื” ืฉืœ ื—ืœืง ืจืฉืช ื”ืขื ืŸ:


(undercloud) [stack@undercloud ~]$ python -m json.tool /etc/os-net-config/config.json 
{
    "network_config": [
        {
            "addresses": [
                {
                    "ip_netmask": "192.168.255.1/24"
                }
            ],
            "members": [
                {
                    "dns_servers": [
                        "192.168.255.253"
                    ],
                    "mtu": 1450,
                    "name": "eth0",
                    "primary": "true",
                    "type": "interface"
                }
            ],
            "mtu": 1450,
            "name": "br-ctlplane",
            "ovs_extra": [
                "br-set-external-id br-ctlplane bridge-id br-ctlplane"
            ],
            "routes": [],
            "type": "ovs_bridge"
        }
    ]
}
(undercloud) [stack@undercloud ~]$

ื”ืชืงื ืช ืขื ืŸ ื™ืชืจ

ื›ืจื’ืข ื™ืฉ ืœื ื• ืจืง ืชืช ืขื ืŸ, ื•ืื™ืŸ ืœื ื• ืžืกืคื™ืง ืฆืžืชื™ื ืฉืžื”ื ื™ื•ืจื›ื‘ overcloud. ืœื›ืŸ, ืงื•ื“ื ื›ืœ, ื‘ื•ืื• ื ืคืจื•ืก ืืช ื”ืžื›ื•ื ื•ืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื. ื‘ืžื”ืœืš ื”ืคืจื™ืกื” ืชืชืงื™ืŸ undercloud ื‘ืขืฆืžื” ืืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ืืช ื”ืชื•ื›ื ื” ื”ื“ืจื•ืฉื” ืขืœ ืžื›ื•ื ืช ื”-Overcloud - ื›ืœื•ืžืจ, ืื ื—ื ื• ืœื ืฆืจื™ื›ื™ื ืœืคืจื•ืก ืืช ื”ืžื›ื•ื ื” ืœื—ืœื•ื˜ื™ืŸ, ืืœื ืจืง ืœื™ืฆื•ืจ ืœื” ื“ื™ืกืง (ืื• ื“ื™ืกืงื™ื) ื•ืœืงื‘ื•ืข ืืช ื”ืคืจืžื˜ืจื™ื ืฉืœื• - ื›ืœื•ืžืจ ืœืžืขืฉื”, ืื ื• ืžืงื‘ืœื™ื ืฉืจืช ื—ืฉื•ืฃ ืœืœื ืžืขืจื›ืช ื”ืคืขืœื” ืžื•ืชืงื ืช ืขืœื™ื•.

ื‘ื•ืื• ื ืœืš ืœืชื™ืงื™ื” ืขื ื”ื“ื™ืกืงื™ื ืฉืœ ื”ืžื›ื•ื ื•ืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉืœื ื• ื•ื ื™ืฆื•ืจ ื“ื™ืกืงื™ื ื‘ื’ื•ื“ืœ ื”ื ื“ืจืฉ:


cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -o preallocation=metadata control-1.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata compute-1.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata compute-2.qcow2 60G
qemu-img create -f qcow2 -o preallocation=metadata storage-1.qcow2 160G
qemu-img create -f qcow2 -o preallocation=metadata storage-2.qcow2 160G

ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืคื•ืขืœื™ื ื›-root, ืขืœื™ื ื• ืœืฉื ื•ืช ืืช ื”ื‘ืขืœื™ื ืฉืœ ื”ื“ื™ืกืงื™ื ื”ืœืœื• ื›ื“ื™ ืœื ืœื”ื™ืชืงืœ ื‘ื‘ืขื™ื” ื‘ื–ื›ื•ื™ื•ืช:


[root@hp-gen9 images]# ls -lh
total 5.8G
drwxr-xr-x. 2 qemu qemu 4.0K Aug 13 16:15 backups
-rw-r--r--. 1 root root  61G Aug 14 03:07 compute-1.qcow2
-rw-r--r--. 1 root root  61G Aug 14 03:07 compute-2.qcow2
-rw-r--r--. 1 root root  61G Aug 14 03:07 control-1.qcow2
-rw-------. 1 qemu qemu  41G Aug 14 03:03 dns-server.qcow2
-rw-r--r--. 1 root root 161G Aug 14 03:07 storage-1.qcow2
-rw-r--r--. 1 root root 161G Aug 14 03:07 storage-2.qcow2
-rw-------. 1 qemu qemu  41G Aug 14 03:07 undercloud.qcow2
[root@hp-gen9 images]# 
[root@hp-gen9 images]# 
[root@hp-gen9 images]# chown qemu:qemu /var/lib/libvirt/images/*qcow2
[root@hp-gen9 images]# ls -lh
total 5.8G
drwxr-xr-x. 2 qemu qemu 4.0K Aug 13 16:15 backups
-rw-r--r--. 1 qemu qemu  61G Aug 14 03:07 compute-1.qcow2
-rw-r--r--. 1 qemu qemu  61G Aug 14 03:07 compute-2.qcow2
-rw-r--r--. 1 qemu qemu  61G Aug 14 03:07 control-1.qcow2
-rw-------. 1 qemu qemu  41G Aug 14 03:03 dns-server.qcow2
-rw-r--r--. 1 qemu qemu 161G Aug 14 03:07 storage-1.qcow2
-rw-r--r--. 1 qemu qemu 161G Aug 14 03:07 storage-2.qcow2
-rw-------. 1 qemu qemu  41G Aug 14 03:08 undercloud.qcow2
[root@hp-gen9 images]# 

ื”ืขืจื”: ืื ืื™ื ื›ื ืžืชื›ื ื ื™ื ืœื”ืชืงื™ืŸ ceph ื›ื“ื™ ืœืœืžื•ื“ ืื•ืชื•, ืื– ื”ืคืงื•ื“ื•ืช ืื™ื ืŸ ื™ื•ืฆืจื•ืช ืœืคื—ื•ืช 3 ืฆืžืชื™ื ืขื ืœืคื—ื•ืช ืฉื ื™ ื“ื™ืกืงื™ื, ืืœื ื‘ืชื‘ื ื™ืช ืžืฆื™ื™ื ื™ื ืฉื™ื™ืขืฉื” ืฉื™ืžื•ืฉ ื‘ื“ื™ืกืงื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื vda, vdb ื•ื›ื•'.

ื ื”ื“ืจ, ืขื›ืฉื™ื• ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ื’ื“ื™ืจ ืืช ื›ืœ ื”ืžื›ื•ื ื•ืช ื”ืืœื”:


virt-install --name control-1 --ram 32768 --vcpus 8 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/control-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --network network:ovs-network-1,model=virtio,portgroup=trunk-1 --dry-run --print-xml > /tmp/control-1.xml  

virt-install --name storage-1 --ram 16384 --vcpus 4 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/storage-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/storage-1.xml  

virt-install --name storage-2 --ram 16384 --vcpus 4 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/storage-2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/storage-2.xml  

virt-install --name compute-1 --ram 32768 --vcpus 12 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/compute-1.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/compute-1.xml  

virt-install --name compute-2 --ram 32768 --vcpus 12 --os-variant centos7.0 --disk path=/var/lib/libvirt/images/compute-2.qcow2,device=disk,bus=virtio,format=qcow2 --noautoconsole --vnc  --network network:ovs-network-1,model=virtio,portgroup=access-100 --dry-run --print-xml > /tmp/compute-2.xml 

ื‘ืกื•ืฃ ื™ืฉ ืคืงื•ื“ื” -print-xml > /tmp/storage-1.xml, ืฉื™ื•ืฆืจืช ืงื•ื‘ืฅ xml ืขื ืชื™ืื•ืจ ืฉืœ ื›ืœ ืžื—ืฉื‘ ื‘ืชื™ืงื™ื” /tmp/; ืื ืœื ืชื•ืกื™ืฃ ืื•ืชื•, ืœื ืชื”ื™ื” ืžืกื•ื’ืœ ืœื–ื”ื•ืช ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช.

ื›ืขืช ืขืœื™ื ื• ืœื”ื’ื“ื™ืจ ืืช ื›ืœ ื”ืžื›ื•ื ื•ืช ื”ืœืœื• ื‘-virsh:


virsh define --file /tmp/control-1.xml
virsh define --file /tmp/compute-1.xml
virsh define --file /tmp/compute-2.xml
virsh define --file /tmp/storage-1.xml
virsh define --file /tmp/storage-2.xml

[root@hp-gen9 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 6     dns-server                     running
 64    undercloud                     running
 -     compute-1                      shut off
 -     compute-2                      shut off
 -     control-1                      shut off
 -     storage-1                      shut off
 -     storage-2                      shut off

[root@hp-gen9 ~]#

ืขื›ืฉื™ื• ื ื™ื•ืื ืก ืงื˜ืŸ - tripleO ืžืฉืชืžืฉ ื‘-IPMI ืœื ื™ื”ื•ืœ ืฉืจืชื™ื ื‘ืžื”ืœืš ื”ืชืงื ื” ื•ื‘ื“ื™ืงื” ืคื ื™ืžื”.

ืื™ื ื˜ืจื•ืกืคืงืฆื™ื” ื”ื™ื ืชื”ืœื™ืš ื‘ื“ื™ืงืช ื”ื—ื•ืžืจื” ืขืœ ืžื ืช ืœืงื‘ืœ ืืช ื”ืคืจืžื˜ืจื™ื ืฉืœื” ื”ื“ืจื•ืฉื™ื ืœื”ืงืฆืื” ื ื•ืกืคืช ืฉืœ ืฆืžืชื™ื. ื”ืชื‘ื•ื ื ื•ืช ืคื ื™ืžื™ืช ืžืชื‘ืฆืขืช ื‘ืืžืฆืขื•ืช ืื™ืจื•ื ื™, ืฉื™ืจื•ืช ืฉื ื•ืขื“ ืœืขื‘ื•ื“ ืขื ืฉืจืชื™ ืžืชื›ืช ื—ืฉื•ืคื”.

ืื‘ืœ ื”ื ื” ื”ื‘ืขื™ื” - ื‘ืขื•ื“ ืฉืœืฉืจืชื™ IPMI ื”ื—ื•ืžืจื” ื™ืฉ ื™ืฆื™ืื” ื ืคืจื“ืช (ืื• ื™ืฆื™ืื” ืžืฉื•ืชืคืช, ืื‘ืœ ื–ื” ืœื ื—ืฉื•ื‘), ืื– ืœืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืื™ืŸ ื™ืฆื™ืื•ืช ื›ืืœื”. ื›ืืŸ ื‘ื ืœืขื–ืจืชื ื• ืงื‘ ื‘ืฉื vbmc - ื›ืœื™ ืขื–ืจ ื”ืžืืคืฉืจ ืœืš ืœื—ืงื•ืช ื™ืฆื™ืืช IPMI. ืœื ื™ื•ืื ืก ื”ื–ื” ื›ื“ืื™ ืœืฉื™ื ืœื‘ ื‘ืžื™ื•ื—ื“ ืœืžื™ ืฉืจื•ืฆื” ืœื”ืงื™ื ืžืขื‘ื“ื” ื›ื–ื• ืขืœ ESXI hypervisor - ืœืžืขืŸ ื”ืืžืช, ืื ื™ ืœื ื™ื•ื“ืข ืื ื™ืฉ ืœื• ืื ืœื•ื’ื™ ืฉืœ vbmc, ืื– ื›ื“ืื™ ืœืชื”ื•ืช ืขืœ ื”ื ื•ืฉื ื”ื–ื” ืœืคื ื™ ืคืจื™ืกืช ื”ื›ืœ .

ื”ืชืงืŸ vbmc:


yum install yum install python2-virtualbmc

ืื ืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉืœืš ืœื ืžื•ืฆืืช ืืช ื”ื—ื‘ื™ืœื”, ื”ื•ืกืฃ ืืช ื”ืžืื’ืจ:

yum install -y https://www.rdoproject.org/repos/rdo-release.rpm

ื›ืขืช ื”ื’ื“ืจื ื• ืืช ื›ืœื™ ื”ืฉื™ืจื•ืช. ื”ื›ืœ ื›ืืŸ ื‘ื ืืœื™ ืขื“ ื›ื“ื™ ื‘ื•ืฉื”. ืขื›ืฉื™ื• ื–ื” ื”ื’ื™ื•ื ื™ ืฉืื™ืŸ ืฉืจืชื™ื ื‘ืจืฉื™ืžืช vbmc


[root@hp-gen9 ~]# vbmc list

[root@hp-gen9 ~]# 

ื›ื“ื™ ืฉื”ื ื™ื•ืคื™ืขื•, ื™ืฉ ืœื”ืฆื”ื™ืจ ืขืœื™ื”ื ื‘ืื•ืคืŸ ื™ื“ื ื™ ื›ืš:


[root@hp-gen9 ~]# vbmc add control-1 --port 7001 --username admin --password admin
[root@hp-gen9 ~]# vbmc add storage-1 --port 7002 --username admin --password admin
[root@hp-gen9 ~]# vbmc add storage-2 --port 7003 --username admin --password admin
[root@hp-gen9 ~]# vbmc add compute-1 --port 7004 --username admin --password admin
[root@hp-gen9 ~]# vbmc add compute-2 --port 7005 --username admin --password admin
[root@hp-gen9 ~]#
[root@hp-gen9 ~]# vbmc list
+-------------+--------+---------+------+
| Domain name | Status | Address | Port |
+-------------+--------+---------+------+
| compute-1   | down   | ::      | 7004 |
| compute-2   | down   | ::      | 7005 |
| control-1   | down   | ::      | 7001 |
| storage-1   | down   | ::      | 7002 |
| storage-2   | down   | ::      | 7003 |
+-------------+--------+---------+------+
[root@hp-gen9 ~]#

ืื ื™ ื—ื•ืฉื‘ ืฉืชื—ื‘ื™ืจ ื”ืคืงื•ื“ื” ื‘ืจื•ืจ ืœืœื ื”ืกื‘ืจ. ืขื ื–ืืช, ืœืขืช ืขืชื” ื›ืœ ื”ืžืคื’ืฉื™ื ืฉืœื ื• ื ืžืฆืื™ื ื‘ืกื˜ื˜ื•ืก DOWN. ื›ื“ื™ ืฉื”ื ื™ืขื‘ืจื• ืœืกื˜ื˜ื•ืก UP, ืขืœื™ืš ืœื”ืคืขื™ืœ ืื•ืชื:


[root@hp-gen9 ~]# vbmc start control-1
2020-08-14 03:15:57,826.826 13149 INFO VirtualBMC [-] Started vBMC instance for domain control-1
[root@hp-gen9 ~]# vbmc start storage-1 
2020-08-14 03:15:58,316.316 13149 INFO VirtualBMC [-] Started vBMC instance for domain storage-1
[root@hp-gen9 ~]# vbmc start storage-2
2020-08-14 03:15:58,851.851 13149 INFO VirtualBMC [-] Started vBMC instance for domain storage-2
[root@hp-gen9 ~]# vbmc start compute-1
2020-08-14 03:15:59,307.307 13149 INFO VirtualBMC [-] Started vBMC instance for domain compute-1
[root@hp-gen9 ~]# vbmc start compute-2
2020-08-14 03:15:59,712.712 13149 INFO VirtualBMC [-] Started vBMC instance for domain compute-2
[root@hp-gen9 ~]# 
[root@hp-gen9 ~]# 
[root@hp-gen9 ~]# vbmc list
+-------------+---------+---------+------+
| Domain name | Status  | Address | Port |
+-------------+---------+---------+------+
| compute-1   | running | ::      | 7004 |
| compute-2   | running | ::      | 7005 |
| control-1   | running | ::      | 7001 |
| storage-1   | running | ::      | 7002 |
| storage-2   | running | ::      | 7003 |
+-------------+---------+---------+------+
[root@hp-gen9 ~]#

ื•ื”ืžื’ืข ื”ืื—ืจื•ืŸ - ืขืœื™ืš ืœืชืงืŸ ืืช ื—ื•ืงื™ ื—ื•ืžืช ื”ืืฉ (ืื• ืœื”ืฉื‘ื™ืช ืื•ืชื” ืœื—ืœื•ื˜ื™ืŸ):


firewall-cmd --zone=public --add-port=7001/udp --permanent
firewall-cmd --zone=public --add-port=7002/udp --permanent
firewall-cmd --zone=public --add-port=7003/udp --permanent
firewall-cmd --zone=public --add-port=7004/udp --permanent
firewall-cmd --zone=public --add-port=7005/udp --permanent
firewall-cmd --reload

ืขื›ืฉื™ื• ื ืขื‘ื•ืจ ืœืื ื“ืจืงืœืื•ื“ ื•ื ื‘ื“ื•ืง ืฉื”ื›ืœ ืขื•ื‘ื“. ื”ื›ืชื•ื‘ืช ืฉืœ ื”ืžื—ืฉื‘ ื”ืžืืจื— ื”ื™ื 192.168.255.200, ื‘-undercloud ื”ื•ืกืคื ื• ืืช ื—ื‘ื™ืœืช ื”-ipmitool ื”ื“ืจื•ืฉื” ื‘ืžื”ืœืš ื”ื”ื›ื ื” ืœืคืจื™ืกื”:


[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power status          
Chassis Power is off
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power on
Chassis Power Control: Up/On
[stack@undercloud ~]$ 

[root@hp-gen9 ~]# virsh list 
 Id    Name                           State
----------------------------------------------------
 6     dns-server                     running
 64    undercloud                     running
 65    control-1                      running

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื”ืฉืงื ื• ื‘ื”ืฆืœื—ื” ืืช ืฆื•ืžืช ื”ื‘ืงืจื” ื‘ืืžืฆืขื•ืช vbmc. ืขื›ืฉื™ื• ื‘ื•ืื• ื ื›ื‘ื” ืื•ืชื• ื•ื ืžืฉื™ืš ื”ืœืื”:


[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power off
Chassis Power Control: Down/Off
[stack@undercloud ~]$ ipmitool -I lanplus -U admin -P admin -H 192.168.255.200 -p 7001 power status
Chassis Power is off
[stack@undercloud ~]$ 

[root@hp-gen9 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 6     dns-server                     running
 64    undercloud                     running
 -     compute-1                      shut off
 -     compute-2                      shut off
 -     control-1                      shut off
 -     storage-1                      shut off
 -     storage-2                      shut off

[root@hp-gen9 ~]#

ื”ืฉืœื‘ ื”ื‘ื ื”ื•ื ื”ืชื‘ื•ื ื ื•ืช ืคื ื™ืžื™ืช ืฉืœ ื”ืฆืžืชื™ื ืขืœื™ื”ื ื™ื•ืชืงืŸ overcloud. ืœืฉื ื›ืš, ืขืœื™ื ื• ืœื”ื›ื™ืŸ ืงื•ื‘ืฅ json ืขื ืชื™ืื•ืจ ืฉืœ ื”ืฆืžืชื™ื ืฉืœื ื•. ืฉื™ืžื• ืœื‘ ืฉื‘ื ื™ื’ื•ื“ ืœื”ืชืงื ื” ืขืœ ืฉืจืชื™ื ื—ืฉื•ืคื™ื, ื”ืงื•ื‘ืฅ ืžืฆื™ื™ืŸ ืืช ื”ื™ืฆื™ืื” ืฉื‘ื” ืคื•ืขืœ vbmc ืขื‘ื•ืจ ื›ืœ ืžื—ืฉื‘.


[root@hp-gen9 ~]# virsh domiflist --domain control-1 
Interface  Type       Source     Model       MAC
-------------------------------------------------------
-          network    ovs-network-1 virtio      52:54:00:20:a2:2f
-          network    ovs-network-1 virtio      52:54:00:3f:87:9f

[root@hp-gen9 ~]# virsh domiflist --domain compute-1
Interface  Type       Source     Model       MAC
-------------------------------------------------------
-          network    ovs-network-1 virtio      52:54:00:98:e9:d6

[root@hp-gen9 ~]# virsh domiflist --domain compute-2
Interface  Type       Source     Model       MAC
-------------------------------------------------------
-          network    ovs-network-1 virtio      52:54:00:6a:ea:be

[root@hp-gen9 ~]# virsh domiflist --domain storage-1
Interface  Type       Source     Model       MAC
-------------------------------------------------------
-          network    ovs-network-1 virtio      52:54:00:79:0b:cb

[root@hp-gen9 ~]# virsh domiflist --domain storage-2
Interface  Type       Source     Model       MAC
-------------------------------------------------------
-          network    ovs-network-1 virtio      52:54:00:a7:fe:27

ื”ืขืจื”: ืœืฆื•ืžืช ื”ื‘ืงืจื” ื™ืฉ ืฉื ื™ ืžืžืฉืงื™ื, ืื‘ืœ ื‘ืžืงืจื” ื–ื” ื–ื” ืœื ื—ืฉื•ื‘, ื‘ื”ืชืงื ื” ื–ื• ืื—ื“ ื™ืกืคื™ืง ืœื ื•.

ื›ืขืช ืื ื• ืžื›ื™ื ื™ื ืืช ืงื•ื‘ืฅ ื”-json. ืขืœื™ื ื• ืœืฆื™ื™ืŸ ืืช ื›ืชื•ื‘ืช ื”ืคืจื’ ืฉืœ ื”ืคื•ืจื˜ ืฉื“ืจื›ื• ืชืชื‘ืฆืข ื”ื”ืงืฆืื”, ืืช ื”ืคืจืžื˜ืจื™ื ืฉืœ ื”ืฆืžืชื™ื, ืœืชืช ืœื”ื ืฉืžื•ืช ื•ืœืฆื™ื™ืŸ ื›ื™ืฆื“ ืœื”ื’ื™ืข ืœ-ipmi:


{
    "nodes":[
        {
            "mac":[
                "52:54:00:20:a2:2f"
            ],
            "cpu":"8",
            "memory":"32768",
            "disk":"60",
            "arch":"x86_64",
            "name":"control-1",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7001"
        },
        {
            "mac":[
                "52:54:00:79:0b:cb"
            ],
            "cpu":"4",
            "memory":"16384",
            "disk":"160",
            "arch":"x86_64",
            "name":"storage-1",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7002"
        },
        {
            "mac":[
                "52:54:00:a7:fe:27"
            ],
            "cpu":"4",
            "memory":"16384",
            "disk":"160",
            "arch":"x86_64",
            "name":"storage-2",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7003"
        },
        {
            "mac":[
                "52:54:00:98:e9:d6"
            ],
            "cpu":"12",
            "memory":"32768",
            "disk":"60",
            "arch":"x86_64",
            "name":"compute-1",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7004"
        },
        {
            "mac":[
                "52:54:00:6a:ea:be"
            ],
            "cpu":"12",
            "memory":"32768",
            "disk":"60",
            "arch":"x86_64",
            "name":"compute-2",
            "pm_type":"pxe_ipmitool",
            "pm_user":"admin",
            "pm_password":"admin",
            "pm_addr":"192.168.255.200",
            "pm_port":"7005"
        }
    ]
}

ืขื›ืฉื™ื• ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ื›ื™ืŸ ืชืžื•ื ื•ืช ืœืื™ืจื•ื ื™ื”. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช, ื”ื•ืจื“ ืื•ืชื ื“ืจืš wget ื•ื”ืชืงืŸ:

(undercloud) [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/queens/delorean/current-tripleo-rdo/overcloud-full.tar --no-check-certificate
(undercloud) [stack@undercloud ~]$ sudo wget https://images.rdoproject.org/queens/delorean/current-tripleo-rdo/ironic-python-agent.tar --no-check-certificate
(undercloud) [stack@undercloud ~]$ ls -lh
total 1.9G
-rw-r--r--. 1 stack stack 447M Aug 14 10:26 ironic-python-agent.tar
-rw-r--r--. 1 stack stack 1.5G Aug 14 10:26 overcloud-full.tar
-rw-------. 1 stack stack  916 Aug 13 23:10 stackrc
-rw-r--r--. 1 stack stack  15K Aug 13 22:50 undercloud.conf
-rw-------. 1 stack stack 2.0K Aug 13 22:50 undercloud-passwords.conf
(undercloud) [stack@undercloud ~]$ mkdir images/
(undercloud) [stack@undercloud ~]$ tar -xpvf ironic-python-agent.tar -C ~/images/
ironic-python-agent.initramfs
ironic-python-agent.kernel
(undercloud) [stack@undercloud ~]$ tar -xpvf overcloud-full.tar -C ~/images/                       
overcloud-full.qcow2
overcloud-full.initrd
overcloud-full.vmlinuz
(undercloud) [stack@undercloud ~]$ 
(undercloud) [stack@undercloud ~]$ ls -lh images/
total 1.9G
-rw-rw-r--. 1 stack stack 441M Aug 12 17:24 ironic-python-agent.initramfs
-rwxr-xr-x. 1 stack stack 6.5M Aug 12 17:24 ironic-python-agent.kernel
-rw-r--r--. 1 stack stack  53M Aug 12 17:14 overcloud-full.initrd
-rw-r--r--. 1 stack stack 1.4G Aug 12 17:18 overcloud-full.qcow2
-rwxr-xr-x. 1 stack stack 6.5M Aug 12 17:14 overcloud-full.vmlinuz
(undercloud) [stack@undercloud ~]$

ื”ืขืœืืช ืชืžื•ื ื•ืช ืœ-undercloud:

(undercloud) [stack@undercloud ~]$ openstack overcloud image upload --image-path ~/images/
Image "overcloud-full-vmlinuz" was uploaded.
+--------------------------------------+------------------------+-------------+---------+--------+
|                  ID                  |          Name          | Disk Format |   Size  | Status |
+--------------------------------------+------------------------+-------------+---------+--------+
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz |     aki     | 6761064 | active |
+--------------------------------------+------------------------+-------------+---------+--------+
Image "overcloud-full-initrd" was uploaded.
+--------------------------------------+-----------------------+-------------+----------+--------+
|                  ID                  |          Name         | Disk Format |   Size   | Status |
+--------------------------------------+-----------------------+-------------+----------+--------+
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd |     ari     | 55183045 | active |
+--------------------------------------+-----------------------+-------------+----------+--------+
Image "overcloud-full" was uploaded.
+--------------------------------------+----------------+-------------+------------+--------+
|                  ID                  |      Name      | Disk Format |    Size    | Status |
+--------------------------------------+----------------+-------------+------------+--------+
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full |    qcow2    | 1487475712 | active |
+--------------------------------------+----------------+-------------+------------+--------+
Image "bm-deploy-kernel" was uploaded.
+--------------------------------------+------------------+-------------+---------+--------+
|                  ID                  |       Name       | Disk Format |   Size  | Status |
+--------------------------------------+------------------+-------------+---------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel |     aki     | 6761064 | active |
+--------------------------------------+------------------+-------------+---------+--------+
Image "bm-deploy-ramdisk" was uploaded.
+--------------------------------------+-------------------+-------------+-----------+--------+
|                  ID                  |        Name       | Disk Format |    Size   | Status |
+--------------------------------------+-------------------+-------------+-----------+--------+
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk |     ari     | 461759376 | active |
+--------------------------------------+-------------------+-------------+-----------+--------+
(undercloud) [stack@undercloud ~]$

ื‘ื•ื“ืง ืฉื›ืœ ื”ืชืžื•ื ื•ืช ื ื˜ืขื ื•


(undercloud) [stack@undercloud ~]$  openstack image list
+--------------------------------------+------------------------+--------+
| ID                                   | Name                   | Status |
+--------------------------------------+------------------------+--------+
| e413aa78-e38f-404c-bbaf-93e582a8e67f | bm-deploy-kernel       | active |
| 5cf3aba4-0e50-45d3-929f-27f025dd6ce3 | bm-deploy-ramdisk      | active |
| a2f2096d-c9d7-429a-b866-c7543c02a380 | overcloud-full         | active |
| 949984e0-4932-4e71-af43-d67a38c3dc89 | overcloud-full-initrd  | active |
| c2553770-3e0f-4750-b46b-138855b5c385 | overcloud-full-vmlinuz | active |
+--------------------------------------+------------------------+--------+
(undercloud) [stack@undercloud ~]$

ื“ื‘ืจ ื ื•ืกืฃ - ืืชื” ืฆืจื™ืš ืœื”ื•ืกื™ืฃ ืฉืจืช DNS:


(undercloud) [stack@undercloud ~]$ openstack subnet list
+--------------------------------------+-----------------+--------------------------------------+------------------+
| ID                                   | Name            | Network                              | Subnet           |
+--------------------------------------+-----------------+--------------------------------------+------------------+
| f45dea46-4066-42aa-a3c4-6f84b8120cab | ctlplane-subnet | 6ca013dc-41c2-42d8-9d69-542afad53392 | 192.168.255.0/24 |
+--------------------------------------+-----------------+--------------------------------------+------------------+
(undercloud) [stack@undercloud ~]$ openstack subnet show f45dea46-4066-42aa-a3c4-6f84b8120cab
+-------------------+-----------------------------------------------------------+
| Field             | Value                                                     |
+-------------------+-----------------------------------------------------------+
| allocation_pools  | 192.168.255.11-192.168.255.50                             |
| cidr              | 192.168.255.0/24                                          |
| created_at        | 2020-08-13T20:10:37Z                                      |
| description       |                                                           |
| dns_nameservers   |                                                           |
| enable_dhcp       | True                                                      |
| gateway_ip        | 192.168.255.1                                             |
| host_routes       | destination='169.254.169.254/32', gateway='192.168.255.1' |
| id                | f45dea46-4066-42aa-a3c4-6f84b8120cab                      |
| ip_version        | 4                                                         |
| ipv6_address_mode | None                                                      |
| ipv6_ra_mode      | None                                                      |
| name              | ctlplane-subnet                                           |
| network_id        | 6ca013dc-41c2-42d8-9d69-542afad53392                      |
| prefix_length     | None                                                      |
| project_id        | a844ccfcdb2745b198dde3e1b28c40a3                          |
| revision_number   | 0                                                         |
| segment_id        | None                                                      |
| service_types     |                                                           |
| subnetpool_id     | None                                                      |
| tags              |                                                           |
| updated_at        | 2020-08-13T20:10:37Z                                      |
+-------------------+-----------------------------------------------------------+
(undercloud) [stack@undercloud ~]$ 
(undercloud) [stack@undercloud ~]$ neutron subnet-update f45dea46-4066-42aa-a3c4-6f84b8120cab --dns-nameserver 192.168.255.253                                    
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Updated subnet: f45dea46-4066-42aa-a3c4-6f84b8120cab
(undercloud) [stack@undercloud ~]$

ื›ืขืช ืื ื• ื™ื›ื•ืœื™ื ืœืชืช ืืช ื”ืคืงื•ื“ื” ืœื”ืชื‘ื•ื ื ื•ืช ืคื ื™ืžื™ืช:

(undercloud) [stack@undercloud ~]$ openstack overcloud node import --introspect --provide inspection.json 
Started Mistral Workflow tripleo.baremetal.v1.register_or_update. Execution ID: d57456a3-d8ed-479c-9a90-dff7c752d0ec
Waiting for messages on queue 'tripleo' with no timeout.


5 node(s) successfully moved to the "manageable" state.
Successfully registered node UUID b4b2cf4a-b7ca-4095-af13-cc83be21c4f5
Successfully registered node UUID b89a72a3-6bb7-429a-93bc-48393d225838
Successfully registered node UUID 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e
Successfully registered node UUID bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8
Successfully registered node UUID 766ab623-464c-423d-a529-d9afb69d1167
Waiting for introspection to finish...
Started Mistral Workflow tripleo.baremetal.v1.introspect. Execution ID: 6b4d08ae-94c3-4a10-ab63-7634ec198a79
Waiting for messages on queue 'tripleo' with no timeout.
Introspection of node b89a72a3-6bb7-429a-93bc-48393d225838 completed. Status:SUCCESS. Errors:None
Introspection of node 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e completed. Status:SUCCESS. Errors:None
Introspection of node bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 completed. Status:SUCCESS. Errors:None
Introspection of node 766ab623-464c-423d-a529-d9afb69d1167 completed. Status:SUCCESS. Errors:None
Introspection of node b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 completed. Status:SUCCESS. Errors:None
Successfully introspected 5 node(s).
Started Mistral Workflow tripleo.baremetal.v1.provide. Execution ID: f5594736-edcf-4927-a8a0-2a7bf806a59a
Waiting for messages on queue 'tripleo' with no timeout.
5 node(s) successfully moved to the "available" state.
(undercloud) [stack@undercloud ~]$

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืžื”ืคืœื˜, ื”ื›ืœ ื”ื•ืฉืœื ืœืœื ืฉื’ื™ืื•ืช. ื‘ื•ืื• ื ื‘ื“ื•ืง ืฉื›ืœ ื”ืฆืžืชื™ื ื ืžืฆืื™ื ื‘ืžืฆื‘ ื–ืžื™ืŸ:


(undercloud) [stack@undercloud ~]$ openstack baremetal node list
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| UUID                                 | Name      | Instance UUID | Power State | Provisioning State | Maintenance |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | None          | power off   | available          | False       |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | None          | power off   | available          | False       |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | None          | power off   | available          | False       |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | None          | power off   | available          | False       |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | None          | power off   | available          | False       |
+--------------------------------------+-----------+---------------+-------------+--------------------+-------------+
(undercloud) [stack@undercloud ~]$ 

ืื ื”ืฆืžืชื™ื ื ืžืฆืื™ื ื‘ืžืฆื‘ ืฉื•ื ื”, ื‘ื“ืจืš ื›ืœืœ ื ื™ืชืŸ ืœื ื™ื”ื•ืœ, ืื– ืžืฉื”ื• ื”ืฉืชื‘ืฉ ื•ืืชื” ืฆืจื™ืš ืœื”ืกืชื›ืœ ื‘ื™ื•ืžืŸ ื•ืœื”ื‘ื™ืŸ ืœืžื” ื–ื” ืงืจื”. ื–ื›ื•ืจ ืฉื‘ืชืจื—ื™ืฉ ื–ื” ืื ื• ืžืฉืชืžืฉื™ื ื‘ื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื•ื™ื™ืชื›ื ื• ื‘ืื’ื™ื ื”ืงืฉื•ืจื™ื ืœืฉื™ืžื•ืฉ ื‘ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืื• ื‘-vbmc.

ืœืื—ืจ ืžื›ืŸ, ืขืœื™ื ื• ืœืฆื™ื™ืŸ ืื™ื–ื” ืฆื•ืžืช ื™ื‘ืฆืข ืื™ื–ื• ืคื•ื ืงืฆื™ื” - ื›ืœื•ืžืจ, ืœืฆื™ื™ืŸ ืืช ื”ืคืจื•ืคื™ืœ ืื™ืชื• ื™ืชืคืจืก ื”ืฆื•ืžืช:


(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | available       | None            |                   |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | available       | None            |                   |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | available       | None            |                   |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | available       | None            |                   |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | available       | None            |                   |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
(undercloud) [stack@undercloud ~]$ openstack flavor list
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| ID                                   | Name          |  RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| 168af640-7f40-42c7-91b2-989abc5c5d8f | swift-storage | 4096 |   40 |         0 |     1 | True      |
| 52148d1b-492e-48b4-b5fc-772849dd1b78 | baremetal     | 4096 |   40 |         0 |     1 | True      |
| 56e66542-ae60-416d-863e-0cb192d01b09 | control       | 4096 |   40 |         0 |     1 | True      |
| af6796e1-d0c4-4bfe-898c-532be194f7ac | block-storage | 4096 |   40 |         0 |     1 | True      |
| e4d50fdd-0034-446b-b72c-9da19b16c2df | compute       | 4096 |   40 |         0 |     1 | True      |
| fc2e3acf-7fca-4901-9eee-4a4d6ef0265d | ceph-storage  | 4096 |   40 |         0 |     1 | True      |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
(undercloud) [stack@undercloud ~]$

ืฆื™ื™ืŸ ืืช ื”ืคืจื•ืคื™ืœ ืขื‘ื•ืจ ื›ืœ ืฆื•ืžืช:


openstack baremetal node set --property capabilities='profile:control,boot_option:local' b4b2cf4a-b7ca-4095-af13-cc83be21c4f5
openstack baremetal node set --property capabilities='profile:ceph-storage,boot_option:local' b89a72a3-6bb7-429a-93bc-48393d225838
openstack baremetal node set --property capabilities='profile:ceph-storage,boot_option:local' 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e
openstack baremetal node set --property capabilities='profile:compute,boot_option:local' bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8
openstack baremetal node set --property capabilities='profile:compute,boot_option:local' 766ab623-464c-423d-a529-d9afb69d1167

ื‘ื•ืื• ื ื‘ื“ื•ืง ืฉืขืฉื™ื ื• ื”ื›ืœ ื ื›ื•ืŸ:


(undercloud) [stack@undercloud ~]$ openstack overcloud profiles list
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| Node UUID                            | Node Name | Provision State | Current Profile | Possible Profiles |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
| b4b2cf4a-b7ca-4095-af13-cc83be21c4f5 | control-1 | available       | control         |                   |
| b89a72a3-6bb7-429a-93bc-48393d225838 | storage-1 | available       | ceph-storage    |                   |
| 20a16cc0-e0ce-4d88-8f17-eb0ce7b4d69e | storage-2 | available       | ceph-storage    |                   |
| bfc1eb98-a17a-4a70-b0b6-6c0db0eac8e8 | compute-1 | available       | compute         |                   |
| 766ab623-464c-423d-a529-d9afb69d1167 | compute-2 | available       | compute         |                   |
+--------------------------------------+-----------+-----------------+-----------------+-------------------+
(undercloud) [stack@undercloud ~]$

ืื ื”ื›ืœ ื ื›ื•ืŸ, ืื ื• ื ื•ืชื ื™ื ืืช ื”ืคืงื•ื“ื” ืœืคืจื•ืก overcloud:

openstack overcloud deploy --templates --control-scale 1 --compute-scale 2  --ceph-storage-scale 2 --control-flavor control --compute-flavor compute  --ceph-storage-flavor ceph-storage --libvirt-type qemu

ื‘ื”ืชืงื ื” ืืžื™ืชื™ืช, ื‘ืื•ืคืŸ ื˜ื‘ืขื™ ื™ืฉืžืฉื• ืชื‘ื ื™ื•ืช ืžื•ืชืืžื•ืช ืื™ืฉื™ืช, ื‘ืžืงืจื” ืฉืœื ื• ื–ื” ื™ืกื‘ืš ืžืื•ื“ ืืช ื”ืชื”ืœื™ืš, ืฉื›ืŸ ื›ืœ ืขืจื™ื›ื” ื‘ืชื‘ื ื™ืช ืชืฆื˜ืจืš ืœื”ื™ื•ืช ืžื•ืกื‘ืจืช. ื›ืคื™ ืฉื ื›ืชื‘ ืงื•ื“ื, ืืคื™ืœื• ื”ืชืงื ื” ืคืฉื•ื˜ื” ืชืกืคื™ืง ืœื ื• ื›ื“ื™ ืœืจืื•ืช ืื™ืš ื–ื” ืขื•ื‘ื“.

ื”ืขืจื”: ื”ืžืฉืชื ื” qemu--libvirt-type ื ื—ื•ืฅ ื‘ืžืงืจื” ื–ื”, ืžื›ื™ื•ื•ืŸ ืฉื ืฉืชืžืฉ ื‘ื•ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ืžืงื•ื ื ืช. ืื—ืจืช, ืœื ืชื•ื›ืœ ืœื”ืคืขื™ืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช.

ื›ืขืช ื™ืฉ ืœืš ื›ืฉืขื”, ืื• ืื•ืœื™ ื™ื•ืชืจ (ืชืœื•ื™ ื‘ื™ื›ื•ืœื•ืช ื”ื—ื•ืžืจื”) ื•ืืชื” ื™ื›ื•ืœ ืจืง ืœืงื•ื•ืช ืฉืื—ืจื™ ื”ื–ืžืŸ ื”ื–ื” ืชืจืื” ืืช ื”ื”ื•ื“ืขื” ื”ื‘ืื”:


2020-08-14 08:39:21Z [overcloud]: CREATE_COMPLETE  Stack CREATE completed successfully

 Stack overcloud CREATE_COMPLETE 

Host 192.168.255.21 not found in /home/stack/.ssh/known_hosts
Started Mistral Workflow tripleo.deployment.v1.get_horizon_url. Execution ID: fcb996cd-6a19-482b-b755-2ca0c08069a9
Overcloud Endpoint: http://192.168.255.21:5000/
Overcloud Horizon Dashboard URL: http://192.168.255.21:80/dashboard
Overcloud rc file: /home/stack/overcloudrc
Overcloud Deployed
(undercloud) [stack@undercloud ~]$

ืขื›ืฉื™ื• ื™ืฉ ืœืš ื’ืจืกื” ื›ืžืขื˜ ืžืœืื” ืฉืœ openstack, ืขืœื™ื” ืชื•ื›ืœ ืœืœืžื•ื“, ืœื”ืชื ืกื•ืช ื•ื›ื•'.

ื‘ื•ื ื ื‘ื“ื•ืง ืฉื”ื›ืœ ืขื•ื‘ื“ ื›ืžื• ืฉืฆืจื™ืš. ื‘ืขืจื™ืžืช ืกืคืจื™ื™ืช ื”ื‘ื™ืช ืฉืœ ื”ืžืฉืชืžืฉ ื™ืฉื ื ืฉื ื™ ืงื‘ืฆื™ื - ืื—ื“ stackrc (ืœื ื™ื”ื•ืœ undercloud) ื•ื”ืฉื ื™ overcloudrc (ืœื ื™ื”ื•ืœ overcloud). ื™ืฉ ืœืฆื™ื™ืŸ ืงื‘ืฆื™ื ืืœื” ื›ืžืงื•ืจ, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืžื›ื™ืœื™ื ืžื™ื“ืข ื”ื“ืจื•ืฉ ืœืื™ืžื•ืช.


(undercloud) [stack@undercloud ~]$ openstack server list
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
| ID                                   | Name                    | Status | Networks                | Image          | Flavor       |
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
| fd7d36f4-ce87-4b9a-93b0-add2957792de | overcloud-controller-0  | ACTIVE | ctlplane=192.168.255.15 | overcloud-full | control      |
| edc77778-8972-475e-a541-ff40eb944197 | overcloud-novacompute-1 | ACTIVE | ctlplane=192.168.255.26 | overcloud-full | compute      |
| 5448ce01-f05f-47ca-950a-ced14892c0d4 | overcloud-cephstorage-1 | ACTIVE | ctlplane=192.168.255.34 | overcloud-full | ceph-storage |
| ce6d862f-4bdf-4ba3-b711-7217915364d7 | overcloud-novacompute-0 | ACTIVE | ctlplane=192.168.255.19 | overcloud-full | compute      |
| e4507bd5-6f96-4b12-9cc0-6924709da59e | overcloud-cephstorage-0 | ACTIVE | ctlplane=192.168.255.44 | overcloud-full | ceph-storage |
+--------------------------------------+-------------------------+--------+-------------------------+----------------+--------------+
(undercloud) [stack@undercloud ~]$ 


(undercloud) [stack@undercloud ~]$ source overcloudrc 
(overcloud) [stack@undercloud ~]$ 
(overcloud) [stack@undercloud ~]$ openstack project list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 4eed7d0f06544625857d51cd77c5bd4c | admin   |
| ee1c68758bde41eaa9912c81dc67dad8 | service |
+----------------------------------+---------+
(overcloud) [stack@undercloud ~]$ 
(overcloud) [stack@undercloud ~]$ 
(overcloud) [stack@undercloud ~]$ openstack network agent list  
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| ID                                   | Agent Type         | Host                                | Availability Zone | Alive | State | Binary                    |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
| 10495de9-ba4b-41fe-b30a-b90ec3f8728b | Open vSwitch agent | overcloud-novacompute-1.localdomain | None              | :-)   | UP    | neutron-openvswitch-agent |
| 1515ad4a-5972-46c3-af5f-e5446dff7ac7 | L3 agent           | overcloud-controller-0.localdomain  | nova              | :-)   | UP    | neutron-l3-agent          |
| 322e62ca-1e5a-479e-9a96-4f26d09abdd7 | DHCP agent         | overcloud-controller-0.localdomain  | nova              | :-)   | UP    | neutron-dhcp-agent        |
| 9c1de2f9-bac5-400e-998d-4360f04fc533 | Open vSwitch agent | overcloud-novacompute-0.localdomain | None              | :-)   | UP    | neutron-openvswitch-agent |
| d99c5657-851e-4d3c-bef6-f1e3bb1acfb0 | Open vSwitch agent | overcloud-controller-0.localdomain  | None              | :-)   | UP    | neutron-openvswitch-agent |
| ff85fae6-5543-45fb-a301-19c57b62d836 | Metadata agent     | overcloud-controller-0.localdomain  | None              | :-)   | UP    | neutron-metadata-agent    |
+--------------------------------------+--------------------+-------------------------------------+-------------------+-------+-------+---------------------------+
(overcloud) [stack@undercloud ~]$

ื”ื”ืชืงื ื” ืฉืœื™ ืขื“ื™ื™ืŸ ื“ื•ืจืฉืช ื ื’ื™ืขื” ืื—ืช ืงื˜ื ื” - ื”ื•ืกืคืช ืžืกืœื•ืœ ื‘ื‘ืงืจ, ืžืื—ืจ ื•ื”ืžื›ื•ื ื” ืื™ืชื” ืื ื™ ืขื•ื‘ื“ ื ืžืฆืืช ื‘ืจืฉืช ืื—ืจืช. ืœืฉื ื›ืš, ืขื‘ื•ืจ ืืœ control-1 ืชื—ืช ื—ืฉื‘ื•ืŸ ื”-Heat-admin ื•ืจืฉื•ื ืืช ื”ืžืกืœื•ืœ


(undercloud) [stack@undercloud ~]$ ssh [email protected]         
Last login: Fri Aug 14 09:47:40 2020 from 192.168.255.1
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo ip route add 10.169.0.0/16 via 192.168.255.254

ื•ื‘ื›ืŸ, ืขื›ืฉื™ื• ืืชื” ื™ื›ื•ืœ ืœืœื›ืช ืืœ ื”ืื•ืคืง. ื›ืœ ื”ืžื™ื“ืข - ื›ืชื•ื‘ื•ืช, ื›ื ื™ืกื” ื•ืกื™ืกืžื - ื ืžืฆืื™ื ื‘ืงื•ื‘ืฅ /home/stack/overcloudrc. ื”ืชืจืฉื™ื ื”ืกื•ืคื™ ื ืจืื” ื›ืš:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืื’ื‘, ื‘ื”ืชืงื ื” ืฉืœื ื•, ื›ืชื•ื‘ื•ืช ืžื—ืฉื‘ ื”ื•ื ืคืงื• ื‘ืืžืฆืขื•ืช DHCP ื•ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื”ืŸ ืžื•ื ืคืงื•ืช "ื‘ืืงืจืื™". ืืชื” ื™ื›ื•ืœ ืœื”ื’ื“ื™ืจ ื‘ืงืคื“ื ื•ืช ื‘ืชื‘ื ื™ืช ืื™ื–ื• ื›ืชื•ื‘ืช ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืžื—ื•ื‘ืจืช ืœืื™ื–ื” ืžื—ืฉื‘ ื‘ืžื”ืœืš ื”ืคืจื™ืกื”, ืื ืืชื” ืฆืจื™ืš ืืช ื–ื”.

ื›ื™ืฆื“ ื–ื•ืจืžืช ื”ืชืขื‘ื•ืจื” ื‘ื™ืŸ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช?

ื‘ืžืืžืจ ื–ื” ื ื‘ื—ืŸ ืฉืœื•ืฉ ืืคืฉืจื•ื™ื•ืช ืœืชื ื•ืขื” ื—ื•ืœืคืช

  • ืฉืชื™ ืžื›ื•ื ื•ืช ืขืœ ื”ื™ืคืจื•ื•ื™ื–ืจ ืื—ื“ ื‘ืจืฉืช L2 ืื—ืช
  • ืฉืชื™ ืžื›ื•ื ื•ืช ืขืœ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ืฉื•ื ื™ื ื‘ืื•ืชื” ืจืฉืช L2
  • ืฉืชื™ ืžื›ื•ื ื•ืช ื‘ืจืฉืชื•ืช ืฉื•ื ื•ืช (ื”ืฉืชืจืฉื•ืช ื—ื•ืฆืช ืจืฉืชื•ืช)

ืžืงืจื™ื ืขื ื’ื™ืฉื” ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ ื“ืจืš ืจืฉืช ื—ื™ืฆื•ื ื™ืช, ื‘ืืžืฆืขื•ืช ื›ืชื•ื‘ื•ืช ืฆืคื•ืช, ื›ืžื• ื’ื ื ื™ืชื•ื‘ ืžื‘ื•ื–ืจ, ื ืฉืงื•ืœ ื‘ืคืขื ื”ื‘ืื”, ืœืขืช ืขืชื” ื ืชืžืงื“ ื‘ืชืขื‘ื•ืจื” ืคื ื™ืžื™ืช.

ื›ื“ื™ ืœื‘ื“ื•ืง, ื‘ื•ืื• ื ืจื›ื™ื‘ ืืช ื”ืชืจืฉื™ื ื”ื‘ื:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื™ืฆืจื ื• 4 ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช - 3 ื‘ืจืฉืช L2 ืื—ืช - net-1, ื•ืขื•ื“ ืื—ืช ื‘ืจืฉืช net-1

(overcloud) [stack@undercloud ~]$ nova list --tenant 5e18ce8ec9594e00b155485f19895e6c             
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
| ID                                   | Name | Tenant ID                        | Status | Task State | Power State | Networks        |
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
| f53b37b5-2204-46cc-aef0-dba84bf970c0 | vm-1 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-1=10.0.1.85 |
| fc8b6722-0231-49b0-b2fa-041115bef34a | vm-2 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-1=10.0.1.88 |
| 3cd74455-b9b7-467a-abe3-bd6ff765c83c | vm-3 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-1=10.0.1.90 |
| 7e836338-6772-46b0-9950-f7f06dbe91a8 | vm-4 | 5e18ce8ec9594e00b155485f19895e6c | ACTIVE | -          | Running     | net-2=10.0.2.8  |
+--------------------------------------+------+----------------------------------+--------+------------+-------------+-----------------+
(overcloud) [stack@undercloud ~]$ 

ื‘ื•ืื• ื ืจืื” ื‘ืื™ืœื• ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ื ืžืฆืื™ื ื”ืžื›ื•ื ื•ืช ืฉื ื•ืฆืจื•:

(overcloud) [stack@undercloud ~]$ nova show f53b37b5-2204-46cc-aef0-dba84bf970c0 | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-1                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-0.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000001                                        |
(overcloud) [stack@undercloud ~]$ nova show fc8b6722-0231-49b0-b2fa-041115bef34a | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-2                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-1.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000002                                        |
(overcloud) [stack@undercloud ~]$ nova show 3cd74455-b9b7-467a-abe3-bd6ff765c83c | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-3                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-0.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000003                                        |
(overcloud) [stack@undercloud ~]$ nova show 7e836338-6772-46b0-9950-f7f06dbe91a8 | egrep "hypervisor_hostname|instance_name|hostname"
| OS-EXT-SRV-ATTR:hostname             | vm-4                                                     |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | overcloud-novacompute-1.localdomain                      |
| OS-EXT-SRV-ATTR:instance_name        | instance-00000004                                        |

(overcloud) [stack@undercloud ~]$
ืžื›ื•ื ื•ืช vm-1 ื•-vm-3 ืžืžื•ืงืžื•ืช ืขืœ compute-0, ืžื›ื•ื ื•ืช vm-2 ื•-vm-4 ืžืžื•ืงืžื•ืช ืขืœ node compute-1.

ื‘ื ื•ืกืฃ, ื ื•ืฆืจ ื ืชื‘ ื•ื™ืจื˜ื•ืืœื™ ื›ื“ื™ ืœืืคืฉืจ ื ื™ืชื•ื‘ ื‘ื™ืŸ ื”ืจืฉืชื•ืช ืฉืฆื•ื™ื ื•:

(overcloud) [stack@undercloud ~]$ openstack router list  --project 5e18ce8ec9594e00b155485f19895e6c
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
| ID                                   | Name     | Status | State | Distributed | HA    | Project                          |
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
| 0a4d2420-4b9c-46bd-aec1-86a1ef299abe | router-1 | ACTIVE | UP    | False       | False | 5e18ce8ec9594e00b155485f19895e6c |
+--------------------------------------+----------+--------+-------+-------------+-------+----------------------------------+
(overcloud) [stack@undercloud ~]$ 

ืœื ืชื‘ ื™ืฉ ืฉืชื™ ื™ืฆื™ืื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ื”ืžืฉืžืฉื•ืช ื›ืฉืขืจื™ื ืœืจืฉืชื•ืช:

(overcloud) [stack@undercloud ~]$ openstack router show 0a4d2420-4b9c-46bd-aec1-86a1ef299abe | grep interface
| interfaces_info         | [{"subnet_id": "2529ad1a-6b97-49cd-8515-cbdcbe5e3daa", "ip_address": "10.0.1.254", "port_id": "0c52b15f-8fcc-4801-bf52-7dacc72a5201"}, {"subnet_id": "335552dd-b35b-456b-9df0-5aac36a3ca13", "ip_address": "10.0.2.254", "port_id": "92fa49b5-5406-499f-ab8d-ddf28cc1a76c"}] |
(overcloud) [stack@undercloud ~]$ 

ืื‘ืœ ืœืคื ื™ ืฉื ืกืชื›ืœ ืขืœ ืื™ืš ื”ืชืขื‘ื•ืจื” ื–ื•ืจืžืช, ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ืžื” ืฉื™ืฉ ืœื ื• ื›ืจื’ืข ื‘ืฆื•ืžืช ื”ื‘ืงืจื” (ืฉื”ื•ื ื’ื ืฆื•ืžืช ืจืฉืช) ื•ื‘ืฆื•ืžืช ื”ืžื—ืฉื•ื‘. ื ืชื—ื™ืœ ืขื ืฆื•ืžืช ื”ื—ื™ืฉื•ื‘.


[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-vsctl show
[heat-admin@overcloud-novacompute-0 ~]$ sudo sudo ovs-appctl dpif/show
system@ovs-system: hit:3 missed:3
  br-ex:
    br-ex 65534/1: (internal)
    phy-br-ex 1/none: (patch: peer=int-br-ex)
  br-int:
    br-int 65534/2: (internal)
    int-br-ex 1/none: (patch: peer=phy-br-ex)
    patch-tun 2/none: (patch: peer=patch-int)
  br-tun:
    br-tun 65534/3: (internal)
    patch-int 1/none: (patch: peer=patch-tun)
    vxlan-c0a8ff0f 3/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.15)
    vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$

ื›ืจื’ืข, ืœืฆื•ืžืช ื™ืฉ ืฉืœื•ืฉื” ื’ืฉืจื™ ovs - br-int, br-tun, br-ex. ื‘ื™ื ื™ื”ื, ื›ืคื™ ืฉืื ื• ืจื•ืื™ื, ื™ืฉ ืกื˜ ืฉืœ ืžืžืฉืงื™ื. ื›ื“ื™ ืœื”ืงืœ ืขืœ ื”ื”ื‘ื ื”, ื‘ื•ืื• ื ืชื•ื•ื” ืืช ื›ืœ ื”ืžืžืฉืงื™ื ื”ืœืœื• ื‘ืชืจืฉื™ื ื•ื ืจืื” ืžื” ืงื•ืจื”.

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื‘ื”ืกืชื›ืœื•ืช ืขืœ ื”ื›ืชื•ื‘ื•ืช ืฉืืœื™ื”ืŸ ืžื•ืจืžื•ืช ืžื ื”ืจื•ืช VxLAN, ื ื™ืชืŸ ืœืจืื•ืช ืฉืžื ื”ืจื” ืื—ืช ืžื•ื’ื‘ื”ืช ืœืžื—ืฉื‘-1 (192.168.255.26), ื”ืžื ื”ืจื” ื”ืฉื ื™ื™ื” ื ืจืื™ืช ืœ-Control-1 (192.168.255.15). ืื‘ืœ ื”ื“ื‘ืจ ื”ืžืขื ื™ื™ืŸ ื‘ื™ื•ืชืจ ื”ื•ื ืฉืœ-br-ex ืื™ืŸ ืžืžืฉืงื™ื ืคื™ื–ื™ื™ื, ื•ืื ืชืกืชื›ืœ ืขืœ ืื™ืœื• ื–ืจื™ืžื•ืช ืžื•ื’ื“ืจื•ืช, ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉื”ื’ืฉืจ ื”ื–ื” ื™ื›ื•ืœ ืจืง ืœื”ืคื™ืœ ืชื ื•ืขื” ื›ืจื’ืข.


[heat-admin@overcloud-novacompute-0 ~]$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.168.255.19  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 fe80::5054:ff:fe6a:eabe  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:6a:ea:be  txqueuelen 1000  (Ethernet)
        RX packets 2909669  bytes 4608201000 (4.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1821057  bytes 349198520 (333.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[heat-admin@overcloud-novacompute-0 ~]$ 

ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžื”ืคืœื˜, ื”ื›ืชื•ื‘ืช ืžื•ื‘ืจื’ืช ื™ืฉื™ืจื•ืช ืœื™ืฆื™ืื” ื”ืคื™ื–ื™ืช, ื•ืœื ืœืžืžืฉืง ื”ื’ืฉืจ ื”ื•ื•ื™ืจื˜ื•ืืœื™.


[heat-admin@overcloud-novacompute-0 ~]$  sudo ovs-appctl fdb/show br-ex
 port  VLAN  MAC                Age
[heat-admin@overcloud-novacompute-0 ~]$  sudo ovs-ofctl dump-flows br-ex
 cookie=0x9169eae8f7fe5bb2, duration=216686.864s, table=0, n_packets=303, n_bytes=26035, priority=2,in_port="phy-br-ex" actions=drop
 cookie=0x9169eae8f7fe5bb2, duration=216686.887s, table=0, n_packets=0, n_bytes=0, priority=0 actions=NORMAL
[heat-admin@overcloud-novacompute-0 ~]$ 

ืขืœ ืคื™ ื”ื›ืœืœ ื”ืจืืฉื•ืŸ, ื™ืฉ ืœื”ืฉืœื™ืš ืืช ื›ืœ ืžื” ืฉื”ื’ื™ืข ืžื™ืฆื™ืืช phy-br-ex.
ืœืžืขืฉื”, ื›ืจื’ืข ืื™ืŸ ืžืงื•ื ืื—ืจ ืœืชืขื‘ื•ืจื” ืœื”ื™ื›ื ืก ืœื’ืฉืจ ื”ื–ื” ื—ื•ืฅ ืžื”ืžืžืฉืง ื”ื–ื” (ื”ืžืžืฉืง ืขื br-int), ื•ืื ืœืฉืคื•ื˜ ืœืคื™ ื”ื ืคื™ืœื•ืช, ืชื ื•ืขืช BUM ื›ื‘ืจ ืขืคื” ืœืชื•ืš ื”ื’ืฉืจ.

ื›ืœื•ืžืจ, ืชืขื‘ื•ืจื” ื™ื›ื•ืœื” ืœืขื–ื•ื‘ ืืช ื”ืฆื•ืžืช ื”ื–ื” ืจืง ื“ืจืš ืžื ื”ืจืช VxLAN ื•ืœื ืฉื•ื ื“ื‘ืจ ืื—ืจ. ืขื ื–ืืช, ืื ืชืคืขื™ืœ ืืช ื”-DVR, ื”ืžืฆื‘ ื™ืฉืชื ื”, ืื‘ืœ ื ื˜ืคืœ ื‘ื–ื” ื‘ืคืขื ืื—ืจืช. ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื‘ื™ื“ื•ื“ ืจืฉืช, ืœืžืฉืœ ื‘ืืžืฆืขื•ืช vlans, ืœื ื™ื”ื™ื” ืœืš ืžืžืฉืง L3 ืื—ื“ ื‘-vlan 0, ืืœื ืžืกืคืจ ืžืžืฉืงื™ื. ืขื ื–ืืช, ืชืขื‘ื•ืจืช VxLAN ืชืขื–ื•ื‘ ืืช ื”ืฆื•ืžืช ื‘ืื•ืชื• ืื•ืคืŸ, ืืš ื’ื ืžื›ื•ืกื” ื‘ืื™ื–ืฉื”ื• vlan ื™ื™ืขื•ื“ื™.

ืกื™ื“ืจื ื• ืืช ืฆื•ืžืช ื”ืžื—ืฉื•ื‘, ื‘ื•ืื• ื ืขื‘ื•ืจ ืœืฆื•ืžืช ื”ื‘ืงืจื”.


[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl dpif/show
system@ovs-system: hit:930491 missed:825
  br-ex:
    br-ex 65534/1: (internal)
    eth0 1/2: (system)
    phy-br-ex 2/none: (patch: peer=int-br-ex)
  br-int:
    br-int 65534/3: (internal)
    int-br-ex 1/none: (patch: peer=phy-br-ex)
    patch-tun 2/none: (patch: peer=patch-int)
  br-tun:
    br-tun 65534/4: (internal)
    patch-int 1/none: (patch: peer=patch-tun)
    vxlan-c0a8ff13 3/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.19)
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$

ืœืžืขืฉื”, ืืคืฉืจ ืœื•ืžืจ ืฉื”ื›ืœ ืื•ืชื• ื“ื‘ืจ, ืื‘ืœ ื›ืชื•ื‘ืช ื”-IP ื›ื‘ืจ ืœื ื ืžืฆืืช ืขืœ ื”ืžืžืฉืง ื”ืคื™ื–ื™ ืืœื ืขืœ ื”ื’ืฉืจ ื”ื•ื•ื™ืจื˜ื•ืืœื™. ื–ื” ื ืขืฉื” ืžื›ื™ื•ื•ืŸ ืฉื ืžืœ ื–ื” ื”ื•ื ื”ื ืžืœ ืฉื“ืจื›ื• ืชืฆื ื”ืชื ื•ืขื” ืืœ ื”ืขื•ืœื ื”ื—ื™ืฆื•ืŸ.


[heat-admin@overcloud-controller-0 ~]$ ifconfig br-ex
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 192.168.255.15  netmask 255.255.255.0  broadcast 192.168.255.255
        inet6 fe80::5054:ff:fe20:a22f  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:20:a2:2f  txqueuelen 1000  (Ethernet)
        RX packets 803859  bytes 1732616116 (1.6 GiB)
        RX errors 0  dropped 63  overruns 0  frame 0
        TX packets 808475  bytes 121652156 (116.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-ex
 port  VLAN  MAC                Age
    3   100  28:c0:da:00:4d:d3   35
    1     0  28:c0:da:00:4d:d3   35
    1     0  52:54:00:98:e9:d6    0
LOCAL     0  52:54:00:20:a2:2f    0
    1     0  52:54:00:2c:08:9e    0
    3   100  52:54:00:20:a2:2f    0
    1     0  52:54:00:6a:ea:be    0
[heat-admin@overcloud-controller-0 ~]$ 

ื™ืฆื™ืื” ื–ื• ืงืฉื•ืจื” ืœื’ืฉืจ br-ex ื•ืžื›ื™ื•ื•ืŸ ืฉืื™ืŸ ืขืœื™ื• ืชื’ื™ื•ืช vlan, ื™ืฆื™ืื” ื–ื• ื”ื™ื ื™ืฆื™ืืช ื˜ืจืื ืง ืฉืขืœื™ื” ืžื•ืชืจื™ื ื›ืœ ื”-vlanื™ื, ื›ืขืช ื”ืชื ื•ืขื” ื™ื•ืฆืืช ื”ื—ื•ืฆื” ืœืœื ืชื’, ื›ืคื™ ืฉืžืฆื•ื™ืŸ ืขืœ ื™ื“ื™ vlan-id 0 ื‘- ืคืœื˜ ืœืžืขืœื”.

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื›ืœ ื”ืฉืืจ ื›ืจื’ืข ื“ื•ืžื” ืœืฆื•ืžืช ื”ืžื—ืฉื•ื‘ - ืื•ืชื ื’ืฉืจื™ื, ืื•ืชืŸ ืžื ื”ืจื•ืช ืฉืขื•ื‘ืจื•ืช ืœืฉื ื™ ืฆืžืชื™ ืžื—ืฉื•ื‘.

ืœื ื ืฉืงื•ืœ ืืช ืฆืžืชื™ ื”ืื—ืกื•ืŸ ื‘ืžืืžืจ ื–ื”, ืืš ืœืฆื•ืจืš ื”ื”ื‘ื ื” ื™ืฉ ืฆื•ืจืš ืœื•ืžืจ ืฉื—ืœืง ื”ืจืฉืช ืฉืœ ื”ืฆืžืชื™ื ื”ืœืœื• ื”ื•ื ื‘ื ืืœื™ ืขื“ ื›ื“ื™ ื‘ื•ืฉื”. ื‘ืžืงืจื” ืฉืœื ื•, ื™ืฉ ืจืง ื™ืฆื™ืื” ืคื™ื–ื™ืช ืื—ืช (eth0) ืขื ื›ืชื•ื‘ืช IP ืฉื”ื•ืงืฆื” ืœื” ื•ื–ื”ื•. ืื™ืŸ ืžื ื”ืจื•ืช VxLAN, ื’ืฉืจื™ ืžื ื”ืจื•ืช ื•ื›ื•' - ืื™ืŸ ovs ื‘ื›ืœืœ, ืฉื›ืŸ ืื™ืŸ ื‘ื–ื” ื˜ืขื. ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื‘ื™ื“ื•ื“ ืจืฉืช, ืœืฆื•ืžืช ื–ื” ื™ื”ื™ื• ืฉื ื™ ืžืžืฉืงื™ื (ื™ืฆื™ืื•ืช ืคื™ื–ื™ื•ืช, ื’ื•ืฃ, ืื• ืจืง ืฉื ื™ vlans - ื–ื” ืœื ืžืฉื ื” - ืชืœื•ื™ ืžื” ืืชื” ืจื•ืฆื”) - ืื—ื“ ืœื ื™ื”ื•ืœ, ื”ืฉื ื™ ืœืชืขื‘ื•ืจื” (ื›ืชื™ื‘ื” ืœื“ื™ืกืง VM , ืงืจื™ืื” ืžื“ื™ืกืง ื•ื›ื•')

ื”ื‘ื ื• ืžื” ื™ืฉ ืœื ื• ืขืœ ื”ืฆืžืชื™ื ื‘ื”ื™ืขื“ืจ ืฉื™ืจื•ืชื™ื ื›ืœืฉื”ื. ืขื›ืฉื™ื• ื‘ื•ืื• ื ืฉื™ืง 4 ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื•ื ืจืื” ื›ื™ืฆื“ ื”ืกื›ื™ืžื” ื”ืžืชื•ืืจืช ืœืขื™ืœ ืžืฉืชื ื” - ืืžื•ืจื•ืช ืœื”ื™ื•ืช ืœื ื• ื™ืฆื™ืื•ืช, ื ืชื‘ื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ื•ื›ื•'.

ืขื“ ื›ื” ื”ืจืฉืช ืฉืœื ื• ื ืจืื™ืช ื›ืš:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื™ืฉ ืœื ื• ืฉืชื™ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื‘ื›ืœ ืฆื•ืžืช ืžื—ืฉื‘. ื‘ืขื–ืจืช compute-0 ื›ื“ื•ื’ืžื”, ื‘ื•ืื• ื ืจืื” ืื™ืš ื”ื›ืœ ื›ืœื•ืœ.


[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh list 
 Id    Name                           State
----------------------------------------------------
 1     instance-00000001              running
 3     instance-00000003              running

[heat-admin@overcloud-novacompute-0 ~]$ 

ืœืžื›ื•ื ื” ื™ืฉ ืจืง ืžืžืฉืง ื•ื™ืจื˜ื•ืืœื™ ืื—ื“ - tap95d96a75-a0:

[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap95d96a75-a0 bridge     qbr95d96a75-a0 virtio      fa:16:3e:44:98:20

[heat-admin@overcloud-novacompute-0 ~]$ 

ื”ืžืžืฉืง ื”ื–ื” ื ืจืื” ื‘ื’ืฉืจ ื”ืœื™ื ื•ืงืก:

[heat-admin@overcloud-novacompute-0 ~]$ sudo brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.0242904c92a8       no
qbr5bd37136-47          8000.5e4e05841423       no              qvb5bd37136-47
                                                        tap5bd37136-47
qbr95d96a75-a0          8000.de076cb850f6       no              qvb95d96a75-a0
                                                        tap95d96a75-a0
[heat-admin@overcloud-novacompute-0 ~]$ 

ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžื”ืคืœื˜, ื™ืฉ ืจืง ืฉื ื™ ืžืžืฉืงื™ื ื‘ื’ืฉืจ - tap95d96a75-a0 ื•-qvb95d96a75-a0.

ื›ืืŸ ื›ื“ืื™ ืœื”ืชืขื›ื‘ ืžืขื˜ ืขืœ ืกื•ื’ื™ ืžื›ืฉื™ืจื™ ื”ืจืฉืช ื”ื•ื•ื™ืจื˜ื•ืืœื™ืช ื‘-OpenStack:
vtap - ืžืžืฉืง ื•ื™ืจื˜ื•ืืœื™ ืžื—ื•ื‘ืจ ืœืžื•ืคืข (VM)
qbr - ื’ืฉืจ ืœื™ื ื•ืงืก
qvb ื•-qvo - ื–ื•ื’ vEth ืžื—ื•ื‘ืจ ืœื’ืฉืจ Linux ื•ืœ- Open vSwitch bridge
br-int, br-tun, br-vlan - ืคืชื—ื• ื’ืฉืจื™ vSwitch
patch-, int-br-, phy-br- - ืคืชื— ืžืžืฉืงื™ ืชื™ืงื•ืŸ vSwitch ื”ืžื—ื‘ืจื™ื ื’ืฉืจื™ื
qg, qr, ha, fg, sg - ืคืชื—ื• ื™ืฆื™ืื•ืช vSwitch ื”ืžืฉืžืฉื•ืช ืžื›ืฉื™ืจื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ื›ื“ื™ ืœื”ืชื—ื‘ืจ ืœ-OVS

ื›ืคื™ ืฉืืชื” ืžื‘ื™ืŸ, ืื ื™ืฉ ืœื ื• ื™ืฆื™ืืช qvb95d96a75-a0 ื‘ื’ืฉืจ, ืฉื”ื•ื ื–ื•ื’ vEth, ืื– ืื™ืคืฉื”ื• ื™ืฉ ืืช ื”ืžืงื‘ื™ืœื” ืฉืœื•, ืฉื‘ืื•ืคืŸ ื”ื’ื™ื•ื ื™ ืฆืจื™ืš ืœื”ื™ืงืจื qvo95d96a75-a0. ื‘ื•ื ื ืจืื” ืื™ืœื• ื™ืฆื™ืื•ืช ื™ืฉ ื‘-OVS.


[heat-admin@overcloud-novacompute-0 ~]$ sudo sudo ovs-appctl dpif/show
system@ovs-system: hit:526 missed:91
  br-ex:
    br-ex 65534/1: (internal)
    phy-br-ex 1/none: (patch: peer=int-br-ex)
  br-int:
    br-int 65534/2: (internal)
    int-br-ex 1/none: (patch: peer=phy-br-ex)
    patch-tun 2/none: (patch: peer=patch-int)
    qvo5bd37136-47 6/6: (system)
    qvo95d96a75-a0 3/5: (system)
  br-tun:
    br-tun 65534/3: (internal)
    patch-int 1/none: (patch: peer=patch-tun)
    vxlan-c0a8ff0f 3/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.15)
    vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$ 

ื›ืคื™ ืฉืื ื• ื™ื›ื•ืœื™ื ืœืจืื•ืช, ื”ื ืžืœ ื ืžืฆื ื‘-br-int. Br-int ืคื•ืขืœ ื›ืžืชื’ ืฉืžืกื™ื™ื ื™ืฆื™ืื•ืช ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. ื‘ื ื•ืกืฃ ืœ-qvo95d96a75-a0, ื”ื™ืฆื™ืื” qvo5bd37136-47 ื’ืœื•ื™ื” ื‘ืคืœื˜. ื–ื•ื”ื™ ื”ื™ืฆื™ืื” ืœืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ื”ืฉื ื™ื™ื”. ื›ืชื•ืฆืื” ืžื›ืš, ื”ื“ื™ืื’ืจืžื” ืฉืœื ื• ื ืจืื™ืช ื›ืขืช ื›ืš:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืฉืืœื” ืฉืืžื•ืจื” ืœืขื ื™ื™ืŸ ืžื™ื“ ืืช ื”ืงื•ืจื ื”ืงืฉื•ื‘ - ืžื”ื• ื’ืฉืจ ื”ืœื™ื ื•ืงืก ื‘ื™ืŸ ื™ืฆื™ืืช ื”ืžื›ื•ื ื” ื”ื•ื•ื™ืจื˜ื•ืืœื™ืช ืœื™ืฆื™ืืช OVS? ื”ืขื•ื‘ื“ื” ื”ื™ื ืฉื›ื“ื™ ืœื”ื’ืŸ ืขืœ ื”ืžื›ื•ื ื”, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืงื‘ื•ืฆื•ืช ืื‘ื˜ื—ื”, ืฉื”ืŸ ืœื ื™ื•ืชืจ ืžืืฉืจ iptables. OVS ืœื ืขื•ื‘ื“ ืขื iptables, ืื– ื”"ืงื‘" ื”ื–ื” ื”ื•ืžืฆื. ืขื ื–ืืช, ื”ื•ื ื”ื•ืœืš ื•ืžืชื™ื™ืฉืŸ - ื”ื•ื ืžื•ื—ืœืฃ ื‘-conntrack ื‘ืžื”ื“ื•ืจื•ืช ื—ื“ืฉื•ืช.

ื›ืœื•ืžืจ, ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ื”ืชื•ื›ื ื™ืช ื ืจืื™ืช ื›ืš:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ืฉืชื™ ืžื›ื•ื ื•ืช ืขืœ ื”ื™ืคืจื•ื•ื™ื–ืจ ืื—ื“ ื‘ืจืฉืช L2 ืื—ืช

ืžื›ื™ื•ื•ืŸ ืฉืฉื ื™ ื”-VMs ื”ืœืœื• ืžืžื•ืงืžื™ื ื‘ืื•ืชื” ืจืฉืช L2 ื•ื‘ืื•ืชื• hypervisor, ื”ืชืขื‘ื•ืจื” ื‘ื™ื ื™ื”ื ืชื–ืจื•ื ื‘ืื•ืคืŸ ืœื•ื’ื™ ืžืงื•ืžื™ ื“ืจืš br-int, ืžื›ื™ื•ื•ืŸ ืฉืฉืชื™ ื”ืžื›ื•ื ื•ืช ื™ื”ื™ื• ื‘ืื•ืชื• VLAN:


[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap95d96a75-a0 bridge     qbr95d96a75-a0 virtio      fa:16:3e:44:98:20

[heat-admin@overcloud-novacompute-0 ~]$ 
[heat-admin@overcloud-novacompute-0 ~]$ 
[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000003
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap5bd37136-47 bridge     qbr5bd37136-47 virtio      fa:16:3e:83:ad:a4

[heat-admin@overcloud-novacompute-0 ~]$ 
[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int 
 port  VLAN  MAC                Age
    6     1  fa:16:3e:83:ad:a4    0
    3     1  fa:16:3e:44:98:20    0
[heat-admin@overcloud-novacompute-0 ~]$ 

ืฉืชื™ ืžื›ื•ื ื•ืช ืขืœ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ืฉื•ื ื™ื ื‘ืื•ืชื” ืจืฉืช L2

ื›ืขืช ื ืจืื” ื›ื™ืฆื“ ืชืขื‘ื•ืจ ื”ืชืขื‘ื•ืจื” ื‘ื™ืŸ ืฉื ื™ ืžื›ื•ื ื•ืช ื‘ืื•ืชื” ืจืฉืช L2, ืืš ืžืžื•ืงืžืช ืขืœ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ืฉื•ื ื™ื. ืœืžืขืŸ ื”ืืžืช, ืฉื•ื ื“ื‘ืจ ืœื ื™ืฉืชื ื” ื”ืจื‘ื”, ืจืง ื”ืชื ื•ืขื” ื‘ื™ืŸ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ืชืขื‘ื•ืจ ื‘ืžื ื”ืจืช vxlan. ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื“ื•ื’ืžื”.

ื›ืชื•ื‘ื•ืช ืฉืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฉื‘ื™ื ื™ื”ื ื ืฆืคื” ื‘ืชื ื•ืขื”:

[heat-admin@overcloud-novacompute-0 ~]$ sudo virsh domiflist instance-00000001
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap95d96a75-a0 bridge     qbr95d96a75-a0 virtio      fa:16:3e:44:98:20

[heat-admin@overcloud-novacompute-0 ~]$ 


[heat-admin@overcloud-novacompute-1 ~]$ sudo virsh domiflist instance-00000002
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tape7e23f1b-07 bridge     qbre7e23f1b-07 virtio      fa:16:3e:72:ad:53

[heat-admin@overcloud-novacompute-1 ~]$ 

ืื ื• ืžืกืชื›ืœื™ื ืขืœ ื˜ื‘ืœืช ื”ื”ืขื‘ืจื” ื‘-br-int ื‘-compute-0:

[heat-admin@overcloud-novacompute-0 ~]$  sudo ovs-appctl fdb/show br-int | grep fa:16:3e:72:ad:53
    2     1  fa:16:3e:72:ad:53    1
[heat-admin@overcloud-novacompute-0 ~]

ื”ืชื ื•ืขื” ืฆืจื™ื›ื” ืœืขื‘ื•ืจ ืœื ืžืœ 2 - ื‘ื•ื ื ืจืื” ืื™ื–ื” ืกื•ื’ ืฉืœ ื ืžืœ ื–ื”:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:7e:7f:28:1f:bd:54
 2(patch-tun): addr:0a:bd:07:69:58:d9
 3(qvo95d96a75-a0): addr:ea:50:9a:3d:69:58
 6(qvo5bd37136-47): addr:9a:d1:03:50:3d:96
 LOCAL(br-int): addr:1a:0f:53:97:b1:49
[heat-admin@overcloud-novacompute-0 ~]$

ื–ื” patch-tun - ื›ืœื•ืžืจ ื”ืžืžืฉืง ื‘-br-tun. ื‘ื•ื ื ืจืื” ืžื” ืงื•ืจื” ืœื—ื‘ื™ืœื” ื‘-br-tun:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:72:ad:53
 cookie=0x8759a56536b67a8e, duration=1387.959s, table=20, n_packets=1460, n_bytes=138880, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:72:ad:53 actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:2
[heat-admin@overcloud-novacompute-0 ~]$ 

ื”ื—ื‘ื™ืœื” ื ืืจื–ืช ื‘-VxLAN ื•ื ืฉืœื—ืช ืœื™ืฆื™ืื” 2. ื‘ื•ืื• ื ืจืื” ืœืืŸ ื™ืฆื™ืื” 2 ืžื•ื‘ื™ืœื”:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-tun | grep addr   
 1(patch-int): addr:b2:d1:f8:21:96:66
 2(vxlan-c0a8ff1a): addr:be:64:1f:75:78:a7
 3(vxlan-c0a8ff0f): addr:76:6f:b9:3c:3f:1c
 LOCAL(br-tun): addr:a2:5b:6d:4f:94:47
[heat-admin@overcloud-novacompute-0 ~]$

ื–ื•ื”ื™ ืžื ื”ืจืช vxlan ืขืœ compute-1:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl dpif/show | egrep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/4: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.19, remote_ip=192.168.255.26)
[heat-admin@overcloud-novacompute-0 ~]$

ื‘ื•ื ื ืœืš ืœืžื—ืฉื‘-1 ื•ื ืจืื” ืžื” ืงื•ืจื” ื”ืœืื” ืขื ื”ื—ื‘ื™ืœื”:

[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:44:98:20
    2     1  fa:16:3e:44:98:20    1
[heat-admin@overcloud-novacompute-1 ~]$ 

Mac ื ืžืฆื ื‘ื˜ื‘ืœืช ื”ื”ืขื‘ืจื” ืฉืœ br-int ื‘-compute-1, ื•ื›ืคื™ ืฉื ื™ืชืŸ ืœืจืื•ืช ืžื”ืคืœื˜ ืœืžืขืœื”, ื”ื•ื ื ืจืื” ื“ืจืš ื™ืฆื™ืื” 2, ืฉื”ื™ื ื”ื™ืฆื™ืื” ืœื›ื™ื•ื•ืŸ br-tun:

[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-ofctl show br-int | grep addr   
 1(int-br-ex): addr:8a:d7:f9:ad:8c:1d
 2(patch-tun): addr:46:cc:40:bd:20:da
 3(qvoe7e23f1b-07): addr:12:78:2e:34:6a:c7
 4(qvo3210e8ec-c0): addr:7a:5f:59:75:40:85
 LOCAL(br-int): addr:e2:27:b2:ed:14:46

ื•ื‘ื›ืŸ, ืื– ืื ื—ื ื• ืจื•ืื™ื ืฉื‘-br-int ื‘-compute-1 ื™ืฉ ืคืจื’ ื™ืขื“:

[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:72:ad:53
    3     1  fa:16:3e:72:ad:53    0
[heat-admin@overcloud-novacompute-1 ~]$ 

ื›ืœื•ืžืจ, ื”ื—ื‘ื™ืœื” ื”ืžืชืงื‘ืœืช ืชื˜ื•ืก ืœื™ืฆื™ืื” 3, ืฉืžืื—ื•ืจื™ื” ื›ื‘ืจ ื™ืฉ ืžื•ืคืข ืฉืœ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช-00000003.

ื”ื™ื•ืคื™ ื‘ืคืจื™ืกืช Openstack ืœืœืžื™ื“ื” ืขืœ ืชืฉืชื™ืช ื•ื™ืจื˜ื•ืืœื™ืช ื”ื•ื ืฉืื ื• ื™ื›ื•ืœื™ื ื‘ืงืœื•ืช ืœืชืคื•ืก ืชืขื‘ื•ืจื” ื‘ื™ืŸ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ื•ืœืจืื•ืช ืžื” ืงื•ืจื” ืื™ืชื”. ื–ื” ืžื” ืฉื ืขืฉื” ืขื›ืฉื™ื•, ืชืจื™ืฅ ืืช tcpdump ื‘ื™ืฆื™ืืช vnet ืœื›ื™ื•ื•ืŸ compute-0:


[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet3
tcpdump: listening on vnet3, link-type EN10MB (Ethernet), capture size 262144 bytes

*****************omitted*******************

04:39:04.583459 IP (tos 0x0, ttl 64, id 16868, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.19.39096 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 8012, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.85 > 10.0.1.88: ICMP echo request, id 5634, seq 16, length 64
04:39:04.584449 IP (tos 0x0, ttl 64, id 35181, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.26.speedtrace-disc > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 59124, offset 0, flags [none], proto ICMP (1), length 84)
    10.0.1.88 > 10.0.1.85: ICMP echo reply, id 5634, seq 16, length 64
	
*****************omitted*******************

ื”ืฉื•ืจื” ื”ืจืืฉื•ื ื” ืžืจืื” ืฉ-Patek ืžื›ืชื•ื‘ืช 10.0.1.85 ืขื•ื‘ืจืช ืœื›ืชื•ื‘ืช 10.0.1.88 (ืชืขื‘ื•ืจืช ICMP), ื•ื”ื™ื ืขื˜ื•ืคื” ื‘ื—ื‘ื™ืœืช VxLAN ืขื vni 22 ื•ื”ืžื ื” ืขื•ื‘ืจืช ืžื”ืžืืจื— 192.168.255.19 (compute-0) ืœืžืืจื— 192.168.255.26 .1 (ื—ื™ืฉื•ื‘-XNUMX). ืื ื• ื™ื›ื•ืœื™ื ืœื‘ื“ื•ืง ืฉื”-VNI ืชื•ืื ืœื–ื” ืฉืฆื•ื™ืŸ ื‘-ovs.

ื ื—ื–ื•ืจ ืœืฉื•ืจื” ื–ื• actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],ืคืœื˜:2. 0x16 ื”ื•ื vni ื‘ืžืขืจื›ืช ื”ืžืกืคืจื™ื ื”ืงืกื“ืฆื™ืžืœื™ืช. ื‘ื•ืื• ื ืžื™ืจ ืืช ื”ืžืกืคืจ ื”ื–ื” ืœืžืขืจื›ืช ื”ืขืฉื™ืจื™ืช:


16 = 6*16^0+1*16^1 = 6+16 = 22

ื›ืœื•ืžืจ, vni ืชื•ืื ืืช ื”ืžืฆื™ืื•ืช.

ื”ืฉื•ืจื” ื”ืฉื ื™ื™ื” ืžืฆื™ื’ื” ืชื ื•ืขื” ื—ื•ื–ืจืช, ื˜ื•ื‘, ืื™ืŸ ื˜ืขื ืœื”ืกื‘ื™ืจ ืืช ื–ื”, ื”ื›ืœ ื‘ืจื•ืจ ืฉื.

ืฉื ื™ ืžื›ื•ื ื•ืช ื‘ืจืฉืชื•ืช ืฉื•ื ื•ืช (ื ื™ืชื•ื‘ ื‘ื™ืŸ ืจืฉืชื•ืช)

ื”ืžืงืจื” ื”ืื—ืจื•ืŸ ืœื”ื™ื•ื ื”ื•ื ื ื™ืชื•ื‘ ื‘ื™ืŸ ืจืฉืชื•ืช ื‘ืชื•ืš ืคืจื•ื™ืงื˜ ืื—ื“ ื‘ืืžืฆืขื•ืช ื ืชื‘ ื•ื™ืจื˜ื•ืืœื™. ืื ื• ืฉื•ืงืœื™ื ืžืงืจื” ืœืœื DVR (ื ืกืชื›ืœ ืขืœ ื–ื” ื‘ืžืืžืจ ืื—ืจ), ื•ืœื›ืŸ ื”ื ื™ืชื•ื‘ ืžืชืจื—ืฉ ื‘ืฆื•ืžืช ื”ืจืฉืช. ื‘ืžืงืจื” ืฉืœื ื•, ืฆื•ืžืช ื”ืจืฉืช ืื™ื ื• ืžืžื•ืงื ื‘ื™ืฉื•ืช ื ืคืจื“ืช ื•ื”ื•ื ืžืžื•ืงื ืขืœ ืฆื•ืžืช ื”ื‘ืงืจื”.

ืจืืฉื™ืช, ื‘ื•ืื• ื ืจืื” ืฉื”ื ื™ืชื•ื‘ ืขื•ื‘ื“:

$ ping 10.0.2.8
PING 10.0.2.8 (10.0.2.8): 56 data bytes
64 bytes from 10.0.2.8: seq=0 ttl=63 time=7.727 ms
64 bytes from 10.0.2.8: seq=1 ttl=63 time=3.832 ms
^C
--- 10.0.2.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 3.832/5.779/7.727 ms

ืžื›ื™ื•ื•ืŸ ืฉื‘ืžืงืจื” ื–ื” ื”ื—ื‘ื™ืœื” ื—ื™ื™ื‘ืช ืœืœื›ืช ืœืฉืขืจ ื•ืœื”ื™ื•ืช ืžื ื•ืชื‘ืช ืœืฉื, ืขืœื™ื ื• ืœื‘ืจืจ ืืช ื›ืชื•ื‘ืช ื”-MAC ืฉืœ ื”ืฉืขืจ, ืฉืขื‘ื•ืจื” ืื ื• ืžืกืชื›ืœื™ื ืขืœ ื˜ื‘ืœืช ื”-ARP ื‘ืžื•ืคืข:

$ arp
host-10-0-1-254.openstacklocal (10.0.1.254) at fa:16:3e:c4:64:70 [ether]  on eth0
host-10-0-1-1.openstacklocal (10.0.1.1) at fa:16:3e:e6:2c:5c [ether]  on eth0
host-10-0-1-90.openstacklocal (10.0.1.90) at fa:16:3e:83:ad:a4 [ether]  on eth0
host-10-0-1-88.openstacklocal (10.0.1.88) at fa:16:3e:72:ad:53 [ether]  on eth0

ื›ืขืช ื ืจืื” ืœืืŸ ื™ืฉ ืœืฉืœื•ื— ืืช ื”ืชื ื•ืขื” ืขื ื”ื™ืขื“ (10.0.1.254) fa:16:3e:c4:64:70:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-appctl fdb/show br-int | egrep fa:16:3e:c4:64:70
    2     1  fa:16:3e:c4:64:70    0
[heat-admin@overcloud-novacompute-0 ~]$ 

ื‘ื•ืื• ื ืกืชื›ืœ ืœืืŸ ืžื•ื‘ื™ืœื” ื™ืฆื™ืื” 2:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:7e:7f:28:1f:bd:54
 2(patch-tun): addr:0a:bd:07:69:58:d9
 3(qvo95d96a75-a0): addr:ea:50:9a:3d:69:58
 6(qvo5bd37136-47): addr:9a:d1:03:50:3d:96
 LOCAL(br-int): addr:1a:0f:53:97:b1:49
[heat-admin@overcloud-novacompute-0 ~]$ 

ื”ื›ืœ ื”ื’ื™ื•ื ื™, ื”ืชื ื•ืขื” ืขื•ื‘ืจืช ืœ-br-tun. ื‘ื•ื ื ืจืื” ื‘ืื™ื–ื• ืžื ื”ืจืช vxlan ื”ื•ื ื™ื”ื™ื” ืขื˜ื•ืฃ:

[heat-admin@overcloud-novacompute-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:c4:64:70
 cookie=0x8759a56536b67a8e, duration=3514.566s, table=20, n_packets=3368, n_bytes=317072, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:c4:64:70 actions=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],output:3
[heat-admin@overcloud-novacompute-0 ~]$ 

ื”ื™ืฆื™ืื” ื”ืฉืœื™ืฉื™ืช ื”ื™ื ืžื ื”ืจืช vxlan:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
 1(patch-int): addr:a2:69:00:c5:fa:ba
 2(vxlan-c0a8ff1a): addr:86:f0:ce:d0:e8:ea
 3(vxlan-c0a8ff13): addr:72:aa:73:2c:2e:5b
 LOCAL(br-tun): addr:a6:cb:cd:72:1c:45
[heat-admin@overcloud-controller-0 ~]$ 

ืžื” ืฉืžืกืชื›ืœ ืขืœ ืฆื•ืžืช ื”ื‘ืงืจื”:

[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$ 

ื”ืชืขื‘ื•ืจื” ื”ื’ื™ืขื” ืœืฆื•ืžืช ื”ื‘ืงืจื”, ืื– ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืœื›ืช ืืœื™ื• ื•ืœืจืื•ืช ืื™ืš ื”ื ื™ืชื•ื‘ ื™ืงืจื”.

ื›ื–ื›ื•ืจ, ืฆื•ืžืช ื”ื‘ืงืจื” ื‘ืคื ื™ื ื ืจืื” ื‘ื“ื™ื•ืง ื›ืžื• ืฆื•ืžืช ื”ืžื—ืฉื•ื‘ - ืื•ืชื ืฉืœื•ืฉื” ื’ืฉืจื™ื, ืจืง ืœ-br-ex ื”ื™ื” ื™ืฆื™ืื” ืคื™ื–ื™ืช ืฉื“ืจื›ื” ื”ืฆื•ืžืช ื™ื›ื•ืœ ืœืฉืœื•ื— ืชืขื‘ื•ืจื” ื”ื—ื•ืฆื”. ื™ืฆื™ืจืช ื”ืžื•ืคืขื™ื ืฉื™ื ืชื” ืืช ื”ืชืฆื•ืจื” ื‘ืฆืžืชื™ ื”ืžื—ืฉื•ื‘ - ื’ืฉืจ linux, iptables ื•ืžืžืฉืงื™ื ื ื•ืกืคื• ืœืฆืžืชื™ื. ื™ืฆื™ืจืช ืจืฉืชื•ืช ื•ื ืชื‘ ื•ื™ืจื˜ื•ืืœื™ ื”ื•ืชื™ืจื” ืืช ื—ื•ืชืžื” ื’ื ืขืœ ืชืฆื•ืจืช ืฆื•ืžืช ื”ื‘ืงืจื”.

ืื– ื‘ืจื•ืจ ืฉื›ืชื•ื‘ืช ื”-MAC ืฉืœ ื”ืฉืขืจ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื‘ื˜ื‘ืœืช ื”ื”ืขื‘ืจื” br-int ื‘ืฆื•ืžืช ื”ื‘ืงืจื”. ื‘ื•ื ื ื‘ื“ื•ืง ืฉื”ื•ื ืฉื ื•ืื™ืคื” ื”ื•ื ืžืกืชื›ืœ:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:c4:64:70
    5     1  fa:16:3e:c4:64:70    1
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$  sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:2e:58:b6:db:d5:de
 2(patch-tun): addr:06:41:90:f0:9e:56
 3(tapca25a97e-64): addr:fa:16:3e:e6:2c:5c
 4(tap22015e46-0b): addr:fa:16:3e:76:c2:11
 5(qr-0c52b15f-8f): addr:fa:16:3e:c4:64:70
 6(qr-92fa49b5-54): addr:fa:16:3e:80:13:72
 LOCAL(br-int): addr:06:de:5d:ed:44:44
[heat-admin@overcloud-controller-0 ~]$ 

ื”-Mac ื’ืœื•ื™ ืžื”ื™ืฆื™ืื” qr-0c52b15f-8f. ืื ื ื—ื–ื•ืจ ืœืจืฉื™ืžืช ื”ืคื•ืจื˜ื™ื ื”ื•ื•ื™ืจื˜ื•ืืœื™ื™ื ื‘-Openstack, ืกื•ื’ ื–ื” ืฉืœ ื™ืฆื™ืื” ืžืฉืžืฉ ืœื—ื™ื‘ื•ืจ ืžื›ืฉื™ืจื™ื ื•ื™ืจื˜ื•ืืœื™ื™ื ืฉื•ื ื™ื ืœ-OVS. ืœื™ืชืจ ื“ื™ื•ืง, qr ื”ื•ื ื™ืฆื™ืื” ืœื ืชื‘ ื”ื•ื•ื™ืจื˜ื•ืืœื™, ื”ืžื™ื•ืฆื’ ื›ืžืจื—ื‘ ืฉืžื•ืช.

ื‘ื•ื ื ืจืื” ืื™ืœื• ืžืจื—ื‘ื™ ืฉืžื•ืช ื™ืฉ ื‘ืฉืจืช:

[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns
qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe (id: 2)
qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 (id: 1)
qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 (id: 0)
[heat-admin@overcloud-controller-0 ~]$ 

ืขื“ ืฉืœื•ืฉื” ืขื•ืชืงื™ื. ืื‘ืœ ืื ืœืฉืคื•ื˜ ืœืคื™ ื”ืฉืžื•ืช, ืืชื” ื™ื›ื•ืœ ืœื ื—ืฉ ืืช ื”ืžื˜ืจื” ืฉืœ ื›ืœ ืื—ื“ ืžื”ื. ื ื—ื–ื•ืจ ืœืžื•ืคืขื™ื ืขื ืžื–ื”ื” 0 ื•-1 ืžืื•ื—ืจ ื™ื•ืชืจ, ื›ืขืช ืื ื• ืžืขื•ื ื™ื™ื ื™ื ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe:


[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ip route
10.0.1.0/24 dev qr-0c52b15f-8f proto kernel scope link src 10.0.1.254 
10.0.2.0/24 dev qr-92fa49b5-54 proto kernel scope link src 10.0.2.254 
[heat-admin@overcloud-controller-0 ~]$ 

ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ื–ื” ืžื›ื™ืœ ืฉื ื™ื™ื ืคื ื™ืžื™ื™ื ืฉื™ืฆืจื ื• ืงื•ื“ื ืœื›ืŸ. ืฉืชื™ ื”ื™ืฆื™ืื•ืช ื”ื•ื™ืจื˜ื•ืืœื™ื•ืช ื ื•ืกืคื• ืœ-br-int. ื‘ื•ืื• ื ื‘ื“ื•ืง ืืช ื›ืชื•ื‘ืช ื”-mac ืฉืœ ื”ื™ืฆื™ืื” qr-0c52b15f-8f, ืžื›ื™ื•ื•ืŸ ืฉื”ืชืขื‘ื•ืจื”, ืื ืœืฉืคื•ื˜ ืœืคื™ ื›ืชื•ื‘ืช ื”-mac ื”ื™ืขื“, ืขื‘ืจื” ืœืžืžืฉืง ื”ื–ื”.

[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe ifconfig qr-0c52b15f-8f
qr-0c52b15f-8f: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.0.1.254  netmask 255.255.255.0  broadcast 10.0.1.255
        inet6 fe80::f816:3eff:fec4:6470  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:c4:64:70  txqueuelen 1000  (Ethernet)
        RX packets 5356  bytes 427305 (417.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5195  bytes 490603 (479.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[heat-admin@overcloud-controller-0 ~]$ 

ื›ืœื•ืžืจ, ื‘ืžืงืจื” ื”ื–ื” ื”ื›ืœ ืขื•ื‘ื“ ืœืคื™ ื—ื•ืงื™ ื”ื ื™ืชื•ื‘ ื”ืกื˜ื ื“ืจื˜ื™. ืžื›ื™ื•ื•ืŸ ืฉื”ืชืขื‘ื•ืจื” ืžื™ื•ืขื“ืช ืœืžืืจื— 10.0.2.8, ืขืœื™ื” ืœืฆืืช ื“ืจืš ื”ืžืžืฉืง ื”ืฉื ื™ qr-92fa49b5-54 ื•ืœืขื‘ื•ืจ ื“ืจืš ืžื ื”ืจืช vxlan ืœืฆื•ืžืช ื”ื—ื™ืฉื•ื‘:


[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns exec qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.0.1.88                ether   fa:16:3e:72:ad:53   C                     qr-0c52b15f-8f
10.0.1.90                ether   fa:16:3e:83:ad:a4   C                     qr-0c52b15f-8f
10.0.2.8                 ether   fa:16:3e:6c:ad:9c   C                     qr-92fa49b5-54
10.0.2.42                ether   fa:16:3e:f5:0b:29   C                     qr-92fa49b5-54
10.0.1.85                ether   fa:16:3e:44:98:20   C                     qr-0c52b15f-8f
[heat-admin@overcloud-controller-0 ~]$ 

ื”ื›ืœ ื”ื’ื™ื•ื ื™, ืื™ืŸ ื”ืคืชืขื•ืช. ื‘ื•ื ื ืจืื” ื”ื™ื›ืŸ ืžื•ืคื™ืขื” ื›ืชื•ื‘ืช ื”ืคืจื’ ืฉืœ ื”ืžืืจื— 10.0.2.8 ื‘-br-int:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:6c:ad:9c
    2     2  fa:16:3e:6c:ad:9c    1
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-int | grep addr
 1(int-br-ex): addr:2e:58:b6:db:d5:de
 2(patch-tun): addr:06:41:90:f0:9e:56
 3(tapca25a97e-64): addr:fa:16:3e:e6:2c:5c
 4(tap22015e46-0b): addr:fa:16:3e:76:c2:11
 5(qr-0c52b15f-8f): addr:fa:16:3e:c4:64:70
 6(qr-92fa49b5-54): addr:fa:16:3e:80:13:72
 LOCAL(br-int): addr:06:de:5d:ed:44:44
[heat-admin@overcloud-controller-0 ~]$ 

ื›ืฆืคื•ื™, ื”ืชื ื•ืขื” ืขื•ื‘ืจืช ืœ-br-tun, ื‘ื•ืื• ื ืจืื” ืœืื™ื–ื• ืžื ื”ืจื” ื”ืชื ื•ืขื” ืขื•ื‘ืจืช ื”ื‘ืื”:

[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl dump-flows br-tun | grep fa:16:3e:6c:ad:9c
 cookie=0x2ab04bf27114410e, duration=5346.829s, table=20, n_packets=5248, n_bytes=498512, hard_timeout=300, idle_age=0, hard_age=0, priority=1,vlan_tci=0x0002/0x0fff,dl_dst=fa:16:3e:6c:ad:9c actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2
[heat-admin@overcloud-controller-0 ~]$
[heat-admin@overcloud-controller-0 ~]$ sudo ovs-ofctl show br-tun | grep addr
 1(patch-int): addr:a2:69:00:c5:fa:ba
 2(vxlan-c0a8ff1a): addr:86:f0:ce:d0:e8:ea
 3(vxlan-c0a8ff13): addr:72:aa:73:2c:2e:5b
 LOCAL(br-tun): addr:a6:cb:cd:72:1c:45
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$ 

ื”ืชื ื•ืขื” ื ื›ื ืกืช ืœืžื ื”ืจื” ื›ื“ื™ ืœื—ืฉื‘-1. ื•ื‘ื›ืŸ, ื‘-compute-1 ื”ื›ืœ ืคืฉื•ื˜ - ืž-br-tun ื”ื—ื‘ื™ืœื” ืขื•ื‘ืจืช ืœ-br-int ื•ืžืฉื ืœืžืžืฉืง ื”ืžื›ื•ื ื” ื”ื•ื™ืจื˜ื•ืืœื™ืช:

[heat-admin@overcloud-controller-0 ~]$ sudo sudo ovs-appctl dpif/show | grep vxlan-c0a8ff1a
    vxlan-c0a8ff1a 2/5: (vxlan: egress_pkt_mark=0, key=flow, local_ip=192.168.255.15, remote_ip=192.168.255.26)
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-appctl fdb/show br-int | grep fa:16:3e:6c:ad:9c
    4     2  fa:16:3e:6c:ad:9c    1
[heat-admin@overcloud-novacompute-1 ~]$ sudo ovs-ofctl show br-int | grep addr                  
 1(int-br-ex): addr:8a:d7:f9:ad:8c:1d
 2(patch-tun): addr:46:cc:40:bd:20:da
 3(qvoe7e23f1b-07): addr:12:78:2e:34:6a:c7
 4(qvo3210e8ec-c0): addr:7a:5f:59:75:40:85
 LOCAL(br-int): addr:e2:27:b2:ed:14:46
[heat-admin@overcloud-novacompute-1 ~]$ 

ื‘ื•ืื• ื ื‘ื“ื•ืง ืฉื–ื” ืื›ืŸ ื”ืžืžืฉืง ื”ื ื›ื•ืŸ:

[heat-admin@overcloud-novacompute-1 ~]$ brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.02429c001e1c       no
qbr3210e8ec-c0          8000.ea27f45358be       no              qvb3210e8ec-c0
                                                        tap3210e8ec-c0
qbre7e23f1b-07          8000.b26ac0eded8a       no              qvbe7e23f1b-07
                                                        tape7e23f1b-07
[heat-admin@overcloud-novacompute-1 ~]$ 
[heat-admin@overcloud-novacompute-1 ~]$ sudo virsh domiflist instance-00000004
Interface  Type       Source     Model       MAC
-------------------------------------------------------
tap3210e8ec-c0 bridge     qbr3210e8ec-c0 virtio      fa:16:3e:6c:ad:9c

[heat-admin@overcloud-novacompute-1 ~]$

ืœืžืขืฉื”, ืขื‘ืจื ื• ืืช ื›ืœ ื”ื“ืจืš ื‘ื—ื‘ื™ืœื”. ืื ื™ ื—ื•ืฉื‘ ืฉืฉืžืช ืœื‘ ืฉื”ืชื ื•ืขื” ืขื‘ืจื” ื“ืจืš ืžื ื”ืจื•ืช vxlan ืฉื•ื ื•ืช ื•ื™ืฆืื” ืขื VNIs ืฉื•ื ื™ื. ื‘ื•ืื• ื ืจืื” ื‘ืื™ื–ื” ืกื•ื’ VNI ืžื“ื•ื‘ืจ, ืฉืœืื—ืจื™ื• ื ืืกื•ืฃ dump ืขืœ ื™ืฆื™ืืช ื”ื‘ืงืจื” ืฉืœ ื”ืฆื•ืžืช ื•ื ื•ื•ื“ื ืฉื”ืชืขื‘ื•ืจื” ื–ื•ืจืžืช ื‘ื“ื™ื•ืง ื›ืคื™ ืฉืชื•ืืจ ืœืขื™ืœ.
ืื–, ืœืžื ื”ืจื” ืœื—ื™ืฉื•ื‘-0 ื™ืฉ ืืช ื”ืคืขื•ืœื•ืช ื”ื‘ืื•ืช=load:0->NXM_OF_VLAN_TCI[],load:0x16->NXM_NX_TUN_ID[],ืคืœื˜:3. ื‘ื•ืื• ื ืžื™ืจ 0x16 ืœืžืขืจื›ืช ื”ืžืกืคืจื™ื ื”ืขืฉืจื•ื ื™ืช:


0x16 = 6*16^0+1*16^1 = 6+16 = 22

ืœืžื ื”ืจื” ืœื—ื™ืฉื•ื‘-1 ื™ืฉ ืืช ื”-VNI:actions=load:0->NXM_OF_VLAN_TCI[],load:0x63->NXM_NX_TUN_ID[],output:2. ื‘ื•ืื• ื ืžื™ืจ 0x63 ืœืžืขืจื›ืช ื”ืžืกืคืจื™ื ื”ืขืฉืจื•ื ื™ืช:


0x63 = 3*16^0+6*16^1 = 3+96 = 99

ื•ื‘ื›ืŸ, ืขื›ืฉื™ื• ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ืžื–ื‘ืœื”:

[root@hp-gen9 bormoglotx]# tcpdump -vvv -i vnet4 
tcpdump: listening on vnet4, link-type EN10MB (Ethernet), capture size 262144 bytes

*****************omitted*******************

04:35:18.709949 IP (tos 0x0, ttl 64, id 48650, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.19.41591 > 192.168.255.15.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 64, id 49042, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.85 > 10.0.2.8: ICMP echo request, id 5378, seq 9, length 64
04:35:18.710159 IP (tos 0x0, ttl 64, id 23360, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.15.38983 > 192.168.255.26.4789: [no cksum] VXLAN, flags [I] (0x08), vni 99
IP (tos 0x0, ttl 63, id 49042, offset 0, flags [DF], proto ICMP (1), length 84)
    10.0.1.85 > 10.0.2.8: ICMP echo request, id 5378, seq 9, length 64
04:35:18.711292 IP (tos 0x0, ttl 64, id 43596, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.26.42588 > 192.168.255.15.4789: [no cksum] VXLAN, flags [I] (0x08), vni 99
IP (tos 0x0, ttl 64, id 55103, offset 0, flags [none], proto ICMP (1), length 84)
    10.0.2.8 > 10.0.1.85: ICMP echo reply, id 5378, seq 9, length 64
04:35:18.711531 IP (tos 0x0, ttl 64, id 8555, offset 0, flags [DF], proto UDP (17), length 134)
    192.168.255.15.38983 > 192.168.255.19.4789: [no cksum] VXLAN, flags [I] (0x08), vni 22
IP (tos 0x0, ttl 63, id 55103, offset 0, flags [none], proto ICMP (1), length 84)
    10.0.2.8 > 10.0.1.85: ICMP echo reply, id 5378, seq 9, length 64
	
*****************omitted*******************

ื”ื—ื‘ื™ืœื” ื”ืจืืฉื•ื ื” ื”ื™ื ื—ื‘ื™ืœืช vxlan ืžื”ืžืืจื— 192.168.255.19 (compute-0) ืœืžืืจื— 192.168.255.15 (control-1) ืขื vni 22, ืฉื‘ืชื•ื›ื” ืืจื•ื–ื” ื—ื‘ื™ืœืช ICMP ืžื”ืžืืจื— 10.0.1.85 ืœืžืืจื— 10.0.2.8. ื›ืคื™ ืฉื—ื™ืฉื‘ื ื• ืœืžืขืœื”, vni ืชื•ืื ืœืžื” ืฉืจืื™ื ื• ื‘ืคืœื˜.

ื”ื—ื‘ื™ืœื” ื”ืฉื ื™ื™ื” ื”ื™ื ื—ื‘ื™ืœืช vxlan ืžืžืืจื— โ€‹โ€‹192.168.255.15 (control-1) ืœืžืืจื— 192.168.255.26 (compute-1) ืขื vni 99, ืฉื‘ืชื•ื›ื” ืืจื•ื–ื” ื—ื‘ื™ืœืช ICMP ืžื”ืžืืจื— 10.0.1.85 ืœืžืืจื— 10.0.2.8. ื›ืคื™ ืฉื—ื™ืฉื‘ื ื• ืœืžืขืœื”, vni ืชื•ืื ืœืžื” ืฉืจืื™ื ื• ื‘ืคืœื˜.

ืฉืชื™ ื”ื—ื‘ื™ืœื•ืช ื”ื‘ืื•ืช ื”ืŸ ืชืขื‘ื•ืจื” ื—ื•ื–ืจืช ืž-10.0.2.8 ื•ืœื ืž-10.0.1.85.

ื›ืœื•ืžืจ, ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืงื™ื‘ืœื ื• ืืช ืขืจื›ืช ืฆื•ืžืช ื”ื‘ืงืจื” ื”ื‘ืื”:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื ืจืื” ืฉื–ื”ื•? ืฉื›ื—ื ื• ืžืฉื ื™ ืžืจื—ื‘ื™ ืฉืžื•ืช:

[heat-admin@overcloud-controller-0 ~]$ sudo  ip netns
qrouter-0a4d2420-4b9c-46bd-aec1-86a1ef299abe (id: 2)
qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 (id: 1)
qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 (id: 0)
[heat-admin@overcloud-controller-0 ~]$ 

ื›ืคื™ ืฉื“ื™ื‘ืจื ื• ืขืœ ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืœ ืคืœื˜ืคื•ืจืžืช ื”ืขื ืŸ, ื–ื” ื™ื”ื™ื” ื˜ื•ื‘ ืื ืžื›ื•ื ื•ืช ื™ืงื‘ืœื• ื›ืชื•ื‘ื•ืช ืื•ื˜ื•ืžื˜ื™ืช ืžืฉืจืช DHCP. ืืœื• ืฉื ื™ ืฉืจืชื™ DHCP ืขื‘ื•ืจ ืฉืชื™ ื”ืจืฉืชื•ืช ืฉืœื ื• 10.0.1.0/24 ื•-10.0.2.0/24.

ื‘ื•ื ื ื‘ื“ื•ืง ืฉื–ื” ื ื›ื•ืŸ. ื™ืฉ ืจืง ื›ืชื•ื‘ืช ืื—ืช ื‘ืžืจื—ื‘ ื”ืฉืžื•ืช ื”ื–ื” - 10.0.1.1 - ื”ื›ืชื•ื‘ืช ืฉืœ ืฉืจืช ื”-DHCP ืขืฆืžื•, ื•ื”ื™ื ื›ืœื•ืœื” ื’ื ื‘-br-int:

[heat-admin@overcloud-controller-0 ~]$ sudo ip netns exec qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1  bytes 28 (28.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 28 (28.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tapca25a97e-64: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
        inet 10.0.1.1  netmask 255.255.255.0  broadcast 10.0.1.255
        inet6 fe80::f816:3eff:fee6:2c5c  prefixlen 64  scopeid 0x20<link>
        ether fa:16:3e:e6:2c:5c  txqueuelen 1000  (Ethernet)
        RX packets 129  bytes 9372 (9.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 49  bytes 6154 (6.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ื‘ื•ืื• ื ืจืื” ืื โ€‹โ€‹ืชื”ืœื™ื›ื™ื ื”ืžื›ื™ืœื™ื qdhcp-67a3798c-32c0-4c18-8502-2531247e3cc2 ื‘ืฉืžื ื‘ืฆื•ืžืช ื”ื‘ืงืจื”:


[heat-admin@overcloud-controller-0 ~]$ ps -aux | egrep qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 
root      640420  0.0  0.0   4220   348 ?        Ss   11:31   0:00 dumb-init --single-child -- ip netns exec qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638 /usr/sbin/dnsmasq -k --no-hosts --no-resolv --pid-file=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/host --addn-hosts=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/opts --dhcp-leasefile=/var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/leases --dhcp-match=set:ipxe,175 --local-service --bind-dynamic --dhcp-range=set:subnet-335552dd-b35b-456b-9df0-5aac36a3ca13,10.0.2.0,static,255.255.255.0,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
heat-ad+  951620  0.0  0.0 112944   980 pts/0    S+   18:50   0:00 grep -E --color=auto qdhcp-7d541e74-1c36-4e1d-a7c4-0968c8dbc638
[heat-admin@overcloud-controller-0 ~]$ 

ื™ืฉ ืชื”ืœื™ืš ื›ื–ื” ื•ื‘ื”ืชื‘ืกืก ืขืœ ื”ืžื™ื“ืข ืฉื”ื•ืฆื’ ื‘ืคืœื˜ ืœืžืขืœื”, ื ื•ื›ืœ, ืœืžืฉืœ, ืœืจืื•ืช ืžื” ื™ืฉ ืœื ื• ื›ืจื’ืข ืœื”ืฉื›ืจื”:

[heat-admin@overcloud-controller-0 ~]$ cat /var/lib/neutron/dhcp/7d541e74-1c36-4e1d-a7c4-0968c8dbc638/leases
1597492111 fa:16:3e:6c:ad:9c 10.0.2.8 host-10-0-2-8 01:fa:16:3e:6c:ad:9c
1597491115 fa:16:3e:76:c2:11 10.0.2.1 host-10-0-2-1 *
[heat-admin@overcloud-controller-0 ~]$

ื›ืชื•ืฆืื” ืžื›ืš, ืื ื• ืžืงื‘ืœื™ื ืืช ืงื‘ื•ืฆืช ื”ืฉื™ืจื•ืชื™ื ื”ื‘ืื” ื‘ืฆื•ืžืช ื”ื‘ืงืจื”:

ื”ื™ื›ืจื•ืช ืขื ื—ืœืง ื”ืจืฉืช ื‘ืชืฉืชื™ืช ื”ืขื ืŸ

ื•ื‘ื›ืŸ, ื–ื›ื•ืจ - ื–ื” ืจืง 4 ืžื›ื•ื ื•ืช, 2 ืจืฉืชื•ืช ืคื ื™ืžื™ื•ืช ื•ื ืชื‘ ื•ื™ืจื˜ื•ืืœื™ ืื—ื“... ืื™ืŸ ืœื ื• ื›ืืŸ ืจืฉืชื•ืช ื—ื™ืฆื•ื ื™ื•ืช ืขื›ืฉื™ื•, ื—ื‘ื•ืจื” ืฉืœ ืคืจื•ื™ืงื˜ื™ื ืฉื•ื ื™ื, ืฉืœื›ืœ ืื—ื“ ืจืฉืชื•ืช ืžืฉืœื• (ื—ื•ืคืคื•ืช), ื•ื™ืฉ ืœื ื• ื ืชื‘ ืžื‘ื•ื–ืจ ื›ื‘ื•ื™, ื•ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืื—ืจื™ ื”ื›ืœ, ื”ื™ื” ืจืง โ€‹โ€‹ืฆื•ืžืช ื‘ืงืจื” ืื—ื“ ื‘ืกืคืกืœ ื”ื‘ื“ื™ืงื” (ืขื‘ื•ืจ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžื ื™ื™ืŸ ืฉืœ ืฉืœื•ืฉื” ืฆืžืชื™ื). ื–ื” ื”ื’ื™ื•ื ื™ ืฉื‘ืžืกื—ืจ ื”ื›ืœ "ืงืฆืช" ื™ื•ืชืจ ืžืกื•ื‘ืš, ืื‘ืœ ื‘ื“ื•ื’ืžื” ื”ืคืฉื•ื˜ื” ื”ื–ื• ืื ื—ื ื• ืžื‘ื™ื ื™ื ืื™ืš ื–ื” ืฆืจื™ืš ืœืขื‘ื•ื“ - ืื ื™ืฉ ืœืš 3 ืื• 300 ืžืจื—ื‘ื™ ืฉืžื•ืช ื–ื” ื›ืžื•ื‘ืŸ ื—ืฉื•ื‘, ืื‘ืœ ืžื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœ ื”ืคืขื•ืœื” ืฉืœ ื›ืœ ื”ืžื‘ื ื”, ืฉื•ื ื“ื‘ืจ ืœื ื™ืฉืชื ื” ื”ืจื‘ื”... ืœืžืจื•ืช ืฉืœื ืชื—ื‘ืจ ืื™ื–ื” SDN ืฉืœ ืกืคืง. ืื‘ืœ ื–ื” ืกื™ืคื•ืจ ืื—ืจ ืœื’ืžืจื™.

ืื ื™ ืžืงื•ื•ื” ืฉื–ื” ื”ื™ื” ืžืขื ื™ื™ืŸ. ืื ื™ืฉ ืœืš ื”ืขืจื•ืช/ื”ื•ืกืคื•ืช, ืื• ื‘ืื™ื–ื” ืฉื”ื•ื ืžืงื•ื ืฉื™ืงืจืชื™ ืขืœ ื”ืกืฃ (ืื ื™ ืื ื•ืฉื™ ื•ื”ื“ืขื” ืฉืœื™ ืชืžื™ื“ ืชื”ื™ื” ืกื•ื‘ื™ื™ืงื˜ื™ื‘ื™ืช) - ื›ืชื•ื‘ ืžื” ืฉืฆืจื™ืš ืœืชืงืŸ/ืœื”ื•ืกื™ืฃ - ื ืชืงืŸ/ื ื•ืกื™ืฃ ื”ื›ืœ.

ืœืกื™ื›ื•ื, ืื ื™ ืจื•ืฆื” ืœื•ืžืจ ื›ืžื” ืžื™ืœื™ื ืขืœ ื”ืฉื•ื•ืืช Openstack (ื”ืŸ ื•ื ื™ืœ ื•ื”ืŸ ื”ืกืคืง) ืขื ืคืชืจื•ืŸ ื”ืขื ืŸ ืžื‘ื™ืช VMWare - ื ืฉืืœืชื™ ืืช ื”ืฉืืœื” ื”ื–ื• ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืžื“ื™ ื‘ืžื”ืœืš ื”ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช, ื•ืœืžืขืŸ ื”ืืžืช, ืื ื™ ื›ื‘ืจ ื ืžืืก ืžื–ื”, ืื‘ืœ ื‘ื›ืœ ื–ืืช. ืœื“ืขืชื™, ืงืฉื” ืžืื•ื“ ืœื”ืฉื•ื•ืช ื‘ื™ืŸ ืฉื ื™ ื”ืคืชืจื•ื ื•ืช ื”ืœืœื•, ืืš ื‘ื”ื—ืœื˜ ื ื™ืชืŸ ืœื•ืžืจ ืฉื™ืฉ ื—ืกืจื•ื ื•ืช ื‘ืฉื ื™ ื”ืคืชืจื•ื ื•ืช ื•ื›ืืฉืจ ื‘ื•ื—ืจื™ื ืคืชืจื•ืŸ ืื—ื“ ืฆืจื™ืš ืœืฉืงื•ืœ ืืช ื”ื™ืชืจื•ื ื•ืช ื•ื”ื—ืกืจื•ื ื•ืช.

ืื OpenStack ื”ื•ื ืคืชืจื•ืŸ ืžื•ื ืข ืขืœ ื™ื“ื™ ืงื”ื™ืœื”, ืื– ืœ-VMWare ื™ืฉ ืืช ื”ื–ื›ื•ืช ืœืขืฉื•ืช ืจืง ืžื” ืฉื”ื™ื ืจื•ืฆื” (ืชืงืจืื• - ืžื” ืฉืžืฉืชืœื ืœื”) ื•ื–ื” ื”ื’ื™ื•ื ื™ - ื›ื™ ื–ื• ื—ื‘ืจื” ืžืกื—ืจื™ืช ืฉืจื’ื™ืœื” ืœืขืฉื•ืช ื›ืกืฃ ืžืœืงื•ื—ื•ืชื™ื”. ืื‘ืœ ื™ืฉ ืื‘ืœ ืื—ื“ ื’ื“ื•ืœ ื•ืฉืžืŸ - ืืชื” ื™ื›ื•ืœ ืœืจื“ืช ืž-OpenStack, ืœืžืฉืœ ืžื ื•ืงื™ื”, ื•ืขื ืžืขื˜ ื”ื•ืฆืื•ืช ืœืขื‘ื•ืจ ืœืคืชืจื•ืŸ ืฉืœ, ืœืžืฉืœ, ื’'ื•ื ื™ืคืจ (Contrail Cloud), ืื‘ืœ ืœื ืกื‘ื™ืจ ืฉืชืฆืœื™ื— ืœืจื“ืช ืž-VMWare . ืžื‘ื—ื™ื ืชื™ ืฉื ื™ ื”ืคืชืจื•ื ื•ืช ื”ืœืœื• ื ืจืื™ื ื›ืš - Openstack (ืกืคืง) ื”ื•ื ื›ืœื•ื‘ ืคืฉื•ื˜ ืฉื‘ื• ืฉืžื™ื ืื•ืชืš, ืื‘ืœ ื™ืฉ ืœืš ืžืคืชื— ื•ืืชื” ื™ื›ื•ืœ ืœืฆืืช ื‘ื›ืœ ืขืช. VMWare ื”ื•ื ื›ืœื•ื‘ ืžื•ื–ื”ื‘, ืœื‘ืขืœื™ื ื™ืฉ ืืช ื”ืžืคืชื— ืœื›ืœื•ื‘ ื•ื–ื” ื™ืขืœื” ืœื›ื ื”ืจื‘ื”.

ืื ื™ ืœื ืžืงื“ื ืœื ืืช ื”ืžื•ืฆืจ ื”ืจืืฉื•ืŸ ื•ืœื ืืช ื”ืฉื ื™ - ืืชื” ื‘ื•ื—ืจ ืžื” ืฉืืชื” ืฆืจื™ืš. ืื‘ืœ ืื ื”ื™ื™ืชื” ืœื™ ื‘ื—ื™ืจื” ื›ื–ื•, ื”ื™ื™ืชื™ ื‘ื•ื—ืจ ื‘ืฉื ื™ ื”ืคืชืจื•ื ื•ืช - VMWare ืœืขื ืŸ ื”-IT (ืขื•ืžืกื™ื ื ืžื•ื›ื™ื, ื ื™ื”ื•ืœ ืงืœ), OpenStack ืฉืœ ืกืคืง ื›ืœืฉื”ื• (ื ื•ืงื™ื” ื•ื’'ื•ื ื™ืคืจ ืžืกืคืงื•ืช ืคืชืจื•ื ื•ืช Turnkey ื˜ื•ื‘ื™ื ืžืื•ื“) - ืœืขื ืŸ ื”ื˜ืœืงื•ื. ืœื ื”ื™ื™ืชื™ ืžืฉืชืžืฉ ื‘-Openstack ืœ-IT ื˜ื”ื•ืจ - ื–ื” ื›ืžื• ืœื™ืจื•ืช ื‘ื“ืจื•ืจื™ื ืขื ืชื•ืชื—, ืื‘ืœ ืื ื™ ืœื ืจื•ืื” ืฉื•ื ื”ืชื•ื•ื™ื•ืช ื ื’ื“ ืœืฉื™ืžื•ืฉ ื‘ื• ืžืœื‘ื“ ื™ืชื™ืจื•ืช. ืขื ื–ืืช, ืฉื™ืžื•ืฉ ื‘-VMWare ื‘ื˜ืœืงื•ื ื”ื•ื ื›ืžื• ืกื—ื™ื‘ืช ืื‘ืŸ ื›ืชื•ืฉ ื‘ืคื•ืจื“ ืจืคื˜ื•ืจ - ื–ื” ื™ืคื” ืžื‘ื—ื•ืฅ, ืื‘ืœ ื”ื ื”ื’ ืฆืจื™ืš ืœืขืฉื•ืช 10 ื ืกื™ืขื•ืช ื‘ืžืงื•ื ืื—ืช.

ืœื“ืขืชื™, ื”ื—ื™ืกืจื•ืŸ ื”ื›ื™ ื’ื“ื•ืœ ืฉืœ VMWare ื”ื•ื ื”ืกื’ื™ืจื” ื”ืžื•ื—ืœื˜ืช ืฉืœื” - ื”ื—ื‘ืจื” ืœื ืชื™ืชืŸ ืœืš ืฉื•ื ืžื™ื“ืข ืขืœ ืื™ืš ื–ื” ืขื•ื‘ื“, ืœืžืฉืœ, vSAN ืื• ืžื” ื™ืฉ ื‘ืœื™ื‘ืช ื”ื”ื™ืคืจื•ื•ื™ื–ืจ - ื–ื” ืคืฉื•ื˜ ืœื ืžืฉืชืœื ืœื” - ื›ืœื•ืžืจ, ืืชื” ืชืขืฉื” ืœืขื•ืœื ืืœ ืชื”ืคื•ืš ืœืžื•ืžื—ื” ื‘-VMWare - ืœืœื ืชืžื™ื›ืช ืกืคืงื™ื, ืืชื” ื ื“ื•ืŸ (ืœืขื™ืชื™ื ืงืจื•ื‘ื•ืช ืื ื™ ืคื•ื’ืฉ ืžื•ืžื—ื™ VMWare ืฉืžื‘ื•ืœื‘ืœื™ื ืžืฉืืœื•ืช ื˜ืจื™ื•ื•ื™ืืœื™ื•ืช). ืžื‘ื—ื™ื ืชื™ VMWare ืงื•ื ื” ืจื›ื‘ ืขื ืžื›ืกื” ืžื ื•ืข ื ืขื•ืœ - ื›ืŸ, ืื•ืœื™ ื™ืฉ ืœืš ืžื•ืžื—ื™ื ืฉื™ื›ื•ืœื™ื ืœื”ื—ืœื™ืฃ ืจืฆื•ืขืช ื˜ื™ื™ืžื™ื ื’, ืื‘ืœ ืจืง ืžื™ ืฉืžื›ืจ ืœืš ืืช ื”ืคืชืจื•ืŸ ื”ื–ื” ื™ื›ื•ืœ ืœืคืชื•ื— ืืช ืžื›ืกื” ื”ืžื ื•ืข. ื‘ืื•ืคืŸ ืื™ืฉื™, ืื ื™ ืœื ืื•ื”ื‘ ืคืชืจื•ื ื•ืช ืฉืื ื™ ืœื ื™ื›ื•ืœ ืœื”ืฉืชืœื‘ ื‘ื”ื. ืืชื” ืชื’ื™ื“ ืฉืื•ืœื™ ืœื ืชืฆื˜ืจืš ืœื”ื™ื›ื ืก ืžืชื—ืช ืœืžื›ืกื” ื”ืžื ื•ืข. ื›ืŸ, ื–ื” ืืคืฉืจื™, ืื‘ืœ ืื ื™ ืืกืชื›ืœ ืขืœื™ืš ื›ืฉืชืฆื˜ืจืš ืœื”ืจื›ื™ื‘ ืคื•ื ืงืฆื™ื” ื’ื“ื•ืœื” ื‘ืขื ืŸ ืž-20-30 ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, 40-50 ืจืฉืชื•ืช, ื—ืฆื™ ืžื”ืŸ ืจื•ืฆื•ืช ืœืฆืืช ื”ื—ื•ืฆื”, ื•ื”ื—ืฆื™ ื”ืฉื ื™ ืžื‘ืงืฉ ื”ืืฆืช SR-IOV, ืื—ืจืช ืชื–ื“ืงืง ืœืขื•ื“ ื›ืžื” ืขืฉืจื•ืช ืžื”ืžื›ื•ื ื™ื•ืช ื”ืืœื” - ืื—ืจืช ื”ื‘ื™ืฆื•ืขื™ื ืœื ื™ืกืคื™ืงื•.

ื™ืฉื ืŸ ื ืงื•ื“ื•ืช ืžื‘ื˜ ื ื•ืกืคื•ืช, ื›ืš ืฉืจืง ืืชื” ื™ื›ื•ืœ ืœื”ื—ืœื™ื˜ ื‘ืžื” ืœื‘ื—ื•ืจ ื•ื”ื›ื™ ื—ืฉื•ื‘, ืœืื—ืจ ืžื›ืŸ ืืชื” ืชื”ื™ื” ืื—ืจืื™ ืœื‘ื—ื™ืจื” ืฉืœืš. ื–ื• ืจืง ื“ืขืชื™ - ืื“ื ืฉืจืื” ื•ื ื’ืข ืœืคื—ื•ืช ื‘-4 ืžื•ืฆืจื™ื - ื ื•ืงื™ื”, ื’'ื•ื ื™ืคืจ, ืจื“ ื”ืื˜ ื•-VMWare. ื›ืœื•ืžืจ, ื™ืฉ ืœื™ ืขื ืžื” ืœื”ืฉื•ื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”