歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

Linux硬盤分區注意事項 Partition與檔案系統管理

  本篇文章主要描述了Linux硬盤分區的過程,及其為何這樣分區的原理。

  文件系統重點:inode(索引節點),block(邏輯區塊),superblock(每個檔案系統開始的位置的那個block,用於存儲像是檔案系統的大小,空的或填滿的區塊,以及它各自的總數等等信息)

  磁盤的物理組成:

  圓形的磁盤盤

  機械手臂,與在機械手臂上的磁盤讀取頭(可擦寫磁盤盤上的數據)

  主軸馬達,可以轉動磁盤盤,讓機械手臂的讀取頭在磁盤盤上讀寫數據

  磁盤盤的物理組成:

  扇區(sector)為最小的物理儲存單位,每個扇區為512bytes

  將扇區組成一個圓,那就是磁柱,磁柱是分區的最小單位

  第一個扇區最重要,裡面有mbr(主要開機區)及分割表,其中mbr占有446bytes,而分區表則占有64bytes

  磁盤分區:指定分區的起始與結束磁柱

  分區的磁柱范圍記錄在第一個扇區的分割表中

  Inode:存放權限與屬性,有:

  1.該檔案的擁有者與群組(owner/group);

  2. 該檔案的存取模式(read/write/excute);

  3. 該檔案的類型(type);

  4. 該檔案建立或狀態改變的時間(ctime)、近一次的讀取時間(atime)、近修改的時間(mtime);

  5. 該檔案的容量;

  6.定義檔案特性的旗標(flag),如 SetUID...;

  7. 該檔案真正內容的指向 (pointer);

  Data block:存放實際數據

  Superblock:記錄整個文件系統的整體信息,包括inode與block的總量,使用量,剩余量等

  由於ext2是索引式文件系統,通常情況下不需要常常進行碎片整理

  如果硬盤文件系統高達數百gb,將所有的inode與block通通放置在一起將是很不智的決定,因為inode與block的數量太龐大,不容易管理;因此ext2文件系統在格式化的時候基本上是區分為多個區塊群組(block group)的,每個區塊群組都有獨立的inode/block/superblock系統

  一個文件系統僅有一個superblock;除了第一個block group內會含有superblock之外,後續的block group不一定含有superblock,而若含有superblock則該superblock主要是作為第一個block group內superblock的備份,可以進行superblock的救援

  Dumpe2fs /dev/hda2:查看hda2分區與superblock的信息

  目錄並不只會占用一個block而已,就是說:在目錄底下的檔案數如果太多而導致一個block無法容納下所有的檔名與inode對照表時,linux會給予該目錄多一個block來繼續記錄先關的數據

  如果檔案太過離散,可以將文件系統內的數據全部復制出來,然後將文件系統重新格式化,再講數據復制回去就可以解決問題

  日志式文件系統:ext3:

  預備:當系統要寫入一個檔案是,會現在日志記錄區塊中記錄某個檔案准備要寫入的信息

  實際寫入:開始寫入當時的權限與數據;開始更新metadata的數據

  結束:完成數據域metadata的更新後,在日志記錄區塊當中完成該檔案的記錄

  當文件系統出現不一致的情況後,系統只需要去檢查日志記錄區塊,就可以找到異常的檔案,然後針對該檔案進行一致性檢查即可,而不必針對整塊filesystem去檢查,達到快速修復filesystem的能力

  常見的支持文件系統有:

  傳統文件系統:ext2,mimix,ms-dos,fat(用vfat模塊),iso9660(光盤)等等

  日志式文件系統:ext3,reiserfs,windows’sntfs,ibm’s jfs,sgi’s xfs

  網絡文件系統:nfs,smbfs

  Linux的標准文件系統是ext2

  查看linux支持的文件系統:ll /lib/modules/$(uname -r)/kernel/fs

  查看系統目前已加載到內存中支持的文件系統:cat /proc/filesystems

  硬連結(不能跨filesystem,不能link目錄):通過文件系統的inode連結來產生新檔名,而不是產生新檔案

  軟連結:相當於windows下的快捷方式

  建立連結文件:Ln [-sf] 源文件目標文件

  Linux重新分區後,可能需要重新啟動來更新核心的分割表;在不重啟的情況下,也可以通過下面的命令來執行:partprobe;partprobe的作用是高職核心必須要讀取新的分割表而已

  硬盤分區時,最好在單人維護模式下比較安全一些;在進行fdisk的時候,如果該硬盤的某個partition還在用當中,那麼很有可能使系統核心無法重載硬盤的partition table,解決的方法是敬愛那個該使用中的partition給卸除,然後再重新進入fdisk一遍,重新寫入partition table,就可以成功了。

  以上便是Linux硬盤分區注意事項及操作步驟,希望能幫助到大家,謝謝。

Copyright © Linux教程網 All Rights Reserved