OpenVPN ყოველდღე გადავრთოთ? აირჩიეთ ხარვეზი და არა საათი
კალენდრით გადართვა მოვლაა და არა აღდგენა. გადაწყვიტეთ, წყვილი, პროცესი თუ აპლიკაცია გაფუჭდა, შემდეგ მიეცით ამ ფენას საჭირო ტრიგერი.
თქვენ მემკვიდრეობით იღებთ cron დავალებას, რომელიც ყოველდღე 04:10-ზე გადაამუშავებს OpenVPN-ს, და ის უკვე ერთი წელია ყველაფერს სტაბილურად ინახავს. ის ასევე თიშავს ჯანსაღ გვირაბს ფიქსირებულ საათზე და არაფერს აკეთებს იმ შეფერხებისთვის, რომელიც რეალურად სადილის დროს ხდება. კალენდრით გადართვა მოვლის გადაწყვეტილებაა. აღდგენა სხვა დიზაინია, კონკრეტული ტრიგერით.
ხარვეზის სამ ფორმას სამი განსხვავებული მფლობელი სჭირდება. ჯერ ხარვეზი აირჩიეთ და მექანიზმი თავად მოჰყვება.
სამი ხარვეზი, სამი მფლობელი
გვირაბი შეიძლება აქტიური იყოს, სანამ მისი წყვილი წავიდა: პროცესი მუშაობს, ინტერფეისი არსებობს და მასში არაფერი სასარგებლო არ გადის. პროცესი შეიძლება მკვდარი იყოს, სანამ წყვილი რიგზეა, და მაშინ მხოლოდ ის, რაც მან დაიწყო, შეძლებს მის დაბრუნებას. გვირაბის უკან მყოფი აპლიკაცია შეიძლება გატეხილი იყოს, სანამ გვირაბიც და წყვილიც ჯანსაღია, და მაშინ კლიენტის გადართვა აფართოებს შეფერხებას მიზეზზე ხელის შეხების გარეშე. ამ სამი შემთხვევის გამიჯვნა მთელი გადაწყვეტილებაა.
თითოეულს თავისი სიგნალი და თავისი მფლობელი აქვს. სიცოცხლისუნარიანობა VPN პროტოკოლს ეკუთვნის, პროცესის სასიცოცხლო ციკლი სერვისის მმართველს, ხოლო აპლიკაციის ჯანმრთელობა ვიწრო მანდატის მქონე მონიტორინგს.
რა შეუძლია და რა არ შეუძლია სიცოცხლისუნარიანობის ოფციას
keepalive დამხმარეა, რომელიც ping და ping-restart წყვილად იშლება, როგორც კავშირის ოფციების ცნობარი აღწერს, და მის მიერ შექმნილი დროის ლიმიტები სერვერსა და კლიენტზე იდენტური არ არის. სერვერის მიერ გაგზავნილმა მნიშვნელობებმა შეიძლება გადაწეროს ის, რაც კლიენტმა ლოკალურად დააყენა, და ამიტომ ლოკალურ ფაილში სწორად მოჩვენებული დროის ლიმიტი შეიძლება არ იყოს მოქმედი.
ეს მას სწორ იარაღად აქცევს დაკარგული წყვილისთვის და არასწორ იარაღად მკვდარი პროცესისთვის, რადგან გასული პროცესი ვერ ამუშავებს საკუთარ ტაიმერებს. ის ასევე არაფერს ამბობს იმაზე, პასუხობს თუ არა გვირაბის უკან მყოფი აპლიკაცია, რადგან გაცვლა VPN-ის ორ ბოლო წერტილს შორის ხდება. დროის ლიმიტების წყვილის სხვა განლაგებიდან კოპირება როლის, მოსალოდნელი შეფერხებებისა და ხელახალი ავთენტიფიკაციის ქცევის შემოწმების გარეშე ის გზაა, რომლითაც სტაბილური გვირაბი კანკალს იწყებს.
რას ფლობს სერვისის მმართველი
თუ დემონი გავა, მისი დამწყები მმართველი წყვეტს, რა მოხდეს შემდეგ. ხარვეზზე დაფუძნებული გადართვის პოლიტიკა, დაყოვნებითა და გაშვების სიხშირის ლიმიტით, ამუშავებს კრახის ციკლს fork ბომბად გადაქცევის გარეშე. ეს პარამეტრები რეაგირებს პროცესის შედეგებსა და დროის ლიმიტებზე და არ აღმოაჩენს ცოცხალ, მაგრამ უსარგებლო პროცესს. ეს არ არის უფრო ფართო პოლიტიკით შესავსები ხარვეზი; ეს სასიცოცხლო ციკლსა და სიცოცხლისუნარიანობას შორის საზღვარია.
მფლობელობა ისევე მნიშვნელოვანია, როგორც პარამეტრები. სამუშაო მაგიდის ქსელის მმართველის მიერ დაწყებულმა კავშირმა უნდა შეინარჩუნოს იმ მმართველის აღდგენის წესი, ხოლო იმავე ინტერფეისისთვის კონკურენტი სერვისული ერთეულის დამატება ერთ გვირაბს ორ მფლობელს აძლევს. აირჩიეთ ერთი და ჩაწერეთ, რომელი.
როდის არის დაგეგმილი გადართვა გამართლებული
დროზე მიბმული გადართვა შეიძლება გონივრული მოვლის ქმედება იყოს: მას ჰყავს მფლობელი, ფანჯარა, დასახელებული ინსტანცია და შესვლის დამოუკიდებელი გზა. ის ვერ იქნება ზოგადი საიმედოობის პოლიტიკა, რომელიც ასევე ყველას თიშავს ფიქსირებულ საათზე.
თუ გადართვა არსებობს ცნობილი გაჟონვის ან გაჭედილი მდგომარეობის ასარიდებლად, ეს ერთეულის აღწერაში ჩაწერეთ, თორემ შემდეგი ადამიანი სამუდამოდ შეინარჩუნებს.
შეამოწმეთ მნიშვნელოვანი შემთხვევები: წყვილი ქრება, სანამ პროცესი აქტიურია, პროცესი გადის, ხელახალ ცდას ახალი სერთიფიკატები სჭირდება, და გვირაბი ბრუნდება, სანამ აპლიკაცია გატეხილი რჩება. დააკვირდით, რომელი კომპონენტი რეაგირებს და რა მდგომარეობას ტოვებს უკან.
სწორი კითხვა არ არის რამდენად ხშირად გადავრთოთ, არამედ რამ უნდა შეამჩნიოს ხარვეზი პირველად.