Reiser4 FS හි සංවර්ධක Eduard Shishkin සමඟ දෙවන සම්මුඛ සාකච්ඡාව

Reiser4 ගොනු පද්ධතියේ සංවර්ධක Eduard Shishkin සමඟ දෙවන සම්මුඛ සාකච්ඡාව ප්‍රකාශයට පත් කර ඇත.

ආරම්භ කිරීමට, කරුණාකර ඔබ වැඩ කරන්නේ කොහේද සහ කවුරුන්ද යන්න පාඨකයන්ට මතක් කරන්න.

මම Huawei Technologies, German Research Center හි ප්‍රධාන ගබඩා ගෘහ නිර්මාණ ශිල්පියෙකු ලෙස සේවය කරමි. අථත්යකරණ දෙපාර්තමේන්තුවේදී මම දත්ත ගබඩා කිරීමේ විවිධ අංශ සමඟ කටයුතු කරමි. මගේ ක්‍රියාකාරකම් විශේෂිත මෙහෙයුම් පද්ධතියකට සම්බන්ධ නොවේ.

ඔබ දැනට ප්‍රධාන කර්නල් ශාඛාවට කැපවී සිටිනවාද?

ඉතා කලාතුරකින්, සහ මගේ සේවායෝජකයාට එය අවශ්‍ය නම් පමණි. අවසන් වරට වසර තුනකට පමණ පෙර, මම 9p ප්‍රොටෝකෝලය භාවිතා කරමින් ධාරකවල බෙදාගත් ගබඩාව සඳහා ප්‍රතිදානය වැඩි කිරීමට පැච් යවමි (මෙම ව්‍යාපාරයේ තවත් නමක් වන්නේ VirtFS). මෙහිදී එක් වැදගත් සටහනක් තැබිය යුතුය: මම දිගු කලක් ලිනක්ස් සමඟ වැඩ කර ඇතත්, මම කිසි විටෙකත් එහි රසිකයෙක් නොවෙමි, එනම්, මම අනෙක් සියල්ල සමඟ මෙන් “ඒකාකාරව හුස්ම ගන්නෙමි”. විශේෂයෙන්ම, මගේ අඩුපාඩුවක් දුටුවහොත්, මට එය එක් වරක් පෙන්වා දිය හැකිය. එවිට ඔබට යමෙකු අනුගමනය කර ඔවුන්ව ඒත්තු ගැන්වීමට - මෙය සිදු නොවනු ඇත.

මට මතකයි පසුගිය වතාවේ, අවුරුදු දහයකට පෙර, ඔබ කර්නල් සංවර්ධන විලාසය බෙහෙවින් විවේචනය කළා. ඔබේ (හෝ සමහර විට ආයතනික) දෘෂ්ටි කෝණයෙන්, යමක් වෙනස් වී තිබේද, ප්‍රජාව වඩාත් ප්‍රතිචාර දක්වනවාද නැද්ද? එසේ නොවේ නම්, ඔබ සිතන්නේ කාටද වරද?

වඩා හොඳ සඳහා කිසිදු වෙනසක් මම කවදාවත් දැක නැත. ප්‍රජාවේ ප්‍රධාන ගැටලුව වන්නේ විද්‍යාව හැර වෙනත් ඕනෑම දෙයක් දේශපාලන තාක්‍ෂණ, පුද්ගල සම්බන්ධතා, බහුතර මතය, ජනප්‍රියවාදය, “අභ්‍යන්තර හඬින්”, කුණු වූ සම්මුතිවලින් උපදෙස් ලබා දීමෙන් විද්‍යාව ප්‍රතිස්ථාපනය කිරීමයි. පරිගණක විද්‍යාව, කවුරුන් කුමක් කීවත්, ප්‍රථමයෙන් සහ ප්‍රධාන වශයෙන් නිවැරදි විද්‍යාවකි. යමෙක් 2 ට වඩා වෙනස් 2x4 සඳහා තමන්ගේම අගය ප්‍රකාශ කිරීමට පටන් ගන්නේ නම්, “ලිනක්ස් මාර්ගය” ධජය යටතේ හෝ වෙනත් ධජයක් යටතේ, මෙය හානියක් හැර වෙනත් කිසිවක් ගෙන ඒමට අපහසුය.

සියලු කරදරවලට මූලික වශයෙන් හේතු වී ඇත්තේ තීරණ ගන්නා අයගේ නොහැකියාව සහ අධ්‍යාපනය නොමැතිකමයි. කළමනාකරුවෙකු අකාර්යක්ෂම නම්, ඔහුට වෛෂයික, ප්රමාණවත් තීරණයක් ගැනීමට නොහැකි වේ. ඔහු ද අසංස්කෘතික නම්, ඔහුට නිවැරදි උපදෙස් ලබා දෙන දක්ෂ විශේෂඥයෙකු සොයා ගැනීමට ඔහුට නොහැකි ය. ඉහළ සම්භාවිතාවක් සහිතව, තේරීම "නිවැරදි ලෙස පෙනෙන දේවල්" පවසන වංචාකාරයෙකු මත වැටෙනු ඇත. අදක්ෂ හුදෙකලා නායකයන් වටා සෑම විටම දූෂිත පරිසරයක් වර්ධනය වේ. එපමණක් නොව, ඉතිහාසය මේ සම්බන්ධයෙන් කිසිදු ව්යතිරේකයක් නොදන්නා අතර, ප්රජාව මෙය පැහැදිලිවම තහවුරු කරයි.

Btrfs සංවර්ධනයේ ප්‍රගතිය ඔබ තක්සේරු කරන්නේ කෙසේද? මෙම FS ළමා රෝගවලින් මිදුණාද? ඔබ එය ඔබටම ස්ථානගත කරන්නේ කෙසේද - FS "නිවස සඳහා" හෝ ආයතනික භාවිතය සඳහාද?

මම එයින් මිදුනේ නැත. මීට වසර 11 කට පෙර මා සඳහන් කළ සෑම දෙයක්ම අදටත් අදාළ වේ. Btrfs හි බරපතල අවශ්‍යතා සඳහා නුසුදුසු වන එක් ගැටළුවක් වන්නේ නිදහස් ඉඩ ප්‍රශ්නයයි. වෙනත් ඕනෑම FS මඟින් කොටසෙහි විශාල ඉඩ ප්‍රමාණයක් පෙන්වන අවස්ථාවන්හිදී නව තැටියක් සඳහා ගබඩාවට ධාවනය කිරීමට පරිශීලකයාගෙන් ඉල්ලා සිටීම ගැන මම කතා නොකරමි. නිදහස් ඉඩක් නොමැතිකම හේතුවෙන් තාර්කික පරිමාවක් මත මෙහෙයුමක් සම්පූර්ණ කිරීමට නොහැකි වීම ද නරකම දෙය නොවේ. නරකම දෙය නම් වරප්‍රසාද ලත් පරිශීලකයෙකුට සෑම විටම පාහේ, ඕනෑම තැටි කෝටාවක් මඟ හැරීම, තරමක් කෙටි කාලයක් තුළ සෑම කෙනෙකුටම නිදහස් ඉඩ අහිමි කිරීමයි.

එය පෙනෙන්නේ මෙයයි (ලිනක්ස් කර්නලය 5.12 සඳහා පරීක්ෂා කර ඇත). අලුතින් ස්ථාපනය කරන ලද පද්ධතියක් මත ස්ක්‍රිප්ට් එකක් දියත් කරනු ලබන අතර, එය ලූපයක් තුළ මුල් නාමාවලියේ යම් යම් නම් සහිත ගොනු නිර්මාණය කරයි, ඇතැම් ඕෆ්සෙට් වලදී ඒවාට දත්ත ලියයි, පසුව මෙම ගොනු මකා දමයි. මෙම ස්ක්‍රිප්ටය ක්‍රියාත්මක කිරීමෙන් විනාඩියකට පසු, අසාමාන්‍ය දෙයක් සිදු නොවේ. මිනිත්තු පහකට පසු, කොටසෙහි වාඩිලාගෙන සිටින ඉඩෙහි කොටස තරමක් වැඩි වේ. පැය දෙක තුනකට පසු එය 50% දක්වා ළඟා වේ (ආරම්භක අගය 15% සමඟ). පැය පහක් හෝ හයක් වැඩ කිරීමෙන් පසු, "කොටසෙහි නිදහස් ඉඩක් නොමැත" යන දෝෂය සමඟ ස්ක්‍රිප්ට් බිඳ වැටේ. මෙයින් පසු, ඔබට තවදුරටත් ඔබේ කොටසට 4K ගොනුවක් ලිවීමට නොහැකි වේ.

සිත් ඇදගන්නාසුළු තත්වයක් ඇතිවේ: ඔබ කොටසට කිසිවක් නොලියා අවසන් වූ අතර, සියලු නිදහස් ඉඩ (85% පමණ) කොහේ හරි අතුරුදහන් විය. එවැනි ප්‍රහාරයකට ලක්වන කොටසක විශ්ලේෂණය කිරීමෙන් එක් අයිතමයක් (යතුරක් සහිත වස්තුවක්), බයිට් කිහිපයක් ප්‍රමාණයෙන් පමණක් අඩංගු බොහෝ ගස් නෝඩ් අනාවරණය වේ. එනම්, මීට පෙර තැටි අවකාශයෙන් 15% ක් අල්ලාගෙන සිටි අන්තර්ගතය සම්පූර්ණ කොටස පුරා ඒකාකාරව “අලවා” ඇති අතර එමඟින් නව ගොනුවක් ලිවීමට තැනක් නොමැත, මන්ද එහි යතුර පවතින සියලුම ඒවාට වඩා විශාල වන අතර නොමිලේ කොටසේ ඇති කුට්ටි අවසන් වී ඇත.

එපමණක් නොව, මේ සියල්ල දැනටමත් මූලික Btrfs වින්‍යාසය මත සිදු වේ (කිසිදු ස්නැප්ෂොට්, උප වෙළුම් ආදියකින් තොරව), සහ ඔබ එම FS හි ගොනු සිරුරු ගබඩා කිරීමට තීරණය කරන්නේ කෙසේද යන්න ගැටළුවක් නොවේ (ගසක් තුළ “කැබලි” ලෙස හෝ දිග ලෙස. ආකෘතිකරණය නොකළ කුට්ටි) - අවසාන ප්රතිඵලය සමාන වනු ඇත.

ඔබට වෙනත් upstream ගොනු පද්ධති එවැනි ප්‍රහාරයකට යටත් කිරීමට නොහැකි වනු ඇත (ඔවුන් ඔබට කුමක් කීවත්). ගැටලුවට හේතුව මම බොහෝ කලකට පෙර පැහැදිලි කළෙමි: මෙය Btrfs හි B-tree සංකල්පයේ සම්පූර්ණ විකෘතියක් වන අතර එමඟින් එය ස්වයංසිද්ධව හෝ හිතාමතා පිරිහීමට හැකි වේ. විශේෂයෙන්, යම් බරක් යටතේ, ඔබේ ගොනු පද්ධතිය බාහිර උදව් නොමැතිව තනිවම ක්‍රියාත්මක වන විට අඛණ්ඩව "කැඩී වැටේ". සියලු ආකාරයේ "එබීම" පසුබිම් ක්රියාවලීන් තනි තනි ඩෙස්ක්ටොප් මත පමණක් දවස ඉතිරි කරන බව පැහැදිලිය.

සාමූහික සේවාදායකයන් මත, ප්රහාරකයෙකුට සෑම විටම ඔවුන්ගෙන් "ඉදිරියට" යාමට හැකි වනු ඇත. ඔහුට හිරිහැර කළේ කවුරුන්ද යන්න පවා පද්ධති පරිපාලකයාට තීරණය කිරීමට නොහැකි වනු ඇත. Btrfs හි මෙම ගැටළුව විසඳීමට වේගවත්ම ක්‍රමය වන්නේ සාමාන්‍ය B-ගසක ව්‍යුහය ප්‍රතිස්ථාපනය කිරීමයි, i.e. තැටි ආකෘතිය නැවත සැලසුම් කිරීම සහ Btrfs කේතයේ සැලකිය යුතු කොටස් නැවත ලිවීම. සංවර්ධකයින් අදාළ ඇල්ගොරිතම සහ දත්ත ව්‍යුහයන් පිළිබඳ මුල් ලිපි දැඩි ලෙස අනුගමනය කළහොත් සහ “ලිනක්ස් හි සිරිත් පරිදි (සහ දිරිමත් කරන ලද) “කැඩුණු දුරකථන” ක්‍රීඩාව ක්‍රීඩා නොකළේ නම්, නිදොස්කරණය ඇතුළුව මෙය වසර 8-10 ක් ගතවනු ඇත. ආකාරය".

මෙහිදී අපි සංවර්ධකයින්ට මේ සියල්ල තේරුම් ගැනීමට අවශ්‍ය කාලයද එකතු කළ යුතුය. මෙය වඩාත් අපහසු වන ස්ථානයයි. කොහොමත් එයාලට තේරෙන්න අවුරුදු 10ක් මදි. හොඳයි, එතෙක් ඔබට ආශ්චර්යයක් බලාපොරොත්තු විය නොහැක. එය "ඔබ සහ මම නොදැන සිටි" සවිකිරීමේ විකල්පයක ආකාරයෙන් හෝ සකස් කිරීම සඳහා "ව්‍යාපාරයක් පමණක්" වන පැච් ආකාරයෙන් සිදු නොවනු ඇත. එවැනි එක් එක් ඉක්මන් "නිවැරදි කිරීම" සඳහා මම පිරිහීමේ නව දර්ශනයක් ඉදිරිපත් කරමි. බී-ගස් යනු මගේ ප්‍රියතම මාතෘකා වලින් එකක් වන අතර, මෙම ව්‍යුහයන් තමන් සමඟ ඇති නිදහස නොඉවසන බව මම පැවසිය යුතුය!

Btrfs මා වෙනුවෙන් ස්ථානගත කරන්නේ කෙසේද? භාවිතා කිරීමට තබා ගොනු පද්ධතියක් ලෙස හැඳින්විය නොහැකි දෙයක් ලෙස. මක්නිසාද යත්, නිර්වචනය අනුව, FS යනු "තැටි අවකාශය" සම්පතෙහි ඵලදායී කළමනාකරණය සඳහා වගකිව යුතු OS උප පද්ධතියකි, එය Btrfs සම්බන්ධයෙන් අපට නොපෙනේ. හොඳයි, ඔබ වැඩට ප්‍රමාද නොවන පරිදි ඔරලෝසුවක් මිලදී ගැනීමට ගබඩාවට පැමිණි බවත්, ඔරලෝසුවක් වෙනුවට ඔවුන් ඔබට උපරිම මිනිත්තු 30 කට ටයිමරයක් සහිත විදුලි ග්‍රිල් එකක් විකුණු බවත් සිතන්න. ඉතින්, Btrfs හි තත්වය ඊටත් වඩා නරක ය.

තැපැල් ලැයිස්තු දෙස බලන විට, ඩ්‍රයිව් වල ලාභදායීතාවය හේතුවෙන් තැටි ඉඩ කාර්යක්ෂමව කළමනාකරණය කිරීම තවදුරටත් අදාළ නොවන බව මට බොහෝ විට ප්‍රකාශයක් හමු වේ. මෙය සම්පූර්ණ විකාරයකි. ඵලදායි තැටි අවකාශය කළමණාකරුවෙකු නොමැතිව, මෙහෙයුම් පද්ධතිය අවදානමට ලක්විය හැකි සහ භාවිතයට ගත නොහැකි වනු ඇත. ඔබේ යන්ත්‍රයේ ඇති තැටිවල ධාරිතාව කුමක් වුවත්.

RHEL හි Btrfs සහාය අත්හිටුවීම පිළිබඳව අදහස් විමසීමට මම කැමැත්තෙමි.

මෙහි අදහස් දැක්වීමට විශේෂ දෙයක් නැත, සියල්ල ඉතා පැහැදිලිය. ඔවුන් එය "තාක්ෂණ පෙරදසුනක්" ලෙසද තබා ඇත. එබැවින්, මම මෙම "පෙරදසුන" හරහා ගියේ නැත. මෙම ලේබලය සදහටම එල්ලීමට ඉඩ නොදෙන්න! නමුත් ඔවුන්ට සම්පූර්ණ සහාය ඇතිව දෝෂ සහිත අතුරු සැලසුම් නිෂ්පාදනයක් දියත් කළ නොහැක. RHEL යනු ව්‍යවසායයකි, එනම් නියම කරන ලද භාණ්ඩ-මුදල් සම්බන්ධතා. Red Hat හට Btrfs තැපැල් ලැයිස්තුවේ මෙන් පරිශීලකයන් හිරිහැර කළ නොහැක. තත්වය මදක් සිතා බලන්න: තැටිය සඳහා වෙහෙස මහන්සි වී උපයාගත් මුදල් ගෙවූ සේවාදායකයෙකුට සහ ඔබට සහාය සඳහා, ඔහු කිසිවක් ලියා නොගත් පසු ඔහුගේ තැටියේ ඉඩ ගියේ කොතැනටද යන්න තේරුම් ගැනීමට අවශ්‍ය වේ. මේකට ඔබ ඔහුට දෙන පිළිතුර කුමක්ද?

තව දුරටත්. Red Hat හි ගනුදෙනුකරුවන්ට සුප්‍රසිද්ධ විශාල බැංකු සහ හුවමාරු ඇතුළත් වේ. Btrfs හි සඳහන් අවදානම් මත පදනම්ව ඔවුන් DoS ප්‍රහාරවලට ලක් වුවහොත් කුමක් සිදුවේදැයි සිතා බලන්න. මෙයට වගකිව යුත්තේ කවුරුන් යැයි ඔබ සිතනවාද? කතුවරයා කිසිම දෙයකට වගකිව යුතු නැති බව ලියා ඇති GPL බලපත්‍රයේ රේඛාවට ඇඟිල්ල දිගු කිරීමට සිටින අයට, මම වහාම කියමි: “එය සඟවන්න!” Red Hat පිළිතුරු දෙනු ඇත, සහ එය ප්රමාණවත් නොවන බව පෙනෙන පරිදි! නමුත් Red Hat මෙවැනි ගැටලුවකට මුහුණ නොදෙන බව මම දනිමි, ඔවුන්ගේ විශේෂයෙන් ශක්තිමත් QA ඉංජිනේරුවන් කණ්ඩායමක් සමඟ මට සමීපව වැඩ කිරීමට අවස්ථාව ලැබුණි.

සමහර සමාගම් තම ව්‍යවසාය නිෂ්පාදන සඳහා Btrfs සඳහා දිගටම සහාය දක්වන්නේ ඇයි?

නිෂ්පාදන නාමයේ "ව්යවසාය" උපසර්ගය බොහෝ දේ අදහස් නොකරන බව කරුණාවෙන් සලකන්න. ව්‍යවසාය යනු සේවාලාභියා සමඟ ගිවිසුම්ගත සබඳතාවයේ අන්තර්ගත වගකීමේ මිනුමක් වේ. මම දන්නේ GNU/Linux මත පදනම් වූ එක් ව්‍යවසායයක් පමණි - RHEL. අනෙක් සියල්ල, මගේ දෘෂ්ටි කෝණයෙන්, ව්යවසායයක් ලෙස පමණක් ඉදිරිපත් කර ඇත, නමුත් එකක් නොවේ. අවසාන වශයෙන්, යමක් සඳහා ඉල්ලුමක් තිබේ නම්, සෑම විටම සැපයුමක් ඇත (අපගේ නඩුවේදී, මෙය සඳහන් කළ "සහාය" වේ). ඇතුළුව සෑම දෙයකටම ඉල්ලුමක් ඇත. සහ භාවිතා කළ නොහැකි මෘදුකාංග. එවැනි ඉල්ලුමක් ඇති වන්නේ කෙසේද සහ එයට ඉන්ධන සපයන්නේ වෙනත් මාතෘකාවකි.

ඉතින්, Facebook විසින් Btrfs එහි සේවාදායකයන් මත යොදවා ඇති බවට කටකතා පැතිරීමෙන් පසු මම කිසිදු නිගමනයකට නොඑනු ඇත. එපමණක් නොව, ඉහත හේතූන් මත එම සේවාදායකයන්ගේ ලිපිනයන් ප්‍රවේශමෙන් රහසිගතව තබා ගැනීමට මම නිර්දේශ කරමි.

මෑතකදී XFS කේතය පිරිසිදු කිරීමට මෙතරම් උත්සාහයක් ගෙන ඇත්තේ ඇයි? සියල්ලට පසු, මුලදී මෙය තෙවන පාර්ශවීය ගොනු පද්ධතියක් වන අතර, ext4 දිගු කාලයක් තිස්සේ ස්ථාවර වී ඇති අතර පෙර සමාන ස්ථාවර අනුවාද වලින් අඛණ්ඩව පවතී. XFS ගැන Red Hat ට ඇති උනන්දුව කුමක්ද? අරමුණට සමාන ගොනු පද්ධති දෙකක් සක්‍රියව සංවර්ධනය කිරීම අර්ථවත්ද - ext4 සහ XFS?

මෙය පෙළඹවූයේ කුමක් දැයි මට මතක නැත. මුලපිරීම Red Hat සේවාදායකයින් වෙතින් පැමිණිය හැකි ය. මේ ආකාරයේ පර්යේෂණ සිදු කර ඇති බව මට මතකයි: සමහර ගොනු පද්ධති උඩු ගංවතුරෙන්, නව පරම්පරාවේ ඉහළ මට්ටමේ ධාවකයන් මත දැවැන්ත වස්තු සංඛ්යාවක් නිර්මාණය කරන ලදී. ප්රතිඵල අනුව, XFS ext4 ට වඩා හොඳින් හැසිරුණි. එබැවින් ඔවුන් එය වඩාත්ම පොරොන්දු වූ දෙයක් ලෙස ප්රවර්ධනය කිරීමට පටන් ගත්හ. කොහොමත් මම මෙතන සංවේදී දේවල් හොයන්නේ නැහැ.

මට නම්, එය ඔවුන් සබන් සමඟ awl වෙනුවට ආදේශ කර ඇත. ext4 සහ XFS දියුණු කිරීමේ තේරුමක් නැත. දෙකම සමාන්තරව සහ ඒවායින් ඕනෑම එකක් තෝරා ගැනීමට. මෙයින් හොඳ කිසිවක් නොලැබෙනු ඇත. කෙසේ වෙතත්, ස්වභාවධර්මයේ බොහෝ විට වර්ධනය සඳහා විශාල විභවයක් ඇති අවස්ථා තිබේ, නමුත් වර්ධනය වීමට ඉඩක් නොමැත. මෙම අවස්ථාවේ දී, විවිධ අමුතු කැත නව වර්ධනයන් පැනනගින අතර, සෑම කෙනෙකුම ඇඟිල්ල දිගු කරයි ("අනේ, බලන්න, ඔබ මේ ජීවිතයේ නොදකින දේ!").

ext4, F2FS (Btrfs හි RAID ගැන සඳහන් නොකළ යුතුය) සංකේතාංකන ශ්‍රිත පැමිණීමත් සමඟ ස්ථර උල්ලංඝනය කිරීමේ ප්‍රශ්නය (සෘණාත්මක අර්ථයකින්) විසඳී ඇතැයි ඔබ සිතනවාද?

පොදුවේ ගත් කල, ඕනෑම මට්ටමක් හඳුන්වාදීම සහ ඒවායේ උල්ලංඝනය නොකිරීම පිළිබඳව තීරණයක් ගැනීම සාමාන්යයෙන් ප්රතිපත්තියක් වන අතර, මෙහි කිසිවක් ගැන අදහස් දැක්වීමට මම භාර නොගනිමි. ස්තර උල්ලංඝනය කිරීමේ වෛෂයික අංගයන් කිසිවෙකුට එතරම් උනන්දුවක් නොදක්වයි, නමුත් අපට ඒවායින් සමහරක් "ඉහළ සිට" උල්ලංඝනය කිරීමේ උදාහරණය භාවිතා කරමින් සලකා බැලිය හැකිය, එනම්, බ්ලොක් ස්ථරයේ දැනටමත් පවතින ක්‍රියාකාරීත්වයේ FS හි ක්‍රියාත්මක කිරීම. එවැනි "උල්ලංඝනය" සාධාරණීකරණය කරනු ලබන්නේ දුර්ලභ ව්යතිරේකයකින් පමණි. එවැනි එක් එක් සිද්ධිය සඳහා, ඔබ මුලින්ම කරුණු දෙකක් ඔප්පු කළ යුතුය: එය ඇත්ත වශයෙන්ම අවශ්ය බවත්, එසේ කිරීමෙන් පද්ධතියේ සැලසුමට හානියක් නොවන බවත්.

නිදසුනක් ලෙස, බ්ලොක් ස්තරය සඳහා සම්ප්රදායිකව ක්රියාකාරකමක් වූ දර්පණය, ගොනු පද්ධති මට්ටමින් ක්රියාත්මක කිරීම අර්ථවත් කරයි. විවිධ හේතු නිසා. උදාහරණයක් ලෙස, "නිහඬ" දත්ත දූෂණය (bit rot) තැටි ධාවකයන් මත සිදු වේ. මෙම උපාංගය නිසියාකාරව ක්‍රියාත්මක වන විට, නමුත් දුරස්ථ ක්වාසාර් යනාදිය මගින් විමෝචනය වන දෘඩ ගැමා ක්වොන්ටම් වල බලපෑම යටතේ බ්ලොක් දත්ත අනපේක්ෂිත ලෙස හානි වේ. නරකම දෙය නම්, මෙම බ්ලොක් එක FS පද්ධති බ්ලොක් එකක් (සුපිරි බ්ලොක්, බිට්මැප් බ්ලොක්, ගබඩා ගස් නෝඩ්, ආදිය) බවට පත් වුවහොත්, මෙය නිසැකවම කර්නල් භීතිකාවකට තුඩු දෙනු ඇත.

බ්ලොක් ස්තරය (ඊනියා RAID 1) මඟින් ලබා දෙන දර්පණ මෙම ගැටලුවෙන් ඔබව ගලවා නොගන්නා බව කරුණාවෙන් සලකන්න. හොඳයි, ඇත්ත වශයෙන්ම: යමෙකු චෙක්සම් පරීක්ෂා කර අසාර්ථක වූ විට අනුරුව කියවිය යුතුද? ඊට අමතරව, සෑම දෙයක්ම පමණක් නොව, පාරදත්ත පමණක් පිළිබිඹු කිරීම අර්ථවත් කරයි. සමහර වැදගත් දත්ත (උදාහරණයක් ලෙස, විවේචනාත්මක යෙදුම්වල ක්‍රියාත්මක කළ හැකි ගොනු) පාර-දත්ත ලෙස ගබඩා කළ හැක. මෙම අවස්ථාවේ දී, ඔවුන්ට ආරක්ෂාව පිළිබඳ එකම සහතිකය ලැබේ. ඉතිරි දත්ත ආරක්ෂා කිරීම වෙනත් උප පද්ධති (සමහර විට පරිශීලක යෙදුම් පවා) වෙත පැවරීම අර්ථවත් කරයි - අපි මේ සඳහා අවශ්‍ය සියලු කොන්දේසි සපයා ඇත.

එවැනි "ආර්ථික" දර්පණ පැවැත්මට අයිතියක් ඇති අතර, ඒවා ඵලදායී ලෙස සංවිධානය කළ හැක්කේ ගොනු පද්ධති මට්ටමින් පමණි. එසේ නොමැති නම්, ස්ථර උල්ලංඝනය කිරීම යනු සමහර අන්වීක්ෂීය ප්‍රතිලාභ සඳහා අනුපිටපත් කේතයක් සහිත උප පද්ධතියක් අවුල් කිරීමයි. මේ සඳහා කැපී පෙනෙන උදාහරණයක් වන්නේ FS භාවිතයෙන් RAID-5 ක්රියාත්මක කිරීමයි. එවැනි විසඳුම් (ගොනු පද්ධතියේ තමන්ගේම RAID / LVM) වාස්තු විද්‍යාත්මක අර්ථයෙන් දෙවැන්න විනාශ කරයි. විවිධ වර්ගයේ අලෙවිකරණ වංචාකරුවන් විසින් ස්ථර උල්ලංඝනය කිරීම "ප්‍රවාහයට දමා" ඇති බව ද මෙහි සඳහන් කළ යුතුය. කිසියම් අදහසක් නොමැති විට, අසල්වැසි මට්ටම්වල දිගුකාලීනව ක්රියාත්මක කර ඇති ක්රියාකාරිත්වය උප පද්ධති වෙත එකතු කරනු ලැබේ, මෙය නව අතිශයින්ම ප්රයෝජනවත් අංගයක් ලෙස ඉදිරිපත් කර ක්රියාකාරීව තල්ලු කරනු ලැබේ.

"පහළ සිට" මට්ටම් උල්ලංඝනය කිරීම සම්බන්ධයෙන් Reiser4 චෝදනාවට ලක් විය. ගොනු පද්ධතිය අනෙක් සියල්ල මෙන් ඒකලිතික නොවන නමුත් මොඩියුලර් යන කාරණය මත පදනම්ව, එය ඉහත මට්ටම (VFS) කළ යුතු දේ කරන බවට සනාථ නොකළ උපකල්පනයක් ඉදිරිපත් කරන ලදී.

ReiserFS v3.6 සහ, උදාහරණයක් ලෙස, JFS හි මරණය ගැන කතා කළ හැකිද? මෑතකාලීනව ඔවුන් මූලික වශයෙන් අවධානයට ලක් නොවීය. ඒවා යල්පැන ගිය ඒවාද?

මෙහිදී අපි මෘදුකාංග නිෂ්පාදනයක් මිය යාමෙන් අදහස් කරන්නේ කුමක්ද යන්න නිර්වචනය කළ යුතුය. එක් අතකින්, ඔවුන් සාර්ථකව භාවිතා කරනු ලැබේ (ඒවා නිර්මාණය කරන ලද්දේ, සියල්ලටම පසුව), එයින් අදහස් වන්නේ ඔවුන් ජීවත් වන බවයි. අනෙක් අතට, මට JFS සඳහා කතා කළ නොහැක (මම බොහෝ දේ නොදනිමි), නමුත් ReiserFS (v3) නව ප්‍රවණතා වලට අනුවර්තනය වීමට ඉතා අපහසුය (ප්‍රායෝගිකව පරීක්ෂා කර ඇත). මෙයින් අදහස් කරන්නේ අනාගතයේ දී සංවර්ධකයින් අවධානය යොමු කරන්නේ ඒ කෙරෙහි නොව අනුවර්තනය වීමට පහසු ඒවා වෙත බවයි. මේ පැත්තෙන් පෙනෙන්නේ, අහෝ, එය වාස්තු විද්‍යාත්මකව මිය ගොස් ඇති බවයි. "සදාචාරාත්මකව යල්පැන ගිය" සංකල්පය මම කිසිසේත් හසුරුවන්නේ නැත. එය හොඳින් අදාළ වේ, උදාහරණයක් ලෙස, ඇඳුම් ආයිත්තම් කට්ටලයක් සඳහා, නමුත් මෘදුකාංග නිෂ්පාදන සඳහා නොවේ. යම් දෙයක හීන, උසස් යන සංකල්පයක් ඇත. ReserFS v3 දැන් සෑම දෙයකදීම Reiser4 ට වඩා පහත් මට්ටමක පවතින බව මට සම්පූර්ණයෙන්ම පැවසිය හැකිය, නමුත් සමහර ආකාරයේ වැඩ ප්‍රමාණයකදී එය අනෙකුත් සියලුම upstream FSs වලට වඩා උසස් වේ.

FS Tux3 සහ HAMMER/HAMMER2 (DragonFly BSD සඳහා FS) සංවර්ධනය ගැන ඔබ දන්නවාද?

ඔව්, අපි දන්නවා. Tux3 හි මම වරක් ඔවුන්ගේ ස්නැප්ෂොට් (ඊනියා "අනුවාද පොයින්ටර්") තාක්ෂණය ගැන උනන්දු වූ නමුත් Reiser4 හි අපි බොහෝ විට වෙනත් මාර්ගයක ගමන් කරනු ඇත. මම දිගු කලක් තිස්සේ ස්නැප්ෂොට් සඳහා සහය දැක්වීම ගැන සිතමින් සිටි අතර සරල Reiser4 වෙළුම් සඳහා ඒවා ක්‍රියාත්මක කරන්නේ කෙසේදැයි තවමත් තීරණය කර නොමැත. කාරණය නම් Ohad Rodeh විසින් යෝජනා කරන ලද නව විකෘති "කම්මැලි" යොමු කවුන්ටර තාක්ෂණය B-ගස් සඳහා පමණක් ක්‍රියා කරයි. අපිට ඒවා නැහැ. Reiesr4 හි භාවිතා වන එම දත්ත ව්‍යුහයන් සඳහා, “කම්මැලි” කවුන්ටර නිර්වචනය කර නොමැත - ඒවා හඳුන්වා දීම සඳහා, කිසිවෙකු තවමත් භාරගෙන නොමැති ඇතැම් ඇල්ගොරිතම ගැටළු විසඳීම අවශ්‍ය වේ.

HAMMER ට අනුව: මම නිර්මාණකරුගේ ලිපියක් කියෙව්වා. උනන්දුවක් නැත. නැවතත්, බී-ගස්. මෙම දත්ත ව්‍යුහය බලාපොරොත්තු රහිත ලෙස යල් පැන ගොස් ඇත. පසුගිය සියවසේදී අපි එය අත්හැරියෙමු.

CephFS/GlusterFS/etc වැනි ජාල පොකුරු FS සඳහා වැඩිවන ඉල්ලුම ඔබ තක්සේරු කරන්නේ කෙසේද? මෙම ඉල්ලුමෙන් අදහස් වන්නේ ජාල FS වෙත සංවර්ධකයින්ගේ ප්‍රමුඛතාවයන් මාරු වීම සහ දේශීය FS වෙත ප්‍රමාණවත් අවධානයක් නොලැබීමද?

ඔව්, එවැනි ප්‍රමුඛතා මාරුවක් සිදුවී ඇත. දේශීය ගොනු පද්ධති සංවර්ධනය එකතැන පල් වී ඇත. අහෝ, දේශීය වෙළුම් සඳහා සැලකිය යුතු දෙයක් කිරීම දැන් තරමක් අපහසු වන අතර සෑම කෙනෙකුටම එය කළ නොහැක. ඔවුන්ගේ සංවර්ධනය සඳහා ආයෝජනය කිරීමට කිසිවෙකු කැමති නැත. මෙය ගණිතමය පර්යේෂණ සඳහා මුදල් වෙන් කරන ලෙස වාණිජ සංවිධානයකින් ඉල්ලා සිටීම හා සමාන වේ - කිසිදු උද්යෝගයකින් තොරව නව ප්‍රමේයයක් මත මුදල් උපයන්නේ කෙසේදැයි ඔවුන් ඔබෙන් අසනු ඇත. දැන් දේශීය FS යනු "පෙට්ටියෙන් පිටත" සහ "සෑම විටම ක්‍රියා කළ යුතු" ලෙස පෙනෙන දෙයක් වන අතර, එය ක්‍රියා නොකරන්නේ නම්, එය ආමන්ත්‍රණය නොකළ මැසිවිලි නැඟීමට හේතු වේ: "ඔව්, ඔවුන් සිතන්නේ කුමක්ද!"

එම නිසා එම ප්‍රදේශයේ තවමත් වැඩ ගොඩක් තිබුණද, දේශීය FS වෙත අවධානය යොමු නොවීම. ඔව්, සෑම කෙනෙකුම දැනටමත් පවතින දේශීය ගොනු පද්ධතිවල පදනම මත ගොඩනගා ඇති බෙදා හරින ලද ගබඩා වෙත හැරී ඇත. එය දැන් ඉතා විලාසිතාවකි. "Big Data" යන වාක්‍ය ඛණ්ඩය බොහෝ දෙනෙකුට ඇඩ්‍රිනලින් තදබදයක් ඇති කරයි, එය සම්මන්ත්‍රණ, වැඩමුළු, විශාල වැටුප් යනාදිය සමඟ සම්බන්ධ කරයි.

ජාල ගොනු පද්ධතිය පරිශීලක අවකාශයේ නොව කර්නල් අවකාශයේ ක්‍රියාත්මක කිරීම ප්‍රතිපත්තිමය වශයෙන් කෙතරම් සාධාරණද?

තවමත් කොතැනකවත් ක්‍රියාත්මක නොවූ ඉතා සාධාරණ ප්‍රවේශයක්. සාමාන්‍යයෙන්, ජාල ගොනු පද්ධතියක් ක්‍රියාත්මක කළ යුත්තේ කුමන අවකාශයකද යන ප්‍රශ්නය “දෙබිඩි කඩුවක්” වේ. හොඳයි, අපි උදාහරණයක් බලමු. සේවාදායකයා දුරස්ථ යන්ත්‍රයක දත්ත වාර්තා කළේය. ඒවා අපිරිසිදු පිටු ආකාරයෙන් ඇගේ පිටු හැඹිලියට වැටුණි. කර්නල් අවකාශයේ "තුනී ද්වාර" ජාල ගොනු පද්ධතියක් සඳහා වන කාර්යය මෙයයි. එවිට මෙහෙයුම් පද්ධතිය ඉක්මනින් හෝ පසුව එම පිටු නිදහස් කිරීමට තැටියට ලිවීමට ඔබෙන් අසනු ඇත. එවිට IO-ඉදිරිපත් කිරීමේ (යවන) ජාල FS මොඩියුලය ක්රියාත්මක වේ. එය මෙම පිටු යන්නේ කුමන සේවාදායක යන්ත්‍රය (සේවාදායක නෝඩය) වෙතද යන්න තීරණය කරයි.

එවිට ජාල තොගය භාර ගනී (සහ, අප දන්නා පරිදි, එය කර්නල් අවකාශයේ ක්රියාත්මක වේ). ඊළඟට, සේවාදායක නෝඩය එම පැකට්ටුව දත්ත හෝ පාර-දත්ත සමඟ ලබා ගන්නා අතර මෙම සියලු දේවල් වාර්තා කිරීමට පසුපෙළ ගබඩා මොඩියුලයට (එනම්, කර්නල් අවකාශයේ ක්‍රියාත්මක වන දේශීය FS) උපදෙස් දෙයි. එබැවින්, "යවන" සහ "ලැබීමේ" මොඩියුල වැඩ කළ යුත්තේ කොතැනටද යන්න අපි ප්රශ්නය අඩු කර ඇත. එම මොඩියුලයන් කිසිවක් පරිශීලක අවකාශයේ ක්‍රියාත්මක වන්නේ නම්, මෙය අනිවාර්යයෙන්ම සන්දර්භය මාරු කිරීමට තුඩු දෙනු ඇත (කර්නල් සේවා භාවිතා කිරීමේ අවශ්‍යතාවය හේතුවෙන්). එවැනි ස්විචයන් සංඛ්යාව ක්රියාත්මක කිරීමේ විස්තර මත රඳා පවතී.

එවැනි ස්විචයන් බොහොමයක් තිබේ නම්, ගබඩා ප්‍රතිදානය (I/O කාර්ය සාධනය) අඩු වේ. ඔබගේ පසුපෙළ ආචයනය මන්දගාමී තැටි වලින් සෑදී ඇත්නම්, ඔබට සැලකිය යුතු අඩුවීමක් නොපෙනේ. නමුත් ඔබට වේගවත් තැටි (SSD, NVRAM, ආදිය) තිබේ නම්, සන්දර්භය මාරු කිරීම දැනටමත් "බාධකයක්" බවට පත් වන අතර, සන්දර්භය මාරු කිරීම මත සුරැකීමෙන්, කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩි කළ හැක. මුදල් ඉතිරි කිරීමේ සම්මත ක්‍රමය වන්නේ මොඩියුල කර්නල් අවකාශයට ගෙන යාමයි. උදාහරණයක් ලෙස, 9p සේවාදායකය QEMU සිට ධාරක යන්ත්‍රයේ කර්නලය වෙත ගෙන යාම VirtFS කාර්ය සාධනය තුන් ගුණයකින් වැඩි කිරීමට හේතු වන බව අපට පෙනී ගියේය.

මෙය ඇත්ත වශයෙන්ම, FS ජාලයක් නොවේ, නමුත් එය දේවල්වල සාරය සම්පූර්ණයෙන්ම පිළිබිඹු කරයි. මෙම ප්‍රශස්තකරණයේ අවාසිය නම් අතේ ගෙන යා හැකි ගැටළු වේ. සමහරුන්ට, දෙවැන්න විවේචනාත්මක විය හැකිය. උදාහරණයක් ලෙස, GlusterFS හට කර්නලයේ මොඩියුල කිසිවක් නොමැත. මෙයට ස්තූතියි, එය දැන් NetBSD ඇතුළු බොහෝ වේදිකාවල ක්‍රියා කරයි.

දේශීය FSs ජාල වලින් සහ අනෙක් අතට ණයට ගත හැකි සංකල්ප මොනවාද?

වර්තමානයේ, ජාල එෆ්එස්, රීතියක් ලෙස, දේශීය එෆ්එස් හරහා ඇඩෝන ඇත, එබැවින් ඔබට දෙවැන්නෙන් යමක් ණයට ගන්නේ කෙසේදැයි මට තේරෙන්නේ නැත. හොඳයි, ඇත්ත වශයෙන්ම, අපි සේවකයින් 4 දෙනෙකුගෙන් යුත් සමාගමක් සලකා බලමු, එහි සෑම කෙනෙකුම තමන්ගේම දෙයක් කරයි: එක් කෙනෙක් බෙදා හරිනවා, තවත් කෙනෙක් යවනවා, තුන්වැන්නා ලැබෙනවා, හතරවන ගබඩා. ප්‍රශ්නය, සමාගමට එය ගබඩා කරන සේවකයාගෙන් ණයට ගත හැක්කේ කුමක් ද යන්න කෙසේ හෝ වැරදියි (එය දිගු කලක් ඔහුගෙන් ණයට ගත හැකි දේ දැනටමත් තිබේ).

නමුත් දේශීය එෆ්එස් වලට ජාල වලින් ඉගෙන ගැනීමට බොහෝ දේ ඇත. පළමුව, තාර්කික වෙළුම් ඉහළ මට්ටමක එකතු කරන්නේ කෙසේදැයි ඔබ ඔවුන්ගෙන් ඉගෙන ගත යුතුය. දැන් ඊනියා "උසස්" දේශීය ගොනු පද්ධති LVM වෙතින් ණයට ගත් "අතථ්‍ය උපාංග" තාක්‍ෂණය භාවිතයෙන් පමණක් තාර්කික වෙළුම් එකතු කරයි (ZFS හි ප්‍රථම වරට ක්‍රියාත්මක කරන ලද එම ආසාදිත ස්ථර උල්ලංඝනය). වෙනත් වචන වලින් කිවහොත්, අතථ්‍ය ලිපින (බ්ලොක් අංක) සැබෑ ඒවා බවට පරිවර්තනය කිරීම අඩු මට්ටමක සිදු වේ (එනම්, ගොනු පද්ධතිය I/O ඉල්ලීමක් නිකුත් කිරීමෙන් පසුව).

බ්ලොක් ස්ථරයේ සකස් කර ඇති තාර්කික වෙළුම් (දර්පණ නොවේ) වෙත උපාංග එකතු කිරීම සහ ඉවත් කිරීම එවැනි “විශේෂාංග” සපයන්නන් නිහතමානීව නිශ්ශබ්ද වන ගැටළු වලට තුඩු දෙන බව කරුණාවෙන් සලකන්න. මම කතා කරන්නේ සැබෑ උපාංගවල ඛණ්ඩනය වීම ගැන, එය භයානක අගයන් කරා ළඟා විය හැකි අතර, අතථ්‍ය උපාංගයක සියල්ල හොඳින් වේ. කෙසේ වෙතත්, අතථ්‍ය උපාංග සඳහා ස්වල්ප දෙනෙක් උනන්දු වෙති: ඔබගේ සැබෑ උපාංගවල සිදුවන්නේ කුමක්ද යන්න ගැන සෑම දෙනාම උනන්දු වෙති. නමුත් ZFS වැනි FS (මෙන්ම LVM සමඟ සම්බන්ධ ඕනෑම FS) ක්‍රියා කරන්නේ අතථ්‍ය තැටි උපාංග සමඟ පමණි (නොමිලේ ඒවායින් අථත්‍ය තැටි ලිපින වෙන් කරන්න, මෙම අථත්‍ය උපාංග defragment කරන්න, ආදිය). සැබෑ උපාංගවල සිදුවන්නේ කුමක්දැයි ඔවුන්ට අදහසක් නැත!

දැන් සිතන්න, ඔබට අතථ්‍ය උපාංගයේ ශුන්‍ය ඛණ්ඩනයක් ඇති බව (එනම්, ඔබට එහි ජීවත් වන්නේ එක් යෝධ ප්‍රමාණයක් පමණි), ඔබ ඔබේ තාර්කික පරිමාවට තැටියක් එක් කරයි, ඉන්පසු ඔබේ තාර්කික පරිමාවෙන් තවත් අහඹු තැටියක් ඉවත් කර නැවත සමතුලිත කරන්න. සහ බොහෝ වාරයක්. අතථ්‍ය උපාංගයේ ඔබට තවමත් එම ප්‍රමාණයම ජීවත් වනු ඇතැයි සිතීම අපහසු නැත, නමුත් සැබෑ උපාංගවල ඔබට හොඳ කිසිවක් නොපෙනේ.

නරකම දෙය නම් ඔබට මෙම තත්වය නිවැරදි කිරීමට පවා නොහැකි වීමයි! මෙහිදී ඔබට කළ හැකි එකම දෙය වන්නේ අතථ්‍ය උපාංගය defragment කිරීමට ගොනු පද්ධතියෙන් ඉල්ලා සිටීමයි. නමුත් එහි සෑම දෙයක්ම විශිෂ්ට බව ඇය ඔබට කියනු ඇත - ඇත්තේ එක් සීමාවක් පමණි, ඛණ්ඩනය ශුන්‍ය වේ, එය වඩා හොඳ විය නොහැක! එබැවින්, වාරණ මට්ටමින් සකස් කර ඇති තාර්කික වෙළුම් උපාංග නැවත නැවත එකතු කිරීම / ඉවත් කිරීම සඳහා අදහස් නොකෙරේ. හොඳ ආකාරයකින්, ඔබට බ්ලොක් මට්ටමේ තාර්කික පරිමාවක් එකලස් කිරීම පමණක් අවශ්ය වේ, එය ගොනු පද්ධතියට ලබා දෙන්න, ඉන්පසු එය සමඟ වෙනත් කිසිවක් නොකරන්න.

මීට අමතරව, ස්වාධීන FS+LVM උප පද්ධතිවල සංයෝජනය තාර්කික වෙළුම් එකතු කර ඇති ධාවකයන්ගේ විවිධ ස්වභාවයන් සැලකිල්ලට ගැනීමට ඉඩ නොදේ. ඇත්ත වශයෙන්ම, ඔබ HDD සහ solid-state උපාංග වලින් තාර්කික පරිමාවක් එකලස් කර ඇතැයි සිතන්න. නමුත් එවිට පළමුවැන්නට defragmentation අවශ්‍ය වන අතර දෙවැන්න එසේ නොවේ. දෙවැන්න සඳහා, ඔබ ඉවතලන ඉල්ලීම් නිකුත් කළ යුතුය, නමුත් පළමු ඒවා සඳහා නොවේ, ආදිය. කෙසේ වෙතත්, මෙම සංයෝජනය තුළ එවැනි තේරීමක් නිරූපණය කිරීම තරමක් අපහසුය.

ගොනු පද්ධතිය මත ඔබේම LVM නිර්මාණය කිරීමෙන් පසුව, තත්වය එතරම් යහපත් නොවන බව සලකන්න. එපමණක් නොව, මෙය කිරීමෙන් ඔබ සැබවින්ම අනාගතයේදී එය වැඩිදියුණු කිරීමේ අපේක්ෂාව අවසන් කරයි. මෙය ඉතා නරකයි. විවිධ වර්ගයේ ධාවකයන් එකම යන්ත්රයේ ජීවත් විය හැක. ගොනු පද්ධතිය ඒවා අතර වෙනස හඳුනා නොගන්නේ නම්, එසේ කරන්නේ කවුද?

තවත් ගැටළුවක් ඊනියා එනතුරු බලා සිටී. "Write-Anywhere" ගොනු පද්ධති (මෙයට Reiser4 ද ඇතුළත් වේ, ඔබ සවිකිරීමේදී සුදුසු ගනුදෙනු ආකෘතිය සඳහන් කළේ නම්). එවැනි ගොනු පද්ධති ඔවුන්ගේ බලයේ පෙර නොවූ විරූ defragmentation මෙවලම් සැපයිය යුතුය. තවද පහත් මට්ටමේ වෙළුම් කළමණාකරු මෙහි උදව් නොකරයි, නමුත් මාර්ගයට පැමිණේ. කාරණය නම්, එවැනි කළමනාකරුවෙකු සමඟ, ඔබේ FS මඟින් එක් උපාංගයක පමණක් නොමිලේ කුට්ටි සිතියමක් ගබඩා කරනු ඇත - අතථ්‍ය එකක්. ඒ අනුව, ඔබට defragment කළ හැක්කේ අතථ්‍ය උපාංගයක් පමණි. මෙයින් අදහස් කරන්නේ ඔබේ defragmenter අථත්‍ය ලිපින විශාල තනි ඉඩක් මත දිගු, දිගු කාලයක් ක්‍රියා කරන බවයි.

ඔබට අහඹු ලෙස උඩින් ලියන බොහෝ පරිශීලකයින් සිටී නම්, එවැනි defragmenter එකක ප්‍රයෝජනවත් බලපෑම ශුන්‍යයට අඩු වේ. ඔබේ පද්ධතිය අනිවාර්යයෙන්ම මන්දගාමී වීමට පටන් ගනී, සහ බලාපොරොත්තු සුන් වූ රෝග විනිශ්චය "කැඩුණු නිර්මාණය" ඉදිරිපිට පමණක් ඔබේ දෑත් නැමීමට සිදු වනු ඇත. එකම ලිපින අවකාශයේ ක්‍රියාත්මක වන defragmenters කිහිපයක් එකිනෙකාට බාධා කරයි. ඔබ එක් එක් සැබෑ උපාංගය සඳහා නොමිලේ කුට්ටි ඔබේම සිතියමක් පවත්වාගෙන යන්නේ නම් එය සම්පූර්ණයෙන්ම වෙනස් කාරණයකි. මෙය defragmentation ක්රියාවලිය ඵලදායී ලෙස සමාන්තරව සිදු කරනු ඇත.

නමුත් මෙය කළ හැක්කේ ඔබට ඉහළ මට්ටමේ තාර්කික වෙළුම් කළමණාකරුවෙකු සිටී නම් පමණි. එවැනි කළමනාකරුවන් සමඟ දේශීය ගොනු පද්ධති මීට පෙර නොතිබුණි (අවම වශයෙන්, මම ඔවුන් ගැන නොදනිමි). එවැනි කළමනාකරුවන් සිටියේ ජාල ගොනු පද්ධති (උදාහරණයක් ලෙස GlusterFS) පමණි. තවත් ඉතා වැදගත් උදාහරණයක් වන්නේ වෙළුම් අඛණ්ඩතා පරීක්ෂාව (fsck) උපයෝගීතාවයයි. ඔබ එක් එක් උප වෙළුම සඳහා ඔබේම ස්වාධීන සිතියමක් නිදහස් බ්ලොක් ගබඩා කරන්නේ නම්, තාර්කික පරිමාවක් පරීක්ෂා කිරීමේ ක්රියා පටිපාටිය ඵලදායී ලෙස සමාන්තරගත කළ හැකිය. වෙනත් වචන වලින් කිවහොත්, ඉහළ මට්ටමේ කළමනාකරුවන් සමඟ තාර්කික වෙළුම් වඩා හොඳින් පරිමාණය කරයි.

ඊට අමතරව, පහළ මට්ටමේ වෙළුම් කළමණාකරුවන් සමඟින් ඔබට සම්පූර්ණ ස්නැප්ෂොට් සංවිධානය කිරීමට නොහැකි වනු ඇත. LVM සහ ZFS වැනි ගොනු පද්ධති සමඟින්, ඔබට දේශීය ස්නැප්ෂොට් පමණක් ගත හැකි නමුත් ගෝලීය ඡායාරූප ගත නොහැක. දේශීය ස්නැප්ෂොට් මඟින් ඔබට සාමාන්‍ය ගොනු මෙහෙයුම් පමණක් ක්ෂණිකව ආපසු හැරවීමට ඉඩ සලසයි. තවද එහි සිටින කිසිවෙක් තාර්කික වෙළුම් (උපාංග එකතු කිරීම/ඉවත් කිරීම) සමඟ මෙහෙයුම් ආපසු හරවන්නේ නැත. අපි මෙය උදාහරණයකින් බලමු. යම් අවස්ථාවක දී, ඔබට ගොනු 100 ක් අඩංගු A සහ ​​B උපාංග දෙකක තාර්කික පරිමාවක් ඇති විට, ඔබ S පද්ධතියේ ස්නැප්ෂොට් එකක් ගෙන තවත් ගොනු සියයක් සාදන්න.

ඉන් පසුව, ඔබ ඔබේ පරිමාවට C උපාංගය එකතු කර, අවසානයේ Ssnapshot S වෙත ඔබේ පද්ධතිය ආපසු හරවන්න. ප්‍රශ්නය: S වෙත ආපසු හැරීමෙන් පසු ඔබේ තාර්කික පරිමාවේ කොපමණ ගොනු සහ උපාංග අඩංගු වේද? ඔබ අනුමාන කළ පරිදි ලිපිගොනු 100 ක් ඇත, නමුත් උපාංග 3 ක් ඇත - මේවා එකම උපාංග A, B සහ C වේ, නමුත් ස්නැප්ෂොට් නිර්මාණය කරන විට පද්ධතියේ තිබුණේ උපාංග දෙකක් පමණි (A සහ B ) ඇඩ් ඩිවයිස් සී ක්‍රියාන්විතය ආපසු පෙරළී නොගිය අතර, ඔබ දැන් පරිගණකයෙන් සී උපාංගය ඉවත් කළහොත්, එය ඔබේ දත්ත දූෂණය කරයි, එබැවින් මකා දැමීමට පෙර ඔබට ප්‍රථමයෙන් උපාංගය නැවත සමතුලිත තාර්කික පරිමාවෙන් ඉවත් කිරීමට මිල අධික මෙහෙයුමක් සිදු කිරීමට අවශ්‍ය වනු ඇත. C උපාංගයේ සිට A සහ ​​B උපාංග වෙත සියලු දත්ත විසුරුවා හරිනු ඇත. නමුත් ඔබගේ FS ගෝලීය ඡායාරූප සඳහා සහය දක්වන්නේ නම්, එවැනි නැවත සමතුලිත කිරීම අවශ්‍ය නොවන අතර, S වෙත ක්ෂණික ආපසු හැරීමකින් පසුව, ඔබට පරිගණකයෙන් C උපාංගය ආරක්ෂිතව ඉවත් කළ හැක.

එබැවින්, විශාල දත්ත ප්‍රමාණයක් සහිත තාර්කික පරිමාවකින් (තාර්කික පරිමාවකට) උපාංගයක් මිල අධික ලෙස ඉවත් කිරීම (එකතු කිරීම) වළක්වා ගැනීමට ගෝලීය ස්නැප්ෂොට් ඔබට ඉඩ සලසයි (ඇත්ත වශයෙන්ම, ඔබට ඔබේ පද්ධතිය “ස්නැප්ෂොට්” කිරීමට මතක නම් නියම වේලාවට). ස්නැප්ෂොට් සෑදීම සහ ගොනු පද්ධතිය ඒවාට පෙරළීම ක්ෂණික මෙහෙයුම් බව මම ඔබට මතක් කරමි. ප්රශ්නය මතු විය හැකිය: ඔබට දින තුනක් ගත වූ තාර්කික පරිමාවක් මත මෙහෙයුමක් ක්ෂණිකව ආපසු හැරවීමට පවා හැකි වන්නේ කෙසේද? නමුත් එය හැකි ය! ඔබගේ ගොනු පද්ධතිය නිවැරදිව නිර්මාණය කර ඇති බව සපයා ඇත. මම මීට වසර තුනකට පෙර එවැනි “3D ස්නැප්ෂොට්” පිළිබඳ අදහස ඉදිරිපත් කළ අතර පසුගිය වසරේ මම මෙම තාක්ෂණයට පේටන්ට් බලපත්‍රය ලබා ගත්තෙමි.

දේශීය FS ජාල ඒවායින් ඉගෙන ගත යුතු ඊළඟ දෙය නම් ජාල FS වෙනම යන්ත්‍රවල (ඊනියා පාරදත්ත සේවාදායකයන්) ගබඩා කරන ආකාරයටම පාර-දත්ත වෙනම උපාංගවල ගබඩා කිරීමයි. මූලික වශයෙන් පාර-දත්ත සමඟ ක්‍රියා කරන යෙදුම් ඇති අතර, පාර-දත්ත මිල අධික ඉහළ ක්‍රියාකාරී ගබඩා උපාංග මත තැබීමෙන් මෙම යෙදුම් විශාල වශයෙන් වේගවත් කළ හැක. FS+LVM සංයෝජනය සමඟින්, ඔබට එවැනි තෝරා ගැනීමේ හැකියාව ප්‍රදර්ශනය කිරීමට නොහැකි වනු ඇත: LVM ඔබ එයට ලබා දුන් බ්ලොක් එකේ ඇති දේ දන්නේ නැත (දත්ත එහි හෝ පාර-දත්ත).

FS+LVM සංයෝජනයට සාපේක්ෂව FS හි ඔබේම පහත් මට්ටමේ LVM ක්‍රියාත්මක කිරීමෙන් ඔබට වැඩි ප්‍රතිලාභයක් නොලැබෙනු ඇත, නමුත් ඔබට ඉතා හොඳින් කළ හැක්කේ FS අවුල් කිරීම වන අතර පසුව එහි කේතය සමඟ වැඩ කිරීමට නොහැකි වනු ඇත. අතථ්‍ය උපාංග සමඟ වේගයෙන් දිව ගිය ZFS සහ Btrfs, වාස්තු විද්‍යාත්මකව, ස්ථර උල්ලංඝනය පද්ධතිය විනාශ කරන ආකාරය පිළිබඳ පැහැදිලි උදාහරණ වේ. එපමනක් නොව, ගොනු පද්ධතිය තුල ඔබගේම පහත් මට්ටමේ LVM ගොඩනැගීමට අවශ්‍ය නොවේ. ඒ වෙනුවට, සමහර ජාල ගොනු පද්ධති විවිධ යන්ත්‍ර (ගබඩා නෝඩ්) සමඟ කරන පරිදි, ඔබට ඉහළ මට්ටමේ තාර්කික වෙළුම්වලට උපාංග එකතු කිරීමට අවශ්‍ය වේ. නරක ඇල්ගොරිතම භාවිතය නිසා ඔවුන් මෙය පිළිකුල් සහගත ලෙස සිදු කරන බව ඇත්ත.

පරම භයානක ඇල්ගොරිතම සඳහා උදාහරණ වන්නේ GlusterFS ගොනු පද්ධතියේ DHT පරිවර්තකය සහ Ceph ගොනු පද්ධතියේ ඊනියා CRUSH සිතියමයි. මා දුටු කිසිදු ඇල්ගොරිතමයක් සරල බව සහ හොඳ පරිමාණය සම්බන්ධයෙන් මා සෑහීමකට පත් කළේ නැත. එබැවින් මට වීජ ගණිතය මතක තබා ගැනීමටත් සියල්ල තනිවම සොයා ගැනීමටත් සිදු විය. 2015 දී, හෑෂ් ශ්‍රිතවලට වඩා මිටි සමඟ අත්හදා බැලීම් කරන අතරතුර, මම මට ගැලපෙන දෙයක් සොයාගෙන පේටන්ට් බලපත්‍රය ලබා ගත්තෙමි. මේ සියල්ල ප්‍රායෝගිකව ක්‍රියාත්මක කිරීමට ගත් උත්සාහය සාර්ථක වූ බව දැන් මට කිව හැකිය. නව ප්‍රවේශයේ පරිමාණය පිළිබඳ කිසිදු ගැටළුවක් මම නොදකිමි.

ඔව්, සෑම උප වෙළුමකටම මතකයේ සුපිරි අවහිරයක් වැනි වෙනම ව්‍යුහයක් අවශ්‍ය වේ. මෙය ඉතා බියජනකද? පොදුවේ ගත් කල, "සාගරය උනු" සහ එක් දේශීය යන්ත්රයක් මත සිය දහස් ගණනක් හෝ ඊට වැඩි උපාංගවල තාර්කික පරිමාවන් නිර්මාණය කරන්නේ කවුරුන්ද යන්න මම නොදනිමි. කවුරුහරි මට මේ ගැන පැහැදිලි කරන්න පුළුවන් නම්, මම ගොඩක් ස්තුතිවන්ත වෙනවා. ඒ අතරේ මට නම් මේක මාකට් කරන ගොන් වැඩක්.

කර්නල් බ්ලොක් උපාංග උප පද්ධතියේ වෙනස්කම් (උදාහරණයක් ලෙස, blk-mq හි පෙනුම) FS ක්‍රියාත්මක කිරීමේ අවශ්‍යතා කෙරෙහි බලපෑවේ කෙසේද?

ඒවාට කිසිම බලපෑමක් වුණේ නැහැ. නව FS නිර්මාණය කිරීමට අවශ්‍ය වන බ්ලොක් ස්ථරයේ කුමක් සිදුවේදැයි මම නොදනිමි. මෙම උප පද්ධතිවල අන්තර්ක්‍රියා අතුරු මුහුණත ඉතා දුර්වලයි. රියදුරු පැත්තෙන්, FS හට බලපෑ යුත්තේ නව වර්ගයේ ධාවකවල පෙනුමෙන් පමණි, පළමුව බ්ලොක් ස්තරය සකස් කරනු ලැබේ, පසුව FS (reiser4 සඳහා මෙය නව ප්ලගීන වල පෙනුම අදහස් කරයි).

නව ආකාරයේ මාධ්‍යවල මතුවීම (උදාහරණයක් ලෙස, SMR, හෝ SSD වල සර්වප්‍රකාර) ගොනු පද්ධති නිර්මාණය සඳහා මූලික වශයෙන් නව අභියෝග අදහස් කරන්නේද?

ඔව්. තවද මේවා FS සංවර්ධනය සඳහා සාමාන්ය දිරිගැන්වීම් වේ. අභියෝග වෙනස් විය හැකි අතර සම්පූර්ණයෙන්ම අනපේක්ෂිත විය හැකිය. උදාහරණයක් ලෙස, I/O මෙහෙයුමක වේගය දත්ත කැබැල්ලක ප්‍රමාණය සහ එහි ඕෆ්සෙට් මත බෙහෙවින් රඳා පවතින ධාවකයන් ගැන මම අසා ඇත්තෙමි. Linux හි, FS බ්ලොක් එකේ විශාලත්වය පිටු ප්‍රමාණය ඉක්මවිය නොහැක, එවැනි ධාවකයක් පෙරනිමියෙන් එහි සම්පූර්ණ හැකියාවන් නොපෙන්වයි. කෙසේ වෙතත්, ඔබගේ ගොනු පද්ධතිය නිවැරදිව නිර්මාණය කර ඇත්නම්, ඉන් බොහෝ දේ ලබා ගැනීමට අවස්ථාවක් තිබේ.

ඔබ හැර දැනට කී දෙනෙක් Reiser4 කේතය සමඟ වැඩ කරනවාද?

මම කැමති ප්‍රමාණයට වඩා අඩුවෙන්, නමුත් මට සම්පත්වල උග්‍ර හිඟයක් ද අත්විඳිය නොහැක. Reiser4 හි සංවර්ධන වේගය ගැන මම සෑහීමකට පත්වෙමි. මම “අශ්වයන් පැදවීමට” යන්නේ නැත - මෙය නිවැරදි ප්‍රදේශය නොවේ. මෙන්න, "ඔබ වඩාත් නිහඬව රිය පදවන්නේ නම්, ඔබ දිගටම ගමන් කරනු ඇත!" නවීන ගොනු පද්ධතියක් යනු වඩාත් සංකීර්ණ කර්නල් උප පද්ධතිය වන අතර, වැරදි සැලසුම් තීරණ මගින් පසු වසරවල මිනිස් වැඩ අවලංගු කළ හැකිය.

යමක් ක්රියාත්මක කිරීම සඳහා ස්වේච්ඡා සේවකයන් ඉදිරිපත් කිරීමෙන්, මම සෑම විටම සහතික වන්නේ ප්රයත්නයන් නිසැකවම නිවැරදි ප්රතිඵලය කරා ගෙන යනු ඇති අතර, එය බරපතල අවශ්යතා සඳහා ඉල්ලුම විය හැකිය. ඔබ තේරුම් ගත් පරිදි, එකවර එවැනි සහතික ගණනාවක් තිබිය නොහැක. ඒ අතරම, පැහැදිලිවම භාවිතා කළ නොහැකි මෘදුකාංගවල "විශේෂාංග" නිර්ලජ්ජිත ලෙස ප්‍රවර්ධනය කරන, පරිශීලකයින් සහ සංවර්ධකයින් සිය ගණනක් රවටා, සහ ඒ සමඟම කර්නල් සමුළුවල හිඳගෙන සිනාසෙන “සංඛ්‍යා” මට දරාගත නොහැක.

Reiser4 හි සංවර්ධනය සඳහා සහාය වීමට කිසියම් සමාගමක් කැමැත්ත පළ කර තිබේද?

ඔව්, එවැනි යෝජනා තිබුණා, ඇතුළුව. සහ ප්‍රධාන වෙළෙන්දෙකුගෙන්. නමුත් මේ සඳහා මට වෙනත් රටකට යාමට සිදු විය. අවාසනාවකට, මට තවදුරටත් වයස අවුරුදු 30 ක් නොවේ, මට පළමු විස්ල් එකේදී කැඩී ගොස් පිටව යා නොහැක.

Reiser4 වෙතින් දැනට අස්ථානගත වී ඇති විශේෂාංග මොනවාද?

ReiserFS(v3) හි ඇති ආකාරයටම සරල වෙළුම් සඳහා "ප්‍රතිප්‍රමාණ" ශ්‍රිතයක් නොමැත. ඊට අමතරව, DIRECT_IO ධජය සමඟ ගොනු මෙහෙයුම් හානියක් නොවනු ඇත. මීළඟට, ස්ථාවර ප්‍රමාණයක් නොමැති සහ ස්වාධීන වෙළුම් ලෙස සවි කළ හැකි “අර්ථකථන උප වෙළුම්” ලෙස පරිමාවක් වෙන් කිරීමට මා කැමතිය. මෙම ගැටළු "සැබෑ දේ" සඳහා උත්සාහ කිරීමට කැමති ආරම්භකයින් සඳහා හොඳය.

අවසාන වශයෙන්, සරල ක්‍රියාත්මක කිරීම සහ පරිපාලනය සහිත ජාල තාර්කික වෙළුම් ලබා ගැනීමට මම කැමතියි (නවීන ඇල්ගොරිතම දැනටමත් මෙයට ඉඩ දෙයි). නමුත් Reiser4 ට කිසිදාක නොතිබෙන්නේ RAID-Z, scrubs, free space caches, 128-bit variables සහ සමහර ගොනු පද්ධතිවල සංවර්ධකයින් අතර ඇති අදහස් හිඟකමේ පසුබිමට එරෙහිව මතු වූ වෙනත් අලෙවිකරණ විකාරයන් ය.

අවශ්‍ය විය හැකි සියල්ල ප්ලගීන මගින් ක්‍රියාත්මක කළ හැකිද?

අපි කතා කරන්නේ ඒවා ක්‍රියාත්මක කරන අතුරුමුහුණත් සහ ප්ලගීන (මොඩියුල) අනුව පමණක් නම්, සියල්ල නොවේ. නමුත් ඔබ මෙම අතුරුමුහුණත් මත සම්බන්ධතා ද හඳුන්වා දෙන්නේ නම්, වෙනත් දේ අතර, ඔබට දැනටමත් ලබා ගත හැකි ඉහළ බහුරූපතා සංකල්ප ඇත. ඔබ උපකල්පිත ලෙස වස්තු-නැඹුරු ධාවන කාල පද්ධතියක් නිශ්චල කර, එම X අතුරුමුහුණත ක්‍රියාත්මක කරන වෙනත් ප්ලගිනයක් වෙත යොමු කිරීමට උපදෙස් දර්ශකයේ අගය වෙනස් කර, පසුව එය ක්‍රියාත්මක වන පරිදි පද්ධතිය කැටි කළ බව සිතන්න.

අවසාන පරිශීලකයා එවැනි “ආදේශනයක්” නොදකින්නේ නම්, අපි පවසන්නේ පද්ධතියට X අතුරුමුහුණතෙහි ශුන්‍ය අනුපිළිවෙල බහුරූපතාවක් ඇති බවයි (හෝ පද්ධතිය X අතුරුමුහුණතෙහි විෂමජාතීය, එය එකම දෙයකි). දැන් ඔබට අතුරුමුහුණත් සමූහයක් පමණක් නොව, ඒවා මත සම්බන්ධතා (අතුරුමුහුණත් ප්‍රස්ථාරය) තිබේ නම්, ඔබට ඉහළ ඇණවුම්වල බහුරූපතා හඳුන්වා දිය හැකිය, එමඟින් ඕනෑම අතුරු මුහුණතක “අසල්වැසි” දැනටමත් පද්ධතියේ විෂමතාවය සංලක්ෂිත වේ. මම බොහෝ කලකට පෙර එවැනි වර්ගීකරණයක් හඳුන්වා දුන්නෙමි, නමුත්, අවාසනාවකට මෙන්, එය කිසි විටෙකත් සිදු නොවීය.

එබැවින්, ප්ලගින සහ එවැනි ඉහළ බහුරූපතා ආධාරයෙන්, ඔබට දන්නා ඕනෑම අංගයක් විස්තර කළ හැකි අතර, කිසි විටෙකත් සඳහන් කර නොමැති ඒවා "අනුමාන කරන්න". මට මෙය තදින්ම ඔප්පු කිරීමට නොහැකි වී ඇත, නමුත් මම තවමත් ප්රතිඋදාහරණයක් නොදනිමි. පොදුවේ ගත් කල, මෙම ප්රශ්නය ෆීලික්ස් ක්ලයින් ගේ "Erlangen වැඩසටහන" මට මතක් කර දුන්නේය. එක් කාලයකදී ඔහු වීජ ගණිතයේ ශාඛාවක් ලෙස සියලුම ජ්‍යාමිතිය නියෝජනය කිරීමට උත්සාහ කළේය (විශේෂයෙන්, කණ්ඩායම් න්‍යාය).

දැන් ප්‍රධාන ප්‍රශ්නයට - Reiser4 ප්‍රධාන හරයට ප්‍රවර්ධනය කිරීමත් සමඟ දේවල් සිදු වන්නේ කෙසේද? පසුගිය සම්මුඛ සාකච්ඡාවේදී ඔබ කතා කළ මෙම ගොනු පද්ධතියේ ගෘහ නිර්මාණ ශිල්පය පිළිබඳ ප්‍රකාශන තිබේද? ඔබේ දෘෂ්ටි කෝණයෙන් මෙම ප්‍රශ්නය කෙතරම් අදාළද?

සාමාන්‍යයෙන් අපි අවුරුදු තුනක් තිස්සේ ප්‍රධාන ශාඛාවට ඇතුළත් කරන්න කියලා ඉල්ලනවා. අදින්න ඉල්ලීම කළ පොදු ත්‍රෙඩ් එකේ රීසර්ගේ අවසාන අදහසට පිළිතුරු නොලැබුණි. එබැවින් අනෙකුත් සියලුම ප්රශ්න අප සඳහා නොවේ. නිශ්චිත මෙහෙයුම් පද්ධතියකට "ඒකාබද්ධ" කිරීමට අවශ්ය වන්නේ මන්දැයි මට පෞද්ගලිකව තේරෙන්නේ නැත. Linux මත, ආලෝකය කූඤ්ඤයක් මෙන් අභිසාරී නොවීය. එබැවින්, විවිධ මෙහෙයුම් පද්ධති සඳහා ශාඛා-වරාය කිහිපයක් ඇති වෙනම ගබඩාවක් ඇත. එය අවශ්‍ය ඕනෑම කෙනෙකුට අදාළ වරාය ක්ලෝන කර ඔබට අවශ්‍ය ඕනෑම දෙයක් කළ හැකිය (බලපත්‍රය තුළ, ඇත්ත වශයෙන්ම). හොඳයි, යමෙකුට එය අවශ්ය නොවේ නම්, එය මගේ ගැටලුවක් නොවේ. මෙම අවස්ථාවේදී, "ප්‍රධාන ලිනක්ස් කර්නලය වෙත ප්‍රවර්ධනය කිරීම" යන ප්‍රශ්නය විසඳා ඇති පරිදි සලකා බැලීමට මම යෝජනා කරමි.

FS ගෘහනිර්මාණ ශිල්පය පිළිබඳ ප්‍රකාශන අදාළ වේ, නමුත් මේ දක්වා මම මගේ නව ප්‍රතිඵල සඳහා කාලය සොයා ගෙන ඇති අතර, එය ඉහළ ප්‍රමුඛතාවයක් ලෙස සලකමි. තවත් දෙයක් නම්, මම ගණිතඥයෙක් වන අතර, ගණිතයේ ඕනෑම ප්රකාශනයක් ප්රමේයයන් සහ ඒවායේ සාක්ෂි වල සාරාංශයකි. කිසිදු සාක්ෂියක් නොමැතිව එහි පළ කිරීම නරක රසයේ ලකුණකි. මම FS හි ගෘහ නිර්මාණ ශිල්පය පිළිබඳ කිසියම් ප්‍රකාශයක් තරයේ ඔප්පු කළහොත් හෝ ප්‍රතික්ෂේප කළහොත්, ප්‍රති result ලය එවැනි ගොඩවල් වනු ඇත, එය හරහා යාමට තරමක් අපහසු වනු ඇත. එය අවශ්ය වන්නේ කාටද? සෑම දෙයක්ම පැරණි ස්වරූපයෙන් දිගටම පවතින්නේ මේ නිසා විය හැකිය - මූලාශ්‍ර කේතය සහ එයට අදහස්.

පසුගිය වසර කිහිපය තුළ Reiser4 හි අලුත් මොනවාද?

දිගු කලක් බලා සිටි ස්ථාවරත්වය අවසානයේ සැබෑ වී ඇත. අවසන් වරට පෙනී සිටි එක් දෝෂයක් වූයේ "නොමැකීම" නාමාවලි වලට මග පෑදීය. දුෂ්කරතාවය වූයේ එය නාම හැෂ් ගැටීම්වල පසුබිමට එරෙහිව සහ ගස් නෝඩයක නාමාවලි වාර්තා වල නිශ්චිත ස්ථානයක් සමඟ පමණක් දිස් වීමයි. කෙසේ වෙතත්, මට තවමත් නිෂ්පාදනය සඳහා Reiser4 නිර්දේශ කළ නොහැක: මේ සඳහා ඔබ නිෂ්පාදන පද්ධති පරිපාලකයින් සමඟ සක්‍රීය අන්තර්ක්‍රියා සමඟ යම් වැඩක් කළ යුතුය.

අපගේ දිගුකාලීන අදහස - විවිධ ගනුදෙනු ආකෘති ක්‍රියාවට නැංවීමට අවසානයේ අපට හැකි විය. මීට පෙර, Reiser4 ධාවනය කළේ දෘඪ කේත සහිත Macdonald-Reiser ආකෘතියක් පමණි. මෙය නිර්මාණ ගැටළු ඇති කළේය. විශේෂයෙන්, එවැනි ගනුදෙනු ආකෘතියක් තුළ ස්නැප්ෂොට් කළ නොහැක - ඒවා "OVERWRITE SET" නම් පරමාණුක සංරචකයක් මගින් දූෂිත වනු ඇත. Reiser4 දැනට ගනුදෙනු ආකෘති තුනකට සහය දක්වයි. ඒවායින් එකක (Write-Anwhere), පරමාණුක සංරචක OVERWRITE SET ඇතුළත් වන්නේ පද්ධති පිටු පමණි (තැටි බිට්මැප් වල පින්තූර, ආදිය), ඒවා "ඡායාරූපගත" කළ නොහැක (කුකුල් මස් සහ බිත්තර ගැටළුව).

එබැවින් පින්තූර දැන් හොඳම ආකාරයෙන් සාක්ෂාත් කරගත හැකිය. වෙනත් ගණුදෙණු ආකෘතියක, සියලුම වෙනස් කරන ලද පිටු නැවත ලිවීමේ කට්ටලයට පමණක් යයි (එනම්, එය අත්‍යවශ්‍යයෙන්ම පිරිසිදු සඟරාවකි). මෙම ආකෘතිය Reiser4 කොටස්වල වේගවත් ඛණ්ඩනය ගැන පැමිණිලි කළ අය සඳහා වේ. දැන් මෙම ආකෘතියේ ඔබේ කොටස ReiserFS (v3) සමඟ වඩා වේගයෙන් කැඩී යනු ඇත. දැනට පවතින ආකෘති තුනම, සමහර වෙන් කිරීම් සහිතව, මෙහෙයුම්වල පරමාණුක බව සහතික කරයි, නමුත් පරමාණුකත්වය නැති වී ඇති සහ කොටසේ අඛණ්ඩතාව පමණක් ආරක්ෂා කරන ආකෘති ද ප්‍රයෝජනවත් විය හැකිය. එවැනි ආකෘති දැනටමත් මෙම කාර්යයන් කිහිපයක් භාරගෙන ඇති සියලුම ආකාරයේ යෙදුම් (දත්ත සමුදායන්, ආදිය) සඳහා ප්රයෝජනවත් විය හැකිය. මෙම ආකෘති Reiser4 වෙත එකතු කිරීම ඉතා පහසු ය, නමුත් මම එය නොකළෙමි, කිසිවෙකු මගෙන් අසන ලද නිසා, මට පෞද්ගලිකව එය අවශ්ය නොවේ.

පාරදත්ත චෙක්සම් දර්ශනය වූ අතර මම මෑතකදී ඒවා "ආර්ථික" දර්පණ" (තවමත් අස්ථායී ද්රව්ය) සමඟ අතිරේක කළෙමි. කිසියම් බ්ලොක් එකක චෙක්සම් අසමත් වුවහොත්, Reiser4 වහාම අනුරූප උපාංගයෙන් අදාළ කොටස කියවයි. ZFS සහ Btrfs වලට මෙය කළ නොහැකි බව සලකන්න: සැලසුම එයට ඉඩ නොදේ. එහිදී ඔබ "ස්ක්‍රබ්" නමින් විශේෂ පසුබිම් ස්කෑනිං ක්‍රියාවලියක් ක්‍රියාත්මක කළ යුතු අතර එය ගැටළුකාරී බ්ලොක් එකට එන තෙක් රැඳී සිටින්න. ක්‍රමලේඛකයින් එවැනි සිදුවීම් සංකේතාත්මකව හඳුන්වන්නේ “කිහිලිකරු” ලෙසයි.

අවසාන වශයෙන්, විෂමජාතීය තාර්කික වෙළුම් දර්ශනය වී ඇති අතර, ZFS, Btrfs, block layer, මෙන්ම FS+LVM සංයෝජන ප්‍රතිපත්තිමය වශයෙන් සැපයිය නොහැකි සියල්ල ඉදිරිපත් කරයි - සමාන්තර පරිමාණය, O(1) තැටි ලිපින විභේදකය, උප වෙළුම් අතර විනිවිද පෙනෙන දත්ත සංක්‍රමණය. දෙවැන්න පරිශීලක අතුරුමුහුණතක් ද ඇත. දැන් ඔබට උණුසුම්ම දත්ත ඔබේ ශබ්දයේ ඉහළම කාර්ය සාධන ධාවකය වෙත පහසුවෙන් ගෙන යා හැක.

ඊට අමතරව, එවැනි ධාවකයකට ඕනෑම අපිරිසිදු පිටු කඩිනමින් ෆ්ලෂ් කළ හැකි අතර, එමඟින් බොහෝ විට fsync(2) ලෙස හඳුන්වන යෙදුම් සැලකිය යුතු ලෙස වේගවත් කරයි. Bcache ලෙස හඳුන්වන බ්ලොක් ස්ථරයේ ක්‍රියාකාරීත්වය කිසිසේත්ම එවැනි ක්‍රියාකාරී නිදහසක් ලබා නොදෙන බව මම සටහන් කරමි. නව තාර්කික වෙළුම් මගේ ඇල්ගොරිතම මත පදනම් වේ (අනුරූප පේටන්ට් බලපත්‍ර ඇත). මෘදුකාංගය දැනටමත් තරමක් ස්ථායී ය, එය උත්සාහ කිරීම, කාර්ය සාධනය මැනීම යනාදිය හැකි ය. එකම අපහසුතාවය නම් දැනට ඔබට පරිමාව වින්‍යාසය අතින් යාවත්කාලීන කර එය කොහේ හරි ගබඩා කළ යුතුය.

මේ වන විට මගේ අදහස් සියයට 10 කින් ක්‍රියාත්මක කිරීමට මට හැකි වී ඇත, කෙසේ වෙතත්, මම වඩාත්ම දුෂ්කර දෙය ලෙස සැලකූ දේ - reiser4 හි සියලුම කල් දැමූ ක්‍රියා සිදු කරන ෆ්ලෑෂ් ක්‍රියා පටිපාටියක් සමඟ තාර්කික පරිමාවන් සම්බන්ධ කිරීම. මේ සියල්ල තවමත් පර්යේෂණාත්මක "format41" ශාඛාවේ ඇත.

Reiser4 xfstests සමත්ද?

මම අවසාන නිකුතුව සූදානම් කරන විට අවම වශයෙන් එය මට සිදු විය.

ප්ලගීන භාවිතයෙන් Reiser4 ජාලය (පොකුරු) FS බවට පත් කිරීමට ප්‍රතිපත්තිමය වශයෙන් හැකිද?

එය කළ හැකි සහ අවශ්ය පවා! ඔබ නිවැරදිව නිර්මාණය කර ඇති දේශීය ගොනු පද්ධතියක් මත පදනම්ව ජාල ගොනුවක් නිර්මාණය කරන්නේ නම්, ප්රතිඵලය ඉතා ආකර්ෂණීය වනු ඇත! නවීන ජාල FS වල, ඕනෑම දේශීය FS භාවිතයෙන් ක්‍රියාත්මක වන පසුපෙළ ගබඩා මට්ටමක් තිබීම ගැන මම සෑහීමකට පත් නොවෙමි. මෙම මට්ටමේ පැවැත්ම සම්පූර්ණයෙන්ම අසාධාරණයි. ජාල FS බ්ලොක් ස්තරය සමඟ සෘජුව අන්තර්ක්‍රියා කළ යුතු අතර, වෙනත් සේවා ගොනු සෑදීමට ප්‍රාදේශීය FS වෙතින් ඉල්ලා නොසිටින්න!

පොදුවේ ගත් කල, ගොනු පද්ධති දේශීය හා ජාලයට බෙදීම නපුරු එකකි. එය පැන නැගුනේ මීට වසර තිහකට පෙර භාවිතා කරන ලද ඇල්ගොරිතමවල අසම්පූර්ණතාවයෙන් වන අතර ඒ වෙනුවට තවමත් කිසිවක් යෝජනා කර නොමැත. අනවශ්‍ය මෘදුකාංග සංරචක (විවිධ සේවා, ආදිය) ස්කන්ධයක් ඇතිවීමට හේතුව මෙයයි. හොඳ ආකාරයකින්, කර්නල් මොඩියුලයක ස්වරූපයෙන් එක් FS එකක් පමණක් තිබිය යුතු අතර එක් එක් යන්ත්‍රය මත ස්ථාපනය කර ඇති පරිශීලක උපයෝගිතා කට්ටලයක් - පොකුරු නෝඩයක්. මෙම FS දේශීය සහ ජාල යන දෙකම වේ. සහ තවත් කිසිවක් නැත!

Linux හි Reiser4 සමඟ කිසිවක් ක්‍රියාත්මක නොවන්නේ නම්, මම FreeBSD සඳහා FS පිරිනැමීමට කැමැත්තෙමි (පෙර සම්මුඛ සාකච්ඡාවකින් උපුටා ගැනීම: “...FreeBSD... ශාස්ත්‍රීය මූලයන් ඇත... තවද මෙයින් අදහස් කරන්නේ ඉහළ සම්භාවිතාවක් සහිතව අප සංවර්ධකයින් සමඟ පොදු භාෂාවක් සොයාගනු ඇත") ?

එබැවින්, අප දැන් සොයා ගත් පරිදි, සෑම දෙයක්ම දැනටමත් ලිනක්ස් සමඟ හොඳින් ක්‍රියාත්මක වී ඇත: අපගේ ගබඩාවේ ප්‍රධාන ශාඛාවක ස්වරූපයෙන් ඒ සඳහා වෙනම වැඩ කරන Reiser4 වරායක් ඇත. මට FreeBSD ගැන අමතක වෙලා නැහැ! පිරිනැමීම! FreeBSD හි ඇතුලාන්තය හොඳින් දන්නා අය සමඟ සමීපව කටයුතු කිරීමට මම සූදානම්. මාර්ගය වන විට: ඔවුන්ගේ ප්‍රජාව ගැන මා සැබවින්ම කැමති දෙය නම්, එහි තීරණ ගනු ලබන්නේ නවීකරණය කරන ලද ස්වාධීන විශේෂඥයින්ගේ කවුන්සිලයක් විසින් වන අතර, එක් ස්ථිර පුද්ගලයෙකුගේ රජය රැවටීමට කිසිදු සම්බන්ධයක් නැත.

ඔබ අද Linux පරිශීලක ප්‍රජාව ඇගයීමට ලක් කරන්නේ කෙසේද? එය වඩාත් "පොප්" වී තිබේද?

මගේ කාර්යයේ ස්වභාවය අනුව, මට මෙය තක්සේරු කිරීම තරමක් අපහසුය. බොහෝ විට පරිශීලකයින් මා වෙත පැමිණෙන්නේ දෝෂ වාර්තා සහ කොටස නිවැරදි කිරීමට ඉල්ලීම් සමඟ ය. පරිශීලකයන් ලෙස භාවිතා කරන්නන්. සමහරු වඩා දක්ෂයි, සමහරු අඩුයි. හැමෝටම සලකන්නේ එකම විදියට. හොඳයි, පරිශීලකයා මගේ උපදෙස් නොසලකා හරින්නේ නම්, මට සමාවෙන්න: නොසලකා හැරීමේ නියෝගය මගේ පැත්තෙන්ද ඇතුළත් වේ.

ඉදිරි වසර පහක් හෝ දහයක් සඳහා ගොනු පද්ධති සංවර්ධනය අනාවැකි කිව හැකිද? ඔබ සිතන්නේ FS සංවර්ධකයින් මුහුණ දිය හැකි ප්‍රධාන අභියෝග මොනවාද?

ඔව්, එවැනි පුරෝකථනයක් කිරීම අපහසු නැත. දිගු කලක් තිස්සේ upstream හි ගොනු පද්ධති සංවර්ධනයක් සිදු වී නොමැත. එවැනි පෙනුම පමණක් නිර්මාණය වේ. දේශීය ගොනු පද්ධති සංවර්ධකයින් දුර්වල සැලසුම් සමඟ සම්බන්ධ ගැටළු වලට මුහුණ දුන්හ. මෙහිදී අවවාදයක් කළ යුතුය. මම ඊනියා "ගබඩා", "ලෙවකෑම" සහ කේතයේ පෝට් කිරීම සංවර්ධනය සහ සංවර්ධනය ලෙස සලකන්නේ නැත. තවද මම දැනටමත් පැහැදිලි කර ඇති හේතු නිසා "Btrfs" යනුවෙන් හැඳින්වෙන වරදවා වටහා ගැනීම වර්ධනයක් ලෙස වර්ගීකරණය නොකරමි.

සෑම පැල්ලමක්ම එහි ගැටළු වඩාත් නරක අතට හැරේ. හොඳින්. සහ සෑම විටම "සියල්ල ක්‍රියාත්මක වන" විවිධ වර්ගයේ "ඉවැන්ජලිස්තවරුන්" සිටිති. මූලික වශයෙන්, මේවා පාසල් සිසුන් සහ සිසුන් දේශන මඟ හරිති. නිකමට සිතන්න: එය ඔහුට වැඩ කරයි, නමුත් මහාචාර්යවරයා එසේ නොකරයි. මෙය මොනතරම් ඇඩ්‍රිනලින් හදිසියක්ද! මගේ දෘෂ්ටි කෝණයෙන්, විශාලතම හානිය සිදුවන්නේ Btrfs හි අපූරු අංගයන් systemd, docker යනාදී සියලු වර්ගවල ස්ථරවලට උද්යෝගයෙන් “ඉස්කුරුප්පු” කිරීමට ඉක්මන් වූ “ශිල්පීන්” විසිනි. - මෙය දැනටමත් metastases වලට සමානයි.

දැන් අපි අවුරුදු පහක් දහයක් සඳහා පුරෝකථනයක් කිරීමට උත්සාහ කරමු. Reiser4 හි අප කරන්නේ කුමක්ද යන්න මම දැනටමත් කෙටියෙන් ලැයිස්තුගත කර ඇත. ඉහළ ප්‍රවාහයේ සිට දේශීය FS සංවර්ධකයින්ට ඇති ප්‍රධාන අභියෝගය වනුයේ (ඔව්, එය දැනටමත් වී ඇත) වැටුපක් සඳහා යහපත් රැකියාවක් කිරීමට ඇති නොහැකියාවයි. දත්ත ගබඩා කිරීමේ ක්‍ෂේත්‍රයේ කිසිදු අදහසක් නොමැතිව, ඔවුන් මෙම අවාසනාවන්ත VFS, XFS සහ ext4 පැච් කිරීමට දිගටම උත්සාහ කරනු ඇත. මෙම පසුබිමට එරෙහිව VFS හි තත්වය විශේෂයෙන් හාස්‍යජනක ලෙස පෙනේ, සූපවේදීන් නොමැති සහ සූපවේදීන් අපේක්ෂා නොකරන අවන්හලක උමතු නවීකරණය සිහිපත් කරයි.

දැන් VFS කේතය, කිසිදු කොන්දේසියකින් තොරව, එකවර මතක පිටු කිහිපයක් අගුළු දමා ඒවා මත ක්‍රියා කිරීමට යටින් පවතින FS වෙත ආරාධනා කරයි. මකාදැමීමේ මෙහෙයුම් සඳහා Ext4 හි කාර්ය සාධනය වැඩිදියුණු කිරීම සඳහා මෙය හඳුන්වා දෙන ලදී, නමුත් තේරුම් ගැනීමට පහසු වන පරිදි, එවැනි සමගාමී අගුලු දැමීම උසස් ගනුදෙනු ආකෘති සමඟ සම්පූර්ණයෙන්ම නොගැලපේ. එනම්, කර්නලයේ ඇති සමහර ස්මාර්ට් ගොනු පද්ධතියක් සඳහා සරලව සහය එක් කිරීමට ඔබට නොහැකි වනු ඇත. Linux හි අනෙකුත් ක්ෂේත්‍රවල තත්වය කුමක්දැයි මම නොදනිමි, නමුත් ගොනු පද්ධති සම්බන්ධයෙන් ගත් කල, මෙහි ඇති කිසිදු වර්ධනයක් Torvalds විසින් ප්‍රායෝගිකව අනුගමනය කරන ප්‍රතිපත්තියට නොගැලපේ (ශාස්ත්‍රීය ව්‍යාපෘති නෙරපා හරිනු ලැබේ, සහ වංචාකරුවන් B-tree යනු කුමක්දැයි නොදනී, නිමක් නැති විශ්වාසයේ බැර නිකුත් කෙරේ). එබැවින්, මන්දගාමී දිරාපත්වීම සඳහා පාඨමාලාවක් සකස් කරන ලදී. ඇත්ත වශයෙන්ම, ඔවුන් එය "සංවර්ධනය" ලෙස සම්මත කිරීමට ඔවුන්ගේ මුළු ශක්තියෙන් උත්සාහ කරනු ඇත.

තවද, ගොනු පද්ධතිවල "භාරකරුවන්", ඔබ "ගබඩා" වලින් පමණක් බොහෝ දේ උපයා නොගන්නා බව වටහාගෙන, වඩා ලාභදායී ව්යාපාරයක් සඳහා තම අත උත්සාහ කරනු ඇත. මේවා රීතියක් ලෙස, බෙදා හරින ලද ගොනු පද්ධති සහ අථත්යකරණය වේ. සමහර විට ඔවුන් විලාසිතාමය ZFS එය තවමත් නොපවතින වෙනත් ස්ථානයකට ගෙන එනු ඇත. නමුත් එය, උඩුගං බලා එන සියලුම එෆ්එස් මෙන්, අලුත් අවුරුදු ගසකට සමාන ය: ඔබට තවත් කුඩා දේවල් කිහිපයක් එල්ලා තැබිය හැකි නම්, ඔබට ගැඹුරට යා නොහැක. ZFS මත පදනම්ව බරපතල ව්‍යවසාය පද්ධතියක් ගොඩනගා ගත හැකි බව මම පිළිගනිමි, නමුත් අපි දැන් අනාගතය ගැන සාකච්ඡා කරමින් සිටින බැවින්, මට කනගාටුවෙන් ප්‍රකාශ කළ හැක්කේ ZFS මේ සම්බන්ධයෙන් බලාපොරොත්තු රහිත බවයි: ඔවුන්ගේ අතථ්‍ය උපාංග සමඟ, පිරිමි ළමයින් ඔක්සිජන් කපා හැර ඇත. තවදුරටත් සංවර්ධනය සඳහා තමන් සහ අනාගත පරම්පරාවන් සඳහා. ZFS අතීතයට අයත් දෙයක්. අනික ext4 සහ XFS පෙරේදාවත් නෙවෙයි.

"ඊළඟ පරම්පරාවේ ලිනක්ස් ගොනු පද්ධතිය" යන සංවේදී සංකල්පය ගැන වෙනම සඳහන් කිරීම වටී. මෙය සම්පූර්ණයෙන්ම දේශපාලනික සහ අලෙවිකරණ ව්‍යාපෘතියක් වන අතර, ලිනක්ස් හි නිශ්චිත අක්ෂර පිටුපස “ගොනු පද්ධතිවල අනාගතය සම්බන්ධ කිරීමට” අවස්ථාව සඳහා නිර්මාණය කර ඇත. කාරණය නම් ලිනක්ස් "හුදෙක් විනෝදය සඳහා" විය. නමුත් දැන් එය මූලික වශයෙන් මුදල් ඉපයීමේ යන්ත්‍රයකි. හැකි සෑම දෙයක්ම මත ඒවා සාදා ඇත. උදාහරණයක් ලෙස, හොඳ මෘදුකාංග නිෂ්පාදනයක් නිර්මාණය කිරීම ඉතා අපහසුය, නමුත් බුද්ධිමත් "සංවර්ධකයින්" දිගු කලක් තිස්සේ අවබෝධ කර ගෙන ඇත්තේ කිසිසේත් වෙහෙසට පත් විය යුතු නැති බවයි: ඔබට නොපවතින මෘදුකාංග සාර්ථකව විකිණීමට හැකිය. සිදුවීම් - ප්රධාන දෙය නම් ඉදිරිපත් කිරීමේ විනිවිදකවල වැඩි "විශේෂාංග" අඩංගු විය යුතුය.

ගොනු පද්ධති මේ සඳහා පරිපූර්ණයි, මන්ද ඔබට ප්රතිඵලය මත වසර දහයක් ආරක්ෂිතව කේවල් කළ හැකිය. හොඳයි, මෙම ප්‍රති result ලය නොමැතිකම ගැන යමෙකු පසුව පැමිණිලි කරන්නේ නම්, ඔහුට ගොනු පද්ධති ගැන කිසිවක් තේරෙන්නේ නැත! මෙය මූල්ය පිරමීඩයක් සිහිගන්වයි: ඉහලින්ම මෙම අවුල ආරම්භ කළ වික්රමාන්විතයන් වන අතර, "වාසනාවන්ත" වූ ස්වල්ප දෙනෙක්: ඔවුන් "ලාභාංශ ඉවත් කර ගත්හ", i.e. සංවර්ධනය සඳහා මුදල් ලැබුණි, කළමනාකරුවන් ලෙස හොඳ වැටුප් සහිත රැකියාවක් ලැබුණි, සම්මන්ත්‍රණවල “පෙන්වීම” යනාදිය.

ඊළඟට පැමිණෙන්නේ “අවාසනාවන්ත” අයයි: ඔවුන් පාඩු ගණනය කරනු ඇත, භාවිතයට නුසුදුසු මෘදුකාංග නිෂ්පාදනයක් නිෂ්පාදනයට යෙදවීමේ ප්‍රතිවිපාක සමඟ කටයුතු කරනු ඇත, “යනාදිය. තවත් බොහෝ ඒවා තිබේ. හොඳයි, පිරමීඩයේ පාමුල සංවර්ධකයින් විශාල පිරිසක් නිෂ්ඵල කේතයක් "කියනවා". නාස්ති වූ කාලය ආපසු ලබා දිය නොහැකි නිසා ඔවුන් විශාලතම පරාජිතයන් වේ. එවැනි පිරමිඩ Torvalds සහ ඔහුගේ සහචරයින්ට අතිශයින්ම ප්රයෝජනවත් වේ. තවද මෙම පිරමිඩ වැඩි වන තරමට ඒවාට වඩා හොඳය. එවැනි පිරමිඩ පෝෂණය කිරීම සඳහා, ඕනෑම දෙයක් හරය තුළට ගත හැකිය. ඇත්ත වශයෙන්ම, ප්රසිද්ධියේ ඔවුන් පවසන්නේ ප්රතිවිරුද්ධයයි. නමුත් මම විනිශ්චය කරන්නේ වචනයෙන් නොව ක්‍රියාවෙන්.

එබැවින්, "ලිනක්ස් හි ගොනු පද්ධතිවල අනාගතය" තවත් ඉහල ප්‍රවර්ධනය කරන ලද, නමුත් භාවිතා කළ නොහැකි මෘදුකාංගයකි. Btrfs ට පසුව, ඉහළ සම්භාවිතාවක් සහිතව, එවැනි "අනාගතයක" ස්ථානය Bcachefs විසින් ගනු ලැබේ, එය ගොනු පද්ධතියක් සමඟ Linux වාරණ ස්ථරය තරණය කිරීමට තවත් උත්සාහයකි (නරක උදාහරණයක් බෝවන). සහ සාමාන්‍ය දේ: Btrfs හි ඇති ගැටළුම තිබේ. මම මෙය දිගු කලක් සැක කළ අතර, කෙසේ හෝ මට විරුද්ධ වීමට නොහැකි වූ අතර කේතය දෙස බැලුවෙමි - එය සත්‍යයකි!

Bcachefs සහ Btrfs හි කතුවරුන්, ඔවුන්ගේ FS නිර්මාණය කිරීමේදී, වෙනත් පුද්ගලයින්ගේ මූලාශ්‍ර ක්‍රියාකාරීව භාවිතා කළ අතර, ඔවුන් ගැන එතරම් අවබෝධයක් නැත. තත්වය ළමා ක්රීඩාව "කැඩුණු දුරකථනය" සිහිපත් කරයි. තවද මෙම කේතය කර්නලයට ඇතුලත් කරන්නේ කෙසේදැයි මට දළ වශයෙන් සිතාගත හැක. ඇත්ත වශයෙන්ම, කිසිවෙකු “රේක්” නොදකිනු ඇත (සියල්ලන්ම පසුව ඒවා මත පා තබනු ඇත). කේතයේ විලාසය, නොපවතින උල්ලංඝන චෝදනා යනාදිය පිළිබඳ බොහෝ විවාද වලින් පසුව, කතුවරයාගේ “පක්ෂපාතීත්වය”, ඔහු වෙනත් සංවර්ධකයින් සමඟ කෙතරම් හොඳින් “අන්තර්ක්‍රියා” කරන්නේද සහ මේ සියල්ල කෙතරම් සාර්ථක විය හැකිද යන්න පිළිබඳව නිගමනයකට එළඹෙනු ඇත. පසුව සංගතවලට විකුණනු ලැබේ.

අවසාන ප්රතිඵලය කිසිවෙකු උනන්දු නොවනු ඇත. මීට වසර විස්සකට පෙර, සමහර විට, මම උනන්දු වනු ඇත, නමුත් දැන් ප්රශ්න වෙනස් ලෙස ඉදිරිපත් කර ඇත: ඉදිරි වසර දහය තුළ ඇතැම් පුද්ගලයින්ට රැකියා ලබා දීම සඳහා මෙය ප්රවර්ධනය කළ හැකිද? තවද, අහෝ, අවසාන ප්රතිඵලය ගැන පුදුම වීම සිරිතක් නොවේ.

පොදුවේ ගත් කල, ඔබේ ගොනු පද්ධතිය මුල සිටම ප්‍රතිනිර්මාණය කිරීම ආරම්භ කිරීමට එරෙහිව මම දැඩි ලෙස උපදෙස් දෙමි. මක්නිසාද යත් වසර දහයකින් තරඟකාරී දෙයක් ලබා ගැනීමට සැලකිය යුතු මූල්‍ය ආයෝජන පවා ප්‍රමාණවත් නොවන බැවිනි. ඇත්ත වශයෙන්ම, මම කතා කරන්නේ බරපතල ව්යාපෘති ගැන මිස කර්නලයට "තල්ලු" කිරීමට අදහස් කරන ඒවා ගැන නොවේ. එබැවින්, ඔබේ අදහස් ප්‍රකාශ කිරීමට වඩාත් ඵලදායී ක්‍රමයක් වන්නේ අප වැනි සැබෑ වර්ධනයන්ට සම්බන්ධ වීමයි. ඇත්ත වශයෙන්ම, මෙය කිරීම පහසු නැත - නමුත් ඕනෑම ඉහළ මට්ටමේ ව්‍යාපෘතියක තත්වය මෙයයි.

පළමුව, මම ඉදිරිපත් කරන ගැටලුව ස්වාධීනව ජය ගැනීමට ඔබට අවශ්ය වනු ඇත. ඉන් පසුව, ඔබේ අභිප්රායවල බරපතලකම ගැන ඒත්තු ගැන්වී, මම උදව් කිරීමට පටන් ගනිමි. සාම්ප්‍රදායිකව, අපි භාවිතා කරන්නේ අපගේම වර්ධනයන් පමණි. ව්යතිරේක යනු සම්පීඩන ඇල්ගොරිතම සහ සමහර හෑෂ් කාර්යයන් වේ. අපි සම්මන්ත්‍රණවලට ගමන් කිරීමට සංවර්ධකයින් යවන්නේ නැත, පසුව අපි බොහෝ ආරම්භකවල සිරිතක් ලෙස වාඩි වී වෙනත් පුද්ගලයින්ගේ අදහස් ("සමහර විට කුමක් සිදුවේද") ඒකාබද්ධ නොකරමු.

අපි සියලුම ඇල්ගොරිතම අප විසින්ම සංවර්ධනය කරමු. මම දැනට දත්ත ගබඩා කිරීමේ විද්‍යාවේ වීජීය සහ සංයුක්ත අංශ ගැන උනන්දු වෙමි. විශේෂයෙන්ම, සීමිත ක්ෂේත්ර, අසමමිතික, අසමානතාවයන් පිළිබඳ සාක්ෂි. සාමාන්‍ය ක්‍රමලේඛකයින් සඳහා ද වැඩ ඇත, නමුත් මම ඔබට වහාම අනතුරු ඇඟවිය යුතුය: “වෙනත් FS එකක් දෙස බලා එයම කරන්න” යන සියලු යෝජනා නොසලකා හරිනු ලැබේ. VFS හරහා ලිනක්ස් සමඟ සමීපව ඒකාබද්ධ කිරීම ඉලක්ක කරගත් පැච් ද එහි යයි.

එබැවින්, අපට පෝරකයක් නැත, නමුත් අප ගමන් කළ යුත්තේ කොතැනද යන්න පිළිබඳව අපට අවබෝධයක් ඇති අතර, මෙම දිශාව නිවැරදි එකක් බවට අපට විශ්වාසයක් ඇත. මෙම අවබෝධය ස්වර්ගයෙන් මන්නා ස්වරූපයෙන් පැමිණියේ නැත. මුල සිටම ලියා ඇති ගොනු පද්ධති දෙකක් අප පිටුපස වසර 29 ක සංවර්ධන අත්දැකීම් ඇති බව මම ඔබට මතක් කරමි. සහ එම දත්ත ප්‍රතිසාධන උපයෝගිතා සංඛ්‍යාව. සහ මෙය ගොඩක්!

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න