Linux 版本:Ubuntu 12.04
安装环境:两台Linux虚拟机(一个安装nbd-server,一个安装nbd-client),ip地址分别为ip1,ip2。
关于Network Block Device(NBD)的介绍,参见网址:http://en.wikipedia.org/wiki/Network_block_device
NBD Server端的安装配置过程
1.安装nbd-server
# apt-get install nbd-server
安装过程可能会有如下提示,不用担心,可以忽略。
Not creating home directory `/etc/nbd-server'.
** Message: No configured exports; quitting.
nbd-server.
# dd if=/dev/zero of=/mnt/dhini bs=1024 count=36000关于这条命令的作用,可以自己百度。
3.格式化刚才创建的文件
# mke2fs /mnt/dhini
/mnt/dhini is not a block special device. Proceed anyway? (y,n) y(按照提示输入y即可)3.开启nbd-server进程
# nbd-server 1043 /mnt/dhininbd-server port file [size][kKmM] [-l authorize_file] [-r] [-m] [-c] [-a timeout_sec]
注意:运行命令可能会出现如下警告,不用担心,不影响后面的操作。
~# nbd-server 1043 /mnt/dhini
** (process:2407): WARNING **: Specifying an export on the command line is deprecated.
** (process:2407): WARNING **: Please use a configuration file instead.
服务器端暂时配置到这。
NBD client端的安装配置过程
1.加载nbd模块
modprobe nbd
查看是否加载成功
lsmod | grep nbd
查看nbd设备是否建立
ls /dev/nbd* -hl
2.安装nbd-client
apt-get install nbd-client
bd-client用法:
nbd-client [bs=blocksize] host port nbd_device [-swap]
bs 用于设置块大小,默认是1024,可以是512,1024.2048,4096
host 服务器的主机名或IP
port 服务器的监听端口
nbd_device 映射到本地的哪个nbd设备(如: /dev/nbd0)
-swap 指定nbd设备将用做swap空间
3.与nbd-server建立连接
nbd-client ip1 1043 /dev/nbd0
客户端配置暂时结束。
下面举一个client访问server创建文件的例子。
1.client端操作
client与server建立连接后,可以把server端的文件挂载到本地,并在本地进行操作,命令如下:
mkdir /mnt/nbd0
mount /dev/nbd0 /mnt/nbd0
cd /mnt/nbd0
touch test //创建一个文件。
client端操作结束后,要卸载刚才挂载的文件,并与server断开连接,命令如下:
umount /mnt/nbd0
nbd-client -d /dev/nbd0
2.server端操作
server只需挂载之前创建的用于client访问的文件到某一目录即可:
mkdir /mnt/nbd0
mount /mnt/dhini /mnt/nbd0
cd /mnt/nbd0
ls
可以看到你在client端创建的文件。NBD测试成功。