Малина-лого

Raspberry Pi прави поотпорен File Систем

Raspberry-Pi-прави-поотпорен-File-Систем-производ

Опсег на документот

Овој документ се однесува на следните производи на Raspberry Pi:

Пи 0 Пи 1 Пи 2 Пи 3 Пи 4 Пи 400 CM1 CM3 CM4 CM 5 Пико
0 W H A B A B B Сите Сите Сите Сите Сите Сите Сите
* * * * * * * * * * * * * *  

 

Вовед

Уредите на Raspberry Pi Ltd често се користат како уреди за складирање и следење податоци, често на места каде што може да дојде до ненадејно прекинување на напојувањето. Како и кај секој компјутерски уред, испуштањето на напојувањето може да предизвика оштетување на складирањето. Оваа бела книга дава неколку опции за тоа како да се спречи оштетувањето на податоците под овие и други околности со избирање соодветно file системи и поставки за да се обезбеди интегритет на податоците. Оваа бела книга претпоставува дека Raspberry Pi работи со Raspberry Pi (Linux) оперативниот систем (OS) и е целосно ажуриран со најновиот фирмвер и кернели.

Што е корупција на податоци и зошто се јавува?
Корупцијата на податоците се однесува на ненамерни промени во компјутерските податоци што се случуваат при пишување, читање, складирање, пренос или обработка. Во овој документ се мисли само на складирање, наместо на пренос или обработка. Корупцијата може да настане кога процесот на пишување е прекинат пред да заврши, на начин што го спречува завршувањето на пишувањето, на пр.ampле ако се изгуби моќта. Во овој момент вреди да се даде брз вовед за тоа како Linux OS (и, по проширување, Raspberry Pi OS), пишува податоци во складиштето. Linux обично користи кеш за запишување за складирање на податоци што треба да се запишат во складиштето. Овие кеш (привремено ги складираат) податоците во меморијата за случаен пристап (RAM) додека не се достигне одредено предефинирано ограничување, во кој момент сите преостанати записи во медиумот за складирање се прават во една трансакција. Овие предефинирани граници може да бидат поврзани со времето и/или големината. За прampНа пример, податоците може да се кешираат и да се запишуваат во складиштето само на секои пет секунди или да се запишуваат само кога ќе се акумулира одредена количина на податоци. Овие шеми се користат за подобрување на перформансите: запишувањето голем дел од податоците одеднаш е побрзо од запишувањето многу мали делови од податоците.

Меѓутоа, ако се изгуби струја помеѓу податоците што се складираат во кешот и нивното запишување, тие податоци се губат. Други можни проблеми се јавуваат понатаму во процесот на запишување, за време на физичкото запишување на податоците на медиумот за складирање. Откако еден дел од хардверот (на пр.ampНа пример, интерфејсот на картичката Secure Digital (SD)) е кажано да запишува податоци, сепак е потребно ограничено време тие податоци физички да се складираат. Повторно, ако се случи прекин на електричната енергија во тој екстремно краток период, можно е податоците што се запишуваат да се оштетат. При исклучување на компјутерски систем, вклучувајќи го и Raspberry Pi, најдобрата практика е да се користи опцијата за исклучување. Ова ќе осигури дека сите кеширани податоци се запишани и дека хардверот имал време всушност да ги запише податоците на медиумот за складирање. SD картичките што ги користат повеќето уреди од серијата Raspberry Pi се одлични како евтини замени за хард дискови, но се подложни на дефекти со текот на времето, во зависност од тоа како се користат. Флеш-меморијата што се користи во SD картичките има ограничен век на траење на циклусот на запишување и како што картичките се приближуваат до таа граница, тие можат да станат несигурни. Повеќето SD картички користат постапка наречена нивелирање на абењето за да се осигурат дека траат што е можно подолго, но на крајот можат да откажат. Ова може да биде од месеци до години, во зависност од тоа колку податоци се запишани на картичката или (што е поважно) избришани од неа. Овој век на траење може драматично да варира помеѓу картичките. Дефектот на SD картичката обично се означува со случајни file оштетувања бидејќи делови од SD-картичката стануваат неупотребливи.

Постојат и други начини податоците да се оштетат, вклучувајќи, но не ограничувајќи се на, неисправен медиум за складирање, грешки во софтверот за пишување во складиштето (драјвери) или грешки во самите апликации. За целите на оваа бела книга, секој процес преку кој може да се случи губење на податоци е дефиниран како настан на корупција.

Што може да предизвика операција за запишување?
Повеќето апликации прават некој вид на пишување на складирање, на прampинформации за конфигурација, ажурирање на базата на податоци и слично. Некои од овие files може да бидат дури и привремени, т.е. се користат само додека програмата работи и не треба да се одржуваат во текот на циклусот на напојување; сепак, тие сè уште резултираат со запишување на медиумот за складирање. Дури и ако вашата апликација всушност не пишува никакви податоци, во позадина Linux постојано ќе прави запишувања во складиштето, главно пишувајќи информации за евиденција.

Хардверски решенија

Иако не е целосно во рамките на оваа бела книга, вреди да се спомене дека спречувањето на неочекувани прекини на напојувањето е вообичаено користено и добро разбрано ублажување против загубата на податоци. Уредите како што се напојувањата за непрекинато напојување (UPS) обезбедуваат дека напојувањето останува цврсто и, ако се изгуби напојувањето со UPS-от, додека е напојувањето од батеријата, може да му каже на компјутерскиот систем дека губењето на енергија е неизбежно, така што исклучувањето може да продолжи благодатно пред да истече резервното напојување. Бидејќи SD-картичките имаат ограничен век на траење, може да биде корисно да се има режим за замена што ќе осигури дека SD-картичките се заменуваат пред да имаат шанса да стигнат до крајот на животниот век.

Робустен file системи

Постојат различни начини на кои уредот Raspberry Pi може да се зацврсти против корупциски настани. Тие се разликуваат во нивната способност да ја спречат корупцијата, при што секоја акција ја намалува можноста за нејзино појавување.

  • Намалување пишува
    Едноставното намалување на обемот на пишување што го прават вашите апликации и Linux OS може да има корисен ефект. Ако правите многу сеча, тогаш се зголемуваат шансите за пишување за време на корупциски настан. Намалувањето на најавувањето во вашата апликација зависи од крајниот корисник, но најавувањето во Linux исто така може да се намали. Ова е особено важно ако користите складирање базирано на блиц (на пр. eMMC, SD картички) поради нивниот ограничен животен циклус на пишување.
  • Промена на времето на извршување
    Времето на извршување за а file систем е времето за кое кешира податоци пред да ги копира сите во складиштето. Зголемувањето на ова време ги подобрува перформансите со собирање многу записи, но може да доведе до губење на податоци ако има настан за корупција пред да се запишат податоците. Намалувањето на времето на извршување ќе значи помали шанси за корупциски настан да доведе до губење на податоци, иако тоа не го спречува целосно.
    За да го промените времето на извршување за главниот EXT4 file систем на Raspberry Pi OS, треба да ја уредите табулаторот \etc\fstab file кој дефинира како file системите се монтираат при стартување.
  • $sudo nano /etc/fstab

Додадете го следново во EXT4 записот за root-от file систем:

  • посветат=

Значи, fstab може да изгледа вака, каде што времето за извршување е поставено на три секунди. Времето на извршување стандардно ќе биде пет секунди ако не е конкретно поставено.

Raspberry-Pi-прави-поотпорен-File-Систем-

 

Привремено file системи

Ако апликацијата бара привремена file складирање, т.е. податоци кои се користат само додека апликацијата работи и не се бара да се зачуваат при исклучување, тогаш добра опција за да се спречи физичко запишување во складиштето е да се користи привремен file систем, tmpfs. Бидејќи овие file системите се базирани на RAM меморија (всушност, во виртуелна меморија), сите податоци напишани на tmpfs никогаш не се запишуваат на физичко складирање и затоа не влијаат на животниот век на блицот и не можат да се оштетат поради корупциски настан.
Креирањето на една или повеќе tmpfs локации бара уредување на /etc/fstab file, кој ги контролира сите file системи под Raspberry Pi OS. Следниве прample ги заменува локациите базирани на складирање /tmp и /var/log со привремени file системски локации. Вториот ексample, која ја заменува стандардната папка за логирање, ја ограничува вкупната големина на file систем до 16 MB.

  • tmpfs /tmp tmpfs стандардни поставки, noatime 0 0
  • tmpfs /var/log стандардни вредности на tmpfs,noatime,size=16m 0 0

Исто така, постои скрипта од трета страна која помага да се постави најавување на RAM меморијата, што може да се најде на GitHub. Ова ја има дополнителната карактеристика на фрлање на логовите базирани на RAM на дискот во однапред дефиниран интервал.

Корен само за читање file системи

Коренот file систем (rootfs) е file систем на партицијата на дискот на која се наоѓа root директориумот, а тоа е file систем на кој сите други file системите се монтираат додека системот се подигнува. На Raspberry Pi е /, а стандардно се наоѓа на SD-картичката како партиција за целосно читање/запишување EXT4. Постои и папка за подигање, која е монтирана како /boot и е партиција за читање/пишување FAT. Правењето на rootf-овите САМО да се читаат спречува секаков вид на пристап до запишување, што го прави многу поодржлив за корупциски настани. Меѓутоа, освен ако не се преземат други дејства, тоа значи дека ништо не може да му се напише на file воопшто системот, така што зачувувањето на податоци од секаков вид од вашата апликација во rootfs е оневозможено. Ако треба да складирате податоци од вашата апликација, но сакате rootf само за читање, вообичаена техника е да додадете USB мемориски стик или слично што е само за складирање на кориснички податоци.

ЗАБЕЛЕШКА
Ако користите замена file кога користите само за читање file систем, ќе треба да ја преместите размената file на партиција за читање/запишување.

Преклопување file систем

Преклопување file системот (overlayfs) комбинира две file системи, горен file систем и понизок file систем. Кога името постои и во двете file системи, објектот во горниот file системот е видлив додека објектот е во долниот дел file Системот е или скриен или, во случај на директориуми, споен со горниот објект. Raspberry Pi обезбедува опција во raspi-config за да се овозможи преклопување на fs. Ова ги прави rootfs (долните) само за читање и создава горен фајл базиран на RAM. file систем. Ова дава многу сличен резултат на само за читање file систем, при што сите промени на корисникот се губат при рестартирање. Можете да овозможите overlayfs користејќи ја командната линија raspi-config или користејќи ја апликацијата Raspberry Pi Configuration на десктоп во менито Preferences.

Исто така, постојат и други имплементации на преклопувања кои можат да ги синхронизираат потребните промени од горниот кон долниот file систем по однапред определен распоред. За прampНа пример, може да ја копирате содржината од домашната папка на корисникот од горната кон долната папка на секои дванаесет часа. Ова го ограничува процесот на запишување на многу краток временски период, што значи дека корупцијата е многу помалку веројатна, но значи дека ако се изгуби струјата пред синхронизацијата, сите податоци генерирани од последната се губат. pSLC на Compute модулите eMMC меморијата што се користи на Raspberry Pi Compute Module уредите е MLC (Multi-Level Cell), каде што секоја мемориска ќелија претставува 2 бита. pSLC, или псевдо-Single Level Cell, е вид на NAND флеш меморија технологија што може да се овозможи во компатибилни MLC уреди за складирање, каде што секоја ќелија претставува само 1 бит. Дизајнирана е да обезбеди рамнотежа помеѓу перформансите и издржливоста на SLC флеш меморијата и економичноста и поголемиот капацитет на MLC флеш меморијата. pSLC има поголема издржливост на запишување од MLC бидејќи запишувањето податоци во ќелиите поретко го намалува абењето. Додека MLC може да понуди околу 3,000 до 10,000 циклуси на запишување, pSLC може да постигне значително поголеми броеви, приближувајќи се до нивоата на издржливост на SLC. Оваа зголемена издржливост се преведува во подолг животен век за уредите што користат pSLC технологија во споредба со оние што користат стандардна MLC.

MLC е поисплатлив од SLC меморијата, но додека pSLC нуди подобри перформанси и издржливост од чистото MLC, тоа го прави на сметка на капацитетот. MLC уред конфигуриран за pSLC ќе има половина од капацитетот (или помалку) што би го имал како стандарден MLC уред бидејќи секоја ќелија складира само еден бит наместо два или повеќе.

Детали за имплементација

pSLC е имплементиран на eMMC како Подобрена корисничка област (исто така позната како Подобрено складирање). Вистинската имплементација на Подобрената корисничка област не е дефинирана во MMC стандардот, но обично е pSLC.

  • Подобрената корисничка област е концепт, додека pSLC е имплементација.
  • pSLC е еден начин за имплементирање на подобрена корисничка област.
  • Во времето на пишување, eMMC што се користи на Raspberry Pi Compute Modules ја имплементира подобрената корисничка област користејќи pSLC.
  • Нема потреба да се конфигурира целата корисничка област на eMMC како Подобрена корисничка област.
  • Програмирањето на мемориски регион како подобрена корисничка област е еднократна операција. Тоа значи дека не може да се поништи.

Вклучувајќи го
Linux обезбедува збир на команди за манипулирање со eMMC партициите во пакетот mmc-utils. Инсталирајте стандарден Linux OS на уредот CM и инсталирајте ги алатките на следниов начин:

  • sudo apt инсталирај mmc-utils

За да добиете информации за eMMC (оваа команда се сведува на помалку бидејќи има доста информации за прикажување):

  • sudo mmc extcsd чита /dev/mmcblk0 | помалку

 ПРЕДУПРЕДУВАЊЕ
Следниве операции се еднократни - можете да ги извршите еднаш и не може да се отповикаат. Исто така, треба да ги извршите пред да се користи модулот за пресметување, бидејќи тие ќе ги избришат сите податоци. Капацитетот на eMMC ќе се намали на половина од претходната вредност.

Командата што се користи за вклучување на pSLC е mmc enh_area_set, што бара неколку параметри кои кажуваат колку површина на меморија треба да се овозможи pSLC. Следниве прampја користи целата област. Ве молиме погледнете ја командата mmc помош (man mmc) за детали за тоа како да користите подмножество на eMMC.

Raspberry-Pi-прави-поотпорен-File-Систем-

Откако уредот ќе се рестартира, ЌЕ треба повторно да го инсталирате оперативниот систем, бидејќи овозможувањето pSLC ќе ја избрише содржината на eMMC.

Софтверот Raspberry Pi CM Provisioner има опција за поставување на pSLC за време на процесот на обезбедување. Ова може да се најде на GitHub на https://github.com/raspberrypi/cmprovision.

  • Исклучен од уредот file системи / мрежно подигнување
    Raspberry Pi може да се подигне преку мрежна врска, на прampсо користење на мрежата File Систем (NFS). Ова значи дека откако уредот ќе ги заврши своите први работиtage boot, наместо да се вчитаат неговото јадро и корен file систем од SD-картичката, се вчитува од мрежен сервер. Откако ќе се кандидира, сите file операциите дејствуваат на серверот, а не на локалната SD-картичка, која нема понатамошна улога во постапката.
  • Облачни решенија
    Во денешно време, многу канцелариски задачи се одвиваат во прелистувачот, при што сите податоци се складираат онлајн во облакот. Одржувањето на складирањето податоци надвор од SD-картичката очигледно може да ја подобри доверливоста, на сметка на потребата од постојано вклучена врска со интернет, како и можните трошоци од давателите на облак. Корисникот може или да користи целосна инсталација на Raspberry Pi OS, со Raspberry Pi оптимизиран прелистувач, за да пристапи до која било од облак услугите од добавувачите како што се Google, Microsoft, Amazon итн. Алтернатива е еден од давателите на тенки клиенти, кој го заменува Raspberry Pi OS со ОС/апликација што работи од ресурси складирани на централен сервер за картичка наместо од SD. Тенките клиенти работат со далечинско поврзување со компјутерска средина базирана на сервер каде што се складирани повеќето апликации, чувствителни податоци и меморија.

Заклучоци

Кога се следат правилните процедури за исклучување, складирањето на SD картичката на Raspberry Pi е исклучително сигурно. Ова функционира добро во домашна или канцелариска средина каде што исклучувањето може да се контролира, но кога се користат Raspberry Pi уреди во индустриска употреба или во области со несигурно напојување, дополнителните мерки на претпазливост можат да ја подобрат сигурноста.

Накратко, опциите за подобрување на сигурноста можат да се наведат на следниов начин:

  • Користете добро позната, сигурна SD картичка.
  • Намалете го запишувањето користејќи подолго време на извршување, користејќи привремено file системи, користејќи преклопување или слично.
  • Користете складирање надвор од уредот, како што е мрежно стартување или складирање во облак.
  • Имплементирајте режим за замена на SD картичките пред да стигнат до крајот на нивниот век на траење.
  • Користете UPS.

Raspberry Pi е заштитен знак на Raspberry Pi Ltd
Raspberry Pi Ltd

Колофон
© 2020-2023 Raspberry Pi Ltd (порано Raspberry Pi (Trading) Ltd.)
Оваа документација е лиценцирана според Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND).

  • датум на изработка: 2024
  • верзија-на-градба: githash: 3e4dad9-clean

Известување за правно одрекување
ТЕХНИЧКИ ПОДАТОЦИ ЗА СИГУРНОСТ ЗА ПРОИЗВОДИТЕ НА РАСПЕРИ ПИ (ВКЛУЧУВАЈТЕ ЛИСТИ СО ПОДАТОЦИ) КАКО ИЗМЕНЕТИ ОД ВРЕМЕ НА ВРЕМЕ („РЕСУРСИ“) СЕ ОБЕЗБЕДУВААТ RASPBERRY PI LTD („RPL“) „ANYMPLIED, IEX НЕ ОГРАНИЧЕНО ДО, ИМПЛИЦИРАНИТЕ ГАРАНЦИИ ЗА КОРИСТЕЊЕ И СООДВЕТНОСТ ЗА ПОСЕБНИ ЦЕЛИ СЕ ОТРЕЧУВААТ. ВО МАКСИМАЛНИОТ СТЕМЕН ДОЗВОЛЕН СО ВАЖЕЛНИОТ ЗАКОН ВО НИКОЈ СЛУЧАЈ НЕМА ОДГОВОРЕН ЗА НИКАКВА ДИРЕКТНА, ИНДИРЕКТНА, ИНЦИДЕНТАЛНА, ПОСЕБНА, ПРИМЕРНА ИЛИ ПОСЛЕДНИЧКИ ШТЕТИ ВКЛУЧУВАЈЌИ, ИЛИ УСЛУГИ ГУБЕЊЕ НА КОРИСТЕЊЕ, ПОДАТОЦИ ИЛИ ДОБИВКИ ИЛИ ДЕЛОВЕН ПРЕКИН) СЕКОГАШ ПРЕДИЗВИКУВАЊЕ И ЗА КОЈА ТЕОРИЈА НА ОДГОВОРНОСТ, БИЛО БИЛО ДОГОВОР, СТРОГА ОДГОВОРНОСТ ИЛИ ДЕЛОВЕН ПРЕКИН (ВКЛУЧУВАЈТЕ ГО НЕМОРУВАЊЕ ИЛИ ПОИНАКУ КОИ СЕ ПРЕТСТАВУВА) СОВЕТЕН ЗА МОЖНОСТА ОД ТАКВА ШТЕТА.

RPL го задржува правото да прави какви било подобрувања, корекции или какви било други модификации на РЕСУРСИТЕ или на кои било производи опишани во нив во кое било време и без понатамошно известување. РЕСУРСИТЕ се наменети за вешти корисници со соодветно ниво на познавање на дизајнот. Корисниците се единствено одговорни за нивниот избор и употреба на РЕСУРСИТЕ и за која било примена на производите опишани во нив. Корисникот се согласува да го обештети и заштити RPL од сите одговорности, трошоци, штети или други загуби што произлегуваат од нивното користење на РЕСУРСИТЕ. RPL им дава дозвола на корисниците да ги користат РЕСУРСИТЕ исклучиво во комбинација со производите Raspberry Pi. Секоја друга употреба на РЕСУРСИТЕ е забранета. Не е дадена лиценца за кое било друго право на интелектуална сопственост на RPL или друго право на интелектуална сопственост на трети страни.

АКТИВНОСТИ СО ВИСОК РИЗИК. Производите на Raspberry Pi не се дизајнирани, произведени или наменети за употреба во опасни средини кои бараат безбедни перформанси, како што е работењето на нуклеарни постројки, системи за навигација или комуникација на воздухоплови, контрола на воздушниот сообраќај, системи за оружје или апликации критични за безбедноста (вклучувајќи системи за одржување на живот и други медицински уреди), во кои дефектот на производите може директно да доведе до смрт, телесна повреда или тешка физичка или еколошка штета („Активности со висок ризик“). RPL посебно се оградува од каква било изречна или имплицитна гаранција за соодветност за активности со висок ризик и не прифаќа никаква одговорност за употреба или вклучување на производите на Raspberry Pi во активности со висок ризик. Производите на Raspberry Pi се обезбедуваат согласно Стандардните услови на RPL. Обезбедувањето на РЕСУРСИТЕ од страна на RPL не ги проширува или на друг начин не ги менува Стандардните услови на RPL, вклучувајќи ги, но не ограничувајќи се на одрекувањата од одговорност и гаранциите изразени во нив.

Најчесто поставувани прашања

  • П: Кои производи на Raspberry Pi се поддржани со овој документ?
    A: Овој документ се однесува на различни производи од Raspberry Pi, вклучувајќи ги Pi 0 W, Pi 1 A/B, Pi 2 A/B, Pi 3, Pi 4, Pi 400, CM1, CM3, CM4, CM5 и Pico.
  • П: Како можам да ги намалам шансите за оштетување на податоците на мојот уред Raspberry Pi?
    A: Можете да ја намалите корупцијата на податоците со минимизирање на операциите за запишување, особено активностите за евидентирање и прилагодување на времето на извршување за file систем како што е опишано во овој документ.

Документи / ресурси

Raspberry Pi прави поотпорен File Систем [pdf] Упатство за корисникот
Pi 0, Pi 1, правејќи поотпорен File Систем, поотпорен File Систем, еластичен File Систем, File Систем

Референци

Оставете коментар

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *