
Hetzner-მა დეტალურად აღწერა თავისი ღრუბლოვანი ქსელის სტეკის ევოლუცია
Hetzner-ის საინჟინრო გუნდი აღწერს, როგორ განვითარდა კომპანიის ღრუბლოვანი ქსელი 2011 წლის Linux-ის ხიდებიდან Open vSwitch-ზე დაფუძნებულ საკუთარ data plane-მდე, რომელიც მილიონზე მეტ სერვერს ემსახურება.
vServer-ებიდან ღრუბლამდე
Hetzner-ის vServer პროდუქტი, რომელიც 2011 წელს გამოვიდა, იყენებდა Linux-ის ჩაშენებულ ხიდებსა და სტატიკურ მარშრუტებს ორმაგი სტეკის კავშირით და თითო ჰოსტზე 1 Gb/s-მდე სიჩქარით; საბოლოოდ დაახლოებით 25 000 ინსტანსს ემსახურებოდა. 2015 წლის სექტემბერში გამოსულმა განახლებამ გადაინაცვლა ჰიპერკონვერგირებულ Ceph-ზე დაფუძნებულ კონფიგურაციაზე BGP-ის დინამიკური მარშრუტიზაციით, IPv4-ის 1:1 NAT-ით და IPv6-ის როუტირებული პრეფიქსებით. ჰოსტების ბმულები 2016 წელს განახლდა 2x 10 Gb/s-მდე, და 2018 წლამდე ამ კონფიგურაციამ დაახლოებით 50 000 ინსტანსს მიაღწია.
Open vSwitch იკავებს ადგილს
2018 წელს Hetzner Cloud-ის გაშვებისას NAT-ი მოიხსნა პირდაპირი IPv4 მარშრუტიზაციის სასარგებლოდ. Open vSwitch-ზე დაფუძნებული data plane 2019 წლის ივლისში გამოჩნდა, VXLAN-ით აგებულ private cloud ქსელებთან ერთად. საჯარო ქსელი Open vSwitch-ზე 2020 წლის ნოემბერში გადავიდა, რამაც 2021 წლის მარტში Open vSwitch-ის flow-ებსა და netfilter-ზე დაფუძნებული stateful cloud firewall-ების ჩართვა შესაძლებელი გახადა.
საკუთარი ორკესტრაცია Flusskrebs-ით
სტანდარტული OVN control plane-ის ნაცვლად Hetzner-მა ააგო საკუთარი Python-ზე დაფუძნებული ორკესტრატორი Flusskrebs. ის REST API-ს იყენებს, რათა დააყენოს Open vSwitch-ის flow-ები, რომლებიც თითოეულ VM-ს ან Load Balancer-ს სჭირდება, მომხმარებლის მიერ განსაზღვრული firewall-ის წესების ჩათვლით, და მოქმედებს როგორც ცენტრალური DHCP სერვერი private ინტერფეისებისთვის. თითოეულ ჰოსტზე ასევე მუშაობს ლოკალური udhcpd საჯარო ინტერფეისებისთვის და metadata სერვერი 169.254.169.254-ზე, რომელსაც cloud-init და სხვა ხელსაწყოები იყენებენ.
არქიტექტურა და შემდეგი ნაბიჯები
თითოეულ ჰოსტზე მუშაობს ცენტრალური Open vSwitch-ის bridge, რომელიც ყველა სერვერს აკავშირებს; თითო სერვერს აქვს ერთი საჯარო და სამამდე private ინტერფეისი. ჰოსტები, როგორც წესი, იყენებენ ორ 10 Gb/s LACP-ით დაკავშირებულ uplink-ს, და მიმდინარეობს გადასვლა native routed BGP uplink-ებზე. Stateful firewall იყენებს netfilter-ის connection tracking-ს, ხოლო შიდა ctcount ხელსაწყო თითო სერვერზე 80 000 ერთდროულ კავშირს ზღუდავს. Hetzner-ის ცნობით, სტეკი ახლა მილიონზე მეტ ღრუბლოვან სერვერს ემსახურება, მაგრამ მასშტაბურობის ლიმიტებს მიაღწია, რის გამოც მიმდინარეობს მუშაობა სრულად საკუთარი ძალებით აშენებულ მემკვიდრეზე, რომლის დეტალებიც შემდეგ სტატიაში გამოქვეყნდება.
წყაროები: hetzner.com
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.