Linux 硬碟佈局的設計
3 min readFeb 28, 2019
掛載點
在能夠存取儲存裝置上所建的各個檔案系統分割區之前,必須先將他們列在一個檔案系統表,這程序稱為「掛載」(mounting),而你要掛載的目錄稱為「掛載點」(mount point),要掛載點的目錄必須先用 mkdir 建好。
超級區塊
超級區塊是個檔案系統上一塊含有關於檔案系統的中介資訊的特殊區塊。
MBR
主開機紀錄(master boot record),是關於磁碟分割區的資訊,其作用是起動作業系統的載入程式,在一般 PC 上,MBR 是位於硬碟的第一個磁區,而且大小剛好是 512 bytes,如果需要將 MBR 備份下來可以用這個指令
$ dd if=/dev/hda of=~/mdr.bin count=1 bs=512
備份
最常用來備份分割區或整顆硬碟的工具是 dd,需要兩個參數,輸入來源的 if=,輸出目的 of=
# 把 /dev/sda 整顆硬碟的內容拷貝到 /dev/sdb
$ dd if=/dev/sda of=/dev/sdb # 製作某個分割區的映像檔,目的空間必須大於原本分割區
$ dd if=/dev/sda1 of=/backup/sda1.image # 備份磁碟分割表
$ sfdisk -d /dev/sda > partition_backup.txt # 還原磁碟分割表
$ sfdisk /dev/sda < partition_backup.txt
交換空間
在安裝過程中,有一步驟是決定 swap 分割區的容量與位置,專供作業系統暫時儲存主記憶體的容量,這種措施讓核心可同時執行比主記憶體容量更多的行程。
系統角色
系統擔任的角色也會影響磁碟佈局,通常會有一個 NFS 檔案伺服器,讓大部分工作站不必要有自己的執行檔,可以節省相當可觀的磁碟空間,管理者也不必頭痛如何將更新版的程式分別安裝到每一部工作站。
一般準則
- 盡量使根檔案系統(/)越單純越好
- 在磁碟開頭處(至少1024-cylinder之前)劃分一個小小的分割區給 /boot
- 將 /var 獨立出來,給他足夠空間容量必須保存的日誌檔
- 將 /tmp 獨立出來,其容量依所要使用的應用程式之需求而定
- 將 /usr 獨立出來,其容量要大到足以應付重建核心的過程,使得其他工作站可透過 read-only NFS 共用此檔案系統
- 多人使用的系統,將 /home 獨立出來,如果用戶數量過大,應該將它放在一個磁碟陣列,並且使用 LVM
- 讓 swap 空間至少和主記憶體容量一樣大