Contents of /alx-src/tags/kernel26-2.6.12-alx-r9/Documentation/nbd.txt
Parent Directory | Revision Log
Revision 628 -
(show annotations)
(download)
Wed Mar 4 10:48:58 2009 UTC (15 years, 6 months ago) by niro
Original Path: alx-src/trunk/kernel26-alx/linux/Documentation/nbd.txt
File MIME type: text/plain
File size: 1994 byte(s)
Wed Mar 4 10:48:58 2009 UTC (15 years, 6 months ago) by niro
Original Path: alx-src/trunk/kernel26-alx/linux/Documentation/nbd.txt
File MIME type: text/plain
File size: 1994 byte(s)
import linux sources based on 2.6.12-alx-r9: -using linux-2.6.12.6 -using 2.6.12-ck6 patch set -using fbsplash-0.9.2-r3 -using vesafb-tng-0.9-rc7 -using squashfs-2.2 -added cddvd-cmdfilter-drop.patch as ck dropped it -added via-epia-dri (cle266) patch -added zd1211-svn-32 wlan driver (http://zd1211.ath.cx/download/) -added debian patches to zd1211 for wep256 etc
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. |