MDCONFIG(8)

名称
mdconfig - メモリディスクの設定と有効化

書式
mdconfig -a -t type [-n] [-o [no]option] ... [-f file] [-s size] [-S sectorsize] [-u unit] [-x sectors/track] [-y heads/cyl] mdconfig -d -u unit mdconfig -l [-n] [-u unit]

解説
mdconfig ユーティリティは md(4) デバイスを設定して有効化します。

以下のオプションは実行されるべき行動を示します:

-a  メモリディスクをアタッチします。 これは与えられたパラメータでメモリディスクを設定し、 それをシステムにアタッチします。

-d  メモリディスクをシステムからデタッチし、すべてのリソースを開放します。

-t type
    メモリディスクの型を選択します。

    malloc
        この型のメモリディスクの記憶領域は、 malloc(9) によって割り当てられます。 これはサイズをカーネル内での malloc の大きさ制限に制限します。 -o reserve オプションが設定されていなければ、 malloc に裏打ちされる大きなメモリディスクを作成して埋め尽くすことで、 いとも簡単にシステムはパニックしてしまいます。

    vnode
        -f file によって指定されたファイルがメモリディスクのための バッキングストアになります。

    swap
        スワップ領域がこのメモリディスクを裏打ちします。

-f file
    vnode 型のメモリディスクのために使用されるファイル名です。

-l  設定された md(4) デバイスについてのリスト情報です。 これと関連して -u オプションが使用された場合には、出力は指定されたデバイスについての 情報に制限されます。

-n  md デバイス名を表示する場合、md を付けずにユニット番号だけを表示します。

-s size
    メモリディスクのサイズです。 size はそれぞれキロバイト、メガバイト、ギガバイトを表す、 k, m, g のいずれかがサフィックスとして付いていない場合には 512 バイトセクタの数です。

-S sectorsize
    malloc に裏打ちされるデバイスのために使用されるブロックサイズです。

-x sectors/track
    下記の -y オプションの説明を見て下さい。

-y heads/cyl
    -x と -y オプションは、 malloc または vnode に裏打ちされたデバイスに対して、 人工的なジオメトリを指定するのに使います。 これは後で他のデバイスにダウンロードするブート可能なイメージを作成するのに 有用です。

-o [no]option
    オプションの設定または解除をします。

    [no]async
        vnode に裏打ちされたデバイス用です。 IO_SYNC をさけることで、パフォーマンスは向上しますが、 カーネル全体がデッドロックしてしまう危険があります。

    [no]reserve
        必要なときにではなく、最初から必要な記憶領域の全てを割り当てて予約します。

    [no]cluster
        ディスクのクラスタリングを有効化します。

    [no]compress
        メモリ使用量の削減のため、圧縮機能を有効化/無効化します。

    [no]force
        ユーザがシステムに悪い影響を与えるかもしれないことを避けるために、 追加の整合性チェックを無効化/有効化します。

    [no]readonly
        読出し専用モードを有効化/無効化します。

-u unit
    自動割当の代わりに md(4) デバイスのユニット番号の指定を要求します。

使用例
malloc(9) で割り当てられたメモリに裏打ちされた 4 メガバイトのメモリディスクを作成します。 割り当てられたユニットは “md3” のように標準出力に出力されます:

    mdconfig -a -t malloc -s 4m

/tmp/boot.flp に裏打ちされた /dev/md4 という名前のディスクとして作成するには:

    mdconfig -a -t vnode -f /tmp/boot.flp -u 4

デタッチして /dev/md4 によって使用されているすべてのリソースを開放するには:

    mdconfig -d -u 4

128MB のスワップに裏打ちされたファイルシステムを作成し /tmp にマウントするには:

    mdconfig -a -t swap -s 128M -u 10
    newfs -U /dev/md10
    mount /dev/md10 /tmp
    chmod 1777 /tmp

5MB のファイルに裏打ちされたディスクを作成するためには:

    dd if=/dev/zero of=somebackingfile bs=1k count=5k
    mdconfig -a -t vnode -f somebackingfile -u 0
    bsdlabel -w md0 auto
    newfs md0c
    mount /dev/md0c /mnt

関連項目
md(4), bsdlabel(8), fdisk(8), mdmfs(8), malloc(9)

歴史
mdconfig ユーティリティは vn(4) および vnconfig(8) の組み合わせの、よりきれいな置き換えとして、 FreeBSD 5.0 ではじめて登場しました。

作者
mdconfig ユーティリティは Poul-Henning Kamp <phk@FreeBSD.org> が書きました。