磁盤運作方式及分區,掛載等操作
磁盤是我們存儲數據的空間,而為了方便我們對數據的管理,我們需要對磁盤進行分區。而在我們創建過分區之后 ,我們為了能
夠訪問磁盤 ,需要對磁盤進行掛載 。文件系統通過為每個文件在分區上分配文件塊的方式把數據存儲在硬盤上。所以,就是使用文件系統在
硬盤分區上對數據塊的各種信息的操作。這樣就需要我們了解磁盤的運作方式,學會磁盤的分區,掛載,格式化等。
1.什么是硬盤分區?
分區其實就是硬盤的段落,如果用戶希望在計算機上安裝多個的操作系統,那么將需要更多的分區。原因是不同的操作系統原則上采用
不同的文件系統。如果幾個操作系統都支持相同的文件系統,通常為了避免在一個分區下有相同的目錄,也將它們安裝在不同的磁盤分區。
2.分區類型
硬盤的分區有三種情況:主分區,擴展分區,邏輯分區。擴展分區只是邏輯分區的容器,實際上只有主分區還有邏輯分區才能夠進行數據的存儲。
在一塊硬盤上最多只能有4個主分區,另外可以建立一個擴展分區來代替一個主分區。也就是說擴展分區必須小于等于一個;主分區+擴展分區必須小于
等于四個;然后可以在擴展分區下建立多個的邏輯分區。
3.分區和格式化
不同的操作系統具有不同的硬盤分區工具,windows下非常有名的分區工具是fdisk,在linux系統下進行分區可以使用fdisk,或者使用相同功能的圖形
界面程序。
每個主分區和邏輯分區都會被存儲為一個識別文件系統的附加信息,草制品系統能通過這些信息非常容易地識別和確認應該使用那個分區,不能識別的
操作系統將會被忽略。通過分區當然不能產生任何的文件系統,在分區之后只是對硬盤上的磁盤空間進行了保留,還不能直接使用。在此之后分區必須
要進行格式化在windows下可以是通過資源管理器下的文件菜單或者format程序來執行,在linux下通常使用mkfs命令來完成,linux支持不同的文件系統。
格式化是指對磁盤或磁盤中的分區(partition)進行初始化的一種操作,這種操作通常會導致現有的磁盤或分區中所有的文件被清除。簡單說,就是把
一張空白的盤劃分成一個個小區域并編號,供計算機儲存,讀取數據。沒有這個工作,計算機就不知在哪寫,從哪讀。格式化是在磁盤中建立磁道和扇區,
磁道和扇區建立好之后,電腦才可以使用磁盤來儲存數據。
4.文件系統
文件系統定義了把文件存儲與磁盤時所必須的數據結構以及磁盤數據的管理方式。我們知道,磁盤是由很多個扇區組成的,如果扇區之間不建立任何的聯
系,寫入其中的文件就無法訪問,因為無法知道文件是從哪個扇區開始,文件占多少個扇區,文件是什么屬性。為了訪問磁盤中的數據,就必須在扇區之
間建立聯系,也就是需要一種邏輯上的數據存儲結構,建立這種邏輯結構就是文件系統要做的事情,在磁盤上建立文件系統的過程通常稱為格式化。
一般來說,文件系統和操作系統是緊密聯系在一起的,不同的操作系統也使用不同的文件系統,但是有為了兼容,不同操作系統也使用相同的文件系統。
# 進行任何磁盤分區或者大小的改動,都會丟失之前的數據,因此,在分區之前一定要對重要的數據進行備份。
使用fdisk進行磁盤的分區
linux系統使用fdisk命令能將磁盤劃分為若干個分區,同時也能為每個分區指定分區的文件系統,比如ext3,ext4,FAT32 ,SWAP,FAT 16以及其他類UNIX
操作系統的文件系統等。使用fdisk命令進行磁盤的分區一種交互式的創建,我們可以根據系統的提示信息進行創建。
fdisk命令可以對磁盤進行分區:
命令語法:
fdisk [-b<分區大小>][-uv][磁盤設備名]
fdisk [-l][-b<分區大小>][-uv][磁盤設備名]
fdisk [-s <分區編號>]
命令中各選項的含義如下:
-b :制定每個分區的大小
-l :列出制定硬盤的分區表信息
-s :將制定的分區大小輸出到便準輸出上,單位為區塊
-u :搭配“-l”參數列表,用分區數目取代柱面數目,表示每個分區的起始地址。
-v :顯示版本信息。
在fdisk的交互式操作方式下有許多的子命令:
說幾種其中比較常用的參數:p:顯示硬盤分區信息;n :創建新的分區;e:創建擴展分區
p:創建主分區(使用n創建分區會顯示是創建主分區還是擴展分區);t:更改分區文件系統;
d:刪除硬盤分區;q:推出fdisk,不保存硬盤分區設置;w:保存硬盤分區設置并推出fdisk。
對磁盤進行分區之后,使用fdisk -l查看的話會顯示出來,但是在mount 或者/proc/partition上面查看
是沒有顯示出來的。用過的磁盤如果再分區就需要重啟系統才會顯示出來。而服務器是不能來回重啟的,
這時候,我們需要進行手動的更新加載,通知內核強制重讀磁盤分區表,使用partx -a [device] ;partprobe也可以強制內核讀取磁盤分區表,但是在centos 6版本上會出現錯誤,這個bug是一直沒有修復的,在7版本和5以下的版本是沒有問題的。
2.使用mkfs創建文件系統
對一個新的硬盤進行分區以后,還要對這些分區進行格式化并創建文件系統。一個分區只有創建了
某種文件系統之后才能被使用。建立文件系統的過程就是用相應格式化工具格式化分區的過程。
如果需要使用某個文件系統存放數據,一般需要經過以下操作步驟:
1.)使用fdisk命令進行在硬盤上創建分區
2.)使用mkfs命令在分區上創建文件系統
3.)使用mount命令掛載文件系統,或是修改/etc/fstab文件使得開機自動掛載文件系統。
4.)使用unmount卸載文件系統。
-
使用mkfs命令創建文件系統
命令語法:
mkfs -t [文件系統類型(ext3,etx4,fat 32等)] [磁盤設備名]
說明:mkfs命令本身并不執行建立文件系統的工作,而是調用相關的程序來執行。這里的文件系統
類型是需要指定具體的類型的。磁盤設備可以是一個硬盤的分區,軟盤,和光驅。
命令中選項的含義如下:
-t:指定要建立哪一種文件系統。
1)查看當前磁盤上的分區情況,該磁盤的設備是/dev/sda
2)格式化/dev/sda3分區,創建ext4文件系統
使用mkfs -text 4 /dev/sda3 或者mkfs.ext4 /dev/sda3 或者mke2fs -t ext3 /dev/sda3
這三種寫法是等價的。
當然也可以把分區格式化為其他的文件系統,比如可以把/dev/sda2格式化為ext3,vfat等,使用mkfs. tab鍵進行補全可以查看當前支持的文件系統。
mke2fs: ext系列文件系統專用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L 'LABEL'
-j: 相當于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 為數據空間中每多少個字節創建一個inode;此大
小不應該小于block的大小
-N #:為數據空間創建個多少個inode
-I 一個inode記錄大小128—4096
-m #: 默認5%,為管理人員預留空間占總空間的百分比
-O FEATURE[,…]:啟用指定特性
-O ^FEATURE:關閉指定特性
說明:-o參數里的codepage選項指定文件系統的代碼頁,簡體中文中文代碼是:936;iocharset指定字符集,簡體中文一般用cp936或gb2312.
blkid:塊設備屬性信息查看
blkid [OPTION]… [DEVICE]
-U UUID: 根據指定的UUID來查找對應的設備
-L LABEL:根據指定的LABEL來查找對應的設備
?
e2label:管理ext系列文件系統的LABEL
# e2label DEVICE [LABEL]
?
findfs :查找分區
findfs [options] LABEL=
tune2fs:重新設定ext系列文件系統可調整參數的值
-l:查看指定文件系統超級塊信息;
super block
-L 'LABEL':修改卷標
-m #:修預留給管理員的空間百分比
-j: 將ext2升級為ext3
-O: 文件系統屬性啟用或禁用, –O ^has_journal
-o: 調整文件系統的默認掛載選項,–o ^acl
-U UUID: 修改UUID號
? dumpe2fs:
-h:查看超級塊信息(分組信息),分區用分組管理
3.在我們創建完成文件系統之后,我們需要對文件系統進行掛載,這樣用戶可以使用相應的設備存儲數據。
mount 掛載 ,unmount 卸載
命令語法:
mount [選項][設備名稱][掛載點]
命令中各個選項的含義:
-t :制定設備的文件系統類型
auto:自動檢測文件系統
-o:自動掛載文件系統的選項,有些可在/etc/fstab中,常用的有6種:
codepage:代碼頁
iocharset:字符集
ro:以只讀方式進行掛載
rw:以讀寫方式進行掛載
nouser:使一般用戶無法掛載,只有root才能使用
user:可以讓普通的用戶進行掛載 #是一個比較危險的操作
掛載方法:
mount DEVICE MOUNT_POINT
?
mount:通過查看/etc/mtab文件顯示當前已掛載的所有設備
?
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要掛載的設備;
(1) 設備文件:例如/dev/sda5
(2) 卷標:-L 'LABEL', 例如 -L 'MYDATA'
(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-
45e7-85c0-a126711d406e'
(4) 偽文件系統名稱:proc, sysfs, devtmpfs, configfs
dir:掛載點
事先存在;建議使用空目錄
進程正在使用中的設備無法被卸載
1)掛載
將光盤放入光驅,掛載光盤到/testdir/cdrom
先在/testdir/目錄下創建好一個目錄cdrom
使用mount -t ext4 /dev/sda3 /testdir/cdrom 目錄下,這樣掛載之后,掛載命令會將這些存儲介質指定成系統中的某個目錄下,以后訪問相應目錄即可讀寫存儲介質上的數據.
4.卸載
查看掛載情況:
#findmnt MOUNT_POINT
?
查看正在訪問指定文件系統的進程:
#lsof MOUNT_POINT
#fuser -v MOUNT_POINT
?
終止所有在正訪問指定的文件系統的進程:
# fuser -km MOUNT_POINT
?
卸載:
# umount DEVICE
# umount MOUNT_POINT
原創文章,作者:zhong,如若轉載,請注明出處:http://www.www58058.com/40151
文章寫的很詳細,對一些專有名詞,通過自己查詢資料進行了詳細介紹,這是值得提倡的。但是對磁盤分區工具使用部分缺少了一些具體操作,希望作者課后能多加練習,做到理論和實踐相結合。