ერთი გვირაბისთვის დამატებული გადატვირთვის პოლიტიკა იწყებს გამოყენებას მანქანის ყველა გვირაბზე. ეს systemd-ის შეცდომა არ არის; ეს განსხვავებაა ინსტანსის drop-in-სა და შაბლონის drop-in-ს შორის. გზა, რომლის ქვეშაც ფაილს წერთ, განსაზღვრავს, რამდენი სერვისი დაიმკვიდრებს მას.

აირჩიეთ ფარგლები პარამეტრამდე. ორი დირექტორია თითქმის იდენტურია და მათგან მხოლოდ ერთი შემოიფარგლება თქვენ მიერ გულისხმობილი ინსტანსით.

სიმპტომი: ერთი ცვლილება, ყველა გვირაბი

ინსტანსისთვის სპეციფიკური drop-in მდებარეობს სრული ინსტანსის სახელობის დირექტორიაში, მაგალითად [email protected]. შაბლონის drop-in მდებარეობს [email protected]-ში, @ ნიშნით და მათ შორის ინსტანსის სახელის გარეშე. პირველი მხოლოდ office-ზე ვრცელდება. მეორე ვრცელდება ყველა სერვისზე, რომელიც ამ შაბლონიდან იქმნება.

შაბლონის ფორმა არ აღწევს ცალკე [email protected] შაბლონს და არ აღწევს დაუკავშირებელ სერვისებს, რომელთა სახელშიც openvpn არის.

აირჩიეთ ფარგლებს შესაბამისი დირექტორია

ორივე დირექტორია /etc/systemd/system/-ის ქვეშაა. ბოლო system კომპონენტის გამოტოვება ქმნის გზას, რომელსაც systemd სისტემურ გადაფარვად არ კითხულობს, და ეს არის ჩუმი გზა, რომ სწორად მოჩვენებითმა ფაილმა არაფერი გააკეთოს. დაწერეთ სრული გზა ერთხელ და ხელახლა გამოიყენეთ.

drop-in-ს ასევე სჭირდება სწორი სექციის სათაური. სერვისის პარამეტრები [Service]-ის ქვეშ მიეკუთვნება. ფაილი პარამეტრებით, მაგრამ სექციის გარეშე, იგნორირებული ან უარყოფილია, და unit აგრძელებს ისე ქცევას, როგორც ადრე, სანამ ფაილი იქ ზის და ავტორიტეტულად გამოიყურება.

თუ ერთზე მეტ drop-in-ს ამატებთ, დანიშნულება ფაილის სახელში შეინარჩუნეთ. გაერთიანებას ლექსიკოგრაფიული რიგი განსაზღვრავს, და სახელი, რომელიც ამბობს, რას აკეთებს ფაილი, ამ რიგს წაკითხვადს ხდის.

წერამდე წაიკითხეთ გაერთიანებული unit

სანამ რამეს დაწერთ, წაიკითხეთ გაერთიანებული unit. systemctl cat [email protected] ბეჭდავს მთავარ unit-ს და ყველა მოქმედ drop-in-ს გაერთიანების რიგით. შაბლონის ცვლილებაზე ფიქრისას შეადარეთ ის მეორე ინსტანსს. ეს შედარება ზუსტად აჩვენებს, რომელი სერვისები დაიმკვიდრებენ ცვლილებას.

ინსტანსის ფაილი არ შლის შაბლონის პარამეტრებს. ორივე გაერთიანდება, ამიტომ დავიწყებული შაბლონის მნიშვნელობა შეიძლება ჯერ კიდევ ძალაში იყოს.

მონაწილეობენ სხვა დასახელებული drop-in-ებიც, გაშვების დროის პარამეტრები და პაკეტების მიერ მოწოდებული კონფიგურაცია. ნუ ჩათვლით, რომ ბოლოს რედაქტირებული ფაილი მთელი unit-ია. გაერთიანებული გამომავალი არის unit.

unit-ის პოლიტიკა პროფილის გარეთ შეინახეთ

ცალ-ცალკე შეინახეთ unit-ის პოლიტიკა და VPN კონფიგურაცია. პროფილის დირექტივა არ ხდება ვალიდური systemd სინტაქსი იმიტომ, რომ [Service]-ის ქვეშ დგას. გადატვირთვის პარამეტრიც არ ეკუთვნის .ovpn ფაილს.

ეს განცალკევება იმის მიზეზიცაა, რომ გადატვირთვის პოლიტიკა არ არის იგივე, რაც OpenVPN-ის საკუთარი პარტნიორების აღდგენა. გადაწყვიტეთ, რა ქცევა გსურთ, სანამ ფარგლებს აირჩევთ.

გამოიყენეთ და გადაამოწმეთ ინსტანსი

ცვლილების შემდეგ გადატვირთეთ მენეჯერის განსაზღვრებები systemctl daemon-reload-ით. ეს გადატვირთვა გვირაბს არ აარესტარტებს; ის მხოლოდ unit ფაილებს ხელახლა კითხულობს. შემდეგ გამოიყენეთ განზრახული სასიცოცხლო ციკლის მოქმედება ზუსტ ინსტანსზე.

გადაამოწმეთ ჩატვირთული unit-ის ხელახლა წაკითხვით და თქვენ მიერ შეცვლილი ქცევის დაკვირვებით. აქტიური სამუშაოს მატარებელი გადატვირთვა იმსახურებს დაგეგმილ შეწყვეტას და არა სწრაფ ტესტს საწარმოო გვირაბზე. ჩაწერეთ გადაფარვის დანიშნულება და ფარგლები განლაგების გვერდით, რომ შემდეგმა ადამიანმა იცოდეს, ფაილი გაზიარებისთვის იყო თუ არა.

თუ პოლიტიკა ნამდვილად საერთოა, განზრახ გადაიტანეთ იგი შაბლონში და შეამოწმეთ მეორე ინსტანსი, სანამ დასრულებულად გამოაცხადებთ.systemd unit-ების ცნობარი აღწერს drop-in-ის უპირატესობას და გაერთიანების რიგს.

დაკავშირებული სტატიები