📄 readme
字号:
This is the OpenGFS version of GNBD, the G Network Block Device.GNBD is a fork of the Linux kernel nbd device. There are a number offeatures that gnbd has over nbd:Multiple clients per server We don't have to worry about two reads or writes overlapping on the server as the server opens the block file in syncronous mode, and network receives are keep apart with mutexes. Everything else must be handled by higherlevel layers, e.g. the OpenGFS filesystem.Transparent reconnection. The loss of a server does not mean that programs using the device file immediatily get errors. Activity on the device pauses, and remains paused until gnbd gets reconnected to a server, and re-issuse any unfulfilled requests.Other proccesses Suspending IO. Simply, some other process can come and state that the device should stop talking (or trying to talk) to the server. Think `Entering cluster tansition'Notification of change of server. Just change the ip and port of where the device looks for a server.Resumption of service. Connect to the server again, and re-issue any requests that haven't gotten replies yet.Currently gnbd has a kernel thread and a TCP socket for each opened blockdevice. If either of these fail, the device is still opened. This is toallow modification of some parameters via ioctl.There is a short and simple userland program to set the ip and port. Donewith those ioctls.Server ip and port can also be specified at module load. This uses theconfig option durring insmod. More details in the main.c file.In case anyone asks. I have no plans on any sort of block encryption.Tunneling over ssh work just fine. (I jsut tested it.) So if you feel youneed a secure block server, install and use ssh.The current server was written in less than an hour to get work on thekernel module started. It sucks. (but works)For all sorts of gory details, scan the source, the comments can beentertaining. And possibly informative.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -