1. 程式人生 > >linux下的磁盤管理

linux下的磁盤管理

磁盤管理 文件系統 掛載

前言:本文記錄筆者在學習linux下磁盤管理時的總結,僅做學習記錄使用。

要想了解linux下的磁盤管理方式,首先,得對硬盤及linux下硬盤的表述方式有個清晰的了解,下面來介紹一下linux下對硬盤的表述方式。

1、關於硬盤?
硬盤一般分為IDE硬盤、SCSI硬盤和SATA硬盤(串口硬盤)。現如今使用大多硬盤為SCSI和SATA硬盤。
2、Linux下對硬盤及其分區的表述是怎樣的呢?
(1)在linux下,IDE接口的設備被稱為hd,SCSI和SATA接口的設備則被稱為sd。(現如今用的是SCSI或者SATA接口的硬盤,所以一般為sd)
(2)所以,第1塊硬盤被稱作sda,第2塊被稱作sdb,以此類推。

(3)linux規定,一塊硬盤上只能存在4個主分區,分別被命名為sda1、sda2、sda3和sda4。邏輯分區則從5開始標識,每多一個邏輯分區,就在末尾的分區號上加1。邏輯分區沒有數量限制。
3、硬盤的存儲原理是怎樣的呢?
從存儲原理上說,硬盤和磁帶是一樣的,硬盤內部是幾個疊在一起的磁性盤片,讀取數據的時候,盤片以恒定的速度旋轉,邊上有一個小磁頭進行讀取和寫入。磁頭通過改變盤片上磁性物質的排列來寫入數據。值得註意的是,磁頭在讀寫數據的時候並不接觸盤面,而是懸浮在距離盤片表面非常近的地方。如果因為某些原因,磁頭接觸到了盤片,那麽就會產生破壞性的後果,這也是為什麽不能在運行時搬動主機的一個原因。

在介紹完了硬盤之後,我們來了解一下文件系統。

4、什麽是文件系統?
文件系統是一種對物理空間的組織方式,通常在格式化硬盤時創建。例如怎樣存儲一個文件?怎樣表示一個目錄?怎樣知道某個特定的文件存儲在硬盤的哪個位置?這些問題都可以通過文件系統來解決。
5、常見的文件系統有哪些?
(1)Windows下,常見的有NTFS和FAT兩種文件系統。
(2)linux下,現主流的文件系統為ext4fs和ReiserFS文件系統,這兩者都是日誌文件系統。當然linux下還有minix、ext2、ext3等文件系統。
(3)ext4fs文件系統是在ext3fs文件系統的基礎上,增加了日誌功能。ext4fs文件系統預留了一塊專門的區域來保存日誌文件,當對文件進行寫操作時,所作的修改將首先寫入日誌文件,隨後在寫入一條記錄標記日誌項的結束。完成以上操作後,才會對文件系統作實際的修改。這樣,當系統奔潰後,就可以利用日誌恢復文件系統。避免了數據的丟失。

6、關於swap(交換分區)。
(1)swap並不是文件系統,它被稱為交換分區,是一塊特殊的硬盤空間。當實際內存不夠用的時候,操作系統會從內存中取出一部分暫時不用的數據,放在交換分區中,從而為當前運行的程序騰出足夠的內存空間。
(2)這種方式的優點在於,通過操作系統的調度,應用程序實際可以使用的內存空間將遠遠超過系統的物理內存。
(3)硬盤空間的價格比RAM低的多,因此這種方式是非常經濟和實惠的。
(4)頻繁的讀寫硬盤會顯著降低系統的運行速度,這是使用交換分區最大的限制。

了解了文件系統之後,我們還需要了解一下linux下設備的表示方法,然後就可以對設備(文件系統)進行掛載了。

7、linux下設備是怎麽表示的呢?
(1)linux下所有的設備都被當做文件來操作。每個設備都被映射成為一個特殊的文件,稱為“設備文件”。
(2)這些設備文件被放在根目錄的dev目錄下面。即/dev。
(3)其中,這些文件大部分是塊設備文件和字符設備文件。塊設備文件可以隨機讀寫,字符設備文件只能按照順序接收“字符流”。
8、使用mount命令對設備進行掛載:
(1)首先,為要掛載的設備新建一個目標目錄。我們將設備掛載在這個目標目錄下。
(2)使用mount命令對設備進行掛載。格式為:mount [可選項] 設備 目標目錄。這條命令將設備掛載在目標目錄下,掛載成功後,我們就可以在該目標目錄下讀取到設備有關的文件了。例如,在電腦上插入光盤,對光盤進行手動掛載,掛載在我們指定的目錄(/mnt/cdrom)下,可以使用如下指令:
sudo mkdir /mnt/cdrom ##新建一個目標目錄
sudo mount /dev/cdrom /mnt/cdrom ##掛載光盤到目錄/mnt/cdrom下
(3)我們可以-t可選項指明要掛載設備的文件系統類型。
常用文件系統的表示:
ext2:表示linux的ext2文件系統。
ext3: 表示linux的ext3文件系統。
ext4: 表示linux的ext4文件系統。
vfat: 表示windows的FAT16/FAT32文件系統。
ntfs: 表示windows的NTFS文件系統。
iso9660: 表示CD-ROM光盤的標準文件系統。
如果不指名類型,mount會自動檢測設備上的文件系統,並以相應的類型進行掛載。因此大多數情況下,-t選項不是必要的。
(4)可選項-r指定以只讀模式掛載設備。
(5)可選項-w以可讀寫模式掛載設備。-w為默認選項。
(6)關於mount的其他用法請參考手冊說明。
9、使用umount對設備進行卸載:
(1)使用umount對設備進行卸載很簡單,只需要在後面跟上一個設備名即可。例如,對光盤進行卸載:umount /dev/cdrom。
(2)值得註意的是,文件系統(設備)只有在沒有被使用的情況下才可以被卸載。在當前目錄是被掛載設備所在的目錄時,即便沒有對設備作任何的讀寫,卸載也是不允許的。
10、查看磁盤使用情況:df。
(1)df命令會收集和整理當前已經掛載的全部文件系統的一些重要統計數據。可以使用df查看當前磁盤上所有掛載的設備(文件系統)。
(2)df的-t參數用於顯示特定的文件系統。
11、檢查和修復文件系統:fsck。
(1)fsck可以對文件系統發生的小異常進行快速修復,並將日誌回滾到上一次正常的狀態中,fsck接收分區編號來指定需要檢查的文件系統。
(2)帶有-p選項的fsck命令會讀取fstab文件來確定檢查哪些文件系統,並通過每一條記錄最後一個字段所指定的順序,對文件系統按照數字的升序進行檢查。
12、使用mkfs在磁盤上建立文件系統。
(1)mkfs本身並不執行建立文件系統的工作,而是調用相關的程序,如mkdosfs、mke2fs、mkfs.minix等,對磁盤進行格式化。
(2)使用-t參數指定文件系統,mkfs會調用特定的程序對磁盤進行格式化。
常用的文件系統:
minix: linux最早期使用的文件系統。
ext3: ext3文件系統。
ext4: ext4文件系統。(默認)
mkdos: FAT文件系統。

linux下的磁盤管理