linux之磁盤分區與文件系統

磁盤分區與文件系統
CPU
I/O
接口類型:
IDE:兩塊設備,有主有從
SCSI:並口:可以接多塊設備
硬盤:
機械硬盤:
扇區:一個扇區512字節
磁道:盤片上有很多的磁道,由外而內。(每一面都有磁性物質)
磁頭臂:用來定位磁道
柱面:
分區劃分基於柱面劃分
設備類型:
塊(block):隨機訪問,數據交換單位是“塊"
字符(character):線性訪問,數據交換單位是“字符”
/dev
設備文件:關聯至設備的驅動程序;設備的訪問入口;
設備號:
major:主設備號,區分設備類型;用於標明設備所需要的驅動程序
minor:次設備號,區分同種類型下的不同的設備:是特定設備的訪問入口
mknod命令:
建立塊專用或字符專用文件
分區:
/dev/sda
注:Centos6/7將硬盤設備文件標識爲/dev/sd[a-z]
磁盤分區:
MBR:主引導記錄
分爲三部分:
前446字節:用來引導啓動操作系統的程序
後64字節:分區表:每16字節標識一個分區,一共只能有4個分區
最後2字節:MBR區域的有效性標識;55AA爲有效
主分區和擴展分區的標識:1-4
邏輯分區;5+
fdisk命令:
-l:列出磁盤設備上的分區情況
管理分區:
fdisk提供了一個交互式接口來管理分區,它有許多子命令,分別用於不同的管理功能;所有的操作均在內存中完成,沒有直接同步到磁盤;直到使用w命令保存至磁盤上
常用命令:
n:創建新分區
d:刪除已有分區
t:修改分區類型
1:查看所有已經ID
w:保存並退出
q:不保存並退出
m:查看幫助信息
p:顯示現有分區信息
注意:在已經分區井且已經掛載其中某個分區的磁盤設備上創建的新分區,內核可能在創建完成後無法直接識別
查看:cat /proc/partitions
通過內核強制重讀磁盤分區表:
Centos7:partx,kpartx
partx -a [device]
分區創建工具:parted、sfdisk
創建文件系統
格式化:低級格式化(分區之前進行,劃分磁道).高級格式化(分區之後對分區進行,創建文件系統)
元數據區.數據區
元數據區:
文件元數據: inode (index node)
大小權限、屬主屬組、時間戳…
VFS: Virtual Fle System
linux的文件系統: ext2, ext3, ext4, xfs, relserts, btrts
光盤: iso9660
網絡文件系統: nfs, cifs
集羣文件系統: gfs2, ocfs2
內核極分佈式文件系統: ceph
windows的文件系統: vfat, ntfs
僞文件系統: proc, sysfs, tmpfs, hugepagets
Unix的文件系統: UFS,FFS, JFS
交換文件系統: swap
用戶空間的分佈式文件系統: moglefs, moosefs, glusterfs
文件系統管理工具:
創建文件系統的工具
mkfs:
mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs., …
檢測及修復文件系統的工具
fsck:
fsck.ext2, fsck.ext3, …
鏈接文件:訪問同一個文件不同路徑
硬鏈接:指向同一個inode的多個文件路徑
特性:
目錄不支持硬鏈接
不能跨文件系統
創建硬鏈接會增加inode引用次數
鏈接文件---->內存地址<----原文件
符號鏈接:指向一個文件路徑的另一個文件路徑
特性:
符號鏈接與文件是兩人個各自獨立的文件,各有自己的inode對原文件創建符號鏈接不會增加引用計數
支持對目錄創建符號鏈接,可以跨文件系統
刪除符號鏈接文件不影響原文件:但刪除原文件,符號指定的路徑即不存在,此時會變成無效接鏈
鏈接文件---->原文件---->內存地
內核級文件系統的組成部分:
文件系統驅動:由內核提供
文件系統管理工具:由用戶空間的應用程序提供
ext系列文件系統的管理工具
mkfs.ext4…
swap交換系統:
linux交換分區必須使用獨立的文件系統,且文件系統的system ID必須爲82
創建swap設備:
mkswap:
-l:指定卷標
-f:強制
windows無法識別linux的文件系統:因此,存儲設備需要兩種系統之間交叉使用時,應該使用windows和Lnux同時支持的文件系統: fat32(vfat)
mkfs.vfat device

文件系統的使用
    首先要“掛載”: mount命令和umount命令
    根文件系統外的其它文件系統要想能夠被訪問,都必須通過“關聯"至根文件系統上的某個目錄來實現,此關聯操作即爲“掛載" 此目最即爲“掛載點”
    掛載點:mount_point,用於作爲另一個文件系統的訪問入口
		(1)事先存在
		(2)應該使用未被或不會被其它進程使用到的目錄
		(3)掛載點下原有的文件將會被隱藏
    mount命令:
        命令選項:
            -a:更新掛在信息
			-r:只讀掛載
			-w:讀寫掛載
			-n:默認情況下,設備掛載或卸載的操作會同步更新至/etc/mtab文件中: n用於禁止此特性
    查看當前系統所有已掛載的設備:
         mount
		 cat /etc/mtab
		 cat /proc/mounts
    umount命令:
        卸載掛載點
        注意:正在被進程訪問到的掛載點無法被卸載
        查看被哪個或哪些進程所佔用:
             Isof MOUNT POINT
			fuser -v MOUNT_POINT
			終止所有正在訪問某掛載點的進程:
			fuser -km MOUNT_POINT
	交換分區的啓用和禁用:
	    創建交換分區的命令: mkswap
	    啓用: swapon
	        swapon (OPTION] (DEVICE]
	            -a:定義在/etc/tstab文件中的所有swap設備
	    禁用:swapoff
	        swapoff device


    設定除根文件系統以外的其它文件系統能夠開機時自動掛載: /et/tstab文件
	    每行定義一個要掛載的文件系統及相關屬性:
			6個字段:
			    (1)要掛載的設備:
			        設備文件:
			            LABEL
			            UUID
			            僞文件系統:如sysfs, proc, tmpfs等
				(2)掛載點
					swap類型的設備的掛載點爲swap
				(3)文件系統類型:
				(4)掛載選項
					defaults:使用默認掛程選項
					如果要同時指明多個掛載選項,彼此間以逗號分隔
					defaults,acl,noatime,noexec
			    (5)轉儲頻事
					0: 從不備份
					1:每天備份
					2:每隔一天備份
				(6)自檢次序
					0:不自檢
					1:首先自檢,通常只能是根文件系統可用1
					2:次級自檢
                    ......
            注:通過blkid命令查看分區的uuid
    df與du命令
        df命令:查看文件系統磁盤空間的使用情況
        du命令:查看磁盤空間的使用情況(文件的大小)
            -sh:查看具體的所佔空間的大小
                注:ls -lh 顯示目錄大小
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章