CentOS根檔案系統重新啟動後進入唯讀狀態

CentOS根檔案系統重新啟動後進入唯讀狀態

我最近執行了從一個 aws 實例到另一個實例的 rsync。這導致根檔案系統進入只讀模式。

我可以使用讀寫權限重新掛載檔案系統,但重新啟動系統後它將恢復為唯讀:

mount
...
/dev/xvda1 on / type xfs (ro,relatime,attr2,inode64,noquota)
...
sudo mount -o remount,rw /dev/xvda1

mount
...
/dev/xvda1 on / type xfs (rw,relatime,attr2,inode64,noquota)
...

重啟

mount
...
/dev/xvda1 on / type xfs (ro,relatime,attr2,inode64,noquota)
...

這是一個 CentOS 實例。

找不到類似的帖子,但如果我錯過了,請重定向我。任何幫助表示讚賞。

更新

journalctl
...
Jul 23 11:48:36 ip-xxx.compute.internal systemd-remount-fs[1773]: mount: can't find LABEL=root
Jul 23 11:48:36 ip-xxx.compute.internal systemd-remount-fs[1773]: /bin/mount for / exited with exit status 1.
Jul 23 11:48:36 ip-xxx.compute.internal systemd[1]: systemd-remount-fs.service: main process exited, code=exited, status=1/FAILURE
Jul 23 11:48:36 ip-xxx.compute.internal systemd[1]: Failed to start Remount Root and Kernel File Systems.
Jul 23 11:48:36 ip-xxx.compute.internal systemd[1]: Unit systemd-remount-fs.service entered failed state.
Jul 23 11:48:36 ip-xxx.compute.internal systemd[1]: systemd-remount-fs.service failed.
...
cat /etc/fstab | head -n 1
LABEL=root /         xfs    defaults,relatime  1 1

解決方案 請參閱 nKn 接受的答案。但就我而言,我需要採取一些額外的步驟:

  • 由於這是根/啟動檔案系統,我需要將該磁碟區附加到另一個實例,然後在重新附加到原始實例之前重新標記該檔案系統。這是在 AWS 中,可以透過停止兩個執行個體並前往磁碟區、操作 > 附加磁碟區 > 選擇第二個執行個體來完成。

  • 由於我的系統是 xfs,所以我需要使用: xfs_admin -L "root" /dev/sdb (https://docs.oracle.com/cd/E37670_01/E37355/html/ol_admin_xfs.html)一旦附加到第二個實例。

答案1

正如您可能已經註意到的,問題似乎就在這裡:

Jul 23 11:48:36 ip-xxx.compute.internal systemd-remount-fs[1773]: mount: can't find LABEL=root

在您的/etc/fstab文件中,您嘗試安裝標記的設備root,但由於某種原因它不再可用。也許更新/升級可能會刪除標籤(儘管這並不常見)。要解決此問題,只需重新標記設備即可。

您必須在檔案系統的/dev目錄下找到該設備,然後執行:

e2label /dev/your-device root

之後重新啟動,它應該以rw模式掛載檔案系統。

相關內容