10以上のループバックデバイスをセットアップするにはどうすればよいですか?


9

この答えから、解決策は

modprobe loop max_loop=64

これにより、64のループバックデバイスを使用できるようになります

mknod -m 660 /dev/loop8 b 7 8

デバイスを作成します。私はこれを8、9、10、8、9の作品で行いましたが、10はそうではありません。

次に、loopaからloopfを試し、11番目のデバイスをマウントしようとしたところ、エラーが発生しました。

Error: Failed to set up a loop device:

> 10ループデバイスを作成するにはどうすればよいですか?


実行していることを確認してくださいmknod -m 660 /dev/loop10 b 7 10。それは私にとってはうまくいきました。どのディストリビューションを使用していますか?
sparticvs

@sparticvs:おっと、私はすべての変数の最後の値として8を使用しています。私が間違って行ったのに、なぜ9番目と10番目のデバイスをマウントできたのでしょうか。私はubuntuを使用しています。今テストしています。うん、うまくいった。

同じデバイスに対して複数のファイルシステムエントリを作成できます。それらはすべて同じデバイスを指定します。このエラーは、(別の名前でそのデバイスに到達した場合でも)既に使用されているループデバイスを呼び出したとき、losetupまたはmount -o loopループデバイスで発生したときに発生します。
Gilles 'SO-悪をやめる

この質問について私が気に入らないのは、max_loopが64に正しく設定されているかどうかを確認する方法を尋ねないことです。そして、私はどこに最大値が設定されているかを見分ける方法に関する情報を見つけることができません。
ジャージー豆

回答:


13

実行していることを確認してくださいmknod -m 660 /dev/loop10 b 7 10。フォーマットはmknod -m 660 /dev/loop<ID> b 7 <ID>IDが同じ場合です。

更新[2014年7月10日]

また、起動時に常により多くのことをするための良いブログ投稿も見つけました。https://yeri.be/xen-failed-to-find-an-unused-loop-deviceを参照してください

アップデート[05/25/2016]

CentOSサーバーを実行していますが、他の方法が機能しない場合にもこの投稿が役立つことがわかりました。

これは私の新しいお気に入りの方法になります:

MAKEDEV /dev/loop

256ループデバイスを作成します(これはカーネルを変更しない場合の最大値です)。


0

番号の付いていないループデバイス名(例:)の中で空きメジャーループデバイス番号を見つけたい場合は/dev/loop-something、このコマンドを使用して最大のものを見つけ、1を追加できます。

find /dev -type b -print0 | xargs -0L1 bash -c 'stat -c "%t %T" "$1" | awk "/^7 / { print(\$2); }"' '' | sort -nru | head -n1

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.