顯示具有 檔案系統 標籤的文章。 顯示所有文章
顯示具有 檔案系統 標籤的文章。 顯示所有文章

2008年1月1日 星期二

分割區的管理

分割區的管理其實就是 fdisk 指令的應用,講起來很簡單,但這只是了解 Linux 檔案系統的其中一步而已,以下一個易搞混的例子來說,fdsik -l,mount,df 所顯示資訊的差異,這三個指令顯示的內容有類似的資訊,但事實上完全是兩碼事。
bang@linuxdiary:~$ fdisk -l

Disk /dev/sda: 164.6 GB, 164696555520 bytes
255 heads, 63 sectors/track, 20023 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 144 1052257+ 82 Linux swap
/dev/sda3 145 20023 159678067+ 83 Linux

bang@linuxdiary:~$ mount
/dev/sda3 on / type ext3 (rw)
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/sda1 on /boot type ext3 (rw)
none on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

bang@linuxdiary:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 157171140 130211572 18975668 88% /
/dev/sda1 101086 11071 84796 12% /boot
none 252752 0 252752 0% /dev/shm
注意
在參考書中,或 man page 中常常遇到,也容易搞混的一個名詞 Filesystem「檔案系統」,此 名詞有兩種不同的意思:一,檔案與目錄在硬碟(或其它儲存裝置)上的具體組織方法,簡單的說就是分割區類型 (partition type)。二,儲存裝置內容的組織結構,意即目錄樹 (directory tree),也可以說將分割區掛載後的目錄結構。
二的解釋是大家熟悉的檔案系統說明,但也許有人會質疑一的說明,認為分割區就分割區,檔案系統就檔案系統,但如果你去 man 一下 filesystem 就會發現在 man page 中,Filesystem 的意義多為一的解釋。
劃分分割區的注意事項
  • 雖然系統可規劃多個分割區,但系統必須在掛載 「/」根目錄的分割區完成開機作業,因此「/bin/」,「/sbin/」,「/etc/」,「/lib/」,「/dev/」此五個目錄必須與根目錄配置於同一分割區。
  • 若硬碟容量有限,建議容量最大的分割區分配給「/user/」使用。
  • 「/root/」,「/home/」為選擇建立 (optional) 的目錄,若硬碟空間不足,可不建立。
  • 「/」,「/var」,「/tmp」,「/usr」,「/usr/local」,「/opt」,「/home」分別配置在不同的獨立分割區,可提高存取效能,增加備份的便利性。

2007年9月25日 星期二

Linux 裝置的命名方式

硬碟分割區簡單說明:

Linux中,硬碟分割區(Partition)包含
  • Primary 主要分割區 (編號1-4)
  • Extended 延伸分割區
    • Logical 分割區 (編號5-15)
  • swap 分割區 (交換空間)
限制
  • 主要分割區+延伸分割區的數目小於等於四 (P+E<=4)
  • 延伸分割區的數目小於等於一 (意即最多一個)
  • 分割至少存在一個主要分割區或延伸分割區
  • 最多可用分割區 3(主要)+11(邏輯)=14 (個)

Linux 中的裝置

在 Linux 中,裝置可被表現成裝置檔案,這些虛造的檔案被放置於 /dev 中,以下有些範例:
root@linuxdiary:/dev# ls -al
brw-rw---- 1 root disk 3, 0 2007-09-25 22:23 hda
brw-rw---- 1 root disk 8, 0 2007-09-25 22:23 sda
crw------- 1 root tty 4, 64 2007-09-25 22:23 ttyS0
由之前文章可知 c 為 Character Device 字元裝置,b 為 Block Device 區塊裝置,在 Linux
中所有硬碟都以區塊裝置表示。

裝置檔案的命名規則

以下來到了正題,hda 是怎麼來的。命名規則:
以一般狀況來說,IDE 驅動控制的名稱通常為 /dev/hda 至 /dev/hdd,(如:硬碟A /dev/hda
代表第一顆磁碟,硬碟C /dev/hdc 代表第三顆磁碟),詳細說明如下表

磁碟名稱磁碟控制磁碟順序
/dev/hdaIDE0Master
/dev/hdbIDE0Slave
/dev/hdcIDE1
Master
/dev/hddIDE1
Slave

以一般的個人電腦而言,一個IDE 控制器可裝設兩顆磁碟,舉例來說 /dev/hda 即為第一個磁碟
裝在第一個 IDE 控制器,/dev/hdd 代表第二個磁碟裝在第二個 IDE 控制器。
那分割區呢?通常,一旦硬碟被分割,分割區會以數字的方式附加在磁碟名稱後面,舉例來說,
第二個磁碟的第二個分割區會命名為 /dev/hdb2,詳細如下:

磁碟名稱磁碟控制磁碟順序
分割區形式分割區號碼
/dev/hda1IDE0Masterprimary1
/dev/hda2IDE0Masterprimary2
/dev/hda3IDE0Masterprimary3
/dev/hda4IDE0MasterswapNA
/dev/hdb1IDE0Slaveprimary1
/dev/hdb2IDE0Slaveprimary2
/dev/hdb3IDE0Slaveprimary3
/dev/hdb4IDE0Slaveprimary4

磁碟分割表預留4個位置(hda1~4)給主要分割區與延伸分割區,第五個之後
為邏輯分割區(hda5~...)

SCSI的命名規則


SCSI (Small Cumpter System Interface)介面的磁碟也遵循之前所述的命名規則,只是以 sd
代替 hd。但對 Linux 而言, sd 不是單只 SCSI 磁碟,凡是支援熱插拔 (Hot Swap)的硬體,
皆屬於 sd 系列,如 USB 隨身碟,SATA 硬碟等等都以 sd 命名,以下上列表:

磁碟名稱磁碟控制磁碟順序分割區形式分割區號碼
/dev/sda116primary1
/dev/sda216primary2
/dev/sda316primary3

(磁碟控制,磁碟順序的號碼是任意填上的,不必也不要跟著這樣設定)