Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 359401
b: refs/heads/master
c: 5e4b269
h: refs/heads/master
i:
  359399: 9e0be15
v: v3
  • Loading branch information
Wouter Verhelst authored and Linus Torvalds committed Feb 28, 2013
1 parent f8ce152 commit 48b3815
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 35 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a83e814b5bb948850e903585d18b6298b7093cb2
refs/heads/master: 5e4b269bcd178ac9b066a69f17c253d2f3f6388a
38 changes: 4 additions & 34 deletions trunk/Documentation/blockdev/nbd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,13 @@
can use a remote server as one of its block devices. So every time
the client computer wants to read, e.g., /dev/nb0, it sends a
request over TCP to the server, which will reply with the data read.
This can be used for stations with low disk space (or even diskless -
if you boot from floppy) to borrow disk space from another computer.
Unlike NFS, it is possible to put any filesystem on it, etc. It should
even be possible to use NBD as a root filesystem (I've never tried),
but it requires a user-level program to be in the initrd to start.
It also allows you to run block-device in user land (making server
and client physically the same computer, communicating using loopback).

Current state: It currently works. Network block device is stable.
I originally thought that it was impossible to swap over TCP. It
turned out not to be true - swapping over TCP now works and seems
to be deadlock-free, but it requires heavy patches into Linux's
network layer.

This can be used for stations with low disk space (or even diskless)
to borrow disk space from another computer.
Unlike NFS, it is possible to put any filesystem on it, etc.

For more information, or to download the nbd-client and nbd-server
tools, go to http://nbd.sf.net/.

Howto: To setup nbd, you can simply do the following:

First, serve a device or file from a remote server:

nbd-server <port-number> <device-or-file-to-serve-to-client>

e.g.,
root@server1 # nbd-server 1234 /dev/sdb1

(serves sdb1 partition on TCP port 1234)

Then, on the local (client) system:

nbd-client <server-name-or-IP> <server-port-number> /dev/nb[0-n]

e.g.,
root@client1 # nbd-client server1 1234 /dev/nb0

(creates the nb0 device on client1)

The nbd kernel module need only be installed on the client
system, as the nbd-server is completely in userspace. In fact,
the nbd-server has been successfully ported to other operating
Expand Down
1 change: 1 addition & 0 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -5438,6 +5438,7 @@ F: net/netrom/
NETWORK BLOCK DEVICE (NBD)
M: Paul Clements <Paul.Clements@steeleye.com>
S: Maintained
L: nbd-general@lists.sourceforge.net
F: Documentation/blockdev/nbd.txt
F: drivers/block/nbd.c
F: include/linux/nbd.h
Expand Down

0 comments on commit 48b3815

Please sign in to comment.