デバイスをインストールしようとして失敗しました。奇妙なことは、mountコマンドが成功し、終了コード0を返しますが、デバイスがマウントされていないことです。なぜこれが起こるのか、どのように調べるべきかを知っていますか?次の例をご覧ください。
[root@mymachine ~]# blkid -o list
device fs_type label mount point UUID
-----------------------------------------------------------------------------------------
/dev/xvda1 xfs / 29342a0b-e20f-4676-9ecf-dfdf02ef6683
/dev/xvdy ext4 /vols/data 72c23c30-2704-42ec-9518-533c182e2b22
/dev/xvdb swap <swap> 990ff722-158c-4ad5-963a-0bc9e1e2b17a
/dev/xvdx ext4 (not mounted) 956b5553-d8b4-4ffe-830c-253e1cb10a2f
[root@mymachine ~]# grep /dev/xvdx /etc/fstab
/dev/xvdx /vols/data5 ext4 defaults 0 0
[root@mymachine ~]# mount -a; echo $?
0
[root@mymachine ~]# blkid -o list
device fs_type label mount point UUID
-----------------------------------------------------------------------------------------
/dev/xvda1 xfs / 29342a0b-e20f-4676-9ecf-dfdf02ef6683
/dev/xvdy ext4 /vols/data 72c23c30-2704-42ec-9518-533c182e2b22
/dev/xvdb swap <swap> 990ff722-158c-4ad5-963a-0bc9e1e2b17a
/dev/xvdx ext4 (not mounted) 956b5553-d8b4-4ffe-830c-253e1cb10a2f
[root@mymachine ~]# mount /dev/xvdx /vols/data5; echo $?
0
[root@mymachine ~]# blkid -o list
device fs_type label mount point UUID
-----------------------------------------------------------------------------------------
/dev/xvda1 xfs / 29342a0b-e20f-4676-9ecf-dfdf02ef6683
/dev/xvdy ext4 /vols/data 72c23c30-2704-42ec-9518-533c182e2b22
/dev/xvdb swap <swap> 990ff722-158c-4ad5-963a-0bc9e1e2b17a
/dev/xvdx ext4 (not mounted) 956b5553-d8b4-4ffe-830c-253e1cb10a2f
[root@mymachine ~]#
fstabを完了してください。
[root@mymachine ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon May 1 18:59:01 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=29342a0b-e20f-4676-9ecf-dfdf02ef6683 / xfs defaults 0 0
/dev/xvdb swap swap defaults,nofail 0 0
/dev/xvdy /vols/data ext4 defaults 0 0
/dev/xvdx /vols/data5 ext4 defaults 0 0
答え1
通常、マウントは問題が発生してもゼロを返しません。同様の問題に直面したとき、その理由はsystemdがファイルシステムをマウントした直後にアンマウントしたからです。
strace mount /dev/xvdx /vols/data5
システムコールの結果を確認できます。mount /dev/xvdx /vols/data5; ls -li /vols/data5
mountコマンドの直後に何かがインストールされていることを確認することもできます。
答え2
何か(おそらくsystemd)がファイルシステムをアンマウントしているという許可された答えに加えて、私の場合に何が起こっているのかをもっと詳しく説明します。
Journalctlが示すように、実際にシステム化されています。
私のシナリオでは、fstabにこれがあります。
/dev/sda6 /fasthome ext4 defaults 0 2
/dev/sda7 /mnt/vms ext4 defaults 0 2
(ファストホームは暗号化なしでディスク集約的な作業を行うことができる場所です。)
したがって、起動するために外部USBドライブを接続するとsdaになり、内部ドライブはsdbになります。明らかに、これらのマウントポイントが機能していないので、私は次のように修正しました。
/dev/disk/by-uuid/<some uuid> /fasthome ext4 defaults 0 2
/dev/disk/by-uuid/<other uuid> /mnt/vms ext4 defaults 0 2
その後、実行しましたが、mount -a
エラーなしでコマンドは完了しましたがインストールされていないようです。それで私もmount /dev/disk/by-uuid ...
同じことを試みて、結局こんな質問をするようになりました。
はい、削除するシステムがあります。私の場合、その理由は次のとおりです。前に /fasthome
~だった試験を終えたにインストールするには、/dev/sda6
systemdが非アクティブデバイスで完全に停止します。したがって、私のuuidパスシンボリックリンクが/dev/sdb6
systemdを正しく指していても、ここで何が起こるのか気にしません。
この特別なケースに対する答えは、単に再起動して間違ったデバイス参照を取り除くことです。
私はこの問題を引き起こす可能性がありますが、他の1001の状況があると確信しています。
答え3
実行systemctl daemon-reload
または再起動するのに役立ちます。
Systemdは依存関係が欠落していると考え、すぐにボリュームを切り離します。
私はこれを見つけましたhttps://github.com/systemd/systemd/issues/1741これは以前の回答で言及されました。
答え4
前のアイテムを削除するのを忘れたときも同じことが起こりました。/etc/fstab
cli コマンドは正確ですが、fstab エントリは無効な FS タイプを指定するため、これは非常に非合理的な動作です。 mount コマンドは両方とも無視します。