Runtime ya VPN kwenye RAM haisemi chochote kuhusu kumbukumbu
Mazingira ya tmpfs na dai la kutokuwa na kumbukumbu ni madai mawili tofauti. Fuatilia kila mwandishi hadi lengo lake na uangalie swap na upelekaji wa jarida kabla ya kuamini.
Seva ya VPN inayoanza kutoka picha ya kusoma tu na kuweka hali yake ya utendaji kwenye tmpfs ni muundo halisi na wenye manufaa. Pia ni rahisi kuielezea kama isiyo na kumbukumbu, jambo ambalo muundo hauthibitishi. Mahali pa hifadhi huamua nakala inapoishi; ukusanyaji na uhifadhi huamua kama rekodi ipo kabisa, na kuwasha upya kunaathiri la kwanza pekee. Kutenganisha hayo mawili ndio ukaguzi wote.
Anza kwa kuorodhesha kila mchakato unaoweza kuandika hali: daemon, huduma ya uthibitishaji, jarida, wakala wowote wa ufuatiliaji na zana za usimamizi.
Hifadhi na ukusanyaji ni maswali mawili tofauti
Kila mwandishi ana lengo lake na sera yake. Daemon ya VPN huandika faili za hali, backend ya uthibitishaji huandika matukio ya akaunti, jarida hukusanya matokeo ya huduma, na wakala wa ufuatiliaji hupeleka vipimo mahali pengine kabisa. Muundo unaofanya kimoja kati ya hivyo kutoweka wakati wa kuwasha upya haujasema chochote kuhusu vingine vitatu. Fuatilia kila mwandishi hadi lengo lake na uangalie kama lengo hilo liko kwenye mashine kabisa.
Faili maalum za programu, uchunguzi uliopakiwa na huduma za nje zinahitaji matibabu sawa. Kutokuwepo kwa kumbukumbu ya kawaida ya ndani hakuthibitishi kwamba rekodi za muunganisho au akaunti hazipo popote; inathibitisha kwamba bado hujapata zinakokwenda.
tmpfs si dhamana
Linux tmpfs si diski halisi ya RAM. Nyaraka za kernel zinasema wazi kwamba kurasa zinaweza kuandikwa kwenye swap pale ambapo mount inaruhusu, kwa hiyo faili ya tmpfs inaweza kufikia diski bila programu kuiiga hapo kamwe. mount huonyesha kama tmpfs inayotumia swap inatumika, na mifumo mingine ya faili za kumbukumbu hujiendesha kwa namna nyingine tena. Soma chaguo halisi za mount badala ya kudhani kwamba njia chini ya /run inamaanisha kubadilika.
Kisha orodhesha mambo yanayonusurika kuwasha upya kwa namna ambazo watu husahau: tabaka la juu la kudumu, hifadhi iliyounganishwa, picha za usingizi mzito, dampu za ajali na picha za miundombinu ya VM nzima. Kila moja ni lengo linalowezekana kwa hali uliyodhani ni ya muda mfupi. Orodha hiyo ni kitu cha kuangalia, si dai kwamba kila mwenyeji anayo yote.
Journald ina malengo mawili na kipeleka kimoja
Journald inaonyesha mgawanyiko huo kwa uzuri. Hifadhi isiyo ya kudumu huhifadhi maingizo chini ya /run/log/journal, ile ya kudumu chini ya /var/log/journal, na hali ya kiotomatiki huchagua kati yao; hali inayotumika hutoka kwenye mfumo unaoendesha na si kwenye maelezo ya picha. Kubadilisha kwenda isiyo ya kudumu hakufuti kile kilichokwisha andikwa kwa kudumu. Upelekaji pia ni njia tofauti: hata mpangilio wa hifadhi usiohifadhi chochote ndani unaweza kukabidhi ujumbe kwa lengo lingine.
Soma hali inayotumika kutoka kwenye jarida yenyewe au faili yake ya usanidi, kisha angalia malengo ya upelekaji kwa mbali, kwa sababu mpangilio mmoja haudhibiti mwingine.
Nini lazima kinusurike kuwasha upya
Mazingira yasiyo na hali yanaunga mkono uingizwaji unaorudiwa, na yanahitaji vyanzo vya makusudi kwa usanidi, idhini na nyenzo za urejeshaji ambazo huduma haiwezi kuzibuni. Kupoteza hali pekee inayofanya kazi ya usajili au ubatilishaji ili maandishi ya ndani yatoweke ni biashara mbaya, na ni ya kawaida. Amua nini lazima kinusurike kwa makusudi, kisha thibitisha kwamba kinanusurika.
Hoja hiyo hiyo inatumika kwa rekodi za uendeshaji. Amua ni matukio gani usalama na usimamizi wa huduma unahitaji kwa kweli, kwa wigo na uhifadhi wenye haki, na punguza mengine. Kupunguza si sawa na kuzima uchunguzi wote.
Linganisha usanidi unaotumika wa hifadhi na upelekaji na matukio machache yasiyodhuru, kisha washa upya au badilisha mashine na uangalie tena kilichobaki na wapi huduma ilipata hali yake tena.