рдЙрдЪреНрдЪ рд▓реЛрдб рдХреЗ рддрд╣рдд рдареАрдХ рдзреБрди рдУрдкрдирд╕реНрдЯреИрдХ

рдирдорд╕реНрддреЗ, рдореЗрд░рд╛ рдирд╛рдо рдореИрдХреНрд╕рд┐рдо рд╣реИ, рдореИрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╣реВрдВред рддреАрди рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдФрд░ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдУрдкрдирд╕реНрдЯреИрдХ рдХреЛ рдПрдХ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрдХрд┐рдЯреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрдИ рдЕрд╕рднреНрдп рд░реЗрдХ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдкреЛрд╕реНрдЯ рдУрдкрдирд╕реНрдЯреИрдХ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬреЛ рд╢рд╛рдпрдж рд╣реА рдЦреЛрдЬ рдЗрдВрдЬрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдкрд╛рдВрдЪрд╡реЗрдВ рдкреГрд╖реНрда рдкрд░ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ (рдпрд╛ рдмреЗрд╣рддрд░, рд╡реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣рд▓реЗ рдкрд░ рд╣реИрдВ)ред



рдХреЛрд░ рдкрд░ рднрд╛рд░: рдпрд╣ рдерд╛


рдиреЗрдЯ


рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╣рдо рдбреНрдпреВрд▓рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛ рдкрддреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ - IPv4 рдФрд░ IPv6ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ "рдлреНрд▓реЛрдЯрд┐рдВрдЧ" v4 рдПрдбреНрд░реЗрд╕ рдХреЛ NAT рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдорд╢реАрди рдХреЛ BGP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ v6 рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред


рдиреЗрдЯ - рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдб, рдЬрд╣рд╛рдВ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рднреА рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд▓реЛрдб рд╡рд┐рддрд░рдг рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ NAT рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ - рдореЗрдЬрдмрд╛рди рдПрдХ рдЖрдИрдкреА рдкрд░, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдФрд░, рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЦреЛрдЬ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕рдорд╛рдзрд╛рди рдЕрднреА рднреА рдУрдкрдирд╕реНрдЯреИрдХ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдЧрд╛ред


рдлрд┐рд░ рднреА NAT рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдкрд╣реБрдВрдЪ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдЕрдкрдиреЗ-рдЕрдкрдиреЗ рд╕рдмрдиреЗрдЯ рд╣реИрдВ, рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рд▓рдЧрд╛рддрд╛рд░ рдкрд▓рд╛рдпрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдирдПрдЯреА рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рд╕реНрдерд╛рдкрдирд╛рдПрдВ NAT 1 рдореЗрдВ 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреА рд╣реИрдВ (рдЖрдВрддрд░рд┐рдХ рдкрддрд╛ рдмрд╛рд╣рд░реА рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд▓рд┐рдВрдХ рдЫреЛрдбрд╝рддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдмреАрдЬреАрдкреА рдиреЗрдЯрд╡рд░реНрдХ рд╣реИред


рдмреЗрд╣рддрд░ рд╕рд░рд▓ рд╣реИ


рд╣рдордиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рдЪрд╛рд▓рди рд╕рд╛рдзрдиреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди Ansible рдкрд░ рдмрд╕ рдЧрдПред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдХрд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдорд╛рдирдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП) рдХреБрдЫ рдХрдард┐рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Ansible рдореЙрдбреНрдпреВрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╕рдмрдиреЗрдЯ рдкрддреЗ рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЖрдк рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрддрд╛ рдкреВрд▓ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдлреНрд▓реЛрдЯрд┐рдВрдЧ IP рдмрдирд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╢реЗрд▓ рдХрдорд╛рдВрдб рдпрд╣рд╛рдВ рдорджрдж рдХрд░реЗрдЧрд╛:


openstack floating ip create -c floating_ip_address -f value -project \ {{ project name }} тАФsubnet private-v4 CLOUD_NET 

рдЧреБрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг: рдбреНрдпреВрд▓рд╕реНрдЯреИрдХ рдХреЗ рдХрд╛рд░рдг, рд╣рдо v4 рдФрд░ v6 рдХреЗ рд▓рд┐рдП рджреЛ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд░рд╛рдЙрдЯрд░ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдо рдЖрддреА рд╣реИ:


 #! /bin/bash # $1 - router_name # $2 - router_project # $3 - router_network # echo "${@:4}" - private subnet lists FIXED4_SUBNET="subnet-bgp-nexthop-v4" FIXED6_SUBNET="subnet-bgp-nexthop-v6" openstack --os-project-name $2 router show $1 if [ $? -eq 0 ] then echo "router is exist" exit 0 fi openstack --os-project-name $2 router create --project $2 $1 for subnet in "${@:4}"; do openstack --os-project-name $2 router add subnet $1 $subnet done openstack --os-project-name $2 router set $1 --external-gateway $3 --fixed-ip subnet=$FIXED4_SUBNET --fixed-ip subnet=$FIXED6_SUBNET 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рд╛рдЙрдЯрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ v4 рдФрд░ v6 рд╕рдмрдиреЗрдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рдмрд╛рд╣рд░реА рдЧреЗрдЯрд╡реЗ рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред


рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ


рдХрд┐рд╕реА рднреА рдЕрд╕рдВрдЧрдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ - рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдПрдХ рдЙрджрд╛рд╣рд░рдг, рдПрдХ рд░рд╛рдЙрдЯрд░ рдпрд╛ рдбреАрдПрдирдПрд╕ рд░рд┐рдХреЙрд░реНрдб рдмрдирд╛рдПрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред рд░рд┐рдЯреНрд░реА рд╕реЗрд╡рд╛ рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рдореЗрдВ рджреЗрд░реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рд╕рдордп рдЖрдк рд╢рд╛рдВрддрд┐ рд╕реЗ рдФрд░ рдирд╕реЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рднреА рдЯрд┐рдкреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЯреЗрд░рд╛рдлреЙрд░реНрдо, рдкрдкреЗрдЯ, рдФрд░ рдХреБрдЫ рдФрд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред


рд╣рд░ рдЪреАрдЬ рдХреА рдЕрдкрдиреА рдЬрдЧрд╣ рд╣реИ


рдХреЛрдИ рднреА рдмрдбрд╝реА рд╕реЗрд╡рд╛ (рдУрдкрдирд╕реНрдЯреИрдХ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИ) рдХрдИ рдЫреЛрдЯреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ рдЬреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рдХрд╛рдо рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред


рдиреЗрдЯрд╡рд░реНрдХ рдПрдЬреЗрдВрдЯ рдиреНрдпреВрдЯреНрд░реЙрди-рдПрд▓ 2-рдПрдЬреЗрдВрдЯ рдУрдкрдирд╕реНрдЯреИрдХ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрджрд┐ рд╕рднреА рдЕрдиреНрдп рдПрдЬреЗрдВрдЯ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдкрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╣реИрдВ, рддреЛ рдПрд▓ 2, рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рд╣рд░ рдЬрдЧрд╣ рдореМрдЬреВрдж рд╣реИред



рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╣рдорд╛рд░рд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 50 рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рдЧрдИ


рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рдЗрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреЗ рдХрд╛рд░рдг, рдирд┐рдпрдВрддреНрд░рдХ рд▓реЛрдб рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХреЗ, рдФрд░ рдиреЛрдбреНрд╕ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рд╡реЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ - рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдиреЛрдб рдХреЛ рдХрд╛рд░реНрдп рджреЗрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдиреЛрдб рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ред



рдиреЛрдбреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдПрдЬреЗрдВрдЯ


рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд╛ рдЖрднрд╛рд╕реА рдорд╢реАрдиреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдмреБрд░рд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛ред рдкреНрд░рддрд┐ рднреМрддрд┐рдХ 14 рд╡рд░реНрдЪреБрдЕрд▓ рдХреЛрд░ рдХреЗ рдШрдирддреНрд╡ рдХреЗ рд╕рд╛рде, рдпрджрд┐ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдПрдЬреЗрдВрдЯ рдиреЗ рд╕реНрдЯреНрд░реАрдо рд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рддреЛ рдпрд╣ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдХрдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рддреАрд╕рд░рд╛ рдкреБрдирд░рд╛рд╡реГрддрд┐ред рдЪрдпрдирд┐рдд рдиреЛрдбреНрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдПред


рд╣рдордиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдбреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рд╕реЛрдЪрд╛ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ред рдЕрдм рдХреЗрд╡рд▓ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдПрдВ рдХрдВрдкреНрдпреВрдЯ рдиреЛрдбреНрд╕ рдкрд░ рдмрдиреА рд╣реБрдИ рд╣реИрдВ, рд╕рднреА рдПрдЬреЗрдВрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдб рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХреЗрд╡рд▓ bgp рдПрдЬреЗрдВрдЯ рдЬреЛ v6 рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдкрд░ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдПрдХ bgp рдПрдЬреЗрдВрдЯ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред L2 рд╣рд░ рдЬрдЧрд╣ рдмрдирд╛ рд░рд╣рд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдХреЛрдИ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдирд╣реАрдВ рд╣реЛрдЧреАред



рд╕рдм рдХреБрдЫ рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЧрдгрдирд╛ рдиреЛрдбреНрд╕ рдХрд╛ рд▓реЛрдб рдЧреНрд░рд╛рдлред рдпрд╣ рд▓рдЧрднрдЧ 60% рдерд╛, рд▓реЗрдХрд┐рди рднрд╛рд░ рдмреЗрд╣рдж рдХрдо рд╣реЛ рдЧрдпрд╛



рдиреЗрдЯрд╡рд░реНрдХ рдПрдЬреЗрдВрдЯреЛрдВ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЙрдлреНрдЯрд░реИрдХ рдкрд░ рд▓реЛрдб рдиреЗ рдЧрдгрдирд╛ рдиреЛрдбреНрд╕ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред 3 рдХреЛрд░ рд▓реЛрдбреЗрдб рд░рд╣реЗред рдЙрд╕ рд╕рдордп, рд╣рдордиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ


рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб


рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдкреНрд░рд▓реЗрдЦрди рд╣реИ, рдЦрд╛рд╕рдХрд░ рдУрдкрдирд╕реНрдЯреИрдХ рдЬреИрд╕реА рдмрдбрд╝реА рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВред рдЫрд╣ рдорд╣реАрдиреЗ рдХреЗ рд░рд┐рд▓реАрдЬ рдЪрдХреНрд░ рдХреЗ рд╕рд╛рде, рдбреЗрд╡рд▓рдкрд░реНрд╕ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдмрд╕ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ рдирд┐рдХрд▓рддрд╛ рд╣реИред


рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдиреНрдпреВрдЯреНрд░реЙрди рдУрдкрди рд╡реАрд╕реНрд╡рд┐рдЪ рдХреЛ рдкрд╛рдВрдЪ рд╕реЗрдХрдВрдб рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред


 127.0.0.1:29696: no response to inactivity probe after 10 seconds, disconnecting neutron.agent.ovsdb.native.commands TimeoutException: Commands [DbSetCommand(table=Port, col_values=(('tag', 11),), record=qtoq69a81c6-e2)] exceeded timeout 5 seconds 

рдмреЗрд╢рдХ, рд╣рдордиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдерд╛ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдпрд╣ рддрдп рд╣реИред рд╣рдордиреЗ рдХреЙрдиреНрдлрд┐рдЧ, рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдФрд░ рдбрд┐рдмреЗрдЯ рдкреИрдХреЗрдЬ рдореЗрдВ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рддреЛ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдирддреАрдЬрддрди, рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдкрд╛рдВрдЪрд╡реЗрдВ рдкреГрд╖реНрда рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рд╡рд┐рд╡рд░рдг рдорд┐рд▓рд╛ - рд╣рдордиреЗ рдлрд┐рд░ рд╕реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрд╛ рдФрд░ рд╕рд╣реА рд╕реНрдерд╛рди рдкрд╛рдпрд╛ред рд╕реЗрдЯрд┐рдВрдЧ рдпрд╣ рд╣реИ:


 ovs_vsctl_timeout = 30 

рд╣рдордиреЗ рдЗрд╕реЗ 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ (рдпрд╣ 5 рдерд╛), рдФрд░ рд╕рдм рдХреБрдЫ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред


рдпрд╣рд╛рдВ рдПрдХ рдФрд░ рдЕрдкреНрд░рдпреБрдХреНрдд рд╣реИ - рдЬрдм рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдШрдЯрдХреЛрдВ рдХреЛ рд░рд┐рдмреВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдЫ рдУрдкрди vSwitch рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд░реАрд╕реЗрдЯ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдпрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ovs-vsctl inactivity_probe рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рднреА рдПрдХ рд╕рдордпрдмрд╛рд╣реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдУрд╡рд╕-рдбрд┐рд╕реНрдХреНрдЯрд▓ рдХреА рдХреЙрд▓ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдордб рдЗрдирд┐рдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рдиреЗ рд╣рдореЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕рднреА рд╕реНрд╡рд┐рдЪ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред


 ovs-vsctl set Controller "br-int" inactivity_probe=30000 

рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рд╣рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреИрдХ рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХреГрдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реЗ рднреА рдереЛрдбрд╝рд╛ рджреВрд░ рдЬрд╛рдирд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдЕрдкрдиреЗ рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рдХрд░рддреЗ рд╣реИрдВред


рдпрд╣рд╛рдВ ARP рд░рд┐рдХреЙрд░реНрдб рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдЗрд╕рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдпрд╣рд╛рдВ рджреА рдЧрдИ рд╣реИ:


 net.ipv4.neigh.default.base_reachable_time = 60 net.ipv4.neigh.default.gc_stale_time=60 

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 1 рджрд┐рди рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдпреЛрдЬрдирд╛ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рддрдХ рд░рд╣ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП, рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ 4-6 рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдореИрдХ рдкрддреЗ рдФрд░ рдЖрдИрдкреА рдкрддреЗ рдХрд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рддрд╛рдХрд┐ рдХрдЪрд░рд╛ рдЬрдорд╛ рди рд╣реЛ, рд╣рдо рдПрдХ рдорд┐рдирдЯ рдХрд╛ рд╕рдордп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред


 net.ipv4.conf.default.arp_notify = 1 net.nf_conntrack_max = 1000000 (default 262144) net.netfilter.nf_conntrack_max = 1000000 (default 262144) 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдврд╝рд╛рддреЗ рд╕рдордп ARP рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ред рд╣рдордиреЗ рдХреЙрдирдЯреНрд░реИрдХ рдЯреЗрдмрд▓ рдХреЛ рднреА рдмрдврд╝рд╛рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ NAT рдФрд░ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдирд╣реАрдВ рдерд╛ред рдПрдХ рдорд┐рд▓рд┐рдпрди (262 144 рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде) рддрдХ рдмрдврд╝ рдЧрдпрд╛, рд╕рдм рдХреБрдЫ рдФрд░ рднреА рдмреЗрд╣рддрд░ рд╣реЛ рдЧрдпрд╛ред


рд╣рдо рдЦреБрд▓реЗ vSwitch рдХреЗ рдореИрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВ:


 ovs-vsctl set bridge bt-int other-config:mac-table-size=50000 (default 2048) 


рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рдж, 40% рд▓реЛрдб рд▓рдЧрднрдЧ рд╢реВрдиреНрдп рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛


RX-рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд╣реИрд╢


рд╕рднреА рдХрддрд╛рд░реЛрдВ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ udp рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ rx-flow-hash рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ред рдЗрдВрдЯреЗрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб рдкрд░, i40e рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ, рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдХреНрд╖рдо рд╣реИред рд╣рдорд╛рд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ 72 рдХреЛрд░ рдХреЗ рд╕рд╛рде рд╣рд╛рдЗрдкрд░рд╡рд┐рдЬрд░ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡реНрдпрд╕реНрдд рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред


рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


 ethtool -N eno50 rx-flow-hash udp4 sdfn 


рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╖реНрдХрд░реНрд╖: рдЖрдк рд╕рдм рдХреБрдЫ рд╕рдм рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдлрд┐рдЯ рд╣реЛрдЧрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдХрд┐рдпрд╛ рдерд╛), рд▓реЗрдХрд┐рди рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдиреЗ рдЗрд╕реЗ рдЦреЛрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛ рджрд┐рдпрд╛ред рдФрд░ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред


рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдо


рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗрд╡рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХрдВрдкрдиреА рдХреЗ рднреАрддрд░ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдирд┐рдпрдо рд╣реИрдВ - рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред рдЬрдм рд╣рдо 300 рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рд╕реЗ рдПрдХ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рджреЗрд╢ рдЧрдП, рддреЛ рдпрд╣ рд╕рдм iptables рдХреЗ рд▓рд┐рдП 80 рд╣рдЬрд╛рд░ рдирд┐рдпрдореЛрдВ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ред рдЦреБрдж iptables рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдиреНрдпреВрдЯреНрд░реЙрди рдиреЗ RabbitMQ рд╕реЗ рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рдПрдХ рдзрд╛рд░рд╛ рдореЗрдВ рд▓реЛрдб рдХрд░ рджрд┐рдпрд╛ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рджреБрдЦреА рд╣реИ)ред рдиреНрдпреВрдЯреНрд░реЙрди рдПрдЬреЗрдВрдЯ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИ, рд░реИрдмрд┐рдЯрдПрдордХреНрдпреВ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдЦреЛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рд╕реЗ рдПрдХ рдЪреЗрди рд░рд┐рдПрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд░рд┐рдХрд╡рд░реА рдХреЗ рдмрд╛рдж, рдиреНрдпреВрдЯреНрд░реЙрди рд╕рднреА рдирд┐рдпрдореЛрдВ рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред


рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА, рдЦрдбрд╝рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп 20-40 рдорд┐рдирдЯ рд╕реЗ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛, рдПрдХ рдШрдВрдЯреЗ рддрдХ рдмрдврд╝ рдЧрдпрд╛ред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдмрд╕ рд╕рдм рдХреБрдЫ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрд╛ (рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЗрддрдиреА рдЬрд▓реНрджреА рд╣рд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ), рдФрд░ рдлрд┐рд░ рд╣рдордиреЗ рдПрдлрдбрдмреНрд▓реНрдпреВрдПрдПрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ ред рдЗрд╕рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдиреЛрдбреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреНрдпреВрдЯ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдо рдирд┐рдХрд╛рд▓реЗ рдЬрд╣рд╛рдВ рд░рд╛рдЙрдЯрд░ рдЦреБрдж рд╕реНрдерд┐рдд рд╣реИред



рд╕реНрд░реЛрдд - docs.openstack.org


рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдВрджрд░ рд╣рд░ рдЙрд╕ рдЪреАрдЬ рдХреА рдкреВрд░реА рдкрд╣реБрдВрдЪ рд╣реИ, рдЬреЛ рдмрд╛рд╣рд░реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рдпрдореЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдиреНрдпреВрдЯреНрд░реЙрди рдкрд░ рднрд╛рд░ рдХрдо рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдХреЗ 20-30 рдорд┐рдирдЯ рдмрд╛рдж рд╡рд╛рдкрд╕ рдЖ рдЧрдПред


рдкрд░рд┐рдгрд╛рдо


рдУрдкрдирд╕реНрдЯреИрдХ рдПрдХ рд╢рд╛рдВрдд рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд▓реЛрд╣реЗ рдХреЛ рд░реАрд╕рд╛рдпрдХрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдЖрдВрддрд░рд┐рдХ рдХреНрд▓рд╛рдЙрдб рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреБрдЫ рдФрд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рд╕рдореБрджрд╛рдп рдФрд░ рдПрдХ рд╕рдХреНрд░рд┐рдп рд╕рдореВрд╣ рд╣реИ , рдЬрд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рдореЗрдВ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред


рд╡рд╣ рд╕рдм рд╣реИред рдкреНрд░рд╢реНрди рдкреВрдЫреЗрдВ, рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдФрд░ рдореИрдВ рд╣рдорд╛рд░реЗ рдЕрдиреБрднрд╡ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдФрд░ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред

Source: https://habr.com/ru/post/hi427569/


All Articles