磁盤及文件系統管理html
磁盤管理node
1、定義windows
1、運維常說的服務器I/O泛指磁盤、網卡產生的I/Ocentos
2、設備類別:服務器
塊設備(block):隨機訪問,數據交換單位爲'塊'網絡
字符設備(character):線性訪問,數據交換單位爲字符運維
3、磁盤設備文件分佈式
根據不一樣的接口類型,在Linux有兩種名稱標記不一樣接口的磁盤設備ide
(1)IDE接口:並行接口,理論傳輸速率133MB/s ui
名稱:/dev/hd[a-z][#]
(2)SCSI接口:並行接口(Small Computer System Interface)
SATA接口:串行接口,Serial ATA;理論速率6Gpbs
USB接口:串行接口,480MB/s
SAS接口:串行接口
名稱:/dev/sd[a-z][#]
[a-z]:標記設備
[#]:標記分區
2、機械硬盤
1、硬盤結構
磁道(track):當磁盤旋轉時,磁頭若保持在一個位置上,則每一個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫作磁道
扇區(sector):磁盤上的每一個磁道被等分爲若干個弧段,這些弧段即是硬盤的扇區
柱面(cylinder):在有多個盤片構成的盤組中,由不一樣盤片的面,但處於同一半徑圓的多個磁道組成的一個圓柱面
2、硬盤分區
硬盤有多個盤片組成,每一個盤片的正反面均可以存儲數據,每一個片面都有獨立的磁頭。當硬盤轉動時,每一個盤面的磁頭都會讀取到本身盤面上對應的數據。故而,按照柱面數來劃分分區,可使硬盤在同時間內讀寫的數據量最大。
3、MBR
MBR:主引導扇區(master boot record),位於磁盤的第0磁道0扇區。大小爲512bytes,分三部分:
446bytes:存儲系統的引導程序,例如grub程序
64bytes:記錄分區表信息,其中每16bytes標記一個分區。故而,每一個硬盤都最多隻能分4個主分區
2bytes:標記當前MBR是否有效的,55AA標記MBR有效
3、命令
1、fdisk
命令提供了一個交互接口來管理分區,它有許多子命令,分別用於不一樣的管理功能;全部的操做均在內存中完成,沒有直接同步到磁盤。
fdisk DEVICE
經常使用子命令:
p:顯示現有分區信息
n:建立新分區
d:刪除現有分區
t:修改分區ID
l:查看支持哪些分區ID
w:保存退出
q:不保存退出
m:顯示幫助信息
2、查看內核是否已經識別新建分區:
#cat /proc/partitions
3、通知內核強制重讀分區表:
centos 5:#partprobe /dev/DEVICE
centos 6: #partx,kpartx
partx -a /dev/DEVICE
kpartx -af /dev/DEVICE
注意:有時須要屢次執行強制重讀的命令,纔會生效
文件系統管理
1、定義
文件系統:就是一套用於定義文件的命名和組織數據的規範,其根本目的是便對文件進行查詢和存取。
VFS:virtual File System 虛擬文件系統,爲用戶提供統一的文件系統的系統調用接口。
VFS支持的文件類型種類有:
Linux文件系統:ext2,ext3,ext4,reiserfs,xfs,btrfs
光驅:iso9660
網絡文件系統:nfs,cifs
集羣文件系統:gfs2,ocfs2
分佈式文件系統:ceph
windows文件系統:ntfs,vfat
僞文件系統:tmpfs,hugepagefs,proc,sysfs
Unix文件系統:FFS,UFS,JFS
這些VFS文件系統系統的分爲兩類:
日誌型文件系統:ext3,ext4
系統故障後,加速系統對文件系統的自檢修復速度
非日誌型文件系統:ext2
系統故障後,只能遍歷全部文件,一個一個的檢測而後修復
2、文件系統結構
對於存儲設備上的數據,可分爲兩部分:
用戶數據:用戶實際存儲的數據
管理數據:描述用戶數據屬性的數據,是對數據及信息資源的描述性信息。例如指示數據存儲位置、歷史數據、資源查找、文件記錄等功能,也叫做元數據。
每一個分區格式化成相同大小的數據塊,根據存儲在數據塊上數據的不一樣屬性能夠將一個分區分爲三個部分:
超級塊:文件系統中的第一個塊稱爲超級塊,用來存儲文件系統自己的結構信息。
i節點:inode,索引節點 index node,主要存儲數據的屬性信息,根據數據屬性能夠索引快速定位找到數據所存儲的數據塊。
數據區:存儲實際數據的數據塊區域。
如圖:
由上圖得出磁盤和文件系統的結構構成:
磁盤
MBR
分區:一個分區一個文件系統,每一個分區的文件系統類型均可以不一樣。
超級塊
塊組
超級塊副本
位圖
i節點(inode)
數據塊
3、Inode
inode上存儲的信息:
1、indode編號
2、文件所在數據塊信息
3、文件屬性信息
注意:/ 根在內核中,其須要被關聯至根文件系統,即rootfs;在引導文件grub.conf中指定根目錄位置
4、數據塊
系統讀取硬盤時,連續一次性讀取的多個扇區是一個數據塊(block),通常是4k,即8個扇區
數據塊上存儲的信息:
目錄
1、目錄下的文件和一級子目錄
2、目錄下全部文件和一級子目錄所對應的inode編號
文件
存儲的文件數據
5、查看文件過程舉例
例:查看文件/var/logs/messages文件內容的過程(讀寫)
根的inode --> 根目錄對應的數據塊 --> var對應的inode編號 --> 查inode table,找到var目錄對應的inode --> var目錄的數據塊-->
logs對應的inode編號--> 查inode table,找到logs目錄對應的inode --> logs目錄的數據塊 --> messages對應的inode編號--> 查inode
table,找到messages文件對應的inode --> messages的數據塊(數據)
參考:http://blog.chinaunix.net/uid-23069658-id-3468489.html
6、擴展----連接文件
連接文件:訪問相同文件數據的不一樣路徑
硬連接:兩個不一樣的文件路徑指向同一個inode
判斷方法:ls -i 查看文件inode編號,若是相同,其中一個是硬連接
建立方法:
cp -l Sfile Dfile
ln Sfile Dfile
特性:
1、目錄不支持硬連接
2、硬連接不能跨分區(文件系統)
3、硬連接文件與源文件是指向同一個inode,建立硬連接文件會增長inode的引用計數;刪除減小inode的引用計數,不會直接刪除文件數據
軟連接:鏈接文件是一個徹底獨立的新文件,但其指向了源文件的文件路徑
建立方法:
ln -s Sfile Dfile
特性:
1、符號連接文件與原文件是兩個各自獨立的文件
2、目錄能夠建立符號連接
3、能夠跨分區(文件系統)
4、刪除連接不影響原文件,但刪除原文件,符號連接指向的文件將不存在,所以,此時連接文件將變成失效的連接
注意:符號連接的文件大小並不是真正原文件的大小,而是指向的原文件的文件路徑字符串所包含的字節數