OpenVPN-ի keepalive կամ systemd-ի restart. որն է վերականգնում
Լուռ գործընկեր, մեռած գործընթաց և ոչ պիտանի հավելված երեք տարբեր խափանում են։ keepalive-ը տվեք OpenVPN-ին, գործընթացը՝ systemd-ին, և փորձարկեք յուրաքանչյուր դեպքը։
Թունելի հետ կարող են սխալ գնալ երեք տարբեր բաներ, և դրանք պահանջում են երեք տարբեր արձագանք։ Գործընկերը դադարում է պատասխանել, դեմոնի գործընթացը մահանում է, կամ թունելի հետևի հավելվածը դադարում է սպասարկել։ Կոնֆիգուրացիան, որը վերսկսում է ծառայությունը դրանցից որևէ մեկի դեպքում, ուշադիր հսկողություն չէ, այն մեկ կոպիտ գործողություն է, որը կիրառվում է անկապ խափանումների վրա։ Համեմատելը, թե յուրաքանչյուր մեխանիզմ իրականում ինչ կարող է դիտել, աշխատանքի բաժանումը դարձնում է ակնհայտ։
Երեք խափանում, որոնք նման են մեկին
Գործընկերոջ լռությունը նշանակում է, որ մյուս ծայրը դադարել է ուղարկել, և OpenVPN-ը կարող է դա ինքը հայտնաբերել, քանի որ սրտի զարկը իրենն է։ Գործընթացի մահը նշանակում է, որ դեմոնը դուրս եկավ, ինչը նկատում է ծառայության կառավարիչը, իսկ OpenVPN-ը չի կարող։ Հավելվածի խափանումը նշանակում է, որ թունելը կարգին է, իսկ հետևում ինչ-որ բան՝ ոչ, և մյուս երկու մեխանիզմներից ոչ մեկը իմացության ձև չունի։ Յուրաքանչյուրը պահանջում է տարբեր արձագանք, և դրանցից ոչ մեկը նույնը չէ, ինչ նկատելը, որ թունելը աշխատում է։
Սրանք տարբեր շերտերի տարբեր ազդանշաններ են, և յուրաքանչյուրն ունի տեր, որը կարող է գործել առանց գուշակելու։ Դրանք խառնելը ստեղծում է համակարգ, որը վերսկսվում է այնպիսի ախտանիշներից, որոնք չի կարող մեկնաբանել։
Գրեք երեք դեպքերը նախքան որևէ ժամանակաչափ փոխելը։ Ցանկն ինքը սովորաբար ցույց է տալիս, որ մեկ մեխանիզմից պահանջում են ծածկել երեքն էլ։
Ինչի է իրականում ընդարձակվում keepalive-ը
keepalive հրահանգը կրճատում է, և ընդարձակումը տարբերվում է ռեժիմից կախված։ Սերվերի վրա keepalive 10 60-ը դառնում է տեղական ping ամեն տասը վայրկյանում, 120 վայրկյանի տեղական վերսկսման ժամկետ և 10 ու 60 արժեքներ, որոնք ուղարկվում են հաճախորդներին։ Սերվերի ժամկետը դիտավորյալ կրկնապատկվում է, որպեսզի հաճախորդը հնարավորություն ունենա վերսկսել նախքան սերվերի հանձնվելը։ Կարդացեք ընդարձակված ձևը գործող կոնֆիգուրացիայում, ոչ թե պրոֆիլի կրճատումը։
Այդ կրկնապատկումն է պատճառը, որ ցանկացած նկարագրություն, որը պնդում է, թե երկու ծայրերը վերսկսվում են վաթսուն վայրկյան հետո, սխալ է։ Այն նաև բացատրում է, թե ինչու ուղին վատանալիս երկու ծայրերը համատեղ չեն տատանվում։
Սրտի զարկը OpenVPN-ի գործընկերային երթևեկությունն է, ոչ թե ինչ-որ հանրային հոսթի ICMP ստուգում։ Պատասխանը միայն ապացուցում է, որ թունելի հեռավոր ծայրը կենդանի է։ Այն ոչինչ չի ասում այն տվյալների բազայի կամ վեբ ծառայության մասին, որն օգտատիրոջն իսկապես պետք է։
Ինչ չի հետևում Restart=on-failure-ը
Կարդացեք տեղադրված միավորը նախքան փոխարինում ավելացնելը։ Restart=on-failure-ը արձագանքում է փաստաթղթավորված գործընթացի խափանման պայմաններին, ինչը նույնը չէ, ինչ կապակցման վիճակին հետևելը։ Այն չի գործարկվում նրա համար, որ ներքին վերակապակցում է սկսվել, և մաքուր ելքն այլ իմաստ ունի, քան վթարը։
Այդ տարբերությունը կարևոր է, քանի որ ներքին վերսկսումը նույն գործընթացին կենդանի է պահում։ Միավորը ոչինչ չի տեսնում, թունելն ինքն է վերականգնվում, և դա է ճիշտ արդյունքը։
Սահմանեք RestartSec-ը և մեկնարկի սահմանները դիտավորյալ, այլապես վթարների հանգույցը կծանրաբեռնի դարպասը և իրական սխալը կթաղի վերսկսման հաղորդագրությունների տակ։ Գործարկված վերսկսման սահմանը միավորը թողնում է խափանված վիճակում, ինչը տեսանելի է, մինչդեռ անսահմանափակ հանգույցը տեսանելի չէ։
ping-restart-ը և ping-exit-ը փոխարինելի չեն
ping-restart-ը գործարկում է OpenVPN-ի ներքին վերսկսումը և պահպանում գործընթացը։ ping-exit-ը ավարտում է գործընթացը նույն տեսակի ժամկետում, ինչը որոշումը հանձնում է ծառայության կառավարչին։ Դրանք միմյանց բացառում են, և երկրորդի ընտրությունը փոխում է, թե ումն է վերականգնումը։ Տարբերությունն այն է, թե ով է որոշում նորից փորձել, և որքան վիճակ է վերապրում փորձը։
Եթե ընտրում եք ժամկետի ավարտին ելքը, միավորին անհրաժեշտ են համապատասխան վերսկսման քաղաքականություն և ելքի կարգավիճակի մշակում, այլապես կենսունակության խափանումը նման է մշտական կանգի։ Կայունության ընտրանքները կարող են նաև պահպանել ինտերֆեյսներն ու երթուղիները ներքին վերսկսման ընթացքում, բայց ոչ գործընթացի ելքի ընթացքում։
Յուրաքանչյուր տեղակայման համար ընտրեք մեկ կենսացիկլ և գրեք, թե ինչու։ Երկու հրահանգներն էլ կրող պրոֆիլը պրոֆիլ է, որը չի որոշել։
Փորձարկեք յուրաքանչյուր խափանում որպես իր առանձին դեպք
Հաստատված պատուհանում նմանակեք լուռ գործընկեր, սպանված դեմոն և անհասանելի հավելված, ապա ստուգեք, թե որ վերականգնումն է գործարկվել։ Լուռ գործընկերը պետք է տա ներքին վերակապակցում, սպանված գործընթացը՝ միավորի վերսկսում, իսկ հավելվածի խափանումը՝ դրանցից ոչ մեկը։ Երբ երկու դեպք տալիս են նույն գործողությունը, սեփականությունը դեռ խառն է։
Կրկնվող վերականգնումը նույնպես վերանորոգում չէ։ Մերժված հավատարմագրերը կամ մեկ արդյունավետ անուն կիսող երկու հաճախորդ շարունակելու են փոխարինել միմյանց, և ավելի արագ ժամանակաչափերը միայն արագացնում են այդ տատանումը։