リニアデバイスマッパーの使用に関するドキュメントは次のとおりです。https://www.kernel.org/doc/Documentation/device-mapper/linear.txt
この文書を理解しようとしています。開発パスとオフセットという2つのパラメータが必要です。しかし、私が見つけたすべての例は、前と後で異なることを示していますlinear
。ドキュメントとここで例を見ることができます。http://pig.made-it.com/devicemapper.html
最後のリンクの例は次のとおりです。
echo 0 $(blockdev --getsize /dev/loop1) linear /dev/loop1 0 > /tmp/onedisk SIZE1=$(blockdev --getsize /dev/loop1) SIZE2=$(blockdev --getsize /dev/loop2) echo ${SIZE1} ${SIZE2} linear /dev/loop2 0 >> /tmp/onedisk dmsetup create twoasone /tmp/onedisk
私が知っている限り、最初の行は何かの出力を取得して/tmp/onediskに入れることです。 Linearの前に何かがある理由は何であり、その役割は何ですか?
まあ、私はしばらくこれをやってきました。私の考えでは、これが基本的にエコーされる3つのパラメータのようです。
0
$(blockdev --getsize /dev/loop1)
linear /dev/loop1 0
その後、echoの出力は/tmp/onediskに保存されます。 tmp / ondiskの内容は最終的にdmsetup createのパラメータになります。これは正しいですか? /tmp/onediskの先頭に0とサイズが格納されている理由を理解するには、dmsetup createのドキュメントを必ず見てください。
答え1
上記の例の最初の行では、線形性は実際には実行されません。それはすべてちょうどエコーされました/tmp/onedisk
。私はこれを知っていますtmp/onedisk
。
0 2048リニア/開発/ループ0 0
線形は最後の行まで使用されません。最後の行では、create コマンドを使用して dmsetup を実行します。 Twoasoneはcreateコマンドに渡されたデバイス名です。/tmp/onedisk
また、インクルードテーブル形式でcreateコマンドに渡されます。したがって、線形は実際には表形式オプションです。を実行して、dmsetupマニュアルでこれに関する詳細情報を表示できますman dmsetup
。 「表形式」セクションで「線形」を見つけます。