SLESを起動してRAMディスクで実行したいです。 PXEブートが可能になるようにマシンを設定し、PXEブートプロセスの一部としてルートファイルシステムであるイメージを1段階ずつ実行してからブートします。
もしこのようなことや似たようなことをした人はいますか?
私の考えでは、これがinitrd
小さすぎて機能が不足していても、私が望むものとほぼ同じです。だから私は最小限のインストールを行い、cpioを使って独自のカスタマイズをしましたinitd
。 (約350Mと大きいが、この目的には十分です。)
fsck
起動しようとしたときに問題が発生しました/dev/shm/root
。これが起こらないようにする正しい方法は何ですか? (設定しようとしましたが、うまくいきません/etc/fstab
でした。)これにより、移行ポイントまでinitプロセスを開始できましたが、/etc/init.d/rc3.d
今は続行できません。
提案やアイデアがある場合、または他の人がすでにこの作業を行っている場合は良いでしょう。
PS。設定は1TBのRAMを備えた大規模なノードであり、OSにローカルファイルシステムを提供したくありません。代替案は、NFSサーバーをルートファイルシステムとして使用することですが、NFSトラフィックを望まないので、RAMディスクは良い選択肢のようです。
答え1
私は良い進展を示しています。
fsckプロセスにファイルシステムタイプ例外としてramfsを追加するために、/etc/init.d/boot.d/boot.rootfsckファイルを編集しました。 (ライン79)。
aufs|tmpfs|afs|cifs|nfs|novell|smb|ramfs|UNKNOWN*) MAY_FSCK=0 ;;
これにより、sysconfig で READONLYROOT を使用する必要がなくなります。
これを行った後、pxelinux.cfgを設定して次のブートラインを取得します。
LABEL SLES11 InMemory OS
KERNEL suseBig/vmlinuz-3.0.74-0.6.8-default
APPEND initrd=suseBig/suseImage rdinit=/sbin/init
TIMEOUT 100
suseImageファイルは、稼働中のSLESインストールの完全なルートファイルシステムのcpioアーカイブですが、rootの/ etc / fstab行が変更されました。 (他のジョブOS(別のディスク)からこのジョブSLES環境にアクセスしてCPIOアーカイブを構築する必要があります。)
rootfs / rootfs defaults 0 0
これがすべて完了すると、ノードが正常に起動し、PXEを介してネットワーク経由で起動できるSLESラムディスクの動作バージョンが作成されました。 (したがって起動は遅いですが、OSにはネットワークトラフィックがありません。)永続性はありませんが、アプリケーション層で問題を解決しました。