搜尋此網誌
RHCE 磁碟檔案配置
DISK
在Linux中,所有的裝置是用掛載的方式連結到系統。
系統必須為裝置建立一個目錄,經由將裝置掛載(Mount)到指定的目錄上,使用者才可以存取裝置。
而這個目錄在Linux中稱為掛載點(Mount Point)。
就像貨輪上的貨物,必須停靠在港口後才可以搬運。
貨輪就是硬碟,貨物就是資料,港口就是目錄,把貨輪停靠到指定的港口就是掛載。
有別於Windows系統中硬體是以代號的方式辨識,Linux則是以目錄。
在IDE介面中,若主機板上有兩個IDE插槽,每個排線可連結到兩個IDE裝置。
則Linux會分別為這些裝置建立目錄以便於掛載。
IDE5裝置的目錄是固定的,例如只有Secordary的Master有連接裝置,目錄依舊是/dev/hdc。
而在SATA介面上,裝置目錄的命名則是以系統偵測到的順序依序而定。
例如若在SATA1、SATA5以及USB上各有一顆硬碟,則系統給予的目錄會分別為。
DISK PARTITION
跟磁碟最有關係的就是磁碟分割,而管理磁碟分割的就是MBR中的分割表(Partition Table)。
分割表紀錄分割區起始以及結束磁柱的號碼,檔案則利用分割表寫入指定的磁碟中。
分割表有64bytes,每組分割需使用16bytes,所以一個硬碟總共可以有四組分割。
分割後的磁區會以硬碟目錄檔名後面加上號碼作為區分。
以上面IDE的硬碟為例,IDE1的Master硬碟切了兩個分割區,則分別為/dev/hda1和/dev/hda2。
雖然分割表只能紀錄四組分割區,但並不代表只能有四個分割區。
分割區主要分為主要分割(Primary)、延伸分割(Extended)以及邏輯分割(Logical)。
而一個分割表中,主要分割以及延伸分割總合必小於四組。
如果使用者希望有大於四組的分割區,則必須在延伸分割區上建立邏輯分割區。
主要分割區:
主要分割區可以格式化,一個主要分割區可以存在一個作業系統,以及任意數目的檔案資料。
延伸分割區:
延伸分割區不可格式化,所以也無法建立任何資料,延伸分割區主要是用以建立邏輯分割區。
一顆硬碟中最多只能有一個延伸分割區。
邏輯分割區:
邏輯分割區可格式化,可存在可以邏輯分割區開機的作業系統,以及任意數目的檔案資料。
邏輯分割區必須建立在延伸分割區上。
IDE硬碟可以建立59個(5~63號)邏輯分割,SATA硬碟可建立11個(5~15號)邏輯分割。
邏輯分割區的編號之所以從5號開始,是因為1~4號必須保留給主要以及延伸分割區。
所以,假設一顆在IDE的Master硬碟中,切出了兩個主要分割和一個邏輯分割,則分割區編號如下。
FILE SYSTEM
Windows中,一個分割完並格式化,可用以存取資料的分割區我們通常稱為「槽」。
在Linux中,我們則稱為檔案系統(File System)。
建立一個檔案系統最主要有幾個步驟:1.切割分割區,2.格式化,3.掛載。
必須要經過這三個步驟你的資料才可以在檔案系統中存取。
這邊介紹基本的檔案系統建立,假設要在/dev/sda下建立一個ext4檔案系統,並掛載到/fstest下。
1.首先先用 #fdisk -cul /dev/sda 查詢一下硬碟目前空間的使用情況。
-c表示關閉DOS相容模式,-u表示顯示磁區的大小,而不是磁柱的大小,-l表示列出分割表 。
2.確認空間後,以#fdisk -cu /dev/sda (Red Hat官方建議加上-cu進行磁區分割)進行分割。
進入fdisk之後,可以先按m查詢基本命令,簡單介紹幾個命令。
n:新增分割區。d:刪除分割區。p:列出分割區。
q:不儲存分割設定離開。w:儲存分割設定離開。
3.按n建立新的分割區,在主要跟延伸分割未滿四組,或延伸分割仍有空間的情況下,才可建立分割。
決定完分割種類之後,系統會問起始磁區,直接使用預設就好。
(若fdisk未輸入參數-cu,則會以磁柱為單位分割。)
接著系統會問結束磁區或磁柱編號,或者輸入「+size」,假設要切500M就輸入「+500M」。
此時系統會自動幫使用者尋找最接近500M的磁區並進行切割的動作。
最後可以按p就會列出剛才切出的分割區了,確定無誤之後按下w寫入到分割表中並且離開fdisk。
之後需要重新啟動系統, #partprobe 可以重新載入無須重新啟動,但這個命令因bug已失效。
4.接著建立檔案系統格式,假設剛才建立的分割區為/dev/sda1,要將它建立為ext4格式。
則輸入 #mkfs -t ext4 /dev/sda1 。
5.檔案系統建立完成之後,就輸入 #mkdir /fstest 可建立掛載點讓檔案系統可以掛載。
6.掛載的方式可以手動掛載以及自動掛載,手動掛載的方式為輸入#mount /dev/sda1 /fstest。
或者可以編寫/etc/fstab,加入/dev/sda1 /fstest ext4 default 0 0這行,並儲存離開。
然後再輸入 #mount -a 進行重新掛載,若沒有出現錯誤訊息表示設定成功。
如此便可利用/fstest目錄進行對/dev/sda1分割區的資料存取。