企業空間 采購商城 存儲論壇
華為全閃存陣列 IBM云計算 Acronis 安克諾斯 安騰普 騰保數據
首頁 > 技術園地 > 文件系統 > 正文

UFS文件系統簡介及Unix系統(Solaris,FreeBSD)的文件系統創建步驟

2014-07-05 17:37來源:中國存儲網
導讀:UFS文件系統簡介及Unix系統(Solaris,FreeBSD)的文件系統創建步驟,UFS 是 Solaris OS 中缺省的基于磁盤的文件系統,以前,UFS文件系統在64位系統和32位系統上的大小僅限于約1 TB(Tbyte)。現在,所有UFS文件系統命令和公用程序已更新為支持多TB UFS文件系統

UFS 是 Solaris OS 中缺省的基于磁盤的文件系統。管理基于磁盤的文件系統時,大多數情況下管理的是 UFS 文件系統。UFS 可提供以下功能。

UFS 功能

說明

擴展的基本類型 (extended fundamental type, EFT)

提供 32 位用戶 ID (user ID, UID)、組 ID (group ID, GID) 和設備編號。

大文件系統

在最大大小可以為 16 TB 的文件系統中,允許大小約為 1 TB 的文件。可以在具有 EFI 磁盤標號的磁盤上創建多 TB UFS 文件系統。

日志記錄

UFS 日志記錄會將組成一個完整 UFS 操作的多個元數據更改打包成一個事務。事務集記錄在盤上日志中,然后會應用于實際 UFS 文件系統的元數據。

多 TB 文件系統

通過多 TB 文件系統,可以創建最大可用空間約為 16 TB 的 UFS 文件系統,其中會減去約 1% 的開銷。

狀態標志

顯示文件系統的狀態:clean、stable、active、logging 或 unknown。 這些標志可避免不必要的文件系統檢查。 如果文件系統的狀態為“clean”、“stable” 或 “logging”,則不運行文件系統檢查。

Solaris操作系統一般都會使用以下系列文件系統。

1 UFS文件系統: 基于BSD快速文件系統的傳統UNIX文件系統是Solaris的默認文件系統。默認啟用UFS 日志記錄功能。在早期的Solaris 版本中,UFS 日志記錄功能只能手動啟用。 Solaris 10在運行64位Solaris內核的系統上支持多TB UFS文件系統。以前,UFS文件系統在64位系統和32位系統上的大小僅限于約1 TB(Tbyte)。現在,所有UFS文件系統命令和公用程序已更新為支持多TB UFS文件系統。

2 HSFS文件系統: 用于CD-ROM的只讀文件系統

3 PCFS文件系統: PC文件系統,可以讀寫DOS型式磁盤的數據,如FAT32

4 UDF文件系統: DVD文件系統

Solaris 10典型的文件系統類型為UFS文件系統,但它也允許在/etc/default/fs中定義其他文件類型。在Solaris 10上,UFS文件系統駐留在硬盤上,這些硬盤同時具有原始設備接口和塊設備接口,這兩個接口分別位于/dev/rdsk目錄和/dev/dsk目錄中。Solaris 10文件系統所創建的每一個分區都在/dev/dsk和/dev/rdsk中有其自己的對應項。一個UFS文件系統的組成包括如下幾部分。

引導塊(boot block):在文件系統可引導的情況下,引導塊中包含有引導數據。

超級塊(super block):超級塊中包含有關i節點的位置、文件系統大小、塊數目,以及狀態等信息。

i節點(inode):存儲文件系統的文件細節信息。

數據塊(data block):實際存儲的文件。

Solaris操作系統下每個常規文件必須包含一個文件名和與之相關聯的inode(信息節點),inode中存儲文件的相關信息(如文件的所有者、權限和大小等信息),以及該文件所關聯的數據塊的指針。因此,inode數量的多少決定著一個UFS文件系統所允許創建的文件數。

一個UFS文件系統在其創建時,所允許最大的indoe數就已經固定,當該文件系統中有大量的(上千萬甚至上億個)小文件存在時,有可能出現inode數量不夠用的情況,由于文件需要用inode來存儲元數據(MetaData),inode數量超出將導致新文件無法被創建,盡管此時實際的存儲空間還遠遠不到極限,所以在創建此類文件系統的時候需要考慮到這一點。

UFS文件系統簡介及Unix系統(Solaris,FreeBSD)的文件系統創建步驟

inode數計算公式:

inode_number=文件系統大小/nbpi

nbpi:The number of bytes per inode,每個inode所占用的字節數,它是文件系統inode數多少的決定因素.

在創建文件系統時,如果不特別指定,Solaris將根據文件系統的大小使用不同的nbpi值來決定inode的密度,參見下表.

文件系統大小(GB) 缺省的nbpi大小(byte)

≤1 2048

1

2

3

≥1024(即1T) 1048576 (即1M)

根據上表,在默認情況下,對于一個1G的文件系統(在Solaris 9下,其可用的空間大約為961M),得到理論上的該文件系統所擁有的inode數:

1024 * 1024 / 2 ≌ 500000

而對于一個1T的文件系統,其可用的inode數將比略小于1T的文件(比如900G)系統銳減很多(因為nbpi值增大了好幾倍):

900*1024*1024/8 = 117964800

1024*1024*1024/1024 ≌ 1000000 (一百萬)

對于一個已創建的文件系統,可以通過下列命令得到該文件系統的可用inode數,從而得出在該文件系統下所能創建的最大文件數(不考慮實際的物理空間限制,理論值可能會與實際有些偏差,但可以作為一個參考):

# df -F ufs -oi

實驗:

step1. 按缺省方式創建一個1G大小的UFS文件系統(nbpi=2048),掛接到/tmp/mnt目錄下,實際可用的空間為961M:

# df -h /tmp/mnt

Filesystem size used avail capacity Mounted on

/dev/vx/dsk/oradg/lv_simon

961M 1.0M 903M 1% /tmp/mnt

# mkfs -m /dev/vx/dsk/oradg/lv_simon

mkfs -F ufs

-o nsect=64,ntrack=32,bsize=8192,fragsize=1024,cgsize=32,free=6,rps=120,nbpi=2054,

opt=t,apc=0,gap=0,nrpos=8,maxcontig=128 /dev/vx/dsk/oradg/lv_simon 2097152

# df -oi /tmp/mnt

Filesystem iused ifree %iused Mounted on

/dev/vx/dsk/oradg/lv_simon

4 507900 0% /tmp/mnt

在不考慮實際物理空間限制的情況下,該文件系統所允許創建的最大常規文件數理論值為: 507900個.

solaris 10 UFS文件系統的功能

擴展的基本類型(EFT) :提供32 位用戶ID (user ID, UID)、組ID (group ID, GID) 和設備編號。

大文件系統:在最大大小可以為16 TB 的文件系統中,允許大小約為1TB的文件。可以在具有EFI 磁盤標號的磁盤上創建多TB UFS 文件系統。

日志記錄 :UFS 日志記錄會將組成一個完整UFS 操作的多個元數據更改打包成一個事務。事務集記錄在盤上日志中,然后會應用于實際UFS 文件系統的元數據。

多TB 文件系統通過多TB 文件系統,可以創建最大可用空間約為16 TB 的UFS文件系統,其中會減去約1% 的開銷。

狀態標志顯示文件系統的狀態:clean、stable、active、logging 或unknown。這些標志可避免不必要的文件系統檢查。如果文件系統的狀態為“clean”、“stable” 或“logging”,則不運行文件系統檢查。

繼續閱讀
相關閱讀
產品推薦
頭條閱讀
欄目熱點

Copyright @ 2006-2019 ChinaStor.COM 版權所有 京ICP備14047533號

中國存儲網

存儲第一站,存儲門戶,存儲在線交流平臺

广西11选五走势图彩经网