შეიტყვეთ რა არის NVMe TCP-ზე და როგორ მუშაობს NVMe TCP-ზე მარტივ ენაზე.
NVMe TCP-ზე ახსნილი
ღრუბლოვანი გამოთვლების მზარდ მოთხოვნას სჭირდება ეფექტური და ხელმისაწვდომი შენახვის სისტემა. მიუხედავად იმისა, რომ ჩვეულებრივი მყარი დისკი (HDD) ჭუჭყიანი იაფია, მათ არ შეუძლიათ შეასრულონ შესრულებაზე ორიენტირებული პროგრამული უზრუნველყოფა ან გამოთვლითი პროცესები ღრუბელზე.
აქედან გამომდინარე, ამ პრობლემის გადასაჭრელად კომპიუტერული მოწყობილობების მასობრივ შენახვაში, NVM Express Inc. გამოაქვეყნა NVMe SSD-ის არქიტექტურა, რომელიც კომპიუტერებისთვის ძალიან სწრაფი შიდა მეხსიერების მოწყობილობაა PCIe-ის ან პერიფერიული კომპონენტის Interconnect Express ავტობუსით.
ამასთან, PCIe არის მხოლოდ პირდაპირი მონაცემთა კომუნიკაციისთვის RAM-სა და NVMe SSD-ს შორის. როგორ განხორციელდება იგივე ღრუბლოვანი გამოთვლითი გარემოსთვის, სადაც მასპინძელი და კლიენტის კომპიუტერები განლაგებულია შორეულ ადგილებში? ამ მოწყობილობებს შეუძლიათ კომუნიკაცია მხოლოდ ინტერნეტით ან ინტრანეტით.
ამ გამოწვევის გადასაჭრელად, NVMe over Fabric ან NVMe-oF პროტოკოლი შეიქმნა იმისათვის, რომ დაუშვას NVMe ქსელის შენახვის გადაწყვეტის განვითარება. ის იყენებს NVMe ლოგიკური მოწყობილობის სპეციფიკაციის ინტერფეისს, რათა გადაიტანოს მონაცემები მასპინძელ კომპიუტერს ან სერვერს და შენახვის არეალის ქსელს (SAN) ან პირდაპირ მიმაგრებულ მეხსიერებას (DAS) შორის.
მაგრამ, NVMe-oF განლაგება ძალიან ძვირია მსხვილი საწარმოებისთვისაც კი. ასევე, რადგან NVMe-oF ძირითადად მოითხოვს ოპტიკურ-ბოჭკოვანი კაბელს, როგორც მონაცემთა სატრანსპორტო საშუალებას A წერტილიდან B წერტილამდე, არ არის მხოლოდ შესაძლებელი NVMe-oF-ის განთავსება საჯარო ღრუბლებში.
ამ საკითხის გადასაჭრელად NVM Express Inc. გამოვიდა NVMe TCP ან NVMe/TCP პროტოკოლით.
რა არის NVMe TCP-ზე (NVMe/TCP)?
NVMe/TCP არის NVMe-ზე დაფუძნებული შენახვის I/O ბრძანების სპეციფიკაციის გაფართოებული გამოცემა. ეს არის NVMe-oF-ის გაფართოებული ვერსია და განსაზღვრავს NVMe მონაცემთა გადაცემის პროტოკოლის ფუნქციონალურობას შეტყობინებებზე დაფუძნებულ საკომუნიკაციო პროტოკოლზე, TCP.
არსებობს NVMe/TCP ტრანსპორტის სპეციფიკაცია, რომელიც აღწერს შემდეგს:
- როგორ გავაფორმოთ NVMe რიგები წესების სტანდარტული ნაკრების მიხედვით
- როგორ შევქმნათ კაფსულები NVMe-სთვის Fabric-ზე
- როგორ მივაწოდოთ NVMe-oF კაფსულები ბოჭკოვანი, InfiniBand და არა-ბოჭკოვანი ქსელის სატრანსპორტო სისტემებს ნაცნობის გამოყენებით ტრანსპორტის კონტროლის პროტოკოლი ან TCP
მოკლედ, NVMe-სა და TCP-ის კომბინაცია NVMe/TCP გადასცემს მონაცემებს და ბრძანებებს უფრო სწრაფად და უშეცდომოდ NVMe-oF ჰოსტებსა და NVMe-oF კონტროლერ მოწყობილობებს შორის.
ასეთი მოწყობილობები შეიძლება დაუკავშირდეს ინტერნეტს და ინტრანეტს Ethernet-ზე დაფუძნებული TCP/IP ქსელის გამოყენებით. დამაკავშირებელი საშუალება შეიძლება იყოს ოპტიკური ბოჭკოვანი კაბელები ან ჩვეულებრივი Cat 5 და Cat 6 კაბელები
რატომ NVMe TCP-ზე?
ორიგინალური NVMe სატრანსპორტო სისტემა განკუთვნილი იყო SSD-ებისთვის, რომლებიც პირდაპირ გადავიდოდნენ კომპიუტერის სისტემაში, ძირითადად დედაპლატზე. სატრანსპორტო პროტოკოლი თავდაპირველად ოპტიმიზირებულია NVM PCIe SSD-ებისთვის, რომლებიც შიგნიდან უკავშირდებიან სერვერებს ან სამუშაო სადგურებს.
მოგვიანებით ღრუბელზე მონაცემთა შენახვის სწრაფი და მასიური მოთხოვნების შესასრულებლად, NVMe სატრანსპორტო პროტოკოლი გააქტიურდა ტრანსპორტის დაკავშირებით სპეციფიკაციები, რომლებსაც ღრუბლოვანი მონაცემთა ცენტრები ძირითადად იყენებენ, როგორიცაა Fiber Channel, RDMA over converged Ethernet (RoCE), Internet Wide Area RDMA Protocol (iWARP), და Infiniband.
მიუხედავად იმისა, რომ ზემოთ მოყვანილი NVMe მოდიფიკაცია კარგად მუშაობს, ის არ არის შესაფერისი საჯარო ღრუბლებისთვის, რადგან საჭიროა სპეციალიზებული ტექნიკის აღჭურვილობა კლიენტის ბოლოდან. აქედან გამომდინარე, ჩართული იყო TCP სატრანსპორტო სავალდებულო სისტემა, რომელიც ხელმისაწვდომია გლობალურად და საიმედოა საქალაქთაშორისო ქსელებში.
NVMe-ის ძირითადი კომპონენტები TCP-ზე
NVMe/TCP სატრანსპორტო სპეციფიკაცია NVMe-oF-ისთვის მოიცავს შემდეგ ქსელის კომპონენტებს:
- მონაცემთა დისტანციური წვდომის სისტემა NVMe პროტოკოლის გამოყენებით მიჰყვება ღია სისტემების ურთიერთდაკავშირების (OSI) მოდელს კომპიუტერული ქსელური სისტემებისთვის.
- NVMe/TCP იყენებს Ethernet ქსელის ტექნოლოგიას, რომელიც მუშაობს OSI ფიზიკურ და OSI მონაცემთა ბმულის ფენაში.
- საკომუნიკაციო პროტოკოლებისა და პაკეტების მონაცემთა გაცვლის პოლიტიკისთვის, NVMe/TCP ეყრდნობა TCP/IP პროტოკოლს.
- NVMe ბრძანებების ნაკრები გადაიყვანს მომხმარებლის მიერ გამოცემულ ყველა ბრძანებას და აპლიკაციის I/O კონკრეტულ NVMe ბრძანების ცხრილში, როგორიცაა admin, I/O, ქსოვილი და ა.შ.
- NVMe ბრძანებების დისტანციური გადაცემა, შეტყობინებებზე დაფუძნებულ ქსოვილში, ხდება კაფსულების გამოყენებით. ეს კაფსულები შეიძლება იყოს საპასუხო ან ბრძანების კაფსულები. NVMe ბრძანების კაფსულები წარმოადგენს NVMe მონაცემთა გაცვლის ერთეულს.
- ქვესისტემა და მასპინძელი კონტროლერი ერთმანეთთან ურთიერთობენ NVMe/TCP პროტოკოლის მონაცემთა ერთეულების ან NVMe/TCP PDU-ების გაცვლით.
- არსებობს სამსაფეხურიანი კავშირის პროცესი კონტროლერის ქვესისტემასა და ჰოსტს შორის. ეს ნაბიჯები ან ფაზებია NVMe-oF Connect, NVMe/TCP Connect და Fabric Connect.
- NVMe/TCP სატრანსპორტო დამაკავშირებელ სისტემაში, დინამიური I/O კონტროლერები ავტომატურად იქმნება და ენიჭება მასპინძელ კომპიუტერს, როდესაც ქვესისტემა წარმატებით დაუკავშირდება მასპინძელ NVMe-OF-ს.
NVMe-ს უპირატესობები TCP-ზე
- TCP არის ყველაზე ფართოდ გამოყენებული ინტერნეტი ან ინტრანეტის მონაცემთა გადაცემის პროტოკოლი და ხელმისაწვდომია ყველა მონაცემთა ცენტრში და ღრუბლოვანი გამოთვლითი რესურსების კლიენტებთან.
- მონაცემთა ცენტრებსა და მათ კლიენტებს არ სჭირდებათ არსებული ქსელის აპარატურის შეცვლა, როგორიცაა მარშრუტიზატორები, კონცენტრატორები და NIC.
- TCP-ს შეუძლია გამოიყენოს როგორც ბოჭკოვანი კაბელი, ასევე Cat 5 ან Cat 6 კაბელი და, შესაბამისად, მოვლა საკმაოდ მარტივია.
- TCP სატრანსპორტო დაკავშირება NVMe-oF-ისთვის გთავაზობთ მაღალ შესრულებას და დაბალ შეყოვნებას. ამრიგად, ის შესანიშნავად შეეფერება მასპინძელ კომპიუტერზე კრიტიკულ და CPU ინტენსიურ პროცესებს და ადვილად ხელმისაწვდომია მრავალი დისტანციური კლიენტისთვის ყოველგვარი წაკითხვის/ჩაწერის კონფლიქტების გარეშე.
- TCP გთავაზობთ დინამიურ მარშრუტიზაციას. ამრიგად, დისტანციური პირდაპირი მეხსიერების წვდომასთან (RDMA) შედარებისას, TCP არის ყველაზე მაღალი შემსრულებელი ფართომასშტაბიანი მონაცემთა ცენტრისა და ღრუბლის ოპერაციებში უფრო გრძელი მანძილიდან.
- TCP-ს აქვს უფრო დიდი განვითარების საზოგადოება, ვიდრე სხვა NVMe ტრანსპორტის სპეციფიკაციები.
NVMe-ის გამოწვევები TCP-ზე
- TCP სტეკის გამოყენებისას, თქვენ უნდა მისცეთ CPU-ს გადაჭრას TCP ოპერაციების უმეტესი ნაწილი, როგორიცაა საკონტროლო ჯამების გამოთვლა. ამრიგად, უფრო ფართო მასშტაბით, როდესაც კლიენტის რამდენიმე სამუშაო სადგური ითხოვს მონაცემთა ჩაწერას და წაკითხვას ქსელური შენახვის მოწყობილობებიდან მასპინძელი კომპიუტერის მეშვეობით, მასპინძელ პროცესორზე დატვირთვა გაიზრდება.
- ჰიპერკონვერგირებული ინფრასტრუქტურა მარტივი უნდა იყოს. თუმცა, როდესაც იყენებთ NVMe/TCP-ს, თქვენ მას ართულებთ.
- NVMe-ს TCP-ზე ასევე აქვს უსაფრთხოების გარკვეული სისუსტეები, რომლებიც ჰაკერებს შეუძლიათ გამოიყენონ თქვენი ღრუბლოვანი ოპერაციების შესაღწევად, მონაცემების მოსაპარად და კონფიდენციალური მონაცემების ხელმისაწვდომობისთვის. მუქი ქსელი თუ არ გამოიყენებთ მკაცრ კიბერუსაფრთხოებას და ანტივირუსული გადაწყვეტა.
NVMe TCP-ზე: საბოლოო სიტყვები
TCP არის წამყვანი პროტოკოლი საჯარო თუ კერძო ქსელურ მონაცემთა ცენტრებში. აქედან გამომდინარე, NVMe/TCP არის პირველი არჩევანი ინტერნეტის, ინტრანეტის და ღრუბლოვანი ინფრასტრუქტურის საშუალებით შესანახად ხელმისაწვდომი გადაწყვეტილებების უზრუნველსაყოფად.
ეს პროტოკოლი ასევე მასშტაბირებადი და საიმედოა შორ მანძილზე ქსელურ კავშირებზე. ვინაიდან ღრუბლოვანი მეხსიერების წაკითხვის/ჩაწერის შეყოვნება უდრის ბოჭკოვანი არხის პროტოკოლების უმეტესობას, NVMe TCP-ზე არის ღრუბლოვანი საცავის სატრანსპორტო გადაწყვეტის სასურველი გადაწყვეტა.
Შემდეგი, ღრუბლოვანი შენახვის 3 ალტერნატივა