OSWikiHK: 請協力 GPLv3 的中文翻譯工作。

格式化儲裝置成為 XFS

OSWikiHK,自由中文開源知識庫

標準文章
作者: Roy Chan
協力:
校對: -
級別: 初階
分享本文:

格式化 SGI XFS 是使用 xfsprogs 的 mkfs.xfs 來進行。

目录

格式化

要格式化存儲裝置成為 SGI XFS,可以用系統管理員帳戶 (即 root) 身份打「mkfs -t xfs 儲存裝置」:

mkfs -t xfs /dev/sdb5

亦可以直接使用命令 mkfs.xfs,例如:

mkfs.xfs /dev/sdb5

如果 mkfs.xfs 發現存儲裝置仍有之前儲放的資料,會拒絕進行格式化:

# mkfs.xfs /dev/sdb5
mkfs.xfs: /dev/sdb5 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.

如果您確定那些資料已沒有用途,您需要為 mkfs.xfs 加上選項 -f 強迫它進行格式化:

# mkfs.xfs -f /dev/sdb5
meta-data=/dev/sdb5              isize=256    agcount=4, agsize=524119 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=2096474, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096  
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

格式化選項

區塊大小 (Block size)

區塊 (block) 是檔案系統儲存檔案內容最小的單位,其大小對檔案系統的空間運用和效用有很大的影響。較的大區塊可以的令檔案系統大小上限和檔案大小上限增加,亦可以加快了大檔案的讀寫,但亦會浪費較多的空間,對平均檔案大小較小的檔案系統比較不利。區塊大小隻可以在格式化檔案系統時設定,往後除重新格式化外不能改變。

SGI XFS 的區塊大小最少可以為 512 位元組,最大不可超過 64 KiB,預設為 4 KiB。然而區塊大小又受到作業系統內核的 page 大小限制。在 x86 電腦,最大不可以超過 4 KiB。其他平台如 IA64 可以使用較大區塊,不過過大區塊會浪費空間,所以不建議使用大於 4 KiB 的區塊。SGI XFS for Linux Administration[1] 建議選擇區塊大小留意以下幾點:

  • 如果檔案系統小於 100 MiB 或有大量小型檔案,建議使用 512 位元組區塊
  • 其餘情況建議使用 4KiB 區塊
  • 如用作新聞組伺服器 (news server) 等有大量小型檔案,可以 512 位元組檔案系統區塊和 4 KiB 目錄區塊 (使用 -n size=大小 選項)。

簡單而言,XFS 在 x86 平台可以使用 512 B、1 KiB、 2KiB 和 4 KiB 區塊。格式化顯要指定區塊大小需要使用選項 -b size=區塊大小

mkfs.xfs -b size=512 /dev/sdb6

區塊大小後加上 “k” 表示單位為 KiB (1024 位元組),加上 “s” 表示單位為磁區。 (sector,預設為 512 位元組,可能會因 -s 選項而改變)

目錄區塊大小 (Directory block size)

XFS 容許目錄使用比檔案系統區塊大小較大的區塊大小,方法是使用選項 -n size=區塊大小,例如:

mkfs.xfs -b size=512 -n size=4k /dev/sdb6

區塊大小後加上 “k” 表示單位為 KiB (1024 位元組),加上 “s” 表示單位為磁區 (sector,預設為 512 位元組,可能會因 -s 選項而改變),加上 “b” 表示單位為檔案系統區塊 (預設為 4 KiB,可能會因 -b 選項而改變)

日誌大小

格式化 XFS 時,mkfs.xfs 會自動根據檔案系統的大小劃分日誌 (journal) 的大小。約檔案系統等於或超過 1 TiB,獲劃分日誌只會為最大值 128 MiB。最小不會小於 512 檔案系統區塊。您可以使用選項 -l size=日誌大小 指定日誌的大小,例如:

mkfs.xfs -l size=1024b /dev/sdb6

日誌大小可以加以下單位:

  • s - 磁區 (sector) 大小 (預設為 512 位元組,可能會因 -s 選項而改變)
  • b - 檔案系統區塊大小 (預設為 4KiB,可能會因 -b 選項而改變)
  • k - KiB (1,024 位元組)
  • m - MiB (1,048,576 位元組)
  • g - GiB (1,073,741,824 位元組)
  • t - TiB (1,099,511,627,776 位元組)
  • p - PiB (1024 TiB)
  • e - EiB (1,048,576 TiB)

如果有多於一顆硬碟,可以考慮使用外部日誌 (external journal) 把檔案系統和日誌儲存在不同的硬碟,可以增加效能。

檔案系統標簽 (Filesystem label)

檔案系統標簽 (Filesystem label) 在個別檔案系統又叫作 Volume Name,是檔案系統中一個小欄目用作簡述該檔案系統的用途或其儲存數據。現時 GNU/Linux 都會用 USB 手指/IEEE1394 硬碟等可移除儲存裝置的檔案系統標簽作為其掛載目錄的名稱,方便使用者識別。而個別 GNU/Linux distributionFedoraRHELCentOS 等亦在 /etc/fstab 取代傳統裝置檔案名稱 (即 /dev/sda1 和 /dev/hdc5 等) 的指定開機時要掛載的檔案系統,避免偶然因為 BIOS 設定或插入次序的改變而引起的混亂。您可以使用選項 -L 標簽 在格式時設定檔案系統標簽:

mkfs.xfs -L Videos /dev/sdc1

XFS 的檔案系統標簽不可以超過 12 個字元。往後可以使用命令 xfs_admin -L 隨時改變

參考資料

  1. SGI (Feb 20, 2004). “Chapter 2. Planning an XFS Filesystem”. XFS for Linux Administration. SGI.

相關頁面

相關連結

Personal tools
廣告橫額