Saturday, March 3, 2012

லினக்ஸ் கோப்பு முறைமை(Linux File System) பகுதி -2

Linux File System த்தில் என்ன இருக்கிறது?
கோப்பு முறைமை (File System) இரண்டு வகைகளாகப் பிரிக்கப்படுகிறது.
  1. User Data (பயனர் தகவல்) - பயனாளர்களினுடைய அனைத்து தகவல்களும் மற்றும் Actual Data க்களும் சேமிக்கப்படுகிறது.
  2. Meta Data(தகவலின் தகவல்) - கோப்பு முறைமையினுடைய கட்டமைப்பு தகவல்கள் சேமிக்கப்படுகிறது. super block, inodes, directories போன்றவைகள்.
  • / - Root Directory
  • /usr - பயன்பாட்டு நிரல்கள் சேமிக்கப்படுகிறது.
  • /var-log files, mails, மற்றும் மற்ற தகவல்கள் சேமிக்கப்படுகிறது.
  • /tmp- temporary files சேமிக்கப்படுகிறது.
  • /home- பயனாளர்களினுடைய அனைத்து தகவல்களும் இங்குதான் சேமிக்கப்படுகிறது.

Super Blocks என்றால் என்ன?
முதலில் Blocks என்பது என்னவென்றுப் பார்ப்போம், Block என்பது , தொடர்ச்சியாக தொகுக்கப்பட்ட Bits அல்லது Bytes களாகும். இது தகவலினை அடையாளப்படுத்தக்கூடிய அலகினை உருவாக்குகிறது.(Identifiable Unit of Data).

உதாரணமாக ஒரு 20GB HardDisk னை எடுத்துக்கொள்வோம். வட்டினுடைய மொத்த அளவும் நிறைய file system block களால் பிரிக்கப்பட்டு இருக்கும். அப்படினா Blocks எதற்காக பயன்படுத்தப் படுகிறது.

இரண்டு வெவ்வேறு வகையான பயன்பாடுகளுக்காக பயன்படுத்தப்படுகிறது.
  1. User னுடைய தகவல்கள் அல்லது கோப்புகளினை சேமிக்கப் பயன்படுகிறது(User Data)
  2. ஒவ்வொரு கோப்பு முறைமைகளிலும் சில Blocks கள் Meta Data வினை சேமித்து வைக்கப் பயன்படுகிறது.

Meta Data வானது கோப்பு முறைமையினுடைய கட்டமைப்பினை விவரிக்கிறது. பெரும்பாலான Meta Data வினுடைய கட்டமைப்புகள் super block, inode மற்றும் directories களாக இருக்கும்.

Super blocks:

ஒவ்வொரு கோப்பு முறைமையும் ஒவ்வொன்றிலிருந்தும் வேறுப்பட்டு இருக்கும். வெவ்வேறு வகையினைச் சார்ந்ததாகவும், வெவ்வேறு அளவினைக் கொண்டதாகவும் இருக்கும். உதரணமாக ஒரு File System 5GB யாக இருந்தால் மற்றொன்று 100GB யாக இருக்கும். ext2, ext3, NTFS, FAT னைப் போல.

மேலும் ஒவ்வொரு கோப்பு முறைமையும் ஒரு Super block னை கொண்டிருக்கும். இந்த Super block கள் கோப்பு முறைமையினுடைய File system type, Size, Status, meta data structure ஆகிய தகவல்களைக் கொண்டிருக்கும்.

இந்த தகவல்களில் இழப்புகள் ஏற்பட்டால் நமக்கும் தகவல் இழப்பு (Data Loss)ஏற்படும். ஏனென்றால் ஒரு கோப்பினுடைய முக்கியமான தகவல்கள் இங்கு இருக்கிறது. அதனால் லினக்ஸ் இயங்குதளமானது, ஒவ்வொரு கோப்பு முறைமையிலும் நிறைய Super block பிரதிகளை (copy) எடுத்து வைத்திருக்கும்.

இந்த பிரதி எடுக்கப்பட்ட super blocks கள் அவசரமான காலக்கட்டங்களில் உதவும். ஒருவேளை முதன்மை super blocks களை இழந்துவிட்டால் கீழ்கண்ட கட்டளையின் மூலம் நாம் பிரதி எடுக்கப்பட்ட super blocks இருக்கும் இடத்தினை தெரிந்துக் கொள்ளலாம்.

# dumpe2fs /dev/sda9 | grep -i superblock



Journaling File System என்றால் என்ன?

Ext3, Ext4, XFS, RFS ஆகியவைகள் Journaling File System வகையினைச் சார்ந்தது ஆகும். Ext3 க்கு முன்பு அதாவது Ext2 வரை கணினி ஒழுங்கமைவு இல்லாமல் நிறுத்தப்படும் அல்லது அணைக்கப்படும் பொழுது fsck கட்டளையினைக் கொண்டுதான் கோப்பினுடைய நிலைத்தன்மை சோதனை செய்யப்பட்டு கோப்புகள் மீள் அமைவு செய்யப்பட்டது.

இதை கட்டளை செயல்படுவதை Ext3 File System அறிமுகப்படுத்துவதற்கு முன்பு உள்ள கணினிகளில் பார்த்திருக்கலாம். இந்த fsck பயன்பாடானது கோப்பு முறைமையினைப் Scan செய்து ஒழுங்குப் படுத்துகிறது. இந்த ஒழுங்கு படுத்துவதில் தோல்வி ஏற்பட்டால் நமக்கு Graphical Mode கிடைக்காமல் Text Mode ல் பணிபுரியும் வாய்ப்புதான் கிடைக்கும்.

இந்த பின்னடைவுகள் அனைத்தையும் Journaling File system தகர்த்தெறிந்தது. Journaling File System எப்படி வேலை செய்கிறது என்று பார்த்தோமானால் ,

நாம் ஒரு கோப்பினை உருவாக்குகிறோம் பின்பு அதனை சேமிக்கிறோம். இந்த முறை பொதுவாக Journaling File system அல்லாத மற்ற கோப்பு முறைமைகளில் பின்பற்றப்படுகிறது. ஆனால் Journaling File System த்தில் ஒரு கோப்பானது கோப்பு முறைமையில் பதிவு செய்வதற்கு முன்பு Circular Log File -ல் ஒரு குறிப்பிட்ட இடைவெளியில் அதனுடைய மாற்றங்கள் சேமிக்கப் படுகிறது.

ஒருவேளை திடீரென்று மின்வெட்டு ஏற்பட்டு கணினி அணைக்கப்பட்டால் அந்த கோப்பினைப் பற்றிய தகவல்களை Buffer File ல் இருந்து மீட்டெடுக்கமுடியும். Journaling File System , Meta Data இழப்பினை தவிர்க்க உதவுகிறது ஆகையால் நமக்கு தகவல்களை மீட்டெடுப்பது எளிதாகிறது. லினக்ஸினுடைய கோப்பு முறைமை சிதையாமல் இருப்பதற்கு இதுவும் ஒரு காரணமாகும்.

----முற்றும்----

No comments: