Linux

如何在實際上是 UUID 的磁碟上執行 xfs_repair

  • May 2, 2018

我們有 redhat 機器版本 6.x

我們想在我們的一個磁碟上修復文件系統

UUID=198s5364-a29c-429e-b16d-e772acd /data_SA              xfs     rw,noatime,inode64,allocsize=16m 1 2

但磁碟是 UUID

所以下面的語法是正確的嗎?

xfs_repair  UUID=198s5364-a29c-429e-b16d-e772acd 

從手冊頁

SYNOPSIS
      xfs_repair [ -dfLnPv ] [ -m maxmem ] [ -c subopt=value ] [ -o subopt[=value] ] [ -t interval ] [ -l logdev ] [ -r rtdev ] device
      xfs_repair -V

您應該在以下位置找到您的設備 UUID /dev/disk/by-uuid

xfs_repair /dev/disk/by-uuid/198s5364-a29c-429e-b16d-e772acd

需要findfs將 UUID 轉換為設備名稱。

# findfs UUID=01d91a31-d25c-48ea-a10f-6166ce0f5964
/dev/mapper/SSD-archlinux

因此,您可以使用它來提供期望設備名稱的參數:

# echo file -s $(findfs UUID=01d91a31-d25c-48ea-a10f-6166ce0f5964)
file -s /dev/mapper/SSD-archlinux

# file -s $(findfs UUID=01d91a31-d25c-48ea-a10f-6166ce0f5964)
/dev/mapper/SSD-archlinux: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)

# xfs_repair $(findfs UUID=01d91a31-d25c-48ea-a10f-6166ce0f5964)
Phase 1 - find and verify superblock...
Phase 2 - using internal log
       - zero log...
       - scan filesystem freespace and inode maps...
       - found root inode chunk
Phase 3 - for each AG...
       - scan and clear agi unlinked lists...
       - process known inodes and perform inode discovery...
       - agno = 0
       - agno = 1
       - agno = 2
       - agno = 3
       - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
       - setting up duplicate extent list...
       - check for inodes claiming duplicate blocks...
       - agno = 0
       - agno = 1
       - agno = 2
       - agno = 3
Phase 5 - rebuild AG headers and trees...
       - reset superblock...
Phase 6 - check inode connectivity...
       - resetting contents of realtime bitmap and summary inodes
       - traversing filesystem ...
       - traversal finished ...
       - moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done

引用自:https://unix.stackexchange.com/questions/441323