Linux Kernel 6.2 Btrfs இல் RAID5/6 மேம்பாடுகளை உள்ளடக்கும்

RAID 6.2/5 செயலாக்கத்தில் உள்ள "எழுது துளை" சிக்கலை சரிசெய்ய லினக்ஸ் 6 கர்னலில் சேர்க்க Btrfs மேம்பாடுகள் முன்மொழியப்பட்டுள்ளன. சிக்கலின் சாராம்சம், பதிவின் போது ஒரு செயலிழப்பு ஏற்பட்டால், எந்த RAID சாதனங்களில் எந்த தொகுதி சரியாக எழுதப்பட்டது, எந்த பதிவு முடிக்கப்படவில்லை என்பதை ஆரம்பத்தில் புரிந்து கொள்ள முடியாது. இந்த சூழ்நிலையில் நீங்கள் ஒரு RAID ஐ மீண்டும் உருவாக்க முயற்சித்தால், RAID தொகுதிகளின் நிலை ஒத்திசைக்கப்படாமல் இருப்பதால், எழுதப்பட்ட தொகுதிகளுடன் தொடர்புடைய தொகுதிகள் சிதைக்கப்படலாம். இந்தச் சிக்கல் எந்த RAID1/5/6 வரிசைகளிலும் ஏற்படுகிறது, இந்த விளைவை எதிர்த்துப் போராட சிறப்பு நடவடிக்கைகள் எடுக்கப்படவில்லை.

btrfs இல் RAID1 போன்ற ஒரு RAID செயலாக்கத்தில், இரண்டு நகல்களிலும் செக்சம்களைப் பயன்படுத்துவதன் மூலம் இந்தச் சிக்கல் தீர்க்கப்படுகிறது, பொருந்தாமை இருந்தால், தரவு இரண்டாவது நகலில் இருந்து மீட்டமைக்கப்படும். சில சாதனங்கள் முழுமையான தோல்விக்குப் பதிலாக தவறான தரவை வழங்கத் தொடங்கினால் இந்த அணுகுமுறையும் செயல்படும்.

இருப்பினும், RAID5/6 ஐப் பொறுத்தவரை, கோப்பு முறைமை சமநிலைத் தொகுதிகளுக்கான செக்சம்களை சேமிக்காது: ஒரு சாதாரண சூழ்நிலையில், அவை அனைத்தும் ஒரு செக்சம் பொருத்தப்பட்டிருப்பதன் மூலம் தொகுதிகளின் சரியான தன்மை சரிபார்க்கப்படுகிறது, மேலும் பாரிட்டி பிளாக் முடியும் தரவுகளிலிருந்து மீண்டும் உருவாக்கப்படும். இருப்பினும், பகுதி பதிவு விஷயத்தில், இந்த அணுகுமுறை சில சூழ்நிலைகளில் வேலை செய்யாது. இந்த வழக்கில், வரிசையை மீட்டமைக்கும்போது, ​​முழுமையற்ற பதிவின் கீழ் விழுந்த தொகுதிகள் தவறாக மீட்டமைக்கப்படும்.

btrfs விஷயத்தில், உருவாக்கப்படும் எழுத்து பட்டையை விட சிறியதாக இருந்தால் இந்த சிக்கல் மிகவும் பொருத்தமானது. இந்த வழக்கில், கோப்பு முறைமை படிக்க-மாற்ற-எழுத (RMW) செயல்பாட்டைச் செய்ய வேண்டும். அது எழுதும் செயலில் உள்ள தொகுதிகளை எதிர்கொண்டால், RMW செயல்பாடு செக்சம்களைப் பொருட்படுத்தாமல், கண்டறியப்படாத ஊழல்களை ஏற்படுத்தலாம். டெவலப்பர்கள் மாற்றங்களைச் செய்துள்ளனர், இதில் RMW செயல்பாடு இந்தச் செயல்பாட்டைச் செய்வதற்கு முன் தொகுதிகளின் செக்சம் சரிபார்க்கிறது, மேலும் தேவைப்பட்டால், தரவு மீட்டெடுப்பு எழுத்துக்குப் பிறகு செக்சம் சோதனையையும் செய்கிறது. துரதிர்ஷ்டவசமாக, ஒரு முழுமையற்ற பட்டை (RMW) எழுதும் சூழ்நிலையில், இது செக்சம்களை கணக்கிடுவதற்கு கூடுதல் மேல்நிலைக்கு வழிவகுக்கிறது, ஆனால் நம்பகத்தன்மையை கணிசமாக அதிகரிக்கிறது. RAID6 க்கு, அத்தகைய தர்க்கம் இன்னும் தயாராக இல்லை, இருப்பினும், RAID6 இல் இதுபோன்ற தோல்விக்கு, 2 சாதனங்களில் ஒரே நேரத்தில் எழுதுதல் தோல்வியடைவது அவசியம், இது குறைவாக இருக்கும்.

கூடுதலாக, டெவலப்பர்களிடமிருந்து RAID5 / 6 ஐப் பயன்படுத்துவதற்கான பரிந்துரைகளை நாம் கவனிக்கலாம், இதன் சாராம்சம் Btrfs இல் மெட்டாடேட்டா மற்றும் தரவை சேமிப்பதற்கான சுயவிவரம் வேறுபடலாம். இந்த வழக்கில், நீங்கள் மெட்டாடேட்டாவிற்கு RAID1 (கண்ணாடி) அல்லது RAID1C3 (3 பிரதிகள்) சுயவிவரத்தையும், தரவுகளுக்கு RAID5 அல்லது RAID6 ஐயும் பயன்படுத்தலாம். இது மெட்டாடேட்டாவின் நம்பகமான பாதுகாப்பையும் ஒருபுறம் "எழுது துளை" இல்லாததையும் உறுதிசெய்கிறது, மறுபுறம் RAID5/6 க்கு பொதுவான இடத்தை மிகவும் திறமையாக பயன்படுத்துகிறது. இது மெட்டாடேட்டாவில் ஊழலைத் தவிர்க்கிறது, மேலும் தரவுச் சிதைவைச் சரிசெய்ய முடியும்.

6.2 கர்னலில் உள்ள Btrfs இல் உள்ள SSD களுக்கு, "டிஸ்கார்ட்" செயல்பாட்டின் ஒத்திசைவற்ற செயலாக்கம் (இனி உடல் ரீதியாக சேமிக்க முடியாத விடுவிக்கப்பட்ட தொகுதிகளைக் குறிப்பது) முன்னிருப்பாக செயல்படுத்தப்படும் என்பதையும் கவனத்தில் கொள்ளலாம். இந்த பயன்முறையின் நன்மை என்னவென்றால், வரிசையிலுள்ள "நிராகரிப்பு" செயல்பாடுகளின் திறமையான தொகுத்தல் மற்றும் பின்னணி கையாளுநரால் வரிசையை மேலும் செயலாக்குதல் ஆகியவற்றின் காரணமாக அதிக செயல்திறன் உள்ளது. தொகுதிகள் விடுவிக்கப்படுவதால் நிராகரிக்கவும், மேலும் SSD சிறந்த முடிவுகளை எடுக்க முடியும். மறுபுறம், நீங்கள் இனி fstrim போன்ற பயன்பாடுகளைப் பயன்படுத்த வேண்டியதில்லை, ஏனெனில் கூடுதல் ஸ்கேனிங் தேவையில்லாமல் மற்றும் செயல்பாடுகளை மெதுவாக்காமல் FS இல் உள்ள அனைத்து தொகுதிகளும் அழிக்கப்படும்.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்