緊急再マウントはファイルシステムの破損を防ぐことができません。

緊急再マウントはファイルシステムの破損を防ぐことができません。

1〜2秒かかる緊急シャットダウンを実行するための次のスクリプトがあります。 (休止時間が長すぎます)

# Enable System Requests
sudo echo 1 > /proc/sys/kernel/sysrq
#sync
sudo echo s > /proc/sysrq-trigger
#emergency remount
sudo echo u > /proc/sysrq-trigger
#shutoff
sudo echo o > /proc/sysrq-trigger

今回の緊急終了時に、tail -f /var/log/syslog緊急同期と緊急読み取り専用再インストールの両方が成功したことが確認されました。

ただし、システムの電源を入れた後、fsckはファイルシステムエラー(systemd status systemd-fsck-root.serviceエラー「表示」)を報告しました。破損した孤立した接続リストの一部であるノードが見つかりました。")。

これが起こらないようにするにはどうすればよいですか?同期+再インストールの組み合わせは安全だと思います。ファイルシステムが一貫性のない状態にある理由を説明できません。

修正する:非常に奇妙なことは、起動パラメータを使用してエラーを修正すると、fsck.repair=yes/ lost + foundフォルダが空で修正journalctl -u systemd-fsck*が完了したことを示さないことです。

[23:41]root@ras3:/daten/scripts$ journalctl --all -u systemd-fsck*
-- Logs begin at Thu 2016-11-03 18:16:43 CET, end at Sat 2019-07-06 23:45:20 CEST. --
Jul 06 23:03:10 ras3 systemd-fsck[139]: e2fsck 1.43.4 (31-Jan-2017)
Jul 06 23:03:10 ras3 systemd[1]: Started File System Check Daemon to report status.
Jul 07 01:17:01 ras3 systemd-fsck[143]: Durchgang 1: Inodes, Blöcke und Größen werden geprüft
Jul 07 01:17:26 ras3 systemd-fsck[143]: Durchgang 2: Verzeichnisstruktur wird geprüft
Jul 07 01:17:32 ras3 systemd-fsck[143]: Durchgang 3: Verzeichnisverknüpfungen werden geprüft
Jul 07 01:17:32 ras3 systemd-fsck[143]: Durchgang 4: Referenzzähler werden überprüft
Jul 07 01:17:33 ras3 systemd-fsck[143]: Durchgang 5: Zusammengefasste Gruppeninformation wird geprüft
Jul 06 23:03:43 ras3 systemd[1]: Started File System Check on Root Device.
Jul 06 23:03:44 ras3 systemd[1]: Starting File System Check on /dev/mmcblk0p1...
Jul 06 23:03:44 ras3 systemd-fsck[290]: fsck.fat 4.1 (2017-01-24)
Jul 06 23:03:44 ras3 systemd-fsck[290]: /dev/mmcblk0p1: 188 files, 45366/86467 clusters
Jul 06 23:03:44 ras3 systemd[1]: Started File System Check on /dev/mmcblk0p1.

システムはRaspberry Pi 3 B +のDebian Stretchです。

ベストアンサー1

なぜこれが必要なのかわかりません。これはテストされていない選択肢です。これがあなたのシステムでも数秒間働くことを願っています。

# /etc/systemd/system/emergency-poweroff.service
#
# Immediately terminate all processes, and then power off.
# Usage: systemctl start emergency-poweroff

[Unit]
Description=Emergency Power-Off
DefaultDependencies=no
Type=oneshot

# SIGKILL all the things
# - except the process itself, or we would not continue
ExecStart=/sbin/killall5 -9

# Wait for all processes to be cleaned up,
# then cleanly shutdown the filesystems and kernel.
ExecStart=/bin/systemctl poweroff --force

systemctl poweroff次にsystemctl halt置き換えられた場合可能画面にログメッセージを保持します。これは最初のテストとして役立ちます。

おすすめ記事