在Linux服務器中,當現有硬盤的分區規劃不能知足要求時,就須要對硬盤中的分區進行從新規劃和調整,有時候還須要添加新的硬盤設備來擴展存儲空間。前端
實現上述操做要用到fdisk磁盤及分區管理工具,fdisk是大多數Linux系統中自帶的基本工具之一。下面經過爲Linux主機新增一塊硬盤並創建分區的過程,介紹fdisk工具的使用。後端
1、檢測並確認新硬盤服務器
掛接好新的硬盤設備並啓動主機後,Linux系統會自動檢測並加載該硬盤,無需額外安裝驅動。執行「fdisk -l」命令能夠進行查看,確認新增硬盤的設備名稱。ide
「fdisk -l」命令的做用是列出當前系統中全部硬盤設備及其分區的信息。工具
【例1】:執行「fdisk -l」命令,確認系統新識別的硬盤設備(/dev/sdb)。oop
上述輸出信息中包含了各硬盤的總體狀況和分區狀況,其中「/dev/sda」爲原有的硬盤設備,而「/dev/sdb」爲新增的硬盤,新的硬盤設備還未進行初始化,沒有包含有效的分區信息。佈局
對於已有的分區,將經過列表的方式輸出如下信息。spa
Device:分區的設備文件名稱。操作系統
Boot:是不是引導分區,是,則有「*」標識。3d
Start:該分區在硬盤中的起始位置(柱面數)。
End:該分區在硬盤中的結束位置(柱面數)。
Blocks:分區的大小,以Blocks(塊)爲單位,默認的塊大小爲1024字節。
Id:分區類型的ID標記號,對於ext3分區爲83,LVM分區爲8e。
System:分區類型。
識別到新的硬盤設備後,接下來就能夠在該硬盤中創建新的分區了。在Linux系統中,分區和格式化的過程是相對獨立的。
2、規劃硬盤中的分區
在硬盤設備中建立、刪除、更改分區等操做一樣經過fdisk命令進行,只要使用硬盤的設備文件做爲參數,便可進入到交互式的分區管理界面中,以下圖。
在該操做界面中的提示符後,用戶能夠輸入特定的分區操做指令,完成各項分區管理任務,例如輸入「m」指令後,能夠查看各類操做指令的幫助信息,以下圖。
在分區過程當中經常使用的一些交互操做指令有:
一、m:查看操做指令的幫助信息
二、p:列表查看分區信息
三、n:新建分區
四、d:刪除分區
五、t:變動分區類型
六、w:保存分區設置並退出
七、q:放棄分區設置並退出
在以上操做中應注意的有:
【1】:選擇分區號時,主分區和擴展分區的序號只能在1-4之間。分區起始位置通常由fdisk默認識別便可,結束位置或大小可使用「+sizeM」或「+sizeK」的形式,如「+20 000M」表示將該分區的容量設置爲20GB。
【2】:在執行刪除分區時必定要慎重,應首先使用p指令查看分區的序號,確認無誤後再進行刪除。若是擴展分區被刪除,則擴展分區之下的邏輯分區也將同時會被刪除。所以建議從最後一個分區開始進行刪除,以避免fdisk識別的分區序號發生紊亂。
【3】:使用「t」更改分區類型時,只要依次指定分區序號及更改後分區類型的ID標記號便可。若是不知道分區類型對應的ID號,能夠輸入「l」指令列表查看各類分區類型所對應的標記號,
Linux系統中最經常使用的兩種文件系統ext三、swap的ID號分別爲8三、82.
【4】:變動硬盤(特別是正在使用的硬盤)的分區設置之後,建議最好將系統進行重啓,或者執行「partprobe」命令使操做系統獲知新的分區表狀況。在有些Linux操做系統中,若不進行這些操做,可能會致使格式化分區時對硬盤中已有數據的損壞,嚴重者甚至引發系統崩潰。
#partprobe /dev/sdb
3、格式化分區
mkfs命令:
用途:建立文件系統(格式化)
格式:mkfs -t 文件系統類型 分區設備
mkswap命令
用途:建立交換文件系統
格式:mkswap 分區設備
實際上mkfs命令是一個前端工具,能夠自動加載不一樣的程序來建立各類類型的分區,然後端包括有多個與mkfs命令相關的工具程序,例如支持FAT1六、FAT32分區格式的mkfs.vfat程序等。
【例2】:查看「/sbin」目錄中與mkfs相關的工具程序。
【例3】:在「/dev/sdb1」分區中建立ext3文件系統。
#mkfs -t ext3 /dev/sdb1
等同於執行「mkfs.ext3 /dev/sdb1」
【例4】:建立並啓用交換分區,並經過free命令觀察交換空間的變化。
4、掛載、卸載文件系統
一、mount命令
用途:掛載文件系統、ISO鏡像到指定文件夾
格式:mount [-t 類型] 存儲設備 掛載點目錄
mount -o loop ISO鏡像文件 掛載點目錄
二、umount命令
用途:卸載已掛載的文件系統
格式:umount 存儲設備位置
umount 掛載點目錄
三、查看已掛載分區的使用狀況
df -hT
在Linux系統中,對各類存儲設備中的資源訪問都是經過目錄結構進行的,雖然系統核心可以經過「設備文件」的方式操縱各類設備,可是對於用戶來講,還須要增長一個「掛載」的過程,才能像正常訪問目錄同樣訪問存儲設備中的資源。
固然,在安裝Linux操做系統的過程當中,自動創建或識別的分區一般會由系統自動完成掛載。然而對於後來新增長的硬盤分區、USB盤、光盤等設備,有時候還須要管理員手動進行掛載,實際上用戶訪問的是通過格式化後創建的文件系統。掛載一個分區時,必須爲其制定一個目錄做爲掛靠點,用戶經過這個目錄訪問設備中的文件、目錄數據。
在Linux系統中,U盤設備被模擬成SCSI設備,所以與掛載普通SCSI硬盤中的分區並無明顯區別。若不肯定所添加的U盤設備文件,能夠先執行「fdisk -l」命令進行查看確認。
使用不帶任何參數或選項的mount命令時,將顯示出當前系統中已掛載的各個文件系統的相關信息。
proc、sysfs、tmpfs等文件系統是Linux運行所須要的臨時文件系統,並無實際的硬盤分區與其相對應,所以也稱爲「僞文件系統」。例如proc映射了內存及cpu寄存器中的部分數據。
【設置文件系統的自動掛載】:
/etc/fstab配置文件:包含了須要開機後自動掛載的文件系統記錄。以下圖:
系統中的「/etc/fstab」文件能夠視爲mount命令的配置文件,其中存儲了文件系統的靜態掛載數據。Linux系統每次開機時,會自動讀取這個文件的內容,自動掛載所指定的文件系統。
在「/etc/fstab」文件中,每一行記錄對應一個分區或設備的掛載配置信息,從左到右包括六個字段(使用空格或製表符分隔),各部分的含義以下所述:
第一字段:設備名或設備卷標名。
第二字段:文件系統的掛載點目錄的位置。
第三字段:文件系統類型,如ext三、swap等。
第四字段:掛載參數,即mount命令「-o」選項後可以使用的參數,如defaults、rw等。
第五字段:表示文件系統是否須要dump備份,通常設爲1時表示須要,設爲0時將被dump所忽略。
第六字段:該數字用於決定在系統啓動時進行磁盤檢查的順序,0表示不進行檢查,1表示優先檢查,2表示其次檢查。對於根分區應設爲1,其餘分區設爲2.
【例5】:修改「/etc/fstab」文件,添加自動掛載「/dev/sdb1」分區的配置行。
#vi /etc/fstab
在文件末尾添加以下行內容:
/dev/sdb1 /mailbox ext3 default 0 0
1、LVM概述
LVM是Linux系統中對磁盤分區進行管理的一種邏輯機制,它是創建再硬盤和分區之上,文件系統之下的一個邏輯層,在創建文件系統時屏蔽了下層的磁盤分區佈局,可以在保持現有數據不變的狀況下動態調整磁盤容量,從而提升了磁盤管理的靈活性。
在安裝RHEL5系統的過程當中選擇自動分區時,默認就會採用LVM分區方案,不須要再進行手動配置。若是有特殊須要,也可使用安裝嚮導提供的磁盤定製工具調整LVM分區。須要注意的是,「/boot」分區不能基於LVM建立,必須獨立出來。
關於LVM的幾個基本術語:
一、PV(Physical Volume,物理卷)
物理卷是LVM機制的基本存儲設備,一般對應爲一個普通分區或整個硬盤。建立物理卷時,會在分區或硬盤的頭部建立一個保留區塊,用於記錄LVM的屬性,並把存儲空間分割成默認大小爲4MB的基本單元PE,從而構成物理卷。
物理卷通常直接使用設備文件名稱,如「/dev/sdb1」、「/dev/sdb2」等。
用於轉換成物理卷的普通分區,建議先使用fdisk工具將分區類型的ID標記號改成「8e」。如果整塊硬盤,能夠將全部磁盤空間劃分爲一個主分區後再做相應調整。
二、VG(Volume Group,卷組)
由一個或多個物理卷組成一個總體,即成爲卷組,在卷組中能夠動態地添加或移除物理卷。許多個物理卷能夠分別組成不一樣的卷組,卷組名稱由用戶自行定義。
三、LV(Logical Volume,邏輯卷)
邏輯卷是創建在卷組之上的,與物理卷沒有直接關係。
對於邏輯捲來講,每個卷組就是一個總體,從這個總體中「切出」一小塊空間,做爲用戶建立文件系統的基礎,這一小塊空間就稱爲邏輯卷。使用mkfs等工具在邏輯捲上建立文件系統之後,便可掛載到Linux系統中的目錄下使用。
經過上述對物理卷、卷組、邏輯卷的解釋能夠看出,創建LVM分區管理機制的過程就是:首先,將普通分區或整個硬盤建立爲物理卷;接下來,將物理上比較分散的各物理卷的存儲空間組成一個邏輯總體,即卷組;最後,基於卷組這個總體,分割出不一樣的數據存儲空間,造成邏輯卷。而邏輯卷纔是最終用戶能夠格式化並掛載使用的存儲單位。
2、LVM的管理命令
功 能 |
物理卷管理 |
卷組管理 |
邏輯卷管理 |
Scan 掃描 | pvscan | vgscan | lvscan |
Create 創建 |
pvcreate | vgcreate | lvcreate |
Display 顯示 | pvdisplay | vgdisplay | lvdisplay |
Remove 刪除 | pvremove | vgremove | lvremove |
Extend 擴展 | vgextend | lvextend | |
Reduce 減小 | vgreduce | lvreduce |
主要命令的語法
pvcreate 設備名
vgcreate 卷組名 物理卷名1 物理卷名2
lvcreate -L 大小 -n 邏輯卷名 卷組名
lvextend -L +大小 /dev/卷組名/邏輯卷名
3、LVM應用實例
案例的環境和需求描述以下:
公司準備在Internet中搭建郵件服務器,面向全國各地的員工即部分VIP客戶提供電子郵箱空間。因爲用戶數量衆多,郵件存儲須要大量的空間,考慮到動態擴容的須要,計劃增長兩塊SCSI硬盤並構建LVM邏輯卷(掛載到「/mail」目錄下)專門用於存放郵件數據。
根據上述案例環境和需求,具體操做步驟以下:
一、關閉服務器,打開機箱,正確掛接2塊SCSI新硬盤。
二、開啓服務器主機,並執行「fdisk -l」命令進行檢查,確認已識別新增的硬盤(sdb、sdc)。
三、在磁盤中進行分區,將每塊硬盤的全部空間劃分爲一個獨立的主分區,並將分區類型更改成「8e」。分好區後使用「fdisk -l」命令查看結果以下所示。
四、將「/dev/sdb1」和「/dev/sdc1」分區轉換爲物理卷。
五、將上述兩個物理卷整合,建立名爲「mail_store」的卷組。
六、在「mail_store」卷組中建立一個名爲「mail」的邏輯卷,容量大小設置爲3G。
七、使用mkfs命令在「mail」邏輯卷中建立ext3文件系統,並掛載到「/mail」目錄下。
八、動態擴展「mail」邏輯卷的容量(增長500M),並更新系統識別的文件系統大小。