mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 00:01:35 +00:00 
			
		
		
		
	 1da177e4c3
			
		
	
	
		1da177e4c3
		
	
	
	
	
		
			
			Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|                       Network Block Device (TCP version)
 | |
|                                        
 | |
|    What is it: With this compiled in the kernel (or as a module), Linux
 | |
|    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.
 | |
|    
 | |
|    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
 | |
|    systems, including Windows.
 |