【Centos7筆記六】文件系統與磁盤操作

1. redhat文件系統結構
目錄名稱	應放置文件的內容
/boot	開機所需文件——內核,開機菜單及所需配置文件等
/dev	任何設備與接口都以文件形式存放在此目錄
/etc	配置文件
/home	用戶主目錄
/bin	單用戶維護模式下還能夠被操作的命令
/lib	開機時用到的函數庫及/bin與/sbin下面命令要調用的函數
/sbin	開機過程中需要的
/media	一般掛載或刪除的設備
/opt	放置第三方的軟件
/root	系統管理員的主文件夾
/srv	一些網絡服務的數據目錄
/tmp	任何人均可使用的“共享”臨時目錄
/proc	虛擬文件系統,例如系統內核,進程,外部設備及網絡狀態等
/usr/local	用戶自行安裝的軟件
/usr/sbin	非系統開機時需要的軟件/命令/腳本
/usr/share	幫助與說明文件,也可放置共享文件。
/var	主要存放經常變化的文件,如日誌。
/lost+found	當文件系統發生錯誤時,將一些丟失的文件片段存放在這裏

2. 設備命名規則:
系統內核的udev設備管理器會自動將硬件名稱規範起來
udev服務會一直以守護進程的形式運行並偵聽來自內核發出的信號來管理/dev目錄下的設備文件
硬件設備	文件名稱
IDE設備	/dev/hd[a-d]
SCSI/SATA/U盤	/dev/sd[a-p]
軟驅	/dev/fd[0-1]
打印機	/dev/lp[0-15]
光驅	/dev/cdrom
鼠標	/dev/mouse
磁帶機	/dev/st0或/dev/ht0(IDE設備)
分區:主分區或擴展分區的編號從1開始至4結束。
邏輯分區從編號5開始。
3. 硬盤基礎知識
硬盤設備則是由大量的扇區組成的,其中第一個扇區最重要,它裏面保存着主引導記錄與分區表信息。單個扇區容量爲512bytes組成,主引導記錄需要佔用446bytes,分區表的爲64bytes,結束符佔用2bytes,而其中每記錄一個分區信息需要16bytes,這最多四個能有幸被寫到第一個扇區中的分區信息就叫做主分區,扇區的信息寫入如圖6-3所示。
第6章 存儲結構與磁盤劃分。第6章 存儲結構與磁盤劃分。
一般會選擇用3個主分區加1個擴展分區的方法,然後在擴展分區中創建出數個邏輯分區,

 
上圖是2個主分區,2個擴展分區的做法

4. 文件系統:用戶在硬件存儲設備上面正常建立文件、寫入,讀取,修改,轉存文件與控制文件等等操作都是依靠了文件系統來完成的,文件系統的作用是將硬盤合理的規劃,保證用戶正常的使用需求
Ext4 可以稱爲是Ext3的後繼版本,作爲RHEL6系統中的默認文件管理系統,它支持更大的文件系統到1EB(1EB=1,073,741,824GB且能夠有無限多的子目錄),另外Ext4文件系統能夠批量分配block塊並作"Extents"極大的提高了讀寫效率。
XFS 作爲最新RHEL7中默認的文件管理系統,它的日誌型文件管理系統的優勢在意外宕機後尤其明顯,可以快速的恢復可能被破壞的文件,另外經過優化後日志功能對硬盤性能影響非常小,同時最大支持18EB的存儲容量滿足了幾乎所有需求。
一塊新的硬盤存儲設備之後首先要分區,然後格式化文件系統最後才能掛載正常的使用
###################*******************##############
日常中在硬盤要保存的數據實在太多了,因此就要有個叫super block的“硬盤地圖”,並不是把數據直接寫入到這個“大地圖”裏面,而是在上面記錄着整個文件系統的信息,因爲如果把所有的信息都寫入到這裏面的話,就一定會導致它的體積變的很大,查詢與寫入速度會變的很慢,於是每個文件的權限與屬性都會記錄在inode中(每個文件都會佔用一個獨立的inode表格,默認爲128bytes),記錄着:
該文件的訪問權限(read,write,execute)
該文件的所屬主與組(owner,group)
該文件的大小(size)
該文件的創建或狀態修改時間(ctime)
該文件的最後一次訪問時間(atime)
該文件的修改時間(mtime)
文件的特殊權限(SUID,SGID,SBIT)
該文件的真實數據地址(point)
而文件的實際數據內容則保存在block塊中(大小可以是1K、2K或4K),一個inode大小僅爲128bytes(Ext3),記錄一個block消耗4bytes,一般當把inode寫滿後就會取出一個block用於號碼記錄而不再是保存實際的文件系統。下面的說明中,我們以4K爲例。
情況一:文件體積很小(1K),那麼依然會佔用一個block,潛在的浪費3K。
情況二:文件體積很大(5K),那麼會佔用兩個(5K-4K剩下的1K也要佔用一個block)。

5. 掛載硬件設備
mount命令用於掛載文件系統,格式爲:“mount 文件系統 掛載目錄”。
參數	作用
-a	掛載所有在/etc/fstab中定義的文件系統
-t	指定文件系統的類型
將設備"/dev/sdb2"掛載到"/backup"目錄:mount /dev/sdb2 /backup
如果您想讓硬件設備和目錄永久的進行自動關聯,就必須將掛載信息按照指定的格式寫入到/etc/fstab文件中。這個文件中包含着諸多掛載所需的信息項目,一旦配置好之後就會永久的爲咱們服務啦
填寫格式如下:“設備文件 掛載目錄 格式類型 權限選項 自檢 優先級”
設備文件:一般爲設備的路徑+設備名稱,也可以寫UUID值。
掛載目錄:指定要掛載到的目錄,需掛載前創建好。
格式類型:即指定文件系統的格式,比如有ext3/ext4/xfs/swap/iso9660(此爲光盤設備)等等。
權限選項:默認爲defaults(rw,suid,dev,exec,auto,nouser,async),可指定acl或quota等。
自檢:若爲1則開機後進行磁盤自檢,0爲不自檢。
優先級:若“自檢”爲1,則可對多塊硬盤進行優先級設置。

umount命令用於撤銷已經掛載的設備文件,格式爲:“umount [掛載點/設備文件]”  :[root@linuxprobe ~]# umount /dev/sdb2

5. 操作硬盤(分區,格式化等)
5.1 fdisk命令用於管理磁盤分區,格式爲:“fdisk [磁盤名稱]”
參數	作用
m	查看全部可用的參數
n	添加新的分區
d	刪除某個分區信息
l	列出所有可用的分區類型
t	改變某個分區的類型
p	查看分區表信息
w	保存並退出
q	不保存直接退出
5.2 格式化:在Linux系統中用於格式化的是mkfs命令
[root@solitude ~]# mkfs  // press TAB two times
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.minix   mkfs.xfs 

5.3 du命令用於查看文件的數據佔用量,格式爲:“ du [選項] [文件]”  :看一個或多個文件佔用了多大的硬盤空間

5.4 df 命令的功能是用來檢查linux服務器的文件系統的磁盤空間佔用情況。可以利用該命令來獲取硬盤被佔用了多少空間,目前還剩下多少空間等信息

5.4 新建的存儲分區使用SWAP交換分區專用的格式化mkswap命令進行格式化操作:
[root@linuxprobe ~]# mkswap /dev/sdb2
Setting up swapspace version 1, size = 5242876 KiB
no label, UUID=2972f9cb-17f0-4113-84c6-c64b97c40c75
使用swapon命令將準備好的SWAP交換分區設備正式的掛載到系統中:
[root@linuxprobe ~]# swapon /dev/sdb2

6.對用戶進行磁盤容量分配:
quota服務做磁盤配額可以限制用戶的硬盤可用量或最大創建文件數量,並且還有軟、硬限制的功能:

軟限制:當達到軟限制時會提示用戶,但允許用戶在規定額度內繼續使用。

硬限制:當達到硬限制時會提示用戶,且強制終止用戶的操作。
6.1 配置:開啓quota服務
[root@linuxprobe ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed May 4 19:26:23 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=812b1f7c-8b5b-43da-8c06-b9999e0fe48b /boot xfs defaults,uquota 1 2
6.2 xfs_quota命令用於管理XFS文件系統的quota硬盤配額,格式爲:“quota [參數] 配額 文件系統”
用xfs_quota命令設置tom用戶對/boot目錄的磁盤配額吧,具體的限額控制包括有硬盤使用軟限制爲3M,硬盤使用硬限制爲6M,創建文件數量軟限制爲3個,創建文件硬限制爲6個。
[root@linuxprobe ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 tom' /boot
[root@linuxprobe ~]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1)   Blocks
User ID Used Soft Hard Warn/Grace
---------- --------------------------------------------------
root 95084 0 0 00 [--------]
tom 0 3072 6144 00 [--------]
6.3 edquota命令用於編輯用戶的quota配額限制,格式爲:“edquota [參數] [用戶]”
其中-u參數代表要針對那個用戶進行的設置,-g參數則代表要針對那個用戶組進行的設置

7. 軟硬方式連接
硬鏈接(hard link)可以被理解爲一個“指向原始文件inode的指針”,系統不爲它分配獨立的inode與文件,所以實際上來講硬鏈接文件與原始文件其實是同一個文件,只是名字不同。於是每添加一個硬鏈接,該文件的inode連接數就會增加1,直到該文件的inode連接數歸0纔是徹底刪除。也就是說因爲硬鏈接實際就是指向原文件inode的指針,即便原始文件被刪除依然可以通過鏈接文件訪問,但是由於技術的侷限性而不能跨文件系統也不能鏈接目錄文件。
軟鏈接也稱爲符號鏈接(symbolic link)即“僅僅包含它所要鏈接文件的路徑名”因此能做目錄鏈接也可以跨越文件系統,但原始文件被刪除後鏈接文件也將失效,性質上和Windows™系統中的“快捷方式”是一樣的。
ln命令用於創建鏈接文件,格式爲:“ln [選項] 目標”。
參數	作用
-s	創建"符號鏈接"(默認是硬鏈接)
-f	強制創建文件或目錄的鏈接
-i	覆蓋前先詢問
-v	顯示創建鏈接的過程
ln -s  src.file  dest.file

發佈了65 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章