共計 4185 個字符,預計需要花費 11 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 CentOS8 中磁盤存儲和文件系統的示例分析,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
分區
兩種分區格式:MBR、GPT
MBR 分區
MBR 分區磁盤的分區表信息存放在硬盤 0 磁道第 0 個扇區內總共 512 字節
前 446 字節為 bootloader
中間 64 位為磁盤分區表信息,每個分區信息占 16 個字節,總計存放 4 個分區。(這段就是需要備份出來的數據)
最后的 55AA 為結束標志位
MBR 分區結構
1. 硬盤主引導記錄 MBR 由 4 個部分組成
2. 主引導程序(偏移地址 0000H–0088H),它負責從活動分區中裝載,并運行
系統引導程序
3. 出錯信息數據區,偏移地址 0089H–00E1H 為出錯信息,00E2H–01BDH 全為
0 字節
分區表(DPT,Disk Partition Table)含 4 個分區項,偏移地址 01BEH–01FDH,
每個分區表項長 16 個字節,共 64 字節為分區項 1、分區項 2、分區項 3、分區項 4
結束標志字,偏移地址 01FE–01FF 的 2 個字節值為結束標志 55AA
MBR 結構
GPT 分區
支持 128 個分區,使用 64 位,支持 8Z(512Byte/block)64Z(4096Byte/block)
使用 128 位 UUID 表示磁盤和分區 GPT 分區表
自動備份在頭和尾兩份,并有 CRC 校驗位
UEFI (統一擴展固件接口) 硬件支持 GPT,使操作系統啟動
GPT 分區結構
管理分區的命令列出塊設備 lsblk
列出所有可用塊設備的信息,而且還能顯示它們之間的依賴關系
?-a:顯示所有設備
?-b:以 bytes 方式顯示設備大小
?-f:顯示文件系統信息
創建分區工具 fdisk 創建 MBR 分區
?-l [-u] [device…] 查看分區
子命令
p 分區列表
t 更改分區類型
n 創建新分區
d 刪除分區
v 校驗分區
u 轉換單位
w 保存并退出
q 不保存并退出
gdisk 創建 GPT 分區
??類 fdisk 的 GPT 分區工具
parted 高級分區操作
??parted 操作是實時生效的,請小心使用。
?–l:列出分區信息
同步分區表
查看內核是否已經識別新的分區
cat /proc/partations
centos6 通知內核重新讀取硬盤分區表
新增分區用
partx -a /dev/DEVICE
kpartx -a /dev/DEVICE -f: force
刪除分區用
partx -d –nr M-N /dev/DEVICE
CentOS5,7 使用 partprobe
partprobe [/dev/DEVICE]
重讀分區表,當出現刪除文件后,出現仍然占用空間??梢?partprobe 在不重啟的情況下重讀分區。
文件系統
文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件結構稱為文件管理系統,簡稱文件系統
從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,安全控制,日志,壓縮,加密等
Linux 中支持的文件系統
ll /lib/modules/uname –r/kernel/fs
創建文件系統
mkfs
mkfs.FS_TYPE /dev/DEVICE
?-t:指定文件系統
創建 ext 文件系統 fs: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 關閉指定特性
文件系統的標簽 blkid:塊設備屬性信息查看
?-U UUID 根據指定的 UUID 來查找對應的設備
?-L LABEL 根據指定的 LABEL 來查找對應的設備
e2label:管理 ext 系列文件系統的 LABELfindfs:查找分區
?findfs [options] LABEL=\ label
?findfs [options] UUID=\ uuid
tune2fs:重新設定 ext 系列文件系統可調整參數的值
?-l 查看指定文件系統超級塊信息;super block
?-L LABEL’修改卷標
?-m # 修預留給管理員的空間百分比
?-j 將 ext2 升級為 ext3
?-O 文件系統屬性啟用或禁用, –O ^has_journal
?-o 調整文件系統的默認掛載選項,–o ^acl
?-U UUID 修改 UUID 號
dumpe2fs
將磁盤塊分組管理
?-h:查看超級塊信息,不顯示分組信息
文件系統檢測和修復
常發生于死機或者非正常關機之后,掛載文件系統標記的“no clean”
注意:一定不要在掛載狀態下進行修復
fsck: File System Check
?fsck.FS_TYPE
?fsck -t FS_TYPE
??-p 自動修復錯誤
??-r 交互式修復錯誤
?FS_TYPE 一定要與分區上已經文件類型相同
e2fsck:ext 系列文件專用的檢測修復工具
??-y 自動回答為 yes
??-f 強制修復
用 mount 命令掛載文件系統
掛載: 將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此 目錄做為其它文件訪問入口的行為
把設備關聯掛載點:mount Point
??mount
卸載時:可使用設備,也可以使用掛載點
??umount 設備名 | 掛載點
掛載點下原有文件在掛載完成后會被臨時隱藏
掛載點目錄一般為空
mount
通過查看 /etc/mtab 文件顯示當前已掛載的所有設備
常用命令選項
-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
-o options:(掛載文件系統的選項),多個選項使用逗號分隔
ync ?? ?? ??異步模式
sync?? ?? ?? 同步模式, 內存更改時,同時寫磁盤
atime/noatime ??包含目錄和文件
diratime/nodiratime ??目錄的訪問時間戳
auto/noauto ??是否支持自動掛載, 是否支持 - a 選項
exec/noexec ??是否支持將文件系統上運行應用程序
dev/nodev ??是否支持在此文件系統上使用設備文件
suid/nosuid ??是否支持 suid 和 sgid 權限
remount ?? ??重新掛載
ro ?? ?? ?? 只讀
rw?? ?? ??讀寫
user/nouser ??是否允許普通用戶掛載此設備,/etc/fstab 使用
acl ?? ?? ??啟用此文件系統上的 acl 功能
loop ?? ?? ??使用 loop 設備
_netdev ?? ??當網絡可用時才對網絡資源進行掛載,如:NFS 文件系統
defaults ?? ??相當于 rw, suid, dev, exec, auto, nouser, async
umount
掛載命令
查看掛載情況
findmnt MOUNT_POINT|device
查看正在訪問指定文件系統的進程
lsof MOUNT_POINT
fuser -v MOUNT_POINT
終止所有在正訪問指定的文件系統的進程
fuser -km MOUNT_POINT
卸載
umount DEVICE
umount MOUNT_POINT
示例
掛載 sdb1
判斷是否掛載
重新掛載
mknod 創建設備文件
卸載 sdb2
如果正在使用,無法取消掛載
查看正在使用掛載設備的用戶進程
強行停止使用掛載點
文件掛載配置文件 etc/fstab 每行定義一個要掛載的文件系統
1、要掛載的設備或偽文件系統
設備文件
LABEL:LABEL=
UUID:UUID=
偽文件系統名稱:proc, sysfs
2、掛載點
3、文件系統類型:ext4,xfs,iso9660,nfs,none
4、掛載選項:defaults,acl,bind
5、轉儲頻率:0:不做備份 1:每天轉儲 2:每隔一天轉儲
6、fsck 檢查的文件系統的順序:允許的數字是 0 1 2
0:不自檢
1:首先自檢;一般只有 rootfs 才用
2:非 rootfs 使用
swap 交換分區
swap 交換分區是系統 RAM 的補充,Swap 分區支持虛擬內存。當沒有足夠的 RAM 保存系統處理的數據時會將數據寫入 swap 分區
當系統缺乏 swap 空間時,內核會因 RAM 內存耗盡而終止進程。配置過多 swap 空間會造成存儲設備處于分配狀態但閑置,造成浪費,過多 swap 空間還會掩蓋內存泄露
啟用 swap 交換分區
swapon [OPTION]... [DEVICE]
-a:激活所有的交換分區
-p PRIORITY:指定優先級
??/etc/fstab 在第 4 列中:pri=value
禁用 swap 交換分區
swapoff [OPTION]… [DEVICE]swap 的優先級
可以指定 swap 分區 0 到 32767 的優先級,值越大優先級越高
如果用戶沒有指定,那么核心會自動給 swap 指定一個優先級,這個優先級從 - 1 開始,每加入一個新的沒有用戶指定優先級的 swap,會給這個優先級減一
先添加的 swap 的缺省優先級比較高,除非用戶自己指定一個優先級,而用戶指定的優先級 (是正數) 永遠高于核心缺省指定的優先級(是負數)
優化性能:分布存放,高性能磁盤存放
關于“CentOS8 中磁盤存儲和文件系統的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。