我們需要熟練了解磁盤分區原理。元數據及塊設備對應inode是最重要也是最基本的原理。后面分區很多地方都和inode有關系。
一個磁盤片有63扇區,1024存儲位,256個磁頭,每個扇區只有前512字節是有效存儲單元。所以后面磁盤清零都是跟512這個數字有關。
數據分數據區和元數據區,元數據包括大小屬性,屬主屬組,時間戳,inode節點等信息,但唯獨不包括文件名,這點需要牢記。
數據里面的塊設備,磁盤大小由文件大小決定。
鏈接文件:存儲指針空間中存儲的是設備號
磁盤空間有縮影,按位對位縮影,inode也有對位縮影。
在分區內部劃分二級結構,磁盤首先是邏輯單元(block,disk),邏輯快之間可以聯動存儲數據
超級塊:是塊設備中至關重要的設備,必須要有備份方案,有其他備份塊組。
每個邏輯組都會有塊組描述符GDT
目錄也是文件:根也在內存中:根的磁盤塊下。
根據inode可以查找文件下的磁盤塊,能找到其目錄下的所有文件名及其inode對應信息。
路徑映射,一層一層的查找。
用free命令可以查找緩存及內存空間
Linux文件系統??梢灾С侄喾N文件系統
任何兩個文件系統不兼容時都可以架構中間層。
文件系統有vfat,ext2.3.4,xfs reiserfs btrfs
交換文件系統swap是虛擬文件系統:虛擬假設機制:在磁盤上找一塊空間假裝成內存,將最近較少使用的內存存放在swap上。
對一個文件系統來說,交換分區是必須的
下面來介紹一下常見的分區工具及命令:
fdisk
見名知意,這個就是ext的分區工具,GPT分區工具是gdisk。
常用方法fdisk -l device名字 查看設備分區信息
也可以直接fdisk device來對設備進行分區,這里就不在贅述
mke2fs的 幾個常用方法。
-i #: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小-N #:為數據空間創建個多少個inode
Inode數越少越好。適量,一個inode可以對應多個快,至少一個快,對應的塊數越多存儲性能越好。元數據不需要這么多的空間
-I 制定inode的大小
-m #: 默認5%,為管理人員預留空間占總空間的百分比
常見格式化文件系統的工具mkfs,mke2fs 等
當然mke2fs功能比mkfs略微強大
這里詳細介紹下tune2fs這個命令
tune2fs -l devvice 可以查看這個分區的詳細信息
tune2fs -L device 可以更改分區的卷標
e2label device 卷標名 可以更改分區的卷標名。
tune2fs -o 可以更改分區掛載時的一些屬性。
-O 可以更改分區的一些常規選項
分區結束后小伙伴們可以使用partprobe 或者kpartx -af device來刷新分區列表
這是我們分區時最重要的核心思想,就是分區的同步性,分區同步意味著可以避免出錯,后期的工作每個點我們完成后都需要復查。
結束后有3中方法查看分區列表
cat /proc/partitions blkid
df device
fdisk -l device
添加外面硬盤想要不關機就讀取使用
partx -a -n M:N /dev/DEVICE 命令
分區的檢測工具fsck e2fsck
還有blkid和lsblk這兩個常用命令,小伙伴們也必須熟練掌握,這里不再贅述。
當然還有dump2fs 也是查看文件系統屬性的命令
dd是文件系統備份的命令格式
最重要的是它的命令格式,同學們學會使用就好。
dd if=需要備份的設備 of=備份到的文件 bs= count skip= seek=
mount 是掛載命令,下面是mount 用法的詳解。
-t vsftype:指定要掛載的設備上的文件系統類型
-r: readonly,只讀掛載
-w: read and write, 讀寫掛載
-n: 不更新/etc/mtab,相當于#mount 悄悄的掛
-a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
-L 'LABEL': 以卷標指定掛載設備
-U 'UUID': 以UUID指定要掛載的設備
-B, –bind: 綁定目錄到另一個目錄上 文件夾掛文件夾
查看內核追蹤到的已掛載的所有設備:
cat /proc/mounts Cat /etc/mtab
-o options:(掛載文件系統的選項),多個選項使用逗號分隔
async:異步模式 默認
sync:同步模式,內存更改時,同時寫磁盤
atime/noatime:包含目錄和文件 默認很多情況不更新
制定網頁緩存無意義 優化至少5% 臨時生效
diratime/nodiratime:目錄的訪問時間戳
auto/noauto:是否支持自動掛載,是否支持-a選項
exec/noexec:是否支持將文件系統上運行應用程序臨時生效
dev/nodev:是否支持在此文件系統上使用設備文件
很危險
suid/nosuid:默認沒有suid和sgid權限 非常危險
Chmod u+s/g+s 普通用戶沒有mount權限
remount:重新掛載
ro:只讀
rw:讀寫
user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載
acl:啟用此文件系統上的acl功能
Defaults:相當于rw, suid, dev, exec, auto, nouser, async
mknod cdrom b 11 0 生成cdrom的設備文件 主設備號11 次設備號0.設備類型b
接下來的文章將會給大家介紹怎么編寫etc/fstab這個文件以及如何啟用交換分區及硬盤修復。
原創文章,作者:sjfbjs,如若轉載,請注明出處:http://www.www58058.com/39890