web-dev-qa-db-ja.com

起動時にVG / LVを自動的にアクティブ化する適切な方法は何ですか?

Buildroot を使用して、ARMv5 KirkwoodSoCベースのNASボックスでRAM)で実行されるシステムを作成しました。 BusyBox を使用します。私のinitシステム、および/dev管理はdevtmpfsのみを使用して行われます。dmsetupだけでなく標準インストールでLVM2とデバイスマッパーターゲットパッケージを選択しました。デバイスで複数のデバイスドライバーをサポートするようにLinuxカーネルを構成しました。マッパーのサポート。システムは問題なく起動しますが、論理ボリュームは非アクティブです。vgchange -ayを実行すると、それらはアクティブになり、マウントできます。

私の質問は、起動中にボリュームを自動的にアクティブ化する適切な方法は何ですか?そのための構成オプションはありますか?または、起動中のある時点でvgchange -ayを実行する必要が本当にありますか(例:/etc/inittab)? 一部のソースは、VG/LVは通常、起動時に自動的にアクティブ化されることを示唆しているようです ですが、一般的なディストリビューションでの初期化プロセスの実装を参照しているだけかどうかはわかりません。

1
montiainen

はい、ある時点で何かがLVMユーティリティ(あなたが言うように、vgchange -a yなど)を実行する必要があります。カーネルがそれ自体を理解できるようにする魔法はありません。

Initramfsでは、これは通常、/initスクリプトによって(直接的または間接的に)実行されます。一部のシステムでは、udevが新しいディスクについて通知されるたびに、VG/LVもスキャンしますが、devtmpfsではそのオプションもありません。

そうです、確かに、LVM用のinitスクリプトを作成し、initシステムになんらかの方法で実行させます。

1
frostschutz