搜尋此網誌

RHCE 磁碟檔案配置



DISK
在Linux中,所有的裝置是用掛載的方式連結到系統。
系統必須為裝置建立一個目錄,經由將裝置掛載(Mount)到指定的目錄上,使用者才可以存取裝置。
而這個目錄在Linux中稱為掛載點(Mount Point)。
就像貨輪上的貨物,必須停靠在港口後才可以搬運。
貨輪就是硬碟,貨物就是資料,港口就是目錄,把貨輪停靠到指定的港口就是掛載。
有別於Windows系統中硬體是以代號的方式辨識,Linux則是以目錄。

在IDE介面中,若主機板上有兩個IDE插槽,每個排線可連結到兩個IDE裝置。
則Linux會分別為這些裝置建立目錄以便於掛載。
2011-12-22_200138.jpg
IDE5裝置的目錄是固定的,例如只有Secordary的Master有連接裝置,目錄依舊是/dev/hdc。

而在SATA介面上,裝置目錄的命名則是以系統偵測到的順序依序而定。
例如若在SATA1、SATA5以及USB上各有一顆硬碟,則系統給予的目錄會分別為。
2011-12-22_200644.jpg

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硬碟中,切出了兩個主要分割和一個邏輯分割,則分割區編號如下。
2011-12-22_205010.jpg

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分割區的資料存取。
 

Copyright © Jackie.Chen | Powered by Blogger | Template by 54BLOGGER | Fixed by Free Blogger Templates