கர்னலில் BTRFS இருப்பு பிழை 5.14.x

Karnalil Btrfs Iruppu Pilai 5 14 X



கர்னல் 5.14.x இல் ஒரு பிழை உள்ளது, இது மெட்டாடேட்டா சுயவிவரத்தை மாற்றும் போது btrfs கோப்பு முறைமை படிக்க மட்டுமே செல்லும். ஒற்றை செய்ய ஏமாற்று . கோப்பு முறைமை படிக்க-மட்டும் நிலைக்கு செல்கிறது. இந்தச் சிக்கலைத் தீர்ப்பதற்கு வழக்கத்திற்கு மாறான திருத்தம் தேவைப்படுகிறது.

BTRFS சுயவிவரங்கள் பற்றி

btrfs இன் சிறந்த அம்சங்களில் ஒன்று வெவ்வேறு ரெய்டு சுயவிவரங்களைப் பயன்படுத்தும் திறன் ஆகும். btrfs தரவு மற்றும் மெட்டாடேட்டாவை தனித்தனியாக சேமித்து வைப்பதால், நீங்கள் வட்டுகள் முழுவதும் தரவை raid0 என பட்டை தீட்டலாம் மற்றும் அனைத்து மெட்டாடேட்டாவையும் raid1 ஆக பிரதிபலிக்கலாம். மெட்டாடேட்டாவில் இந்த பணிநீக்கம் சிறிது கூடுதல் இடத்தை எடுக்கும். இது btrfs raid0 அமைப்புகளில் பரிந்துரைக்கப்படுகிறது.

மெட்டாடேட்டாவை ஒரு வட்டில் கூட நகலெடுக்க எப்போதும் பரிந்துரைக்கப்படுகிறது, ஏனெனில் மெட்டாடேட்டாவை இழப்பது என்பது தரவையும் இழப்பதாகும்.







Btrfs ஒரு நேரடி அமைப்பில் ஒரு ரெய்டு சுயவிவரத்தை மாற்ற முடியும், தரவு மற்றும் மெட்டாடேட்டாவை பணிநீக்கத்தை வழங்க (அல்லது அகற்ற) மாற்றுகிறது. இது ஒரு உடன் நிகழ்கிறது சமநிலை . ஒரு btrfs இருப்பு அனைத்து கோப்பு முறைமையின் தொகுதிகளையும் மீண்டும் எழுதுகிறது மற்றும் புதிய சுயவிவரங்களுடன் பொருந்துமாறு சரிசெய்கிறது.



பிழை

எனது ஒற்றை வட்டில் உள்ள மெட்டாடேட்டா சுயவிவரத்தை மாற்ற முயற்சித்தேன் ஒற்றை செய்ய ஏமாற்று பணிநீக்கத்திற்காக.



$ சூடோ btrfs இருப்பு ஆரம்பம் -mconvert = ஏமாற்று / mnt





கோப்பு முறைமை உடனடியாக படிக்க-மட்டும் நிலைக்குச் சென்றது. அமைப்பு செயலிழந்தது. அது மறுதொடக்கம் செய்யப்பட்டபோது, ​​​​மீண்டும் initramfs ஐ என்னால் கடக்க முடியவில்லை. வட்டில் எந்த தரவையும் எழுத முடியவில்லை.

btrfs கோப்பு முறைமையில் இருப்புச் செயல்பாடு குறுக்கிடப்பட்டால், அடுத்த முறை கோப்பு முறைமை ஏற்றப்படும் போது அது தானாகவே மீண்டும் தொடங்கும். இதை வழக்கமாக நிறுத்தலாம்:



$ சூடோ ஏற்ற -ஓ skip_balance,rw / dev / sdX / mnt

பின்னர், பின்வரும் கட்டளையைப் பயன்படுத்தி தேவைப்பட்டால் ரத்துசெய்க:

$ சூடோ btrfs இருப்பு ரத்து / mnt

இருப்பினும், பிழை சமநிலையை முடக்கியது மட்டுமல்லாமல், அதைத் தொடர்வதை நிறுத்துவதற்கான மவுண்ட் விருப்பங்களும் புறக்கணிக்கப்பட்டன. ஒவ்வொரு முறையும் கோப்பு முறைமை ஏற்றப்படும் போது, ​​இருப்பு மீண்டும் தொடங்க முயற்சிக்கிறது. இது தோல்வியுற்றது மற்றும் கோப்பு முறைமை படிக்க மட்டும் சென்றது. இதை நீங்கள் சந்தித்தால், பழைய கர்னலைப் பயன்படுத்தி எந்த டிஸ்ட்ரோவையும் துவக்க வேண்டும். என் விஷயத்தில், அது 4.18 உடன் ஆர்ச்.

பழைய கெனலுடன் கோப்பு முறைமையை ஏற்றவும்:

$ சூடோ ஏற்ற -ஓ skip_balance,rw / dev / sdX / mnt

இருப்பை ரத்து செய்:

$ சூடோ btrfs இருப்பு ரத்து / mnt

சமநிலையை மீண்டும் செய்யவும்:

$ சூடோ btrfs இருப்பு ஆரம்பம் -mconvert = ஏமாற்று / mnt

இருப்பு முடிந்ததும், நீங்கள் பாதுகாப்பாக புதிய கர்னலில் துவக்கலாம், இப்போது கோப்பு முறைமையில் நகல் மெட்டாடேட்டாவுடன். கோப்பு முறைமையால் பயன்படுத்தப்படும் சுயவிவரங்களைச் சரிபார்க்கவும். நீங்கள் கோப்பு முறைமையின் மெட்டாடேட்டாவின் இரண்டு நகல்களையும் தரவின் ஒரே ஒரு நகலையும் வைத்திருப்பதைக் காண்பீர்கள்:

$ சூடோ btrfs இரு பயன்பாடு < மலைப்பகுதி >

முடிவுரை

Btrfs என்பது பல மேம்பட்ட விருப்பங்களைக் கொண்ட ஒரு அற்புதமான கோப்பு முறைமையாகும். இருப்பினும், btrfs ஐப் பயன்படுத்தும் போது, ​​நீங்கள் வேலை செய்யும் காப்புப்பிரதிகள் மற்றும் கணினி மீட்புக்காக LTS டிஸ்ட்ரோவிலிருந்து துவக்கக்கூடிய கர்னலை வைத்திருக்க வேண்டும். ஏற்றப்பட்ட ரூட் கோப்பு முறைமையில் சமநிலையை இயக்க முடியும் என்றாலும், இதைச் செய்ய எப்போதும் அறிவுறுத்தப்படுவதில்லை. கோப்பு முறைமையில் இன்னும் பல பிழைகள் உள்ளன. btrfs தொகுதி இரத்தப்போக்கு-முனை கர்னல்களுக்கு எதிராக முழுமையாக சோதிக்கப்படாதபோது, ​​கோப்பு முறைமை மீட்புக்கு நீங்கள் தயாராக இருக்க வேண்டும்.