一;在Linux伺服器中,當現有硬碟的分區規劃不能滿足要求(eg:根分區的剩餘空間過少,無法繼續安裝新的系統程式)時,就需要對硬碟中的分區進行重新規劃和調整,有時候還需要添加新的硬碟裝置來擴充存儲空間。
實作上述操作需要用到fdisk磁盤及分區管理工具,fdisk是大多數Linux系統中自帶的基本工具之一,在此将通過為Linux主機新增一塊硬碟并建立分區的過程,學習fdisk工具的使用;
添加好新的硬碟裝置并啟動主機後,Linux系統會自動檢測并加載該硬碟,需要額為安裝驅動。執行“fdisk -l” 指令可以進行檢視,确認新增硬碟的裝置名稱,“fdisk -l” 指令的作用是列出目前系統中所有的硬碟裝置及其分區的資訊。
eg:執行“fdisk -l” 指令,确認系統新識别的硬碟裝置(/dev/hdb,我添的裝置好像老了點,不過一樣)!
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133244995.jpg"></a>
上述輸出資訊中包含了各硬碟的整體情況和分區情況,其中“/dev/hda”為原有的硬碟裝置,而“/dev/hdb”為新增的硬碟,新的硬碟裝置還未進行初始化,沒有包含有效的分區資訊。對于已有的分區,将通過清單的方式輸出以下資訊:
Device:分區的裝置檔案名稱,
Boot:是否是引導分區,是,則有“*”辨別,
Start:該分區在硬碟中的起始位置(柱面數),
End:該分區在硬碟中的結束位置(柱面數),
Blocks:分區的大小,以Blocks(塊)為機關,預設的塊大小為1024位元組,
Id:分區類型的ID标記号,對于EXT3分區為83,LVM分區為8e,
System:分區類型。
識别到新的硬碟裝置後,接下來就可以在該硬碟中建立新的分區了,在linux系統中,分區和格式化的過程是相對獨立的,關于格式化分區的操作我們會一步步的來。
規劃硬碟中的分區:
在硬碟裝置中建立、删除、更改分區等操作同樣通過fdisk指令進行,隻要使用硬碟的裝置檔案作為參數,eg:執行“fdisk /dev/hdb”指令,即可進入到互動式的分區管理界面中;
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133327924.jpg"></a>
在該操作界面中的“Command(m for help):”提示符後,使用者就可以輸入特定的分區操作指令,完成各項分區管理任務,eg:m 、n、p、等;接下來就是正文了:
1、“p”指令——列出硬碟中的分區情況
使用“p”指令可以列出詳細的分區情況,資訊顯示的格式與執行“fdisk -l”指令相同。硬碟中尚未建立分區時,輸出的清單資訊為空。
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133408981.jpg"></a>
2、“n”指令———建立分區
使用“n”指令可以進行建立分區的操作,包括主分區和擴充分區。根據提示繼續輸入“p”選擇建立主分區,輸入“e”選擇建立擴充分區。之後依次選擇分區序号,起始位置、結束位置或分區大小即可完成新分區的建立。
選擇分區号時,主分區和擴充分區的序号隻能在1-4之間。分區起始位置一般由fdisk預設識别即可,結束位置或大小可以使用“+sizeM”或“+sizeK”的形式,eg:“+2000M”表示将該分區的容量設定為2GB。
(1)、建立一個主分區、容量為2GB;
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133450454.jpg"></a>
(2)、建立一個擴充分區和一個邏輯分區:(大小:3GB)
當建立完主分區之後,我們可以使用剩餘的磁盤空間建立擴充分區,然後在擴充分區中建立邏輯分區。需要注意的是,若無主分區、邏輯分區均已建立完畢(四個主分區号均已用完),則再次出入“n”指令後将不再提示選擇分區類别。
再次建立擴充分區(/dev/hdb4),使用剩下的所有空間(全部空間配置設定完畢後,将無法再建立新的主分區)。
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133536513.jpg"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133608992.jpg"></a>
(3)、“d”指令——删除分區
使用“d”指令可以将指定的分區進行删除,根據提示繼續輸入需要删除的分區序号即可,在執行 删除分區時一定要慎重,應首先使用“p”指令檢視分區的序号,确認無誤在進行操作。需要注意的是,如果擴充分區被删除,則擴充分區之下的邏輯分區也将同時 被删除,是以建議從最後一個分區開始進行删除,以免fdisk識别的分區序号發生紊亂。
“d”執行個體示範:
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133639130.jpg"></a>
(4)“t”指令——變更分區類型:
在fdisk分區工具中,建立的分區預設使用的檔案系統類型為EXT3,一般不需要更改,但是如果建立的分區需要用作Swap交換分區或者其他類型的檔案系統時,則需要對分區類型進行變更以保持一緻性,避免在管理分區時産生混淆。
使 用“t”指令可以表更分區的類型,隻要一次指定分區序号及更改後分區類型的ID标記号即可,但是如果不知道分區類型對應的ID号,可以輸入“l”指令清單 檢視各種分區類型所對應的ID标記号,Linux系統中最常用的兩中檔案系統EXT3、SWAP的ID号分别為83、82(16進制數)。
eg:将/dev/hdb5的類型更改為SWAP
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133710961.jpg"></a>
(5)、“w”和“q”指令——退出fdisk分區工具
完成對硬碟的分區操作後,可以執行“w”或“q”指令退出fdisk分區工具,其中“q”指令不會儲存之前的操作,而“w”則會儲存。你的明白?
最後執行:partprobe /dev/hdb ; 執行“partprobe”指令重新探測“/dev/hdb”磁盤中分區情況的變化。
二;在Linux系統中,使用fdisk工具在硬碟中建立分區以後,還需要對分區進行格式化并挂載到系統中的指定目錄,然後才能使用者存儲檔案、目錄等資料。接下來我們就來學習如何格式化并挂載分區;
1、建立檔案系統
建立檔案系統的過程也即格式化分區的過程,在Linux系統使用mkfs(Make Filesystem,建立檔案系統)指令工具可以格式化EXT3、FAT32等不同類型的分區,而使用mkswap指令可以格式化SWAP交換分區。
1、mkfs指令的使用
實際上mkfs指令是一個前端工具,可以自動加載不同的程式來建立各種類型的分區,而後端包括有多個與mkfs指令相關的工具程式,eg:支援FAT16、FAT32分區格式的mkfs.vaft程式等。
eg:檢視“/sbin”目錄中與mkfs相關的工具程式; ls /sbin/mkfs*
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133747439.jpg"></a>
使用mkfs指令程式時,基本的指令格式如下所示:
mkfs -t 檔案系統類型 分區裝置
mkfs -t ext3 /dev/hdb1 //等同于執行“mkfs.ext3 /dev/hdb1”指令
<a target="_blank" href="http://blog.51cto.com/attachment/201304/133841770.jpg"></a>
2、mkswap指令的使用;
在Linux系統中,Swap分區的作用類似于Windows系統中的“虛拟記憶體”;可以在一定程度上緩解實體記憶體不足的情況。若目前Linux主機運作的服務較多,需要更多的交換空間支撐應用時,可以為其增加新的交換分區。
使用mkswap指令工具可以在指定的分區上建立交換檔案系統。
确認建立立的swap分區的裝置檔案位置,并将其格式化為swap交換檔案系統
fdisk -l /dev/hdb | grep swap
/dev/hdb5 4867 5110 2983922 82 Linux swap / Solaris
mkswap /dev/hdb5 即可
注: 對于新增加的交換分區,需要使用“swapon”指令啟用以後系統才能使用,反之使用“swapoff”指令可以停用指定的交換分區,“free”指令可 以檢視記憶體及交換空間的使用情況,可用于觀察啟用swap分區前後的交換空間變化情況,或者執行“swapon -s”指令也可以檢視系統中交換分區的使用情況。
<a target="_blank" href="http://blog.51cto.com/attachment/201304/134004282.jpg"></a>
三、挂載、解除安裝檔案系統:
在linux系統中,對各種儲存設備中的資源通路(如:讀取,儲存檔案等)都是通過目錄結構進行的,雖然系統核心能夠通過“裝置檔案”的方式操縱各種裝置,但是對于使用者來說,還需要增加一個“挂載”的過程,才能像正常通路目錄一樣通路儲存設備中的資源。
當 然,在安裝linux作業系統的過程中,自動建立或識别的分區通常會由系統自動完成挂載,eg:“/”分區、“/boot”分區等。然而對于後來新增的硬 盤分區、USB盤、CD光牒等裝置,有時候還需要管理者手動進行挂載,實際上使用者通路的是經過格式化後建立的檔案系統。挂載一個分區時,必須為其指定一個目錄 作為挂靠點(或稱為挂載點),使用者通過這個目錄通路裝置中的檔案,目錄資料。
1、挂載檔案系統
mount 指令的基本使用格式如下所示:
mount [ -t 檔案系統類型 ] 儲存設備 挂載點
其中,檔案系統類型通常可以省略(由系統自動識别),儲存設備為對應分區的裝置檔案名(如:“/dev/hdb1”)或網絡資源路徑,挂載點為使用者指定用于挂載的目錄。
eg:檢視系統中已挂載的各分區(檔案系統)資訊,新挂載的檔案系統将顯示在最後邊。
<a target="_blank" href="http://blog.51cto.com/attachment/201304/134048824.jpg"></a>
eg:在實際工作中,可能會經常從網際網路中下載下傳一些軟體或應用程式的ISO鏡像檔案,在無法刻錄CD光牒的情況下,需要将其解壓後才能浏覽
、使用其中的檔案資料。若使用mount挂載指令,則無需解開檔案包即可浏覽、使用ISO鏡像檔案中資料。“.iso”鏡像檔案通常被視為一種特殊的“回環”檔案系統,是以在挂載時需要添加“-o loop”選項
mkdir /media/ubuntu
mount -o loop ubuntu-8.04.1-desktop-i386.iso /media/ubuntu
2、解除安裝檔案系統————umount即可。
彈出CD光牒驅動器,也可以使用:eject or eject -t
3、設定檔案系統的自動挂載
系統中的“/etc/fstab”檔案可以視為mount指令的配置檔案,其中存儲了檔案系統的靜态挂載資料。linux系統每次開機時,會自動讀取這個檔案的内容,自動挂載所指定的檔案系統。可以檢視"/etc/fstab"配置檔案:
<a target="_blank" href="http://blog.51cto.com/attachment/201304/134154412.jpg"></a>
在"/etc/fatab"檔案中,每一行記錄對應一個分區或裝置的挂載配置資訊,從左到右包括六個字段(使用空格或制表符分隔),各部分的含義如下所述:
第一字段:裝置名或裝置卷标名
第二字段:檔案系統的挂載點目錄的位置
第三字段:檔案系統類型,如:etx3、swap等
第四字段:挂載參數,即mount指令“-o”選擇後可使用的參數,如defaults、rw等
第五字段:表示檔案系統是否需要dump備份(dump是一個備份工具),一般設為1時表示需要,設為0時将被dump所忽略
第六字段:該數字使用者決定在系統啟動時進行磁盤檢查的順序,0表示不進行檢查,1表示優先檢查,2表示其次檢查。對于根分區應設為1,其他分區設為2.
通過在“/etc/fstab”檔案中添加相應的挂載配置,可以實作開機後自動挂載指定的分區。
vi /etc/fstab
//在檔案末尾添加如下行内容
/dev/hdb1 /mailbox ext3 defaults 0 0 //開機即可自動挂載
開機後,發現/mailbox已經挂載了/dev/hdb1
注:檢視磁盤使用情況:
df 指令使用檔案或裝置作為指令參數,較常用的選項為“-h”、"-T",使用“-h”選項後将顯示更易懂的容量機關,而“-T”選項用于對應檔案系統的類型,顯示資訊中磁盤空間的預設機關為KB.
<a target="_blank" href="http://blog.51cto.com/attachment/201304/134903754.jpg"></a>
注:檢視目前分區是否格式化:
blkid 指令檢視一下,或找個挂載點。mount 一下
<a target="_blank" href="http://blog.51cto.com/attachment/201304/135116710.jpg"></a>
本文轉自 西索oO 51CTO部落格,原文連結:http://blog.51cto.com/lansgg/1185511