
質問
mdadm
マニュアルページに「レガシーアレイ」と呼ばれるスーパーブロックのないRAIDアレイがあります。最後に、systemdが起動時にデータパーティションをマウントするようにしましたが、systemdはプロセスで依存関係の順序に関するいくつかのエラーを発生させました。私は/etc/fstab
問題が発生せず、systemdが指定されているようにファイルシステムをマウントできるように、これらの問題を解決したいと思います。
(いいえ、systemdの出力を抑制することが有効な解決策だとは思いません。)
詳細
これはレガシーアレイです。これは、「通常の」ブートプログラム(この場合はDebian Linux)が起動時に自動的にアセンブルできないことを意味します。これは、このアレイへのパーティションのマウントに失敗する必要があることを意味します。解決策は、起動時にアレイを組み立てるコマンドを挿入することです。
私のアレイを正常に組み立てて使用するには、次の手順を実行する必要があります。 (名前変更)
mdadm --build /dev/md0 --raid-devices=2 --level=0 /dev/sdh /dev/sdi
このアレイでは、起動時にマウントするパーティションをマウントしますmount -a
。/etc/fstab
UUID="abcdefgh" /mnt/a ntfs-3g defaults,auto 0 0
UUID="12345678" /mnt/b ntfs-3g defaults,auto 0 0
これらの項目を渡してコマンドを実行してから入力すると、目的のmdadm
結果が得られますmount -a
。
systemdサービスユニットを作成(アクティブ化終了)してraid assembleコマンドを注入します。
[Unit]
Before=mnt-a.mount mnt-b.mount
[Service]
TYPE=oneshot
ExecStart=mdadm --build /dev/md0 --raid-devices=2 --level=0 /dev/sdh /dev/sdi
[Install]
WantedBy=local-fs-pre.target
これが動作している間、systemd内に依存関係循環が生成され、エラーメッセージが生成されるようです。
sysinit.target: Job apparmor.service/start deleted to break ordering cycle starting with sysinit.target/start
sysinit.target: Job local-fs.target/start deleted to break ordering cycle starting with sysinit.target/start
明らかに、システムが回復し、ついにボリュームと動作するOSをマウントしました。私の考えでは、を使用することで起動プロセスで利用可能なよりも早い時間を暗黙的に使用しているようntfs-3g
です。apparmor
この問題をどのように解決できますか?