This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

仮想ディスク: ネットワーク, メモリ, そしてファイルベースのファイルシステム

12.5. 仮想ディスク: ネットワーク, メモリ, そしてファイルベースのファイルシステム

FreeBSD にはフロッピーや CD, ハードディスクなどの手元の計算機に取り付けたディスクの他に, 別の形態のディスク, 仮想ディスク, もあります.

これには, Network Filesystem のようなネットワークファイルシステムや Coda, md のようなメモリベースのファイルシステム, vnconfig によって作られるようなファイル中に構築されるファイルシステムがあります.

12.5.1. vnconfig: ファイル中に構築されるファイルシステム

vnconfig(8) を使えば擬似ディスクデバイスを設定し, 有効にすることができます. vnode とはファイルの内部的な表現方法であり, ファイルに関する操作の中心となるものです. つまり, vnconfig(8) はファイルシステムを生成したり操作したりするためにファイルを用いるのです. 一つ例を挙げると, ファイルに収められたフロッピーや CD-ROM のイメージをマウントするために用いることができます.

既にあるファイルシステムイメージのマウント

Example 12-1. vnconfig を用いた既存のファイルシステムイメージのマウント

    # vnconfig vn0 diskimage
    # mount /dev/vn0c /mnt

vnconfig を用いたファイルシステムイメージの新規作成

Example 12-2. vnconfig を用いたファイルベースディスクの新規作成

    # dd if=/dev/zero of=newimage bs=1k count=5k
    5120+0 records in
    5120+0 records out
    # vnconfig -s labels -c vn0 newimage
    # disklabel -r -w vn0 auto
    # newfs vn0c
    Warning: 2048 sector(s) in last cylinder unallocated
    /dev/rvn0c:     10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
            5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
    super-block backups (for fsck -b #) at:
     32
    # mount /dev/vn0c /mnt
    # df /mnt
    Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
    /dev/vn0c        4927        1     4532     0%    /mnt

12.5.2. md: メモリファイルシステム

md はメモリファイルシステムを実現するためにシンプルで効率的な手段です.

単に, 例えば vnconfig(8) を用いて作成したファイルシステムを取り, 以下のようにします.

Example 12-3. md メモリディスク

    # dd if=newimage of=/dev/md0
    5120+0 records in
    5120+0 records out
    # mount /dev/md0c /mnt
    # df /mnt
    Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
    /dev/md0c        4927        1     4532     0%    /mnt