Reiser4 FS ၏ developer Eduard Shishkin နှင့် ဒုတိယအင်တာဗျူး

Reiser4 ဖိုင်စနစ်၏ developer Eduard Shishkin နှင့် ဒုတိယအင်တာဗျူးကို ထုတ်ဝေလိုက်ပါသည်။

စတင်ရန်၊ သင်အလုပ်လုပ်သည့်နေရာနှင့် မည်သူအတွက် စာဖတ်သူများကို ကျေးဇူးပြု၍ သတိပေးပါ။

ကျွန်ုပ်သည် Huawei Technologies၊ German Research Center တွင် Principal Storage Architect အဖြစ် အလုပ်လုပ်ပါသည်။ virtualization ဌာနတွင် ကျွန်ုပ်သည် ဒေတာသိမ်းဆည်းခြင်းဆိုင်ရာ ရှုထောင့်အမျိုးမျိုးကို ကိုင်တွယ်ဖြေရှင်းပါသည်။ ကျွန်ုပ်၏လုပ်ဆောင်ချက်များသည် သီးခြားလည်ပတ်မှုစနစ်နှင့် မသက်ဆိုင်ပါ။

သင်သည် လက်ရှိ ပင်မ kernel ဌာနခွဲသို့ ကတိပြုနေပါသလား။

အလွန်ရှားပါတယ်၊ ငါ့အလုပ်ရှင်က လိုအပ်မှသာလျှင်။ လွန်ခဲ့သော သုံးနှစ်ခန့်က၊ ကျွန်ုပ်သည် 9p ပရိုတိုကောကို အသုံးပြု၍ host များပေါ်တွင် မျှဝေထားသော သိုလှောင်မှုပမာဏကို တိုးမြှင့်ရန်အတွက် ဖာထေးမှုများကို ပေးပို့ခဲ့သည် (ဤလုပ်ငန်းအတွက် အခြားအမည်မှာ VirtFS) ဖြစ်သည်။ ဤနေရာတွင် အရေးကြီးသော မှတ်ချက်တစ်ခုကို ပြုလုပ်ရပါမည်- ကျွန်ုပ်သည် Linux နှင့် အချိန်အတော်ကြာ အလုပ်လုပ်နေသော်လည်း၊ ကျွန်ုပ်သည် အခြားအရာအားလုံးကဲ့သို့ပင် "အညီအမျှ အသက်ရှူခြင်း" ဖြစ်သည်၊ ဆိုလိုသည်မှာ ကျွန်ုပ်သည် ၎င်းကို နှစ်သက်သူမဟုတ်ခဲ့ပါ။ အထူးသဖြင့် ချို့ယွင်းချက်တစ်ခုကို သတိပြုမိပါက၊ တစ်ကြိမ်တစ်ခါမျှ ထောက်ပြနိုင်သည်။ သို့မှသာ သင်သည် တစ်စုံတစ်ဦးကို လိုက်နာပြီး သူတို့ကို ဆွဲဆောင်နိုင်စေရန် - ထိုသို့ ဖြစ်လာမည်မဟုတ်ပါ။

လွန်ခဲ့တဲ့ ဆယ်နှစ်လောက်က၊ မင်းက kernel ဖွံ့ဖြိုးတိုးတက်မှုပုံစံကို အတော်လေး ဝေဖန်ခဲ့တာကို မှတ်မိတယ်။ မင်းရဲ့ (ဒါမှမဟုတ် ကော်ပိုရိတ်) ရှုထောင့်ကနေကြည့်ရင် တစ်ခုခု ပြောင်းလဲသွားပြီလား၊ အသိုင်းအဝိုင်းက ပိုတုံ့ပြန်လာသလား၊ မဟုတ်ရင် ဘယ်သူ့ကို အပြစ်တင်ရမလဲ။

ကျွန်တော် အပြုသဘောဆောင်တဲ့ ပြောင်းလဲမှုတွေ မတွေ့ဖူးပါဘူး။ အသိုင်းအဝိုင်းရဲ့ အဓိကပြဿနာက သိပ္ပံပညာကို နိုင်ငံရေးနည်းပညာတွေ၊ ကိုယ်ရေးကိုယ်တာဆက်ဆံရေးတွေ၊ အများစုရဲ့ ထင်မြင်ယူဆချက်၊ လူကြိုက်များရေးဝါဒ၊ "အတွင်းစိတ်အသံ" တွေရဲ့ အကြံဉာဏ်တွေ၊ ပုပ်သိုးနေတဲ့ ညှိနှိုင်းမှုတွေ - သိပ္ပံပညာကလွဲလို့ ဘာမဆိုနဲ့ အစားထိုးတာပါပဲ။ ကွန်ပျူတာသိပ္ပံကို ဘယ်လိုပဲကြည့်ကြည့်၊ ပထမဦးစွာ တိကျတဲ့ သိပ္ပံပညာတစ်ခုပါပဲ။ ပြီးတော့ တစ်ယောက်ယောက်က "4" နဲ့ မတူတဲ့ 2x2 ရဲ့ အဓိပ္ပာယ်ကို ကြေငြာလာရင်Linux "နည်းလမ်း" သို့မဟုတ် အခြားနည်းလမ်းတစ်ခုခုအောက်တွင်ဆိုလျှင်၊ အန္တရာယ်မှလွဲ၍ အခြားမည်သည့်အရာကိုမျှ ယူဆောင်လာရန် မဖြစ်နိုင်ပါ။

ပြဿနာအားလုံးသည် အဓိကအားဖြင့် ဆုံးဖြတ်ချက်ချသူများ၏ အရည်အချင်းမပြည့်မီမှုနှင့် ပညာရေးချို့တဲ့မှုကြောင့်ဖြစ်သည်။ မန်နေဂျာတစ်ဦးသည် အရည်အချင်းမပြည့်မီပါက ရည်မှန်းချက်၊ လုံလောက်သော ဆုံးဖြတ်ချက်ကို မချနိုင်ပါ။ အကယ်၍ သူသည် မယဉ်ကျေးပါက၊ မှန်ကန်သော အကြံဉာဏ်ပေးမည့် ကျွမ်းကျင်သော ကျွမ်းကျင်သူကို ရှာမတွေ့နိုင်ပါ။ ဖြစ်နိုင်ခြေများသောအားဖြင့်၊ "မှန်သည်ဟုထင်ရသောအရာများ" ဟုပြောသောလိမ်လည်သူအပေါ်တွင်ရွေးချယ်မှုကျလိမ့်မည်။ အကျင့်ပျက် ဝန်းကျင်တစ်ခုသည် အရည်အချင်းမရှိသော တစ်ဦးတည်းသော ခေါင်းဆောင်များ၏ ပတ်ဝန်းကျင်တွင် အမြဲတမ်း ဖွံ့ဖြိုးတိုးတက်နေပါသည်။ ထို့အပြင်၊ သမိုင်းသည် ဤကိစ္စနှင့် ပတ်သက်၍ ခြွင်းချက်မရှိ သိရှိပြီး အသိုင်းအဝိုင်းသည် ဤကိစ္စကို အရှင်းလင်းဆုံး အတည်ပြုချက်ဖြစ်သည်။

Btrfs ဖွံ့ဖြိုးတိုးတက်မှုတွင် တိုးတက်မှုကို သင်မည်ကဲ့သို့ အကဲဖြတ်သနည်း။ ဤ FS သည် ကလေးဘဝရောဂါများ ပျောက်ကင်းသွားပါသလား။ FS "အိမ်အတွက်" အဖြစ် သို့မဟုတ် ကော်ပိုရိတ်အသုံးပြုရန်အတွက် သင်ကိုယ်တိုင် မည်သို့နေရာချထားသနည်း။

ငါ အဲဒါကို မဖယ်ရှားလိုက်ဘူး။ လွန်ခဲ့တဲ့ 11 နှစ်က ကျွန်တော်ပြောခဲ့တဲ့ အရာအားလုံးဟာ ဒီနေ့အထိ ဆက်နွယ်နေဆဲပါပဲ။ လေးနက်သောလိုအပ်ချက်များအတွက်မသင့်လျော်စေသော Btrfs နှင့်ပြဿနာများထဲမှတစ်ခုမှာနေရာလွတ်ပြဿနာဖြစ်သည်။ အခြား FS သည် partition တွင်နေရာလွတ်များစွာပြသမည့်အခြေအနေများတွင်အသုံးပြုသူအား disk အသစ်တစ်ခုအတွက်စတိုးဆိုင်သို့လည်ပတ်ရန်တောင်းဆိုသည့်အချက်ကိုပင်ကျွန်ုပ်မပြောပါ။ နေရာလွတ်မရှိခြင်းကြောင့် ယုတ္တိတန်သောအသံအတိုးအကျယ်တွင် လည်ပတ်မှုတစ်ခုကို ပြီးမြောက်အောင် မဆောင်ရွက်နိုင်ခြင်းသည်လည်း အဆိုးဆုံးမဟုတ်ပါ။ အဆိုးဆုံးမှာ အခွင့်ထူးမရသေးသော အသုံးပြုသူတစ်ဦးသည် မည်သည့် disk ခွဲတမ်းကိုမဆို အမြဲတမ်းနီးပါးကျော်ဖြတ်နိုင်ပြီး အချိန်တိုတိုအတွင်း နေရာလွတ်အားလုံးကို ဆုံးရှုံးစေနိုင်သည်။

ဒါက ဒီလိုပုံစံမျိုးပါ (kernel အတွက် စမ်းသပ်ပြီးပါပြီ) Linux ၅.၁၂)။ အသစ်ထည့်သွင်းထားသော စနစ်တွင်၊ home directory တွင် သီးခြားအမည်များဖြင့် ဖိုင်များကို loop တစ်ခုဖြင့် ဖန်တီးပြီး ၎င်းတို့ထံ သတ်မှတ်ထားသော offset များတွင် data များကို ရေးသားပြီးနောက် ထိုဖိုင်များကို ဖျက်ပစ်သည့် script တစ်ခုကို run ပါသည်။ ဤ script ကို တစ်မိနစ်ကြာပြီးနောက်တွင် ထူးထူးခြားခြား ဘာမှမဖြစ်ပျက်ပါ။ ငါးမိနစ်အကြာတွင် partition ပေါ်ရှိ အသုံးပြုထားသော နေရာလွတ်သည် အနည်းငယ်တိုးလာပါသည်။ နှစ်နာရီမှ သုံးနာရီအကြာတွင် (အစပိုင်းတန်ဖိုး ၁၅%) မှ ၅၀% သို့ ရောက်ရှိပါသည်။ ငါးနာရီမှ ခြောက်နာရီအကြာတွင် script သည် "partition ပေါ်တွင် နေရာလွတ်မရှိပါ" ဟူသော အမှားဖြင့် crash ဖြစ်သွားသည်။ ၎င်းနောက်တွင် သင့် partition တွင် 4K ဖိုင်တစ်ခုကိုပင် ရေးသား၍မရတော့ပါ။

စိတ်ဝင်စားစရာကောင်းတဲ့ အခြေအနေတစ်ခု ဖြစ်ပေါ်လာပါတယ်- သင် partition မှာ ဘာတစ်ခုမှ မရေးဖြစ်တော့ဘဲ နေရာလွတ်တွေ (85%) လောက်က တစ်နေရာရာမှာ ပျောက်သွားတယ်။ ထိုသို့သော တိုက်ခိုက်မှုကို ခံရသည့် အပိုင်းကို လေ့လာခြင်း သည် အကြောင်းအရာ တစ်ခု (သော့တစ်ခု တပ်ဆင်ထားသော အရာတစ်ခု)၊ အရွယ်အစား များစွာရှိသော ဘိုက်များ ပါ၀င်သည့် သစ်ပင် ဆုံမှတ် အများအပြားကို ဖော်ပြပါမည်။ ဆိုလိုသည်မှာ၊ ယခင်က disk space ၏ 15% ကိုသိမ်းပိုက်ထားသောအကြောင်းအရာသည် partition တစ်ခုလုံးအပေါ်အညီအမျှ "smeared" ဖြစ်သွားသောကြောင့် ဖိုင်အသစ်တစ်ခုရေးရန် နေရာမရှိတော့သောကြောင့် ၎င်း၏သော့သည် ရှိပြီးသားအားလုံးထက် ပိုကြီးပြီး အခမဲ့ဖြစ်သည်။ partition ပေါ်က blocks တွေ ကုန်သွားပါပြီ။

ထို့အပြင်၊ ဤအရာအားလုံးသည် အခြေခံ Btrfs configuration (လျှပ်တစ်ပြက်များ၊ အတွဲများ၊ စသည်ဖြင့်) တွင် ဖြစ်နေပြီဖြစ်ပြီး ၎င်းသည် FS တွင် ဖိုင်ကောင်များကို မည်သို့သိမ်းဆည်းရန် ဆုံးဖြတ်ခဲ့သည် (သစ်ပင်၌ “အပိုင်းအစများ” အဖြစ် သို့မဟုတ် အတိုင်းအတာများအဖြစ် မည်ကဲ့သို့မျှ အရေးမကြီးပါ။ ပုံသဏ္ဍာန်မရှိသောလုပ်ကွက်များ၏) - နောက်ဆုံးရလဒ်သည်တူညီလိမ့်မည်။

သင်သည် အခြားသော အထက်စီးကြောင်း ဖိုင်စနစ်များကို ထိုသို့သော တိုက်ခိုက်မှုမျိုးတွင် လက်အောက်ခံနိုင်မည်မဟုတ်ပါ (သူတို့က သင့်အား မည်သို့ပင်ဆိုစေ)။ ကျွန်ုပ်သည် ပြဿနာ၏အကြောင်းရင်းကို ကြာမြင့်စွာကတည်းက ရှင်းပြခဲ့သည်- ၎င်းသည် Btrfs ရှိ B-tree အယူအဆ၏ လုံးလုံးလျားလျား ဖောက်ပြန်ခြင်းဖြစ်ပြီး ၎င်းသည် အလိုအလျောက် သို့မဟုတ် ရည်ရွယ်ချက်ရှိရှိ ပျက်ယွင်းသွားစေရန် ဖြစ်နိုင်စေသည်။ အထူးသဖြင့်၊ အချို့သော loads များအောက်တွင်၊ ပြင်ပအကူအညီမပါဘဲ၊ သင်၏ဖိုင်စနစ်သည် လည်ပတ်နေစဉ်အတွင်း သူ့ဘာသာသူ "ကွဲအက်" လိမ့်မည်။ "နှိပ်ခြင်း" နောက်ခံလုပ်ငန်းစဉ် အမျိုးအစားအားလုံးသည် ဒက်စတော့တစ်ခုစီတွင်သာ နေ့တစ်နေ့ကို သိမ်းဆည်းထားမည်မှာ ထင်ရှားပါသည်။

စုပေါင်းလုပ်ဆောင်သူများအပေါ် ဆာဗာများ တိုက်ခိုက်သူတစ်ဦးသည် ၎င်းတို့ကို အမြဲတမ်း "အသာစီးရ" နိုင်မည်ဖြစ်သည်။ စနစ်စီမံခန့်ခွဲသူသည် မည်သူက သူ့ကို အလွဲသုံးစားပြုနေသည်ကိုပင် ဆုံးဖြတ်နိုင်မည်မဟုတ်ပါ။ Btrfs တွင် ဤပြဿနာကို ဖြေရှင်းရန် အမြန်ဆုံးနည်းလမ်းမှာ ပုံမှန် B-tree ၏ဖွဲ့စည်းပုံကို ပြန်လည်ထားရှိရန်ဖြစ်ပြီး၊ ဆိုလိုသည်မှာ disk format ကို ပြန်လည်ဒီဇိုင်းထုတ်ပြီး Btrfs code ၏ အရေးပါသောအစိတ်အပိုင်းကို ပြန်လည်ရေးသားခြင်းဖြစ်သည်။ ၎င်းသည် debugging အပါအဝင် ၈-၁၀ နှစ်ခန့် ကြာမည်ဖြစ်ပြီး၊ developer များသည် သက်ဆိုင်ရာ algorithms များနှင့် data structures များဆိုင်ရာ မူရင်းစာတမ်းများကို တင်းကြပ်စွာလိုက်နာပြီး ထုံးစံအတိုင်း (နှင့် အားပေးအားမြှောက်ပြုထားသည့်) "ပျက်နေသော တယ်လီဖုန်း" ကို မကစားပါကဖြစ်သည်။Linux နည်းလမ်း "။

ဤနေရာတွင် ကျွန်ုပ်တို့သည် ဤအရာအားလုံးကို နားလည်ရန် developer များအတွက် လိုအပ်သောအချိန်ကိုလည်း ထည့်ရန် လိုအပ်ပါသည်။ ဒီနေရာက ပိုခက်တယ်။ မည်သို့ပင်ဆိုစေကာမူ 10 နှစ်သည် သူတို့နားလည်ရန် မလုံလောက်ခဲ့ပေ။ ကောင်းပြီ၊ ထိုအချိန်အထိ သင်သည် အံ့ဖွယ်အမှုကို မမျှော်လင့်နိုင်ပါ။ "မင်းနဲ့ငါမသိခဲ့ဘူး" တပ်ဆင်ခြင်းပုံစံ သို့မဟုတ် ပြင်ဆင်ရန် "လုပ်ငန်းကိစ္စတစ်ခုသာ" ဖြစ်သည့် ဖာထေးမှုပုံစံဖြင့် ၎င်းသည် ဖြစ်ပေါ်လာမည်မဟုတ်ပါ။ ထိုသို့သော အလျင်စလို "ပြင်ဆင်ခြင်း" တစ်ခုစီအတွက် ယိုယွင်းမှုအခြေအနေအသစ်ကို ကျွန်ုပ်တင်ပြပါမည်။ B-trees သည် ကျွန်ုပ်အနှစ်သက်ဆုံး အကြောင်းအရာများထဲမှ တစ်ခုဖြစ်ပြီး၊ ဤအဆောက်အဦများသည် သူတို့ကိုယ်သူတို့ လွတ်လပ်မှုကို သည်းမခံနိုင်ကြောင်း ပြောရပါမည်။

ငါ Btrfs ကို ငါ့ကိုယ်ငါ ဘယ်လိုနေရာချမလဲ။ ဖိုင်စနစ်လို့ လုံးဝခေါ်လို့မရတဲ့ အရာတစ်ခုအနေနဲ့ သုံးဖို့နေနေသာသာ။ အဓိပ္ပါယ်ဖွင့်ဆိုရသော် FS သည် Btrfs ကိစ္စတွင် ကျွန်ုပ်တို့မမြင်ရသော “disk space” အရင်းအမြစ်၏ ထိရောက်သောစီမံခန့်ခွဲမှုအတွက် တာဝန်ရှိသော OS ခွဲစနစ်တစ်ခုဖြစ်သောကြောင့် ဖြစ်သည်။ အလုပ်နောက်ကျဖို့ လက်ပတ်နာရီဝယ်ဖို့ စတိုးဆိုင်ကို လာလည်တယ်လို့ စိတ်ကူးကြည့်လိုက်ပါ၊ နာရီအစား အချိန်တိုင်းစက်ပါတဲ့ လျှပ်စစ်မီးကင်တစ်လုံးကို အများဆုံး မိနစ် 30 လောက် ရောင်းချပေးလိုက်ပါ။ ထို့ကြောင့် Btrfs ၏အခြေအနေသည် ပို၍ ဆိုးရွားသည်။

စာပို့စာရင်းများကို ကြည့်ရင်း၊ drives များ စျေးသက်သာခြင်းကြောင့် disk space ကို ထိထိရောက်ရောက် စီမံခန့်ခွဲခြင်းမှာ မသက်ဆိုင်တော့ကြောင်း ထုတ်ပြန်ချက်ကို မကြာခဏ တွေ့ဖူးပါသည်။ ဒါက လုံးဝကို အဓိပ္ပါယ်မရှိဘူး။ ထိရောက်သော disk space manager မရှိလျှင် OS သည် ထိခိုက်လွယ်ပြီး အသုံးမပြုနိုင်တော့ပါ။ သင့်စက်ရှိ disks များ၏ စွမ်းဆောင်ရည် မည်မျှပင်ရှိပါစေ။

RHEL တွင် Btrfs ပံ့ပိုးမှုရပ်ဆိုင်းခြင်းနှင့်ပတ်သက်၍ မှတ်ချက်တောင်းလိုပါသည်။

ဒီနေရာမှာ အထူးတလည် မှတ်ချက်ပေးစရာ မရှိပါဘူး၊ အားလုံးက အရမ်းရှင်းပါတယ်။ ၎င်းတို့သည် ၎င်းကို "နည်းပညာအစမ်းကြည့်ရှုခြင်း" အဖြစ်လည်း ရရှိခဲ့သည်။ ထို့ကြောင့် ဤ "အကြိုသုံးသပ်ချက်" ကို ကျွန်ုပ် မဖြတ်သန်းခဲ့ပါ။ ဒီတံဆိပ်ကို ထာဝရ မချိတ်ထားပါနဲ့။ သို့သော် ၎င်းတို့သည် အပြည့်အဝပံ့ပိုးမှုဖြင့် ချို့ယွင်းချက်ရှိသော ဒီဇိုင်းထုတ်ကုန်ကို မထုတ်လုပ်နိုင်ပါ။ RHEL သည် သတ်မှတ်ထားသော ကုန်စည်နှင့် ငွေဆက်ဆံရေးဆိုင်ရာ လုပ်ငန်းတစ်ခုဖြစ်သည်။ Red Hat သည် Btrfs စာပို့စာရင်းတွင် ၎င်းတို့ကဲ့သို့ အသုံးပြုသူများကို အနိုင်ကျင့်ခြင်းမပြုနိုင်ပါ။ အခြေအနေကို စိတ်ကူးကြည့်ကြည့်ပါ- ဒစ်အတွက် သူရခဲတဲ့ငွေကို ပေးချေပြီး အထောက်အပံ့အတွက် ပေးဆောင်တဲ့ client က ဘာမှ မရေးထားဘဲ သူ့ disk space က ဘယ်ရောက်သွားလဲ ဆိုတာ နားလည်လိုပါတယ်။ ဒါကို မင်းဘာပြန်ပြောမလဲ။

နောက်ထပ်။ Red Hat ၏ ဖောက်သည်များတွင် လူသိများသော ဘဏ်ကြီးများနှင့် လဲလှယ်မှုများ ပါဝင်သည်။ Btrfs တွင် ဖော်ပြထားသော အားနည်းချက်အပေါ် အခြေခံ၍ DoS တိုက်ခိုက်မှုများကို ခံရပါက ဘာဖြစ်မည်ကို စိတ်ကူးကြည့်ပါ။ ဒီအတွက် ဘယ်သူ့မှာ တာဝန်ရှိတယ်လို့ ထင်လဲ။ စာရေးသူက ဘာမှတာဝန်မရှိဘူးလို့ ရေးထားတဲ့ GPL လိုင်စင်စာကြောင်းကို လက်ညိုးထိုးပြတော့မယ့်သူတွေကို ငါချက်ချင်းပြောမယ်- "ဖျောက်ထား!" Red Hat က အဖြေပေးလိမ့်မယ်၊ လုံလောက်မယ်မထင်ဘူး။ ဒါပေမယ့် Red Hat ဟာ အချိန်နဲ့အမျှ အနီးကပ်အလုပ်လုပ်ခွင့်ရခဲ့တဲ့ သူတို့ရဲ့ အထူးခိုင်မာတဲ့ QA အင်ဂျင်နီယာအဖွဲ့ကြောင့် ဒီလိုပြဿနာမျိုးမကြုံရဘူးဆိုတာ ကျွန်တော်သိပါတယ်။

အချို့သောကုမ္ပဏီများသည် ၎င်းတို့၏လုပ်ငန်းထုတ်ကုန်များတွင် Btrfs ကို အဘယ်ကြောင့် ဆက်လက်ပံ့ပိုးနေကြသနည်း။

ထုတ်ကုန်အမည်တွင် "enterprise" ဟူသော ရှေ့ဆက်စကားလုံးသည် အဓိပ္ပာယ်များစွာမရှိကြောင်း သတိပြုပါ။ Enterprise ဆိုသည်မှာ client နှင့် စာချုပ်ဆိုင်ရာဆက်ဆံရေးတွင် ထည့်သွင်းထားသော တာဝန်ယူမှု၏ တိုင်းတာမှုတစ်ခုဖြစ်သည်။ GNU ကိုအခြေခံသည့် Enterprise တစ်ခုတည်းကိုသာ ကျွန်ုပ်သိပါသည်။Linux — အဲဒါ RHEL ပါ။ ကျွန်တော့်အမြင်အရ ကျန်တာအားလုံးက enterprise အနေနဲ့ ဟန်ဆောင်နေပေမယ့် မဟုတ်ပါဘူး။ နောက်ဆုံးအနေနဲ့ တစ်ခုခုအတွက် ၀ယ်လိုအားရှိရင် ထောက်ပံ့မှု အမြဲရှိနေမှာပါ (ကျွန်တော်တို့ရဲ့ကိစ္စမှာတော့ အထက်မှာပြောခဲ့တဲ့ "support" ပါပဲ)။ ၀ယ်လိုအားဆိုတာ အသုံးမပြုနိုင်တဲ့ software အပါအဝင် အရာအားလုံးအတွက် ဖြစ်နိုင်ပါတယ်။ ဒီ၀ယ်လိုအားကို ဘယ်လိုဖွဲ့စည်းသလဲ၊ ဘယ်သူက အားဖြည့်ပေးသလဲဆိုတာကတော့ လုံးဝကွဲပြားတဲ့ အကြောင်းအရာတစ်ခုပါ။

ဒါကြောင့် Facebook က သူ့ရဲ့ဆာဗာတွေမှာ Btrfs ကို ဖြန့်ကျက်ထားတယ်ဆိုတဲ့ ကောလာဟလတွေထွက်လာပြီးနောက်မှာ ကျွန်တော် ဘာမှ ကောက်ချက်မချပါဘူး။ ဒါ့အပြင် အဲဒီလိပ်စာတွေရဲ့ ဆာဗာများ အထက်ဖော်ပြပါ အကြောင်းပြချက်များကြောင့် ၎င်းကို ဂရုတစိုက် လျှို့ဝှက်ထားရန် အကြံပြုလိုပါသည်။

မကြာသေးမီက XFS ကုဒ်ကို ရှင်းလင်းရန် အဘယ်ကြောင့် ဤမျှလောက် ကြိုးစားအားထုတ်ခဲ့ရသနည်း။ အစပိုင်းတွင်၊ ၎င်းသည် Third-party ဖိုင်စနစ်ဖြစ်ပြီး ext4 သည် အချိန်ကြာမြင့်စွာ တည်ငြိမ်နေပြီး ယခင်အညီအမျှ တည်ငြိမ်သောဗားရှင်းများနှင့် အဆက်ပြတ်နေပါသည်။ XFS မှာ Red Hat က ဘာစိတ်ဝင်စားလဲ။ ext4 နှင့် XFS တို့၏ ရည်ရွယ်ချက်တွင် အလားတူ ဖိုင်စနစ်နှစ်ခုကို တက်ကြွစွာ တီထွင်ခြင်းသည် အဓိပ္ပာယ်ရှိပါသလား။

ဒါကို ဘာက လှုံ့ဆော်ခဲ့တာလဲ မမှတ်မိတော့ဘူး။ အစပျိုးမှုသည် Red Hat သုံးစွဲသူများထံမှ ဖြစ်နိုင်ချေရှိသည်။ ဒီလိုမျိုး သုတေသနလုပ်ခဲ့တာကို သတိရမိပါတယ်- အချို့သော ဖိုင်စနစ်များတွင် မျိုးဆက်သစ်၏ အဆင့်မြင့်ဒရိုက်များပေါ်တွင် အလွန်ကြီးမားသော အရာဝတ္ထုများစွာကို ဖန်တီးခဲ့ကြသည်။ ရလဒ်များအရ XFS သည် ext4 ထက်ပိုကောင်းသည်။ ဒါကြောင့် သူတို့က အဲဒါကို အလားအလာအရှိဆုံးအဖြစ် မြှင့်တင်ခဲ့တယ်။ မည်သို့ပင်ဆိုစေကာမူ ဤနေရာတွင် စိတ်လှုပ်ရှားဖွယ်ရာ မည်သည့်အရာကိုမျှ ရှာမည်မဟုတ်ပါ။

ကျွန်တော့်အတွက်ကတော့ ဆပ်ပြာကို ဆပ်ပြာနဲ့ အစားထိုးလိုက်သလိုပါပဲ။ ext4 နှင့် XFS ကို develop လုပ်ရန် အကြောင်းမရှိပါ။ နှစ်ခုလုံးပြိုင်တူနှင့် ၎င်းတို့ထဲမှ တစ်ခုခုကို ရွေးချယ်ပါ။ ဒီအတွက် ဘာမှ ကောင်းလာမှာ မဟုတ်ဘူး။ သဘာဝတွင် ကြီးထွားရန် အလားအလာများစွာရှိသော်လည်း ကြီးထွားရန် နေရာမရှိပေ။ ဤကိစ္စတွင်၊ လူတိုင်းလက်ညိုးထိုးပြသည့် ထူးထူးခြားခြား ရုပ်ဆိုးသော တိုးတက်မှုအသစ်များ ပေါ်ပေါက်လာသည် ("အိုး၊ ကြည့်ကြည့်ပါ၊ ဤဘဝတွင် သင်မမြင်ရသောအရာများ!")။

ext4၊ F2FS (Btrfs တွင် RAID ဖော်ပြထားခြင်းမရှိ) တွင် ကုဒ်ဝှက်ခြင်းလုပ်ဆောင်ချက်များ ထွန်းကားလာခြင်းဖြင့် အလွှာချိုးဖောက်မှုပြဿနာကို (အပျက်သဘောဆောင်သောသဘောဖြင့်) ဖြေရှင်းပြီးပြီဟု ထင်ပါသလား။

ယေဘူယျအားဖြင့်၊ မည်သည့်အဆင့်ကိုမဆို နိဒါန်းပျိုးခြင်းနှင့် ၎င်းတို့၏ မချိုးဖောက်ခြင်းဆိုင်ရာ ဆုံးဖြတ်ချက်ချခြင်းသည် များသောအားဖြင့် မူဝါဒဆိုင်ရာ ကိစ္စရပ်ဖြစ်ပြီး၊ ဤနေရာတွင် ကျွန်ုပ်သည် မည်သည့်အရာကိုမျှ မှတ်ချက်ပေးရန် မလိုအပ်ပါ။ အလွှာချိုးဖောက်ခြင်း၏ ရည်ရွယ်ချက်ရှုထောင့်များသည် မည်သူမဆို စိတ်ဝင်စားမှုနည်းပါးသော်လည်း ၎င်းတို့ထဲမှ အချို့ကို "အထက်မှ" ချိုးဖောက်ခြင်း ဥပမာကို အသုံးပြု၍ ဆိုလိုသည်မှာ၊ block layer တွင်ရှိပြီးသား လုပ်ဆောင်နိုင်စွမ်း၏ FS တွင် အကောင်အထည်ဖော်မှုကို ကျွန်ုပ်တို့ ထည့်သွင်းစဉ်းစားနိုင်ပါသည်။ ထိုသို့သော “ချိုးဖောက်မှု” သည် ရှားရှားပါးပါး ခြွင်းချက်များနှင့်သာ တရားမျှတပါသည်။ ထိုသို့သောကိစ္စရပ်တစ်ခုစီအတွက်၊ ၎င်းသည် အမှန်တကယ် လိုအပ်ကြောင်းနှင့် စနစ်၏ ဒီဇိုင်းကို ထိခိုက်စေမည့် အရာနှစ်ခုကို ဦးစွာ သက်သေပြရပါမည်။

ဥပမာအားဖြင့်၊ ပိတ်ဆို့အလွှာအတွက် ရှေးယခင်ကတည်းက လုပ်ဆောင်မှုတစ်ခုဖြစ်သည့် မှန်ပြန်လှန်ခြင်းသည် ဖိုင်စနစ်အဆင့်တွင် အကောင်အထည်ဖော်ရန် အဓိပ္ပာယ်ရှိသည်။ အကြောင်းအမျိုးမျိုးကြောင့်။ ဥပမာအားဖြင့်၊ "အသံတိတ်" ဒေတာပုပ်ခြင်း (bit rot) သည် disk drive များပေါ်တွင်ဖြစ်ပေါ်သည်။ စက်ပစ္စည်းသည် ကောင်းမွန်စွာအလုပ်လုပ်နေချိန်ဖြစ်သော်လည်း၊ အဝေးမှ quasar မှထုတ်လွှတ်သော hard gamma quantum ၏လွှမ်းမိုးမှုအောက်တွင် ပိတ်ဆို့ဒေတာသည် မမျှော်လင့်ဘဲ ပျက်စီးသွားပါသည်။ အဆိုးဆုံးမှာ ဤဘလောက်သည် FS စနစ်ပိတ်ဆို့ခြင်း (superblock၊ bitmap block၊ storage tree node စသည်ဖြင့်) ဖြစ်ပါက၊ ၎င်းသည် kernel အထိတ်တလန့်ဖြစ်စေမည်မှာ သေချာပါသည်။

ဘလောက်အလွှာ (RAID 1 ဟုခေါ်သည်) မှပေးသောကြည့်မှန်များသည်ဤပြဿနာမှသင့်အားမကယ်တင်ကြောင်းသတိပြုပါ။ ဟုတ်ပါတယ်၊ တစ်စုံတစ်ယောက်သည် checksums များကိုစစ်ဆေးပြီး ပျက်ကွက်ပါက ပုံစံတူကိုဖတ်သင့်ပါသလား။ ထို့အပြင်၊ အရာအားလုံးကိုသာမက မက်တာဒေတာများကိုသာ ထင်ဟပ်စေခြင်းသည် အဓိပ္ပာယ်ရှိစေသည်။ အချို့သော အရေးကြီးသောဒေတာ (ဥပမာ၊ အရေးပါသော အပလီကေးရှင်းများ၏ လုပ်ဆောင်နိုင်သောဖိုင်များ) ကို မက်တာဒေတာအဖြစ် သိမ်းဆည်းထားနိုင်သည်။ ဤကိစ္စတွင်၊ ၎င်းတို့သည် တူညီသော လုံခြုံရေးအာမခံချက်များကို ရရှိကြသည်။ ကျန်ရှိသောဒေတာများကို အခြားစနစ်ခွဲများ (အသုံးပြုသူအပလီကေးရှင်းများပင်ဖြစ်စေ) သို့ အပ်နှင်းခြင်းသည် အဓိပ္ပာယ်ရှိပါသည် - ဤအတွက် လိုအပ်သောအခြေအနေများအားလုံးကို ကျွန်ုပ်တို့ ပေးထားပါသည်။

ထိုကဲ့သို့သော "စီးပွားရေး" ကြေးမုံများသည် တည်ရှိပိုင်ခွင့်ရှိပြီး ၎င်းတို့ကို ဖိုင်စနစ်အဆင့်တွင်သာ ထိရောက်စွာ စီစဉ်နိုင်မည်ဖြစ်သည်။ မဟုတ်ပါက၊ အလွှာလိုက်ချိုးဖောက်မှုသည် အချို့သော အဏုစကေးရှင်းအကျိုးကျေးဇူးများကိုထောက်၍ ပွားနေသောကုဒ်ဖြင့် ရှုပ်ပွနေပါသည်။ ထင်ရှားသောဥပမာတစ်ခုမှာ FS ကိုအသုံးပြု၍ RAID-5 ကိုအကောင်အထည်ဖော်ခြင်းဖြစ်သည်။ ထိုသို့သောဖြေရှင်းနည်းများ (ဖိုင်စနစ်ရှိ ကိုယ်ပိုင် RAID / LVM) သည် ဗိသုကာဆိုင်ရာ စည်းကမ်းချက်များဖြင့် နောက်ဆုံးမှ သတ်ပစ်သည်။ အလွှာလိုက်ချိုးဖောက်ခြင်းသည် မားကတ်တင်းလိမ်လည်သူများ အမျိုးအစားအမျိုးမျိုးဖြင့် “စီးကြောင်းပေါ်လွင်သည်” ဟုလည်း ဤနေရာတွင် သတိပြုသင့်သည်။ စိတ်ကူးများမရှိပါက၊ အိမ်နီးချင်းအဆင့်များတွင် ကြာရှည်စွာလုပ်ဆောင်ခဲ့သော လုပ်ဆောင်နိုင်စွမ်းကို စနစ်ခွဲများထဲသို့ ပေါင်းထည့်ထားပြီး၊ ၎င်းကို အလွန်အသုံးဝင်သော အင်္ဂါရပ်အသစ်တစ်ခုအဖြစ် တင်ပြပြီး တက်ကြွစွာတွန်းအားပေးပါသည်။

Reiser4 သည် "အောက်မှ" အဆင့်များကိုချိုးဖောက်သည်ဟုစွပ်စွဲခဲ့သည်။ ဖိုင်စနစ်သည် အခြားအရာအားလုံးကဲ့သို့ပင်မဟုတ်ဘဲ မိုဒူလာမဟုတ်သည့်အချက်အပေါ် အခြေခံ၍ ၎င်းသည် အထက်အဆင့် (VFS) လုပ်ဆောင်သင့်သည့်အတိုင်း လုပ်ဆောင်ရန် ခိုင်လုံသောမခိုင်လုံသော ယူဆချက်တစ်ခု ဖြစ်လာခဲ့သည်။

ReiserFS v3.6 နှင့် ဥပမာ JFS ၏ သေဆုံးခြင်းအကြောင်း ပြောရန် ဖြစ်နိုင်ပါသလား။ မကြာသေးမီက ၎င်းတို့သည် အူတိုင်တွင် အာရုံစူးစိုက်မှု မရှိသလောက်ဖြစ်သည်။ အသုံးမပြုတော့ဘူးလား?

ဤနေရာတွင် ဆော့ဖ်ဝဲလ် ထုတ်ကုန်တစ်ခု သေဆုံးရခြင်း၏ အဓိပ္ပါယ်ကို ကျွန်ုပ်တို့ သတ်မှတ်ရန် လိုအပ်ပါသည်။ တစ်ဖက်တွင်၊ ၎င်းတို့ကို အောင်မြင်စွာအသုံးပြုခြင်းဖြစ်သည် (ထိုအရာသည် ၎င်းတို့အတွက် ဖန်တီးထားသောအရာဖြစ်သည်)၊ ဆိုလိုသည်မှာ ၎င်းတို့သည် အသက်ရှင်နေခြင်းဖြစ်သည်။ အခြားတစ်ဖက်တွင်၊ ကျွန်ုပ်သည် JFS အတွက် စကားမပြောတတ်ပါ (ကျွန်တော်အများကြီးမသိပါ)၊ သို့သော် ReiserFS (v3) သည် ခေတ်ရေစီးကြောင်းအသစ်များနှင့် လိုက်လျောညီထွေရှိရန် အလွန်ခက်ခဲသည် (လက်တွေ့တွင် စမ်းသပ်ထားသည်)။ ဆိုလိုသည်မှာ အနာဂတ်တွင် developer များက ၎င်းကို အာရုံစိုက်မည်မဟုတ်ဘဲ လိုက်လျောညီထွေဖြစ်အောင်ပြုလုပ်ရန် ပိုမိုလွယ်ကူသောသူများကို အာရုံစိုက်မည်ဖြစ်သည်။ ဒီဘက်ခြမ်းက ဖြစ်ချင်တော့ ဗိသုကာပညာအရ သေသွားပြီ။ ငါသည် "ကျင့်ဝတ်ဆိုင်ရာ အသုံးမပြုတော့သော" ဟူသော အယူအဆကို လုံးဝ ခြယ်လှယ်မည်မဟုတ်ပါ။ ဥပမာအားဖြင့်၊ ၎င်းသည် ဗီရိုတစ်ခုနှင့် ကောင်းစွာသက်ဆိုင်သော်လည်း ဆော့ဖ်ဝဲလ်ထုတ်ကုန်များနှင့် မဟုတ်ပါ။ တစ်ခုခုမှာ သိမ်ငယ်မှုနဲ့ သာလွန်မှုဆိုတဲ့ အယူအဆတစ်ခုရှိတယ်။ ReserFS v3 သည် အရာရာတိုင်းတွင် Reiser4 ထက် နိမ့်ပါးနေပြီဟု ကျွန်တော် လုံးဝပြောနိုင်သော်လည်း အချို့သော အလုပ်အမျိုးအစားများတွင် ၎င်းသည် အခြားသော အထက်ရေစီးကြောင်း FSs အားလုံးထက် သာလွန်ပါသည်။

FS Tux3 နှင့် HAMMER/HAMMER2 (FS for DragonFly BSD) ၏ ဖွံ့ဖြိုးတိုးတက်မှုအကြောင်း သင်သိပါသလား။

ဟုတ်တယ်၊ ငါတို့သိတယ်။ Tux3 တွင် ကျွန်ုပ်သည် တစ်ချိန်က ၎င်းတို့၏ လျှပ်တစ်ပြက်ရိုက်ချက်များ၏ နည်းပညာကို စိတ်ဝင်စားခဲ့သည် (“ဗားရှင်းညွှန်ပြသူများ”)၊ သို့သော် Reiser4 တွင် ကျွန်ုပ်တို့သည် ခြားနားသော လမ်းကြောင်းတစ်ခုကို သွားနိုင်ဖွယ်ရှိသည်။ လျှပ်တစ်ပြက်ရိုက်ချက်များကို ပံ့ပိုးပေးရန် အချိန်အတော်ကြာ စဉ်းစားနေခဲ့ပြီး ရိုးရှင်းသော Reiser4 အတွဲများအတွက် ၎င်းတို့ကို မည်သို့အကောင်အထည်ဖော်ရမည်ကို မဆုံးဖြတ်ရသေးပါ။ အမှန်မှာ Ohad Rodeh အဆိုပြုထားသော ငြီးငွေ့ဖွယ်ရာ တန်ပြန်နည်းပညာအသစ်သည် B-trees အတွက်သာ အလုပ်လုပ်သည် ။ ကျွန်ုပ်တို့တွင် ၎င်းတို့ မရှိပါ။ Reiesr4 တွင်အသုံးပြုသည့် အဆိုပါဒေတာဖွဲ့စည်းပုံများအတွက်၊ "ပျင်းရိခြင်း" ကောင်တာများကို အဓိပ္ပါယ်ဖွင့်ဆိုထားခြင်းမဟုတ်ပါ - ၎င်းတို့ကိုမိတ်ဆက်ပေးရန်အတွက်၊ မည်သူမျှမလုပ်ဆောင်ရသေးသည့် အချို့သော algorithmic ပြဿနာများကို ဖြေရှင်းရန်လိုအပ်ပါသည်။

HAMMER ၏ အဆိုအရ - ဖန်တီးသူထံမှ ဆောင်းပါးတစ်ပုဒ်ကို ကျွန်တော် ဖတ်လိုက်ရပါသည်။ စိတ်မဝင်စားဘူး။ တဖန် B-သစ်ပင်။ ဤဒေတာဖွဲ့စည်းပုံသည် မျှော်လင့်ချက်မဲ့စွာ ခေတ်နောက်ကျနေပါသည်။ ကျွန်ုပ်တို့သည် လွန်ခဲ့သောရာစုနှစ်တွင် စွန့်ပစ်ခဲ့သည်။

CephFS/GlusterFS/etc ကဲ့သို့သော ကွန်ရက်အစုအဝေး FSs အတွက် ကြီးထွားလာနေသော လိုအပ်ချက်ကို သင်မည်ကဲ့သို့ အကဲဖြတ်မည်နည်း။ ဤတောင်းဆိုမှုသည် network FS ဆီသို့ developer များ၏ ဦးစားပေးမှုများနှင့် local FS ကို အာရုံစိုက်မှု မလုံလောက်ခြင်းတို့ကို ဆိုလိုပါသလား။

ဟုတ်ကဲ့၊ အဲဒီလို ဦးစားပေး အပြောင်းအလဲ ဖြစ်သွားတယ်။ ဒေသတွင်း ဖိုင်စနစ်များ ဖွံ့ဖြိုးတိုးတက်မှုမှာ ရပ်တန့်သွားခဲ့သည်။ ကံမကောင်းစွာပဲ၊ ဒေသဆိုင်ရာအတွဲများအတွက် ထူးထူးခြားခြား တစ်ခုခုကို လုပ်ဆောင်ဖို့ အခုအချိန်မှာ အတော်လေး ခက်ခဲနေပြီး လူတိုင်းမလုပ်နိုင်ပါဘူး။ သူတို့ရဲ့ ဖွံ့ဖြိုးတိုးတက်မှုမှာ ဘယ်သူကမှ ရင်းနှီးမြုပ်နှံချင်မှာ မဟုတ်ပါဘူး။ ဤသည်မှာ သင်္ချာသုတေသနအတွက် ငွေကြေးခွဲဝေပေးရန် စီးပွားရေးအဖွဲ့အစည်းတစ်ခုအား တောင်းဆိုခြင်းနှင့် အတူတူပင်ဖြစ်သည် - စိတ်အားထက်သန်မှုမရှိဘဲ သီအိုရီအသစ်တစ်ခုတွင် သင်မည်ကဲ့သို့ ငွေရှာနိုင်သည်ကို ၎င်းတို့က သင့်အား မေးလိမ့်မည်။ ယခုအခါ ပြည်တွင်း FS သည် "သေတ္တာထဲမှ" နှင့် "အမြဲတမ်း အလုပ်လုပ်သင့်သည်" ဟူသော မှင်သက်ဝင်လာသည့် အရာတစ်ခုဖြစ်ပြီး ၎င်းသည် အလုပ်မဖြစ်ပါက၊ ၎င်းသည် ကိုင်တွယ်ဖြေရှင်းခြင်းမရှိဘဲ ငြီးတွားခြင်းကို ဖြစ်စေသည်- "ဟုတ်ပါတယ်၊ သူတို့ဘာတွေတွေးနေတာလဲ!"

ထို့ကြောင့် ထိုဒေသတွင် အလုပ်များစွာရှိနေသေးသော်လည်း ဒေသခံ FS ကို အာရုံစိုက်မှု နည်းပါးလာသည်။ ဟုတ်ပါသည်၊ လူတိုင်းသည် ရှိပြီးသား ဒေသတွင်း ဖိုင်စနစ်များကို အခြေခံ၍ တည်ဆောက်ထားသည့် ဖြန့်ဝေသိုလှောင်မှုသို့ ပြောင်းသွားကြသည်။ အခု အရမ်းခေတ်စားနေပါပြီ။ "Big Data" ဟူသောစကားစုသည် လူအများအတွက် adrenaline ကို အလျင်စလိုဖြစ်စေပြီး ၎င်းကို ညီလာခံများ၊ အလုပ်ရုံများ၊ လစာကြီးကြီးမားမားများ စသည်တို့နှင့် ချိတ်ဆက်ပေးပါသည်။

user space ထက် kernel space တွင် network file system ကိုအကောင်အထည်ဖော်ရန်မူအရ မည်မျှကျိုးကြောင်းဆီလျော်မှုရှိသနည်း။

ဘယ်နေရာမှာမှ အကောင်အထည်မဖော်ရသေးတဲ့ အလွန်ကျိုးကြောင်းဆီလျော်တဲ့ ချဉ်းကပ်မှုပါ။ ယေဘူယျအားဖြင့်၊ ကွန်ရက်ဖိုင်စနစ်အား မည်သည့်နေရာ၌ အကောင်အထည်ဖော်သင့်သနည်းဟူသော မေးခွန်းမှာ "အစွယ်နှစ်ထပ်ဓား" ဖြစ်သည်။ ကောင်းပြီ၊ ဥပမာတစ်ခုကိုကြည့်ရအောင်။ ဖောက်သည်သည် အဝေးထိန်းစက်တွင် ဒေတာကို မှတ်တမ်းတင်ခဲ့သည်။ ညစ်ပတ်တဲ့ စာမျက်နှာပုံစံနဲ့ သူမရဲ့ page cache ထဲကို ရောက်သွားတယ်။ ၎င်းသည် kernel နေရာရှိ "ပါးလွှာသောတံခါးပေါက်" ကွန်ရက်ဖိုင်စနစ်အတွက် အလုပ်ဖြစ်သည်။ ထို့နောက် လည်ပတ်မှုစနစ်သည် ၎င်းတို့ကို လွတ်မြောက်စေရန် မကြာမီ သို့မဟုတ် နောက်ပိုင်းတွင် အဆိုပါစာမျက်နှာများကို ဒစ်ခ်တွင် ရေးခိုင်းမည်ဖြစ်သည်။ ထို့နောက် IO-forwarding (ပေးပို့ခြင်း) ကွန်ရက် FS module သည် စတင်ကစားလာသည်။ ၎င်းသည် မည်သည့်ဆာဗာစက် (ဆာဗာ နံပါတ်) ဤစာမျက်နှာများသို့ သွားရန် ဆုံးဖြတ်သည်။

ထို့နောက် network stack သည် နေရာယူသည် (ကျွန်ုပ်တို့သိသည့်အတိုင်း၊ ၎င်းကို kernel space တွင်အကောင်အထည်ဖော်သည်)။ ထို့နောက်၊ server node သည် data သို့မဟုတ် metadata ပါသည့် packet ကိုလက်ခံရရှိပြီး ဤအရာအားလုံးကိုမှတ်တမ်းတင်ရန်အတွက် backend storage module (ဆိုလိုသည်မှာ၊ kernel space တွင်လုပ်ဆောင်နေသော local FS) ကို ညွှန်ကြားသည်။ ထို့ကြောင့်၊ "ပေးပို့ခြင်း" နှင့် "လက်ခံခြင်း" မော်ဂျူးများသည် မည်သည့်နေရာတွင် လုပ်ဆောင်သင့်သည်ဆိုသည့် မေးခွန်းကို ကျွန်ုပ်တို့ လျှော့ချလိုက်ပါသည်။ အဆိုပါ modules များထဲမှ တစ်ခုခုသည် user space တွင် run ပါက၊ ၎င်းသည် context switching ကို မလွဲမသွေ ဖြစ်ပေါ်စေလိမ့်မည် (kernel ဝန်ဆောင်မှုများကို အသုံးပြုရန်လိုအပ်သောကြောင့်)။ ထိုသို့သောခလုတ်အရေအတွက်သည် အကောင်အထည်ဖော်မှုအသေးစိတ်များပေါ်တွင်မူတည်သည်။

ထိုသို့သောခလုတ်များစွာရှိပါက၊ သိုလှောင်မှုပမာဏ (I/O စွမ်းဆောင်ရည်) လျော့နည်းသွားမည်ဖြစ်သည်။ သင်၏ backend သိုလှောင်မှုအား နှေးကွေးသောဒစ်များဖြင့် ဖွဲ့စည်းထားပါက၊ သိသိသာသာကျဆင်းသွားသည်ကို သင်သတိပြုမိမည်မဟုတ်ပါ။ အကယ်၍ သင့်တွင် အမြန်ဒစ်ခ်များ (SSD၊ NVRAM စသည်ဖြင့်) ရှိပါက၊ ဆက်စပ်ပြောင်းလဲမှုသည် “လည်ပင်းပေါက်” ဖြစ်လာပြီး ဆက်စပ်မှုပြောင်းခြင်းကို ချွေတာခြင်းဖြင့် စွမ်းဆောင်ရည် သိသိသာသာ တိုးလာနိုင်သည်။ ငွေကြေးချွေတာရန် စံနည်းလမ်းမှာ module များကို kernel space သို့ ရွှေ့ရန်ဖြစ်သည်။ ဥပမာအားဖြင့်၊ 9p ဆာဗာကို QEMU မှ host machine ရှိ kernel သို့ရွှေ့ခြင်းက VirtFS စွမ်းဆောင်ရည်ကို သုံးဆတိုးလာစေကြောင်း ကျွန်ုပ်တို့တွေ့ရှိခဲ့သည်။

ဤသည်မှာ FS ကွန်ရက်မဟုတ်သော်လည်း အရာများ၏အနှစ်သာရကို အပြည့်အဝထင်ဟပ်စေသည်။ ဤ optimization ၏ အားနည်းချက်မှာ သယ်ဆောင်ရလွယ်ကူသော ပြဿနာများဖြစ်သည်။ အချို့အတွက်၊ နောက်ပိုင်းတွင် ဝေဖန်ပိုင်းခြားနိုင်သည် ။ ဥပမာအားဖြင့်၊ GlusterFS တွင် kernel တွင် module များလုံးဝမရှိပါ။ ယင်းကြောင့် ယခုအခါ NetBSD အပါအဝင် ပလပ်ဖောင်းများစွာတွင် အလုပ်လုပ်ပါသည်။

ပြည်တွင်း FSs များသည် ကွန်ရက်များထံမှ မည်သို့သော သဘောတရားများကို ချေးယူနိုင်သနည်း။

ယခုခေတ်တွင်၊ စည်းကမ်းအတိုင်း၊ network FSs တွင် local FSs တွင် add-ons များရှိသည်၊ ထို့ကြောင့် နောက်ပိုင်းမှ တစ်စုံတစ်ခုကို မည်သို့ချေးယူနိုင်သည်ကို ကျွန်ုပ်နားမလည်ပါ။ ဟုတ်ပါတယ်၊ လူတိုင်းက သူတို့ကိုယ်ပိုင်လုပ်တဲ့အရာဖြစ်တဲ့ ဝန်ထမ်း ၄ ယောက်ရှိတဲ့ ကုမ္ပဏီတစ်ခုကို စဉ်းစားကြည့်ရအောင်။ တစ်ခုက ဖြန့်ဝေတယ်၊ ​​နောက်တစ်ခုက ပို့တယ်၊ တတိယက လက်ခံတယ်၊ စတုတ္ထစတိုးဆိုင်ကို လုပ်တယ်။ နောက်ပြီးတော့ ဆိုင်ဝန်ထမ်းဆီက ကုမ္ပဏီက ဘာချေးလို့ရလဲဆိုတဲ့ မေးခွန်းက တစ်နည်းနည်းနဲ့ မမှန်ဘူး (သူ့ဆီကနေ အချိန်အတော်ကြာ ချေးထားတာတွေ ရှိပြီးသားပါ)။

သို့သော် ဒေသတွင်း FSs များသည် ကွန်ရက်များထံမှ သင်ယူစရာများစွာရှိသည်။ ပထမဦးစွာ၊ သင်သည် မြင့်မားသောအဆင့်တွင် ယုတ္တိတန်သောပမာဏများကို မည်သို့စုစည်းရမည်ကို ၎င်းတို့ထံမှ သင်ယူသင့်သည်။ အခုခေါ်တာ။ "အဆင့်မြင့်" ဒေသတွင်း ဖိုင်စနစ်များသည် LVM မှ ချေးယူထားသော "virtual device" နည်းပညာကို အသုံးပြု၍ ယုတ္တိတန်သော volumes များကို စုစည်းပေးသည် (ZFS တွင် ပထမဆုံး လုပ်ဆောင်ခဲ့သည့် အလားတူ ကူးစက်တတ်သော အလွှာချိုးဖောက်မှု)။ တစ်နည်းဆိုရသော်၊ virtual လိပ်စာများ (ပိတ်ဆို့နံပါတ်များ) ကို အစစ်အမှန်များအဖြစ်သို့ ဘာသာပြန်ပြီး နောက်ကြောင်းပြန်ဆိုမှုသည် အဆင့်နိမ့် (ဆိုလိုသည်မှာ ဖိုင်စနစ်က I/O တောင်းဆိုချက်တစ်ခု ထုတ်ပြန်ပြီးနောက်)။

ဘလောက်အလွှာတွင် စီထားသော ယုတ္တိတန်သော အတွဲများ (မှန်များမဟုတ်ပါ) စက်ပစ္စည်းများကို ပေါင်းထည့်ခြင်းနှင့် ဖယ်ရှားခြင်းသည် ထိုကဲ့သို့သော “အင်္ဂါရပ်များ” ၏ ပေးသွင်းသူများသည် ကျိုးနွံစွာ နှုတ်ဆိတ်နေသည့် ပြဿနာများကို ဖြစ်ပေါ်စေကြောင်း ကျေးဇူးပြု၍ သတိပြုပါ။ အစစ်အမှန်စက်များတွင် အကွဲကွဲအပြားပြားဖြစ်ခြင်းအကြောင်းပြောနေသည်၊ ကြီးမားသောတန်ဖိုးများရောက်ရှိနိုင်သည့် အစစ်အမှန်စက်များတွင် အရာအားလုံးအဆင်ပြေနေချိန်ဖြစ်သည်။ သို့သော်၊ လူအနည်းငယ်သည် ပကတိ စက်ပစ္စည်းများကို စိတ်ဝင်စားကြသည်- လူတိုင်းက သင့်အစစ်အမှန်စက်ပစ္စည်းများတွင် ဖြစ်ပျက်နေသည်ကို စိတ်ဝင်စားကြသည်။ သို့သော် ZFS-like FS (အပြင် LVM နှင့်တွဲဖက်သော မည်သည့် FS မဆို) သည် virtual disk ကိရိယာများနှင့်သာအလုပ်လုပ်သည် (အလကားရသူများထံမှ virtual disk လိပ်စာများကိုခွဲဝေပေးခြင်း၊ ဤ virtual devices များကို defragment လုပ်ခြင်းစသည်ဖြင့်)။ ပြီးတော့ စစ်မှန်တဲ့ စက်တွေမှာ ဘာတွေဖြစ်နေလဲ သူတို့ မသိပါဘူး။

ယခု သင့်တွင် virtual device တွင် အစိတ်စိတ်အမွှာမွှာ သုည ရှိသည် (ဆိုလိုသည်မှာ သင့်တွင် ဧရာမအတိုင်းအတာတစ်ခုသာ ရှိသည်)၊ သင်သည် သင်၏ logical volume သို့ disk တစ်ခုကို ထည့်ကာ သင်၏ logical volume မှ အခြားသော ကျပန်းဒစ်ကို ဖယ်ရှားပြီးနောက် ပြန်လည်ချိန်ညှိပါ။ အကြိမ်များစွာ။ virtual device တွင် သင်သည် ထိုမျှသော အတိုင်းအတာအထိ အသက်ရှင်နေဦးမည်ကို စိတ်ကူးကြည့်ရန် မခဲယဉ်းပေ၊ သို့သော် စစ်မှန်သော စက်များတွင် သင်သည် ကောင်းမွန်သောအရာကို မတွေ့မြင်နိုင်ပါ။

အဆိုးဆုံးကတော့ ဒီအခြေအနေကို သင်တောင် မပြင်နိုင်လို့ပါပဲ။ ဤနေရာတွင် သင်လုပ်နိုင်သည်မှာ ဖိုင်စနစ်အား virtual device ကို defragment လုပ်ရန် တောင်းဆိုခြင်းဖြစ်သည်။ သို့သော် ထိုနေရာတွင် အရာအားလုံးသည် ကြီးမြတ်သည်ဟု သင့်အား ပြောပြလိမ့်မည် - အတိုင်းအတာတစ်ခုသာ ရှိသည်၊ အကွဲအပြဲသည် သုညဖြစ်ပြီး ပိုကောင်း၍မရနိုင်ပါ။ ထို့ကြောင့်၊ ပိတ်ဆို့ခြင်းအဆင့်တွင် စီထားသော ယုတ္တိတန်သော volumes များသည် စက်ပစ္စည်းများကို ထပ်ခါတလဲလဲ ထပ်ထည့်ခြင်း/ဖယ်ရှားခြင်းအတွက် ရည်ရွယ်ခြင်းမဟုတ်ပါ။ ကောင်းသောနည်းဖြင့်၊ သင်သည် block အဆင့်တွင် ယုတ္တိတန်သော volume တစ်ခုကို တစ်ကြိမ်သာ စုစည်းရန်၊ ၎င်းကို ဖိုင်စနစ်သို့ ပေးပြီးနောက် ၎င်းနှင့် အခြားဘာမျှ မလုပ်ရန် လိုအပ်သည်။

ထို့အပြင်၊ အမှီအခိုကင်းသော FS+LVM စနစ်ခွဲများ၏ ပေါင်းစပ်မှုသည် logical volumes များကို စုစည်းထားသည့် drive များ၏ ကွဲပြားခြားနားသော သဘောသဘာဝကို ထည့်သွင်းစဉ်းစားရန် ခွင့်မပြုပါ။ အမှန်မှာ၊ သင်သည် HDD နှင့် solid-state ကိရိယာများမှ ယုတ္တိတန်သောအသံအား စုစည်းထားသည်ဆိုပါစို့။ သို့သော် ယခင်ပုံစံသည် defragmentation လိုအပ်မည်ဖြစ်ပြီး၊ နောက်ပိုင်းတွင်၊ သင်သည် တောင်းဆိုမှုများကို ပယ်ဖျက်ရန် လိုအပ်သော်လည်း ယခင်အတွက်၊ စသည်တို့အတွက် မဟုတ်ပါ။ သို့သော် ဤပေါင်းစပ်မှုတွင် ထိုသို့သောရွေးချယ်မှုကို သရုပ်ပြရန်မှာ အလွန်ခက်ခဲသည်။

ဖိုင်စနစ်တွင် သင်၏ကိုယ်ပိုင် LVM ကိုဖန်တီးပြီးနောက် အခြေအနေများစွာ ပိုမိုကောင်းမွန်လာမည်မဟုတ်ကြောင်း သတိပြုပါ။ ဒါ့ပြင်၊ ဒါကိုလုပ်ခြင်းအားဖြင့် အနာဂတ်မှာ အမြဲတိုးတက်နေမယ့် အလားအလာကို သင်အမှန်တကယ် အဆုံးအဖြတ်ပေးပါတယ်။ ဒါက အရမ်းဆိုးတယ်။ မတူညီသော drive အမျိုးအစားများသည် တူညီသောစက်ပေါ်တွင် အသက်ရှင်နိုင်သည်။ ဖိုင်စနစ်က သူတို့ကြားကို မခွဲခြားဘူးဆိုရင် ဘယ်သူက လုပ်မှာလဲ။

နောက်ပြဿနာတစ်ခုက ချောင်းမြောင်းလို့ ခေါ်တာ။ “Write-Anywhere” ဖိုင်စနစ်များ (ဤတွင် mount လုပ်နေစဉ်အတွင်း သင့်လျော်သော အရောင်းအ၀ယ်ပုံစံကို သင်သတ်မှတ်ထားပါက Reiser4 လည်း ပါဝင်သည်)။ ထိုသို့သော ဖိုင်စနစ်များသည် ၎င်းတို့၏ ပါဝါတွင် မကြုံစဖူးသော အကွဲအပြဲ ဆော့ဖ်ဝဲများကို ပံ့ပိုးပေးရပါမည်။ အဆင့်နိမ့် အသံမန်နေဂျာသည် ဤနေရာတွင် မကူညီသော်လည်း လမ်းကြောင်းပေါ်၌သာ ရောက်နေပါသည်။ အမှန်မှာ ထိုသို့သောမန်နေဂျာဖြင့်၊ သင်၏ FS သည် စက်တစ်ခုတည်း၏ အခမဲ့လုပ်ကွက်မြေပုံကို သိမ်းဆည်းထားမည်ဖြစ်ပြီး၊ virtual တစ်ခုဖြစ်သည်။ ထို့ကြောင့် သင်သည် virtual device တစ်ခုကိုသာ defragment လုပ်နိုင်သည်။ ဆိုလိုသည်မှာ သင်၏ defragmenter သည် virtual လိပ်စာများ၏ ကြီးမားသောနေရာလွတ်တစ်ခုပေါ်တွင် အချိန်အကြာကြီး အလုပ်လုပ်နေမည်ဖြစ်သည်။

အကယ်၍ သင့်တွင် ကျပန်း overwrite လုပ်နေသည့် အသုံးပြုသူ အများအပြားရှိပါက၊ ထိုသို့သော defragmenter ၏ အသုံးဝင်သောအကျိုးသက်ရောက်မှုကို သုညသို့ လျှော့ချမည်ဖြစ်သည်။ သင့်စနစ်သည် မလွှဲမရှောင်သာ စတင်နှေးကွေးလာမည်ဖြစ်ပြီး စိတ်ပျက်စရာရောဂါရှာဖွေမှု “ကျိုးပဲ့သောဒီဇိုင်း” ရှေ့တွင် သင့်လက်များကိုသာ ခေါက်ထားရမည်ဖြစ်သည်။ တူညီသောလိပ်စာနေရာပေါ်တွင် လုပ်ဆောင်နေသော defragmenter အများအပြားသည် တစ်ခုနှင့်တစ်ခု အနှောင့်အယှက်ပေးမည်ဖြစ်သည်။ စစ်မှန်သောစက်ပစ္စည်းတစ်ခုစီအတွက် သင့်ကိုယ်ပိုင်အခမဲ့လုပ်ကွက်မြေပုံကို ထိန်းသိမ်းထားမည်ဆိုပါက လုံးဝကွဲပြားသည့်ကိစ္စဖြစ်သည်။ ၎င်းသည် defragmentation လုပ်ငန်းစဉ်ကို ထိထိရောက်ရောက် ပြိုင်တူဖြစ်စေမည်ဖြစ်သည်။

ဒါပေမယ့် သင့်မှာ အဆင့်မြင့် logical volume manager တစ်ခုရှိမှသာလျှင် ၎င်းကို လုပ်ဆောင်နိုင်ပါတယ်။ ထိုသို့သောမန်နေဂျာများပါရှိသော ဒေသန္တရဖိုင်စနစ်များ ယခင်ကမရှိပါ (အနည်းဆုံး၊ ၎င်းတို့အကြောင်း ကျွန်ုပ်မသိပါ)။ ကွန်ရက်ဖိုင်စနစ်များ (ဥပမာ GlusterFS) တွင်သာ ထိုသို့သော မန်နေဂျာများရှိသည်။ နောက်ထပ်အရေးကြီးသောဥပမာတစ်ခုမှာ volume integrity check (fsck) utility ဖြစ်သည်။ အတွဲခွဲတစ်ခုစီအတွက် သင့်ကိုယ်ပိုင်လွတ်လပ်သော အခမဲ့လုပ်ကွက်မြေပုံကို သိမ်းဆည်းထားပါက၊ ယုတ္တိတန်သောအသံအတိုးအကျယ်ကို စစ်ဆေးခြင်းလုပ်ထုံးလုပ်နည်းကို ထိထိရောက်ရောက် ပြိုင်ဆိုင်နိုင်သည်။ တစ်နည်းဆိုရသော် အဆင့်မြင့်မန်နေဂျာများနှင့်အတူ ယုတ္တိတန်သော volumes များသည် ပိုမိုကောင်းမွန်သည်။

ထို့အပြင်၊ အဆင့်နိမ့်အသံမန်နေဂျာများဖြင့် သင်သည် ပြည့်စုံသောလျှပ်တစ်ပြက်ရိုက်ချက်များကို စုစည်းနိုင်မည်မဟုတ်ပေ။ LVM နှင့် ZFS ကဲ့သို့သော ဖိုင်စနစ်များဖြင့်၊ သင်သည် ဒေသတွင်း လျှပ်တစ်ပြက်ရိုက်ချက်များကိုသာ ရိုက်ကူးနိုင်သော်လည်း ကမ္ဘာလုံးဆိုင်ရာ လျှပ်တစ်ပြက်ရိုက်ချက်များ မဟုတ်ပါ။ ဒေသတွင်း လျှပ်တစ်ပြက်ရိုက်ချက်များသည် သင့်အား ပုံမှန်ဖိုင်လုပ်ဆောင်မှုများကိုသာ ချက်ချင်းပြန်လှန်နိုင်စေပါသည်။ ယုတ္တိတန်သောပမာဏများ (စက်ပစ္စည်းများထည့်ခြင်း/ဖယ်ရှားခြင်း) ဖြင့် လုပ်ဆောင်ချက်များကို ထိုနေရာတွင် မည်သူမျှ နောက်ဆုတ်မည်မဟုတ်ပါ။ ဒါကို ဥပမာတစ်ခုနဲ့ ကြည့်ရအောင်။ တစ်ချိန်ချိန်တွင်၊ သင့်တွင် ဖိုင် 100 ပါရှိသော စက်နှစ်ခု၏ ယုတ္တိပမာဏတစ်ခုတွင် A နှင့် B တွင်၊ သင်သည် system S ၏လျှပ်တစ်ပြက်ရိုက်ယူပြီးနောက် နောက်ထပ်ဖိုင်တစ်ရာကို ဖန်တီးပါ။

ထို့နောက်တွင်၊ သင်သည် စက်ပစ္စည်း C ကို သင့်အသံအတိုးအကျယ်သို့ ပေါင်းထည့်ကာ နောက်ဆုံးတွင် သင့်စနစ်ကို လျှပ်တစ်ပြက်ရိုက်ရန်အတွက် S. Question- S သို့ ပြန်သိမ်းပြီးနောက် သင့်ယုတ္တိအသံအတိုးအကျယ်တွင် ဖိုင်များနှင့် စက်မည်မျှပါဝင်သနည်း။ သင်ခန့်မှန်းထားသည့်အတိုင်း ဖိုင် 100 ရှိလိမ့်မည်၊ သို့သော် စက် 3 ခုရှိပါမည် - ဤလျှပ်တစ်ပြက်ရိုက်ချက်ဖန်တီးချိန်တွင်စနစ်တွင်စက်ပစ္စည်းနှစ်ခုသာရှိသော်လည်း A နှင့် B ) Add device C လုပ်ဆောင်ချက်သည် နောက်ပြန်မဆုတ်ဘဲ ယခု device C ကို ကွန်ပျူတာမှ ဖယ်ရှားပါက၊ ၎င်းသည် သင့်ဒေတာကို ပျက်စီးစေမည်ဖြစ်ရာ၊ ထို့ကြောင့် မဖျက်မီတွင် စက်ပစ္စည်းအား ပြန်လည်ချိန်ခွင်လျှာညှိမှုပမာဏမှ ဖယ်ရှားရန် စျေးကြီးသောလုပ်ဆောင်ချက်ကို ဦးစွာလုပ်ဆောင်ရန် လိုအပ်မည်ဖြစ်ပါသည်။ စက်ပစ္စည်း C မှ ဒေတာအားလုံးကို စက်ပစ္စည်း A နှင့် B သို့ ဖြန့်ကြဲပေးပါမည်။ သို့သော် သင်၏ FS သည် ကမ္ဘာလုံးဆိုင်ရာလျှပ်တစ်ပြက်ရိုက်ချက်များကို ပံ့ပိုးပေးမည်ဆိုပါက၊ ထိုသို့သော ပြန်လည်ချိန်ညှိမှုမျိုး မလိုအပ်ဘဲ S သို့ ချက်ခြင်းပြန်ပြောင်းပြီးနောက်၊ သင်သည် စက်ပစ္စည်း C ကို ကွန်ပျူတာမှ ဘေးကင်းစွာ ဖယ်ရှားနိုင်သည်။

ထို့ကြောင့်၊ ဒေတာပမာဏများစွာဖြင့် ယုတ္တိအသံအတိုးအကျယ် (ယုတ္တိတန်သောပမာဏသို့) စက်ပစ္စည်းတစ်ခု၏ ကုန်ကျစရိတ်ကြီးစွာ ဖယ်ရှားခြင်း (ပေါင်းထည့်ခြင်း) ကို ရှောင်ရှားနိုင်စေသောကြောင့် ကမ္ဘာလုံးဆိုင်ရာလျှပ်တစ်ပြက်ရိုက်ချက်များသည် ကောင်းမွန်သောကြောင့် (ဟုတ်ပါတယ်၊ သင် "snapshot" ကို သင့် system ကို "snapshot" လုပ်ဖို့သတိရရင်၊ အချိန်မှန်)။ လျှပ်တစ်ပြက်ရိုက်ချက်များ ဖန်တီးခြင်းနှင့် ဖိုင်စနစ်အား ၎င်းတို့ထံ ပြန်ပို့ခြင်းသည် ချက်ချင်းလုပ်ဆောင်မှုဖြစ်ကြောင်း သတိပေးပါရစေ။ မေးစရာရှိလာနိုင်သည်- မင်းသုံးရက်ကြာတဲ့ ယုတ္တိတန်တဲ့အသံအတိုးအကျယ်ကို ချက်ချင်းပြန်လှည့်ဖို့ ဘယ်လိုဖြစ်နိုင်သလဲ။ ဒါပေမယ့် ဖြစ်နိုင်တယ်။ သင့်ဖိုင်စနစ်အား မှန်ကန်စွာ ဒီဇိုင်းထုတ်ထားကြောင်း ပေးထားသည်။ လွန်ခဲ့တဲ့သုံးနှစ်က ဒီလို “3D လျှပ်တစ်ပြက်ရိုက်ချက်များ” စိတ်ကူးကို စိတ်ကူးပေါက်ခဲ့ပြီး မနှစ်က ဒီနည်းပညာကို မူပိုင်ခွင့်တင်ခဲ့ပါတယ်။

ဒေသတွင်း FSs များမှ သင်ယူသင့်သည့် နောက်တစ်ခုအချက်မှာ network FSs သည် သီးခြားစက်များ ( metadata servers ဟုခေါ်သည် ) ကဲ့သို့ သီးခြားစက်ပစ္စည်းများတွင် metadata ကို သိမ်းဆည်းရန်ဖြစ်သည်။ မက်တာဒေတာဖြင့် အဓိကလုပ်ဆောင်သော အပလီကေးရှင်းများ ရှိပြီး၊ မက်တာဒေတာကို စျေးကြီးသော စွမ်းဆောင်ရည်မြင့် သိုလှောင်မှုကိရိယာများတွင် ထားခြင်းဖြင့် ဤအက်ပ်လီကေးရှင်းများကို အရှိန်မြှင့်နိုင်သည်။ FS+LVM ပေါင်းစပ်မှုဖြင့်၊ သင်သည် ထိုသို့သော ရွေးချယ်နိုင်စွမ်းကို သရုပ်ပြနိုင်မည်မဟုတ်ပါ- LVM သည် ၎င်းထံသို့ သင်ဖြတ်သန်းခဲ့သော ဘလောက်တွင်ရှိနေသည်ကို (ထိုနေရာတွင် ဒေတာ သို့မဟုတ် မက်တာဒေတာ)။

FS+LVM ပေါင်းစပ်မှုနှင့် နှိုင်းယှဉ်ပါက FS တွင် သင့်ကိုယ်ပိုင်အဆင့်နိမ့် LVM ကို အကောင်အထည်ဖော်ခြင်းမှ များစွာအကျိုးခံစားခွင့်မရနိုင်ပါ၊ သို့သော် သင်ကောင်းစွာလုပ်နိုင်သည်မှာ FS ကိုရှုပ်ပွစေသောကြောင့် နောက်ပိုင်းတွင် ၎င်း၏ကုဒ်ဖြင့်လုပ်ဆောင်ရန် မဖြစ်နိုင်တော့ပါ။ ZFS နှင့် Btrfs တို့သည် virtual devices များနှင့်အတူ အပြေးအလွှား ဖောက်ဖျက်ခြင်း အားလုံးကို ဗိသုကာဆိုင်ရာ အသုံးအနှုန်းများဖြင့် system ကို အလွှာလိုက်သတ်ပစ်ပုံ၏ ရှင်းလင်းသော ဥပမာများဖြစ်သည်၊ ထို့ကြောင့် ကျွန်ုပ်သည် ဤအရာအားလုံးကို အဘယ်ကြောင့်နည်း။ ထို့အပြင်၊ သင်၏ကိုယ်ပိုင်အဆင့်နိမ့် LVM ကိုဖိုင်စနစ်တွင်ထည့်သွင်းရန်မလိုအပ်ပါ။ ယင်းအစား၊ အချို့သော network ဖိုင်စနစ်များသည် မတူညီသောစက်များ (storage nodes) များဖြင့် လုပ်ဆောင်သကဲ့သို့ စက်ပစ္စည်းများကို ယုတ္တိပမာဏအဖြစ် မြင့်မားသောအဆင့်တွင် စုစည်းရန် လိုအပ်သည်။ မကောင်းသော algorithms များကို အသုံးပြုခြင်းကြောင့် ၎င်းတို့သည် ရွံမုန်းဖွယ်ကောင်းအောင် လုပ်ဆောင်ကြသည်မှာ မှန်ပါသည်။

လုံးဝကြောက်မက်ဖွယ်ကောင်းသော အယ်လဂိုရီသမ်များ၏ ဥပမာများသည် GlusterFS ဖိုင်စနစ်ရှိ DHT ဘာသာပြန်သူနှင့် Ceph ဖိုင်စနစ်ရှိ CRUSH မြေပုံဟုခေါ်သည်။ ရိုးရှင်းမှုနှင့် ကောင်းမွန်သော ချဲ့ထွင်နိုင်မှုတို့၌ ကျွန်ုပ်တွေ့မြင်ခဲ့သော အယ်လဂိုရီသမ်တစ်ခုမှ ကျွန်ုပ်အား ကျေနပ်မှု မရှိခဲ့ပါ။ ဒါကြောင့် အက္ခရာသင်္ချာကို မှတ်မိပြီး အရာအားလုံးကို ကိုယ်တိုင်တီထွင်ခဲ့ရတယ်။ 2015 ခုနှစ်တွင်၊ hash လုပ်ဆောင်ချက်များကို အစုအဝေးများဖြင့် စမ်းသပ်နေစဉ်တွင် ကျွန်ုပ်သည် ကျွန်ုပ်နှင့် လိုက်ဖက်သော အရာတစ်ခုကို မူပိုင်ခွင့်ရယူခဲ့ပါသည်။ အခုကျွန်တော်ပြောနိုင်တာက ဒါတွေအားလုံးကို လက်တွေ့အကောင်အထည်ဖော်ဖို့ ကြိုးပမ်းတာ အောင်မြင်သွားပြီလို့ ပြောလို့ရတယ်။ ချဉ်းကပ်မှုအသစ်တွင် ချဲ့ထွင်နိုင်မှုနှင့် ပြဿနာတစ်စုံတစ်ရာ မတွေ့ပါ။

ဟုတ်ပါသည်၊ အတွဲခွဲတစ်ခုစီသည် မှတ်ဉာဏ်အတွင်းရှိ superblock ကဲ့သို့သော သီးခြားဖွဲ့စည်းပုံတစ်ခု လိုအပ်မည်ဖြစ်သည်။ ဒါက အရမ်းကြောက်စရာကောင်းသလား။ ယေဘူယျအားဖြင့်၊ ဘယ်သူက "သမုဒ္ဒရာကို ပြုတ်မလဲ" နှင့် စက်တွင်းစက်တစ်ခုတွင် ရာနှင့်ချီသော စက်ကိရိယာများစွာ သို့မဟုတ် ထို့ထက်ပိုသော ယုတ္တိပမာဏများကို ဖန်တီးမည်ကို ကျွန်ုပ်မသိပါ။ ကျွန်တော့်ကို ရှင်းပြပေးနိုင်တဲ့သူရှိရင် အရမ်းကျေးဇူးတင်ပါတယ်။ ဒီကြားထဲမှာ ငါ့အတွက် ဒါက မားကတ်တင်း ညစ်ညမ်းမှုပဲ။

kernel ပိတ်ဆို့သည့် စက်ပစ္စည်းခွဲစနစ် (ဥပမာ၊ blk-mq ၏အသွင်အပြင်) တွင် အပြောင်းအလဲများသည် FS အကောင်အထည်ဖော်မှုအတွက် လိုအပ်ချက်များကို မည်သို့အကျိုးသက်ရောက်ခဲ့သနည်း။

သူတို့မှာ ဘာသက်ရောက်မှုမှ မရှိဘူး။ FS အသစ်ကို ဒီဇိုင်းထုတ်ရန် လိုအပ်စေမည့် block layer တွင် ဘာဖြစ်မည်ကို ကျွန်ုပ်မသိပါ။ ဤစနစ်ခွဲများ၏ အပြန်အလှန်ဆက်သွယ်မှု အင်တာဖေ့စ်သည် အလွန်ညံ့ဖျင်းသည်။ ယာဉ်မောင်းဘက်မှ FS သည် ဘလောက်အလွှာကို ဦးစွာ ချိန်ညှိရမည့် drive အမျိုးအစားအသစ်များ၏ အသွင်အပြင်ကြောင့်သာ သက်ရောက်မှုရှိမည်ဖြစ်ပြီး၊ ထို့နောက် FS (reiser4 အတွက် ၎င်းသည် plugin အသစ်များ၏ အသွင်အပြင်ကို ဆိုလိုသည်)။

မီဒီယာအမျိုးအစားအသစ်များ ပေါ်ပေါက်လာခြင်း (ဥပမာ၊ SMR သို့မဟုတ် SSDs များ၏ နေရာအနှံ့) သည် ဖိုင်စနစ်ဒီဇိုင်းအတွက် အခြေခံအားဖြင့် စိန်ခေါ်မှုအသစ်များကို ဆိုလိုပါသလား။

ဟုတ်ကဲ့။ ၎င်းတို့သည် FS ဖွံ့ဖြိုးတိုးတက်မှုအတွက် ပုံမှန်မက်လုံးများဖြစ်သည်။ စိန်ခေါ်မှုများသည် ကွဲပြားခြားနားပြီး လုံးဝမျှော်လင့်မထားသော ဖြစ်နိုင်သည်။ ဥပမာအားဖြင့်၊ I/O လုပ်ဆောင်ချက်တစ်ခု၏ အမြန်နှုန်းသည် ဒေတာအပိုင်းတစ်ခု၏ အရွယ်အစားနှင့် ၎င်း၏ အော့ဖ်ဆက်တို့အပေါ် များစွာမူတည်သည့် drives များကို ကြားဖူးပါသည်။ Linux တွင်၊ FS block ၏အရွယ်အစားသည် စာမျက်နှာအရွယ်အစားထက် မကျော်လွန်နိုင်ပါ၊ ထို drive သည် ပုံမှန်အားဖြင့် ၎င်း၏စွမ်းဆောင်ရည်အပြည့်အစုံကို ပြသမည်မဟုတ်ပါ။ သို့သော်၊ သင့်ဖိုင်စနစ်အား မှန်ကန်စွာ ဒီဇိုင်းထုတ်ထားပါက၊ ၎င်းမှ ပိုမိုရရှိရန် အခွင့်အရေးရှိပါသည်။

သင်အပြင် Reiser4 ကုဒ်နဲ့ လက်ရှိအလုပ်လုပ်နေတဲ့ လူဘယ်နှစ်ယောက်ရှိလဲ။

လိုချင်တာထက် နည်းပေမယ့် အရင်းအမြစ် ပြတ်လပ်မှုလည်း မကြုံဘူး။ Reiser4 ၏ဖွံ့ဖြိုးတိုးတက်မှုအရှိန်အဟုန်ကိုကျွန်ုပ်ကျေနပ်သည်ထက်ပိုပါသည်။ ငါ "မြင်းမောင်း" မသွားဘူး - ဒါက မှန်ကန်တဲ့ နေရာမဟုတ်ဘူး။ ဒီမှာ "မင်း အေးအေးဆေးဆေး မောင်းရင် မင်းဆက်သွားလိမ့်မယ်!" ခေတ်မီဖိုင်စနစ်သည် အရှုပ်ထွေးဆုံးသော kernel ခွဲစနစ်ဖြစ်ပြီး၊ မှားယွင်းသော ဒီဇိုင်းဆုံးဖြတ်ချက်များသည် နောက်ဆက်တွဲနှစ်များအတွင်း လူသားများ၏လုပ်ဆောင်မှုကို ပြန်ဖျက်နိုင်သည်။

တစ်စုံတစ်ခုကို အကောင်အထည်ဖော်ရန် စေတနာ့ဝန်ထမ်းများအား ကမ်းလှမ်းခြင်းဖြင့်၊ ကြိုးပမ်းအားထုတ်မှုများသည် လေးနက်သောလိုအပ်ချက်များအတွက် တောင်းဆိုနိုင်သည့် မှန်ကန်သောရလဒ်ကို အမှန်တကယ်ဖြစ်ပေါ်စေမည်ဖြစ်ကြောင်း ကျွန်ုပ်အမြဲအာမခံပါသည်။ သင်နားလည်သည့်အတိုင်း၊ တစ်ကြိမ်တည်းတွင် ထိုသို့သောအာမခံချက်များစွာ မရနိုင်ပါ။ တစ်ချိန်တည်းမှာပင်၊ အသုံးပြုသူနှင့် developer ရာပေါင်းများစွာကို လှည့်ဖြားကာ kernel ထိပ်သီးအစည်းအဝေးများတွင် ထိုင်ပြီး ပြုံးကာ တစ်ချိန်တည်းတွင် သိသိသာသာ အသုံးမဝင်သော ဆော့ဖ်ဝဲ၏ "အင်္ဂါရပ်များ" ကို အရှက်တကွဲမမြှင့်တင်သည့် "ကိန်းဂဏန်းများ" ကို ကျွန်ုပ် သည်းမခံနိုင်ပါ။

Reiser4 ၏ ဖွံ့ဖြိုးတိုးတက်မှုကို ပံ့ပိုးပေးရန် မည်သည့်ကုမ္ပဏီက ဆန္ဒရှိသနည်း။

ဟုတ်တယ်၊ အပါအဝင်၊ အဲဒီလို အဆိုပြုချက်တွေ ရှိခဲ့တယ်။ နှင့်အဓိကရောင်းချသူထံမှ။ ဒါ​ပေမယ့်​ ဒီအတွက်​ ကျွန်​​တော်​ ​နောက်​တစ်​နိုင်​ငံကို ​ပြောင်းရ​တော့မယ်​။ ကံမကောင်းစွာဖြင့်၊ ကျွန်ုပ်သည် အသက် 30 မဟုတ်တော့ပါ၊ ပထမဝီစီတွင် ဤကဲ့သို့ ခွဲထွက်၍ မရနိုင်ပါ။

Reiser4 တွင် မည်သည့်အင်္ဂါရပ်များ ပျောက်ဆုံးနေသနည်း။

ReiserFS(v3). ထို့အပြင်၊ DIRECT_IO အလံနှင့် ဖိုင်လုပ်ဆောင်မှုများကို ထိခိုက်မည်မဟုတ်ပါ။ နောက်တစ်ခု၊ ပုံသေအရွယ်အစားမရှိသော၊ သီးခြား volumes များအဖြစ် တပ်ဆင်နိုင်သည့် " semantic subvolumes" တွင် အသံအတိုးအကျယ်ကို ခွဲခြားနိုင်စေလိုပါသည်။ ဤပြဿနာများသည် “အစစ်အမှန်အရာ” ကို စမ်းကြည့်ချင်သော beginner များအတွက် ကောင်းပါတယ်။

နောက်ဆုံးအနေနဲ့၊ ရိုးရှင်းတဲ့အကောင်အထည်ဖော်မှုနဲ့ စီမံအုပ်ချုပ်မှုနဲ့အတူ network logical volumes တွေရှိချင်ပါတယ် (ခေတ်မီ algorithms က ဒါကိုခွင့်ပြုထားပြီးသား)။ ဒါပေမယ့် Reiser4 မှာ ဘယ်တော့မှ ရှိမှာ မဟုတ်ပါဘူး RAID-Z၊ scrubs၊ free space cache၊ 128-bit variable တွေနဲ့ အချို့ file systems developer တွေကြားမှာ အိုင်ဒီယာ ပြတ်လပ်မှုရဲ့ နောက်ခံကို ဆန့်ကျင်တဲ့ အခြား မားကတ်တင်း အဓိပ္ပါယ်မရှိတာတွေပါ။

လိုအပ်သည့်အရာအားလုံးကို plugins များဖြင့်အကောင်အထည်ဖော်နိုင်ပါသလား။

၎င်းတို့ကို အကောင်အထည်ဖော်သော အင်တာဖေ့စ်များနှင့် ပလပ်အင်များ (modules) များဖြင့်သာ ပြောဆိုပါက၊ အားလုံးမဟုတ်ပါ။ သို့သော် သင်သည် ဤအင်တာဖေ့စ်များပေါ်တွင် ဆက်ဆံရေးကိုလည်း မိတ်ဆက်ပေးပါက၊ အခြားအရာများထဲတွင်၊ သင်သည် ပိုမိုများပြားသော polymorphisms သဘောတရားများကို သင်ရရှိပြီးဖြစ်သည်။ သင်သည် အရာဝတ္ထု-ဆန်သော runtime စနစ်အား တွေးခေါ်ယူဆချက်ဖြင့် အေးခဲသွားစေရန်၊ တူညီသော X အင်တာဖေ့စ်ကို အကောင်အထည်ဖော်သည့် အခြားပလပ်အင်ဆီသို့ ညွှန်ပြရန် လမ်းညွှန်ညွှန်ပြချက်၏တန်ဖိုးကို ပြောင်းလဲလိုက်ပြီး ၎င်းကို ဆက်လက်လုပ်ဆောင်ရန်အတွက် စနစ်အား အေးခဲသွားစေရန် စိတ်ကူးကြည့်ပါ။

အသုံးပြုသူသည် ထိုကဲ့သို့သော "အစားထိုးခြင်း" ကို သတိမထားမိပါက၊ စနစ်သည် X interface တွင် သုညအစီအစဥ် polymorphism ရှိသည် (သို့မဟုတ် စနစ်သည် X interface တွင် ကွဲပြားနေသည်၊ ၎င်းသည် အတူတူပင်ဖြစ်သည်)။ ယခု သင့်တွင် အင်တာဖေ့စ်အစုတစ်ခုရှိသည်သာမက ၎င်းတို့ (အင်တာဖေ့စ်ဂရပ်) တွင်လည်း ဆက်ဆံရေးများရှိနေပါက၊ သင်သည် မည်သည့်အင်တာဖေ့စ်၏ "အိမ်နီးနားချင်း" တွင်ရှိပြီးသား စနစ်၏မျိုးကွဲကွဲပြားမှုကို ထင်ရှားစေမည့် ပိုမိုမြင့်မားသောအမှာစာများ၏ polymorphisms များကို သင်မိတ်ဆက်ပေးနိုင်ပါသည်။ ဒီလိုမျိုး အမျိုးအစားခွဲခြားမှုကို ငါအရင်ကတည်းက မိတ်ဆက်ပေးခဲ့ပေမယ့် ကံမကောင်းစွာဖြင့်၊ ဘယ်တော့မှ ဖြစ်မလာခဲ့ပါဘူး။

ထို့ကြောင့်၊ ပလပ်အင်များနှင့် ပိုမိုမြင့်မားသော polymorphisms များ၏အကူအညီဖြင့်၊ သင်သည်မည်သည့်လူသိများသည့်အင်္ဂါရပ်ကိုမဆိုဖော်ပြနိုင်သည့်အပြင် ဖော်ပြခြင်းမပြုဖူးသည့်အရာများကို "ကြိုတင်ခန့်မှန်း" နိုင်သည်။ ဒါကို တင်းတင်းကျပ်ကျပ် သက်သေမပြနိုင်သေးပေမယ့် တန်ပြန်ဥပမာတစ်ခုကိုလည်း မသိသေးပါဘူး။ ယေဘူယျအားဖြင့်၊ ဤမေးခွန်းသည် Felix Klein ၏ "Erlangen အစီအစဉ်" ကိုသတိရစေသည်။ တစ်ချိန်က သူသည် ဂျီသြမေတြီအားလုံးကို အက္ခရာသင်္ချာ (အထူးသဖြင့် အုပ်စုသီအိုရီ) အဖြစ် ကိုယ်စားပြုရန် ကြိုးစားခဲ့သည်။

အခု အဓိကမေးခွန်းအတွက် - Reiser4 မြှင့်တင်ရေးနဲ့ ပင်မ core ကို ဘယ်လိုသွားမလဲ။ နောက်ဆုံးအင်တာဗျူးတွင် သင်ပြောခဲ့သော ဤဖိုင်စနစ်တည်ဆောက်ပုံနှင့်ပတ်သက်သည့် ပုံနှိပ်ထုတ်ဝေမှုများ ရှိပါသလား။ ဤမေးခွန်းသည် သင့်အမြင်နှင့် မည်မျှသက်ဆိုင်သနည်း။

ယေဘူယျအားဖြင့်၊ ကျွန်ုပ်တို့သည် ပင်မဌာနခွဲတွင် ပါဝင်ရန် တောင်းဆိုနေသည်မှာ သုံးနှစ်ရှိပြီဖြစ်သည်။ ဆွဲထုတ်ရန် တောင်းဆိုမှု ပြုလုပ်ခဲ့သည့် အများသူငှာ ကဏ္ဍတွင် Reiser ၏ နောက်ဆုံးမှတ်ချက်ကို အဖြေမရသေးပါ။ ဒါကြောင့် နောက်ထပ်မေးခွန်းအားလုံးက ကျွန်တော်တို့အတွက် မဟုတ်ပါဘူး။ ကျွန်ုပ်တို့သည် သီးခြားလည်ပတ်မှုစနစ်သို့ ဘာကြောင့် “ပေါင်းစည်းရန်” လိုအပ်သည်ကို ကျွန်ုပ်ကိုယ်တိုင် နားမလည်ပါ။ Linux တွင်၊ အလင်းသည် သပ်ကဲ့သို့ အသွင်မဆောင်ပါ။ ထို့ကြောင့်၊ မတူညီသော OS များအတွက် branch-ports များစွာရှိမည့် သီးခြား repository တစ်ခုရှိသည်။ လိုအပ်သူတိုင်း သက်ဆိုင်ရာဆိပ်ကမ်းကို မွေးထုတ်ပြီး သင်အလိုရှိသမျှကို ၎င်းနှင့်ပြုလုပ်နိုင်သည် (ဟုတ်ပါတယ်၊ လိုင်စင်အတွင်း)။ ကောင်းပြီ၊ တစ်ယောက်ယောက်က မလိုအပ်ရင် အဲဒါ ငါ့ပြဿနာမဟုတ်ဘူး။ ဤအချိန်တွင်၊ “ပင်မ Linux kernel သို့ မြှင့်တင်ရေး” ဟူသောမေးခွန်းကို အခြေချပြီး စဉ်းစားရန် အဆိုပြုပါသည်။

FS ဗိသုကာဆိုင်ရာ ထုတ်ဝေမှုများသည် ဆီလျော်မှုရှိသော်လည်း ယခုအချိန်အထိ ကျွန်ုပ်၏ရလဒ်အသစ်အတွက် အချိန်သာရရှိထားပြီး၊ ပိုဦးစားပေးသည်ဟု ကျွန်ုပ်ယူဆပါသည်။ နောက်တစ်ခုကတော့ ကျွန်တော်ဟာ သင်္ချာပညာရှင်တစ်ယောက်ဖြစ်ပြီး သင်္ချာဘာသာရပ်မှာ ဘယ်ထုတ်ဝေမှုမဆို သီအိုရီနဲ့ သူတို့ရဲ့ သက်သေအကျဉ်းချုပ်ပါ။ အထောက်အထားမရှိဘဲ မည်သည့်အရာကိုမဆို ထုတ်ဝေခြင်းသည် အရသာမကောင်းသော လက္ခဏာတစ်ရပ်ဖြစ်သည်။ အကယ်၍ ကျွန်ုပ်သည် FS ၏တည်ဆောက်ပုံတည်ဆောက်ပုံနှင့်ပတ်သက်ပြီး မည်သည့်ထုတ်ပြန်ချက်ကိုမဆို သေချာစွာသက်သေပြခြင်း သို့မဟုတ် ငြင်းဆိုပါက၊ ရလဒ်သည် ဖြတ်ကျော်ရန်အလွန်ခက်ခဲလိမ့်မည်ဖြစ်သည်။ ဘယ်သူတွေ လိုအပ်လဲ။ ထို့ကြောင့် အရာအားလုံးသည် ၎င်း၏ပုံစံဟောင်းတွင် ဆက်လက်တည်ရှိနေနိုင်သည် - အရင်းအမြစ်ကုဒ်နှင့် ၎င်းကို မှတ်ချက်များပေးခြင်း။

လွန်ခဲ့သည့်နှစ်အနည်းငယ်အတွင်း Reiser4 တွင် ဘာအသစ်များပါသနည်း။

ကြာရှည်စွာစောင့်စားခဲ့ရတဲ့ တည်ငြိမ်မှုဟာ နောက်ဆုံးမှာ ရုပ်လုံးပေါ်လာပါပြီ။ နောက်ဆုံးပေါ်လာသည့်အရာတစ်ခုမှာ "ဖျက်၍မရသော" လမ်းညွှန်များဆီသို့ ဦးတည်သွားသော bug တစ်ခုဖြစ်သည်။ အခက်အခဲမှာ ၎င်းသည် အမည် hash တိုက်မိခြင်း၏ နောက်ခံနှင့် tree node တစ်ခုရှိ directory records ၏ သတ်မှတ်ထားသော တည်နေရာဖြင့်သာ ပေါ်လာခြင်းဖြစ်သည်။ သို့သော်လည်း၊ ထုတ်လုပ်ရန်အတွက် Reiser4 ကို ကျွန်ုပ် အကြံပြုနိုင်သေးသည်။ ဤအတွက် သင်သည် ထုတ်လုပ်မှုစနစ် စီမံခန့်ခွဲသူများနှင့် တက်ကြွသော အပြန်အလှန်တုံ့ပြန်မှုဖြင့် လုပ်ဆောင်ရန် လိုအပ်ပါသည်။

နောက်ဆုံးတွင် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ ကာလရှည်ကြာ တည်ရှိနေသော စိတ်ကူး - မတူညီသော ငွေပေးငွေယူ ပုံစံများကို အကောင်အထည်ဖော်နိုင်ခဲ့သည်။ ယခင်က Reiser4 သည် hardcoded Macdonald-Reiser မော်ဒယ်တစ်ခုသာ လုပ်ဆောင်ခဲ့သည်။ ဒီလိုဖန်တီးထားတဲ့ ဒီဇိုင်းပြဿနာ။ အထူးသဖြင့်၊ ထိုသို့သော အရောင်းအ၀ယ်ပုံစံတစ်ခုတွင် လျှပ်တစ်ပြက်ရိုက်ချက်များသည် “OVERWRITE SET” ဟုခေါ်သော အက်တမ်အစိတ်အပိုင်းတစ်ခုကြောင့် ပျက်စီးသွားမည်ဖြစ်သည်။ Reiser4 သည် လက်ရှိတွင် ငွေပေးငွေယူ မော်ဒယ် ၃ ခုကို ပံ့ပိုးထားသည်။ ၎င်းတို့ထဲမှ တစ်ခု (Write-Anywhere) တွင် အက်တမ် အစိတ်အပိုင်းကို OVERWRITE SET တွင် "ဓာတ်ပုံရိုက်၍မရသော" (ကြက်ဥနှင့်ဥပြဿနာ) စနစ်စာမျက်နှာများ (ဒစ်ဘစ်မြေပုံများ စသည်ဖြင့်) များသာ ပါဝင်ပါသည်။

ဒါကြောင့် ပုံတွေကို အတတ်နိုင်ဆုံး အကောင်းဆုံး ပုံဖော်နိုင်ပါပြီ။ အခြားသော အရောင်းအ၀ယ်ပုံစံတွင်၊ ပြုပြင်ထားသော စာမျက်နှာများအားလုံးသည် OVERWRITE SET သို့သာသွားသည် (ဆိုလိုသည်မှာ ၎င်းသည် မရှိမဖြစ်လိုအပ်သော ဂျာနယ်ထုတ်ခြင်းဖြစ်သည်)။ ဤမော်ဒယ်သည် Reiser4 partitions များ လျင်မြန်စွာ အကွဲကွဲအပြားပြားဖြစ်ခြင်းကို စောဒကတက်သူများအတွက်ဖြစ်သည်။ ယခုဤမော်ဒယ်တွင်သင်၏ partition သည် ReiserFS (v3) ထက်ပိုမိုမြန်ဆန်စွာကွဲထွက်သွားလိမ့်မည်။ အချို့သော ကြိုတင်မှာယူမှုများဖြင့် ရှိပြီးသား မော်ဒယ်သုံးခုစလုံးသည် လုပ်ဆောင်ချက်များ၏ အနုမြူဓာတ်ကို အာမခံသော်လည်း အနုမြူဓာတ် ဆုံးရှုံးကာ အပိုင်း၏ သမာဓိကိုသာ ထိန်းသိမ်းထားနိုင်သော မော်ဒယ်များလည်း အသုံးဝင်နိုင်သည်။ ထိုကဲ့သို့သော မော်ဒယ်များသည် ဤလုပ်ဆောင်ချက်အချို့ကို လုပ်ဆောင်ထားပြီးဖြစ်သည့် အပလီကေးရှင်း အမျိုးမျိုး (ဒေတာဘေ့စ်များ) အတွက် အသုံးဝင်နိုင်ပါသည်။ ဤမော်ဒယ်များကို Reiser4 တွင်ထည့်ရန်အလွန်လွယ်ကူသော်လည်း၊ ကျွန်ုပ်အား မည်သူမျှမတောင်းဆိုသောကြောင့်၊ ကျွန်ုပ်ကိုယ်တိုင်က ၎င်းကိုမလိုအပ်ပါ။

မက်တာဒေတာ စစ်ဆေးမှုများ ပေါ်လာပြီး မကြာသေးမီက ၎င်းတို့အား "စီးပွားရေး" မှန်များ (မတည်မငြိမ်ဖြစ်နေဆဲ ပစ္စည်း) ဖြင့် ဖြည့်စွက်ခဲ့သည်။ မည်သည့်ဘလောက်မဆို စစ်ဆေးမှုမအောင်မြင်ပါက၊ Reiser4 သည် ပုံတူကိရိယာမှ သက်ဆိုင်ရာ ဘလောက်ကို ချက်ချင်းဖတ်သည်။ ZFS နှင့် Btrfs များက ၎င်းကို မလုပ်နိုင်ကြောင်း သတိပြုပါ- ဒီဇိုင်းက ၎င်းကို ခွင့်မပြုပါ။ ထိုနေရာတွင် သင်သည် "scrub" ဟုခေါ်သော အထူးနောက်ခံစကင်ဖတ်ခြင်းလုပ်ငန်းစဉ်ကို လုပ်ဆောင်ရမည်ဖြစ်ပြီး ပြဿနာရှိသောပိတ်ဆို့ခြင်းသို့ရောက်ရန် ၎င်းကိုစောင့်ပါ။ ပရိုဂရမ်မာများသည် ထိုအဖြစ်အပျက်များကို ပုံဆောင်အားဖြင့် “crutches” ဟုခေါ်သည်။

နောက်ဆုံးတွင်၊ ZFS၊ Btrfs၊ ပိတ်ဆို့အလွှာနှင့် FS+LVM ပေါင်းစပ်မှုများကို မူအရအားဖြင့် ပေးစွမ်းနိုင်ခြင်း မရှိသော ကွဲပြားသော ယုတ္တိတန်သော volumes များ ပေါ်လာပြီး - အပြိုင်စကေးချဲ့ခြင်း၊ O(1) disk address ခွဲဝေပေးခြင်း၊ အကန့်ခွဲများကြား ဖောက်ထွင်းမြင်ရသော ဒေတာရွှေ့ပြောင်းခြင်း။ နောက်ဆုံးတွင် user interface လည်းရှိသည်။ ယခု သင်သည် အပူဆုံးဒေတာကို သင့်အသံအတိုးအကျယ်ရှိ စွမ်းဆောင်ရည်အမြင့်ဆုံး drive သို့ အလွယ်တကူရွှေ့နိုင်ပါပြီ။

ထို့အပြင်၊ ၎င်းသည် ညစ်ညမ်းသောစာမျက်နှာများကို ထို drive တစ်ခုသို့ အရေးတကြီးထုတ်ပစ်နိုင်သည်၊ ထို့ကြောင့် fsync(2) ဟု ခေါ်လေ့ရှိသော အပလီကေးရှင်းများကို သိသိသာသာ မြန်ဆန်စေသည်။ bcache ဟုခေါ်သော ဘလောက်အလွှာ၏ လုပ်ဆောင်နိုင်စွမ်းသည် ထိုကဲ့သို့ လွတ်လပ်စွာ လုပ်ဆောင်ခွင့် လုံးဝမပေးကြောင်း ကျွန်ုပ် သတိပြုမိပါသည်။ ယုတ္တိတန်သော volumes အသစ်များသည် ကျွန်ုပ်၏ အယ်လဂိုရီသမ်များအပေါ် အခြေခံသည် (သက်ဆိုင်ရာ မူပိုင်ခွင့်များရှိသည်)။ ဆော့ဖ်ဝဲသည် အတော်လေးတည်ငြိမ်နေပြီ၊ ၎င်းကို စမ်းကြည့်ရန်၊ စွမ်းဆောင်ရည်ကို တိုင်းတာရန်၊ စသည်ဖြင့် ဖြစ်နိုင်သည်။ တစ်ခုတည်းသောအဆင်မပြေသည်မှာ ယခုအချိန်တွင် သင်သည် အသံအတိုးအကျယ်ဖွဲ့စည်းပုံကို ကိုယ်တိုင်မွမ်းမံပြီး တစ်နေရာရာတွင် သိမ်းဆည်းရန် လိုအပ်ပါသည်။

ယခုအချိန်အထိ ကျွန်ုပ်၏စိတ်ကူးများကို 10 ရာခိုင်နှုန်းဖြင့် အကောင်အထည်ဖော်နိုင်ခဲ့ပြီးဖြစ်သော်လည်း၊ reiser4 တွင် ရွှေ့ဆိုင်းထားသော လုပ်ဆောင်မှုများအားလုံးကို လုပ်ဆောင်သည့် flash process နှင့် logical volumes များကို ချိတ်ဆက်ခြင်းတွင် အခက်ခဲဆုံးဟု ကျွန်တော်ယူဆသည့်အရာကို အောင်မြင်ခဲ့သည်။ ဤအရာအားလုံးသည် စမ်းသပ်ဆဲ “format41” ဌာနခွဲတွင် ရှိနေသေးသည်။

Reiser4 သည် xfstests ကို အောင်မြင်ပါသလား။

နောက်ဆုံးထွက်ရှိဖို့ ပြင်ဆင်နေချိန်မှာ အနည်းဆုံးတော့ အဲဒါက ကျွန်တော့်အတွက် ဖြစ်ခဲ့ပါတယ်။

Reiser4 ကို ပလပ်အင်များကို အသုံးပြု၍ ကွန်ရက် (အစုအဝေး) FS ပြုလုပ်ရန် မူအားဖြင့် ဖြစ်နိုင်ပါသလား။

ဖြစ်နိုင်သည်၊ လိုအပ်သည်ပင်။ စနစ်တကျ ဒီဇိုင်းထုတ်ထားသော ဒေသတွင်း ဖိုင်စနစ်အပေါ် အခြေခံ၍ ကွန်ရက်ဖိုင်တစ်ခုကို ဖန်တီးပါက ရလဒ်သည် အလွန်အထင်ကြီးစရာ ဖြစ်လိမ့်မည်။ ခေတ်မီကွန်ရက် FSs တွင်၊ ဒေသန္တရ FS တစ်ခုခုကို အသုံးပြု၍ လုပ်ဆောင်သည့် backend သိုလှောင်မှုအဆင့်ရှိခြင်းကို ကျွန်ုပ် မကျေနပ်ပါ။ ဤအဆင့်၏တည်ရှိမှုသည် လုံးဝတရားမျှတမှုမရှိပါ။ ကွန်ရက် FS သည် ဘလောက်အလွှာနှင့် တိုက်ရိုက် အပြန်အလှန် သက်ရောက်မှု ရှိရမည်ဖြစ်ပြီး အခြားသော ဝန်ဆောင်မှုဖိုင်များကို ဖန်တီးရန် ဒေသတွင်း FS အား မတောင်းဆိုပါ။

ယေဘူယျအားဖြင့်၊ ဖိုင်စနစ်များကို local နှင့် network သို့ ပိုင်းခြားခြင်းသည် မကောင်းမှုမှဖြစ်သည်။ ၎င်းသည် လွန်ခဲ့သော အနှစ်သုံးဆယ်က အသုံးပြုခဲ့သည့် algorithms ၏ မစုံလင်မှုမှ ပေါ်ပေါက်လာပြီး ၎င်းသည် တစ်စုံတစ်ရာ အဆိုပြုခြင်း မပြုရသေးသော နေရာတွင် ပေါ်ပေါက်လာခဲ့သည်။ ဒါကလည်း မလိုအပ်တဲ့ ဆော့ဖ်ဝဲ အစိတ်အပိုင်းများ (ဝန်ဆောင်မှုအမျိုးမျိုး၊ စသည်ဖြင့်) အစုလိုက်အပြုံလိုက် ပေါ်လာရခြင်းရဲ့ အကြောင်းရင်းလည်း ဖြစ်ပါတယ်။ နည်းလမ်းကောင်းတွင်၊ kernel module ၏ပုံစံတွင် FS တစ်ခုသာရှိသင့်ပြီး စက်တစ်ခုစီတွင်ထည့်သွင်းထားသောအသုံးပြုသူအသုံးအဆောင်များ - cluster node တစ်ခုဖြစ်သည်။ ဤ FS သည် ဒေသတွင်းနှင့် ကွန်ရက်နှစ်ခုလုံးဖြစ်သည်။ ဘာမှမပို!

Reiser4 ပါရင် Linuxဘာမှမထူးဘူးဆိုရင် FreeBSD အတွက် FS တစ်ခု အဆိုပြုချင်ပါတယ် (ယခင်အင်တာဗျူးတစ်ခုမှ ကိုးကားချက်- “…FreeBSD … မှာ ပညာရေးဆိုင်ရာ အရင်းအမြစ်တွေ ရှိပါတယ်… ဆိုလိုတာက developer တွေနဲ့ ဘုံဘာသာစကားတစ်ခု ရှာတွေ့နိုင်ခြေ မြင့်မားပါတယ်)။

ထို့ကြောင့်ကျွန်ုပ်တို့တွေ့ရှိခဲ့သည့်အတိုင်း၊ အရာအားလုံးသည် Linux နှင့် ပြီးပြည့်စုံစွာအလုပ်လုပ်နေပြီဖြစ်သည်၊ ၎င်းအတွက် သီးခြားလုပ်ဆောင်နေသော Reiser4 port တစ်ခုရှိသည်။ FreeBSD ကို မမေ့ခဲ့ပါ။ ကမ်းလှမ်းချက်။ FreeBSD ၏အတွင်းပိုင်းကို ကောင်းစွာသိသောသူများနှင့် နီးကပ်စွာလုပ်ဆောင်ရန် ကျွန်ုပ်အဆင်သင့်ဖြစ်နေပါပြီ။ စကားမစပ်- သူတို့အသိုင်းအဝိုင်းအတွက် ကျွန်တော်တကယ်ကြိုက်တာက အမြဲတမ်းလူတစ်ဦးကို အစိုးရလှည့်ဖြားမှုနဲ့ ဘာမှမဆိုင်တဲ့ အမှီအခိုကင်းတဲ့ ကျွမ်းကျင်သူတွေရဲ့ မွမ်းမံထားတဲ့ ကောင်စီက ဆုံးဖြတ်ချက်တွေ ချလိုက်တာပါပဲ။

အသုံးပြုသူအသိုင်းအဝိုင်းကို ဘယ်လိုအဆင့်သတ်မှတ်ပါသလဲ။ Linux ဒီနေ့လား။ ပိုပြီး "ပေါ့ပ်" ဖြစ်လာပြီလား။

ငါ့အလုပ်ရဲ့ သဘောသဘာဝအရ ဒါကို အကဲဖြတ်ဖို့ တော်တော်ခက်တယ်။ အသုံးပြုသူအများစုသည် bug အစီရင်ခံစာများနှင့် ကဏ္ဍကိုပြင်ရန် တောင်းဆိုမှုများဖြင့် ကျွန်ုပ်ထံသို့ လာကြသည်။ အသုံးပြုသူများအနေဖြင့် သုံးစွဲသူများ။ တချို့က ပိုနားလည်တယ်၊ တချို့က နည်းတယ်။ လူတိုင်းကို ဒီလိုပဲ ဆက်ဆံတယ်။ ကောင်းပြီ၊ အသုံးပြုသူသည် ကျွန်ုပ်၏ညွှန်ကြားချက်များကို လျစ်လျူရှုပါက ခွင့်လွှတ်ပါ- လျစ်လျူရှုသောအမိန့်ကို ကျွန်ုပ်ဘက်မှလည်း ထည့်သွင်းပါမည်။

လာမည့် ငါးနှစ်မှ ဆယ်နှစ်အတွင်း ဖိုင်စနစ်များ ဖွံ့ဖြိုးတိုးတက်လာမည်ကို ခန့်မှန်းနိုင်ပါသလား။ FS developer များရင်ဆိုင်ရမည့် အဓိကစိန်ခေါ်မှုများကား အဘယ်နည်း။

ဟုတ်တယ်၊ ဒီလိုခန့်မှန်းဖို့ မခက်ပါဘူး။ အထက်စီးကြောင်းတွင် ဖိုင်စနစ်များ မဖြစ်ထွန်းသည်မှာ ကြာပြီ။ ထိုသို့သော အသွင်အပြင်ကိုသာ ဖန်တီးသည်။ ဒေသတွင်း ဖိုင်စနစ်များ၏ ဆော့ဖ်ဝဲအင်ဂျင်နီယာများသည် ညံ့ဖျင်းသော ဒီဇိုင်းနှင့် ဆက်နွှယ်သည့် ပြဿနာများကို ကြုံတွေ့ခဲ့ရသည်။ ဤနေရာတွင် သတိပေးချက်တစ်ခု ပြုလုပ်ရန် လိုအပ်ပါသည်။ "သိုလှောင်မှု", "licking" နှင့် code ၏ porting ကိုဖွံ့ဖြိုးတိုးတက်မှုနှင့်ဖွံ့ဖြိုးတိုးတက်မှုဟုကျွန်ုပ်မယူဆပါ။ ကျွန်ုပ်ရှင်းပြပြီးသော အကြောင်းပြချက်များအတွက် "Btrfs" ဟုခေါ်သော နားလည်မှုလွဲမှားခြင်းကို ဖွံ့ဖြိုးတိုးတက်မှုအဖြစ် ကျွန်ုပ် မခွဲခြားပါ။

ဖာထေးမှုတစ်ခုစီသည် ၎င်း၏ပြဿနာများကို ပိုမိုဆိုးရွားစေသည်။ ကောင်းပြီ။ “ခပ်သိမ်းသောအမှု” ရှိသော “ဧဝံဂေလိဆရာ” အမျိုးမျိုး အမြဲရှိကြသည်။ အခြေခံအားဖြင့်၊ ဤအရာများသည် ကျောင်းနေကလေးများနှင့် ဟောပြောပွဲကို ရှောင်နေသည့် ကျောင်းသားများဖြစ်သည်။ စိတ်ကူးကြည့်ပါ- သူ့အတွက် အဆင်ပြေပေမယ့် ပါမောက္ခက မလုပ်ဘူး။ ဒါက Adrenaline အလျင်စလိုပါပဲ။ ကျွန်ုပ်၏အမြင်အရ၊ အကြီးမားဆုံးအန္တရာယ်မှာ Btrfs ၏အံ့ဖွယ်သွင်ပြင်လက္ခဏာများကို systemd၊ docker စသည်ဖြင့်အလွှာအမျိုးမျိုးပေါ်သို့စိတ်အားထက်သန်စွာ "ဝက်အူ" အမြန်ချရန် "လက်သမား" ကြောင့်ဖြစ်ရသည်။ - ၎င်းသည် metastases နှင့်ဆင်တူသည်။

အခု ငါးနှစ်ကနေ ဆယ်နှစ်အထိ ခန့်မှန်းကြည့်ရအောင်။ Reiser4 မှာ ဘာလုပ်မယ်ဆိုတာကို အတိုချုံးပြီး ဖော်ပြထားပြီးသားပါ။ အထက်ပိုင်းမှ ဒေသန္တရ FS developer များအတွက် အဓိကစိန်ခေါ်မှုမှာ လစာအတွက် သင့်တင့်လျောက်ပတ်သော အလုပ်တစ်ခု မလုပ်နိုင်ခြင်း (ဟုတ်ပါပြီ၊ ၎င်းသည် ဖြစ်နေပြီ) ဖြစ်သည်။ ဒေတာသိုလှောင်မှုနယ်ပယ်တွင် မည်သည့်အကြံဥာဏ်မျှမရှိဘဲ၊ ၎င်းတို့သည် ဤကံဆိုးသော VFS၊ XFS နှင့် ext4 ကို ဖာထေးရန် ဆက်လက်ကြိုးစားသွားမည်ဖြစ်သည်။ VFS ၏အခြေအနေသည် စားဖိုမှူးများမရှိသော စားသောက်ဆိုင်တစ်ခု၏ အရူးအမူးခေတ်မီမှုကို သတိရစေပြီး စားဖိုမှူးများမျှော်လင့်ထားမည်မဟုတ်ပါ။

အခုဆိုရင် VFS ကုဒ်က မန်မိုရီစာမျက်နှာများစွာကို တစ်ပြိုင်နက်တည်း ခြွင်းချက်မရှိ လော့ခ်ချပြီး အခြေခံဖိုင်စနစ်ကို ၎င်းတို့ပေါ်တွင် လုပ်ဆောင်ရန် တောင်းဆိုပါတယ်။ ဒါကို ဖျက်ပစ်တဲ့လုပ်ဆောင်ချက်တွေအတွင်း Ext4 ရဲ့ စွမ်းဆောင်ရည်ကို မြှင့်တင်ဖို့ မိတ်ဆက်ခဲ့တာပါ၊ ဒါပေမယ့် သင်အလွယ်တကူ နားလည်နိုင်တဲ့အတိုင်း ဒီလို တစ်ပြိုင်နက်တည်း လော့ခ်ချတာဟာ အဆင့်မြင့် ငွေပေးငွေယူပုံစံတွေနဲ့ လုံးဝမကိုက်ညီပါဘူး။ ဆိုလိုတာက kernel မှာ smart file system တစ်မျိုးမျိုးအတွက် ပံ့ပိုးမှုကို ရိုးရိုးရှင်းရှင်း ထည့်လို့ မရပါဘူး။ တခြားနေရာတွေမှာ အခြေအနေတွေ ဘယ်လိုရှိလဲဆိုတာ ကျွန်တော် မသိပါဘူး။ Linuxဒါပေမယ့် ဖိုင်စနစ်တွေနဲ့ ပတ်သက်လာရင်၊ ဒီမှာ ဖွံ့ဖြိုးတိုးတက်မှုတိုင်းဟာ Torvalds တကယ်လုပ်ဆောင်နေတဲ့ မူဝါဒတွေနဲ့ ကိုက်ညီမှု မရှိပါဘူး။ (ပညာရေးဆိုင်ရာ ပရောဂျက်တွေကို ထုတ်ပယ်ပြီး B-tree ဆိုတာ ဘာလဲဆိုတာ မသိတဲ့ လိမ်လည်သူတွေကိုတော့ အဆုံးမရှိ ချီးကျူးဂုဏ်ပြုကြပါတယ်။) ဒါကြောင့် ဖြည်းဖြည်းချင်း ယိုယွင်းပျက်စီးမှု လမ်းကြောင်းကို ချမှတ်ထားပါတယ်။ ဟုတ်ပါတယ်၊ သူတို့က ဒါကို "ဖွံ့ဖြိုးတိုးတက်မှု" အဖြစ် ဟန်ဆောင်ဖို့ အကောင်းဆုံး ကြိုးစားကြမှာပါ။

ထို့အပြင်၊ သင်သည် "သိုလှောင်မှု" တစ်ခုတည်းမှအများကြီးမရရှိနိုင်ကြောင်းသဘောပေါက်သောဖိုင်စနစ်များ၏ "စောင့်ထိန်းသူများ" သည်ပိုမိုအမြတ်အစွန်းရှိသောစီးပွားရေးလုပ်ငန်းကိုကြိုးစားလိမ့်မည်။ ၎င်းတို့သည် စည်းကမ်းအတိုင်း၊ ဖြန့်ဝေထားသော ဖိုင်စနစ်များနှင့် virtualization ဖြစ်သည်။ ၎င်းတို့သည် ခေတ်ဆန်သော ZFS ကို မတွေ့ရသေးသော အခြားတစ်နေရာတွင် ပို့ထားလိမ့်မည် ဖြစ်နိုင်သည်။ သို့သော်၊ ၎င်းသည် အထက်ပိုင်းရှိ FS အားလုံးကဲ့သို့ပင်၊ နှစ်သစ်ကူးသစ်ပင်နှင့်တူသည်- အခြားအရာသေးသေးလေးများကို အပေါ်မှဆွဲထားနိုင်လျှင် သင်ပို၍နက်နဲလာမည်မဟုတ်ပါ။ ZFS ကိုအခြေခံ၍ လေးနက်သောစီးပွားရေးလုပ်ငန်းစနစ်တစ်ခုတည်ဆောက်ရန်ဖြစ်နိုင်သည်ဟုကျွန်ုပ်ဝန်ခံပါသည်၊ သို့သော်ကျွန်ုပ်တို့သည်အနာဂတ်ကိုယခုဆွေးနွေးနေသောကြောင့် ZFS သည်ဤကိစ္စတွင်မျှော်လင့်ချက်မရှိဟုဝမ်းနည်းစွာပြောနိုင်သည်- ၎င်းတို့၏ virtual စက်ပစ္စည်းများဖြင့်၊ ယောက်ျားများသည်အောက်ဆီဂျင်ကိုဖြတ်တောက်လိုက်သည် မိမိတို့နှင့် အနာဂတ်မျိုးဆက်သစ်များ ပိုမိုဖွံ့ဖြိုးတိုးတက်လာစေရန်။ ZFS သည် အတိတ်တစ်ခုဖြစ်သည်။ ext4 နှင့် XFS တို့သည် မနေ့တနေ့ကပင် မဟုတ်ပါ ။

" ဟူသော အပြောများသော အယူအဆကို သီးခြားဖော်ပြသင့်သည်Linux "နောက်မျိုးဆက်ရဲ့ ဖိုင်စနစ်" ဆိုတာ လုံးဝ နိုင်ငံရေးနဲ့ စျေးကွက်ရှာဖွေရေး ပရောဂျက်တစ်ခုဖြစ်ပြီး ပြောရရင် "ဖိုင်စနစ်တွေရဲ့ အနာဂတ်ကို ကြိုတင်ခန့်မှန်းနိုင်ဖို့" ဖန်တီးထားတာပါ။ Linux သတ်မှတ်ထားသော ဇာတ်ကောင်များအတွက်။ ကိစ္စက အရင်တုန်းက Linux အရင်က "ပျော်စရာအတွက်သာ" ပါ။ အခုတော့ အဓိကအားဖြင့် ငွေရှာတဲ့စက်တစ်ခု ဖြစ်နေပါပြီ။ ဘာမဆို ငွေရှာနိုင်ပါတယ်။ ဥပမာအားဖြင့်၊ ကောင်းမွန်တဲ့ software ထုတ်ကုန်တစ်ခု ဖန်တီးဖို့ဆိုတာ အရမ်းခက်ခဲပေမယ့် ထက်မြက်တဲ့ "developer" တွေက လုံးဝအားစိုက်ထုတ်စရာမလိုဘူးဆိုတာကို ကြာမြင့်စွာကတည်းက သဘောပေါက်လာကြပါပြီ- ကြေငြာပြီး အများပြည်သူဆိုင်ရာပွဲအမျိုးမျိုးမှာ ကြော်ငြာထားတဲ့ software တွေတောင် အောင်မြင်စွာရောင်းချနိုင်ပါတယ်—အဓိကကတော့ presentation slide တွေမှာ feature အများကြီးပါဝင်ဖို့ပါပဲ။

ရလဒ်အပေါ် ဆယ်နှစ်ကြာ လုံခြုံစွာ ညှိနှိုင်းနိုင်သောကြောင့် ဖိုင်စနစ်များသည် ၎င်းအတွက် ပြီးပြည့်စုံပါသည်။ ကောင်းပြီ၊ တစ်စုံတစ်ဦးသည် ဤရလဒ်မရှိခြင်းနှင့်ပတ်သက်၍ နောက်ပိုင်းတွင် တိုင်ကြားလာပါက၊ ဖိုင်စနစ်များအကြောင်း သူရိုးရှင်းစွာနားမလည်ပါ။ ဤအရာသည် ဘဏ္ဍာရေးပိရမစ်ကို အမှတ်ရနေသည်- ထိပ်တွင် ဤအရှုပ်အထွေးကို စတင်ခဲ့သော စွန့်စားသူများ၊ "ကံကောင်းသူ" အနည်းငယ်သာ ရှိကြသည်- သူတို့သည် "အမြတ်ဝေစုများ" နုတ်ထွက်သွားကြသည်၊ ဆိုလိုသည်မှာ၊ ဖွံ့ဖြိုးရေးအတွက် ငွေရခဲ့ပြီး၊ မန်နေဂျာများအဖြစ် လစာကောင်းကောင်းရသော အလုပ်၊ ကွန်ဖရင့်များတွင် “ပေါ်လာသည်” စသည်ဖြင့်။

“ကံမကောင်း” သူများသည် ဆုံးရှုံးမှုများကို ရေတွက်ကြမည်ဖြစ်ပြီး၊ အသုံးမပြုနိုင်သော ဆော့ဖ်ဝဲလ်ထုတ်ကုန်ကို ထုတ်လုပ်ရေးတွင် အသုံးချခြင်း၏ အကျိုးဆက်များကို ကိုင်တွယ်ဖြေရှင်းမည်၊ အဲဒီအထဲက အများကြီးရှိတယ်။ ကောင်းပြီ၊ ပိရမစ်၏ခြေရင်းတွင် developer များ "sawing" အသုံးမဝင်သောကုဒ်များစွာရှိသည်။ အချိန်ဖြုန်းခြင်းများကို ပြန်မရနိုင်သောကြောင့် ၎င်းတို့သည် အကြီးမားဆုံး အရှုံးသမားဖြစ်သည်။ ထိုသို့သောပိရမစ်များသည် Torvalds နှင့် သူ၏လုပ်ဖော်ကိုင်ဖက်များအတွက် အလွန်အကျိုးရှိသည်။ ပြီးတော့ ဒီပိရမစ်တွေ များလေလေ၊ သူတို့အတွက် ပိုကောင်းပါတယ်။ ထိုပိရမစ်များကို အစာကျွေးရန်အတွက် မည်သည့်အရာကိုမဆို အူတိုင်ထဲသို့ ယူဆောင်သွားနိုင်သည်။ အများသူငှာ သူတို့ပြောတာက ဆန့်ကျင်ဘက်ပဲ။ နှုတ်ဖြင့်မဆုံးဖြတ်ဘဲ၊

ဒါကြောင့် "Linux ဖိုင်စနစ်တွေရဲ့ အနာဂတ်" ဟာ အလွန်ရေပန်းစားပေမယ့် အသုံးမဝင်တဲ့ ဆော့ဖ်ဝဲတစ်ခုပါပဲ။ Btrfs ပြီးနောက် ဒီ "အနာဂတ်" ကို Bcachefs နဲ့ အစားထိုးဖို့ များပါတယ်၊ ဒါက မျိုးစပ်ဖို့ နောက်ထပ်ကြိုးပမ်းမှုတစ်ခုပါပဲ။ Linux ဖိုင်စနစ်ပါတဲ့ block layer တစ်ခု (မကောင်းတဲ့ ဥပမာက ကူးစက်တတ်တယ်)။ စိတ်ဝင်စားစရာကောင်းတာက Btrfs လိုပဲ ပြဿနာတွေ ရှိနေတာပါပဲ။ ဒါကို ကျွန်တော် ကြာမြင့်စွာ သံသယဝင်ခဲ့ပြီး ကုဒ်ကို ကြည့်လိုက်တော့ မငြင်းဆန်နိုင်ခဲ့ဘူး—တကယ်ကို မှန်ပါတယ်။

Bcachefs နှင့် Btrfs များ၏စာရေးဆရာများသည် ၎င်းတို့၏ FS ကိုဖန်တီးသောအခါတွင် အခြားသူများ၏ရင်းမြစ်များကို တက်ကြွစွာအသုံးပြုကာ ၎င်းတို့အကြောင်းအနည်းငယ်နားလည်သည်။ အခြေအနေသည် ကလေးကစားနည်း “ဖုန်းပျက်” နှင့် အလွန်သတိရနေပါသည်။ ပြီးတော့ ဒီကုဒ်ကို kernel မှာ ဘယ်လိုထည့်သွင်းမလဲဆိုတာ အကြမ်းဖျင်းတွေးကြည့်နိုင်ပါတယ်။ အမှန်တော့၊ “ထွန်ခြစ်” ကို ဘယ်သူမှ မြင်မှာ မဟုတ်ဘူး (လူတိုင်း နောက်မှ နင်းကြလိမ့်မယ်)။ ကုဒ်ပုံစံနှင့်ပတ်သက်ပြီး မကြာခဏ တုန်လှုပ်ချောက်ချားသွားပြီးနောက်၊ တည်ရှိခြင်းမရှိသော ချိုးဖောက်မှုများ စသည်တို့ကြောင့်၊ စာရေးသူ၏ "သစ္စာစောင့်သိမှု"၊ အခြား developer များနှင့် သူမည်မျှ ကောင်းမွန်စွာ ဆက်ဆံနိုင်ပုံ၊ ဤအရာအားလုံးကို အောင်မြင်စွာ လုပ်ဆောင်နိုင်ပုံနှင့် ပတ်သက်၍ ကောက်ချက်ချပါမည်။ ထို့နောက် ကော်ပိုရေးရှင်းများသို့ ရောင်းချသည်။

ရလဒ်က ဘယ်သူ့ကိုမှ စိတ်ဝင်စားမှာ မဟုတ်ဘူး။ လွန်ခဲ့တဲ့ အနှစ်နှစ်ဆယ်လောက်က ကျွန်တော် စိတ်ဝင်စားခဲ့တာ ဖြစ်ကောင်းဖြစ်နိုင်ပေမယ့် အခု မေးခွန်းတွေက ကွဲပြားသွားပါပြီ- အဲဒါကို မြှင့်တင်ဖို့ ဖြစ်နိုင်ပါ့မလား။ နောက်ဆယ်နှစ်အတွင်း လူအချို့ အလုပ်ခန့်လာမယ်။ ဖြစ်ချင်တော့၊ နောက်ဆုံးရလဒ်ကို အံ့သြဖို့က ထုံးစံမဟုတ်ဘူး။

ယေဘူယျအားဖြင့်၊ သင်၏ဖိုင်စနစ်ကို အစမှစတင်၍ ပြန်လည်ဆန်းသစ်ခြင်းမပြုရန် ကျွန်ုပ် ပြင်းပြင်းထန်ထန် အကြံပြုလိုပါသည်။ အဘယ်ကြောင့်ဆိုသော် ထင်ရှားသော ငွေကြေးရင်းနှီးမြှုပ်နှံမှုများပင်လျှင် ဆယ်နှစ်အတွင်း အပြိုင်အဆိုင် တစ်ခုခုရရန် မလုံလောက်သောကြောင့် ဖြစ်သည်။ ဟုတ်ပါတယ်၊ ငါပြောနေတာက လေးနက်တဲ့ ပရောဂျက်တွေအကြောင်းမဟုတ်ဘဲ kernel ထဲကို "တွန်းပို့ဖို့" ရည်ရွယ်ထားတဲ့အရာတွေအကြောင်း မဟုတ်ပါဘူး။ ထို့ကြောင့်၊ သင့်ကိုယ်သင်ဖော်ပြရန် ပိုမိုထိရောက်သောနည်းလမ်းမှာ ကျွန်ုပ်တို့ကဲ့သို့ စစ်မှန်သောဖွံ့ဖြိုးတိုးတက်မှုများတွင် ပါဝင်ရန်ဖြစ်သည်။ ဤသည်မှာ လုပ်ရန်မလွယ်ကူသော်လည်း၊ ဤသည်မှာ မည်သည့်အဆင့်မြင့်ပရောဂျက်နှင့်မဆို သက်ဆိုင်ပါသည်။

ပထမဦးစွာ၊ ကျွန်ုပ်တင်ပြမည့် ပြဿနာကို လွတ်လပ်စွာ ကျော်လွှားရန် လိုအပ်ပါသည်။ အဲဒီနောက် မင်းရဲ့ ရည်ရွယ်ချက်တွေရဲ့ လေးနက်မှုကို ယုံကြည်ပြီး ငါက စပြီး ကူညီမယ်။ အစဉ်အလာအားဖြင့် ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကိုယ်ပိုင်တိုးတက်မှုများကိုသာ အသုံးပြုသည်။ ခြွင်းချက်မှာ compression algorithms နှင့် hash function အချို့ဖြစ်သည်။ ကျွန်ုပ်တို့သည် ကွန်ဖရင့်များသို့ ခရီးသွားရန် developer များကို မစေလွှတ်ဘဲ၊ ထို့နောက်တွင် ကျွန်ုပ်တို့သည် ထိုင်ပြီး အခြားသူများ၏ အယူအဆများ (“ဖြစ်နိုင်သည်”) ကို မပေါင်းစည်းဘဲ startup အများစုတွင် ထုံးစံအတိုင်းဖြစ်သည်။

ကျွန်တော်တို့ဟာ အယ်လဂိုရီသမ်အားလုံးကို ကိုယ်တိုင်တီထွင်ပါတယ်။ လောလောဆယ်မှာ ဒေတာသိုလှောင်မှုသိပ္ပံရဲ့ အယ်လဂျီဘရာနဲ့ ပေါင်းစပ်မှုဆိုင်ရာ ရှုထောင့်တွေကို စိတ်ဝင်စားပါတယ်။ အထူးသဖြင့် finite field တွေ၊ asymptotics တွေနဲ့ မညီမျှမှုတွေပါ။ ပုံမှန်ပရိုဂရမ်မာတွေအတွက်လည်း အလုပ်ရှိပါတယ်၊ ဒါပေမယ့် ချက်ချင်းသတိပေးရမှာက "တခြားဖိုင်စနစ်တစ်ခုကိုကြည့်ပြီး အတူတူလုပ်ပါ" ဆိုတဲ့ အကြံပြုချက်အားလုံးကို လျစ်လျူရှုထားမှာပါ။ ပိုမိုနီးကပ်စွာ ပေါင်းစပ်ရန် ရည်ရွယ်တဲ့ patch တွေ Linux VFS လိုင်းမှတစ်ဆင့်။

ထို့ကြောင့်၊ ကျွန်ုပ်တို့တွင် ထွန်တုံးမရှိသော်လည်း ကျွန်ုပ်တို့သည် မည်သည့်နေရာတွင် ရွှေ့ရမည်ကို နားလည်ထားပြီး၊ ဤလမ်းညွှန်ချက်သည် မှန်ကန်သည်ဟု ကျွန်ုပ်တို့ ယုံကြည်ပါသည်။ ဤဥာဏ်သည် ကောင်းကင်မှ မန္နပုံသဏ္ဍာန်သို့ မရောက်။ ကျွန်ုပ်တို့၏နောက်ကွယ်တွင် ဖွံ့ဖြိုးတိုးတက်မှုအတွေ့အကြုံ ၂၉ နှစ်ရှိပြီး အစမှရေးသားထားသော ဖိုင်စနစ်နှစ်ခုရှိကြောင်း ကျွန်ုပ်အား သတိပေးပါရစေ။ ဒေတာပြန်လည်ရယူခြင်းဆိုင်ရာ အသုံးအဆောင်များ အရေအတွက်နှင့် တူညီသည်။ ပြီးတော့ ဒါက အများကြီးပဲ။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster