The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/Documentation/nbd.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1                       Network Block Device (TCP version)
    2                                        
    3    What is it: With this compiled in the kernel (or as a module), Linux
    4    can use a remote server as one of its block devices. So every time
    5    the client computer wants to read, e.g., /dev/nb0, it sends a
    6    request over TCP to the server, which will reply with the data read.
    7    This can be used for stations with low disk space (or even diskless -
    8    if you boot from floppy) to borrow disk space from another computer.
    9    Unlike NFS, it is possible to put any filesystem on it, etc. It should
   10    even be possible to use NBD as a root filesystem (I've never tried),
   11    but it requires a user-level program to be in the initrd to start.
   12    It also allows you to run block-device in user land (making server
   13    and client physically the same computer, communicating using loopback).
   14    
   15    Current state: It currently works. Network block device is stable.
   16    I originally thought that it was impossible to swap over TCP. It
   17    turned out not to be true - swapping over TCP now works and seems
   18    to be deadlock-free, but it requires heavy patches into Linux's
   19    network layer.
   20    
   21    For more information, or to download the nbd-client and nbd-server
   22    tools, go to http://nbd.sf.net/.
   23 
   24    Howto: To setup nbd, you can simply do the following:
   25 
   26    First, serve a device or file from a remote server:
   27 
   28    nbd-server <port-number> <device-or-file-to-serve-to-client>
   29 
   30    e.g.,
   31         root@server1 # nbd-server 1234 /dev/sdb1
   32 
   33         (serves sdb1 partition on TCP port 1234)
   34 
   35    Then, on the local (client) system:
   36 
   37    nbd-client <server-name-or-IP> <server-port-number> /dev/nb[0-n]
   38 
   39    e.g.,
   40         root@client1 # nbd-client server1 1234 /dev/nb0
   41 
   42         (creates the nb0 device on client1)
   43 
   44    The nbd kernel module need only be installed on the client
   45    system, as the nbd-server is completely in userspace. In fact,
   46    the nbd-server has been successfully ported to other operating
   47    systems, including Windows.

Cache object: a7b81c327a08928b5e1811a983199b0f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.