首页 > 代码库 > Ubuntu下的NBD和iscsi挂载

Ubuntu下的NBD和iscsi挂载

以下是在Ubuntu12.04.4下测试的

NBD网络块设备的使用

一、NBD简介

NBD(Network Block Device)让你可以将一个远程主机的磁盘空间,当作一个块设备来使用.就像一块硬盘一样.使用它,你可以很方便的将另一台服务器的硬盘空间,增加到本地服务器上.

二、NBD安装方法

在Turbolinux的10以上的版本中,NBD已被编译成模块.保存在

/lib/modules/$version/kernel/driver/block/下.你还需要在服务器端和客户端上安装nbd-server和nbd-client工具.你可以从官方网站上下载源码包,并分别在服务器端和客户端服务器上进行安装:

http://sourceforge.net/projects/nbd

我们这里下载nbd-2.8.8.tar.bz2

下载后,执行下列步骤进行安装:

#tar jxf nbd-2.8.8.tar.bz2

#cd nbd-2.8.8

#./configure

#make

#make install

或者使用命令行安装:

sudoapt-get install nbd-client

sudoapt-get install nbd-server

三、NBD使用方法

查看nbd进程.

#ps -ef | grep nbd

root11292 1 0 15:02 ? 00:00:00 nbd-server 1234 /dev /nbd0

2、客户端配置方法

sudoapt-get install nbd-client

加载nbd模块.

#modprobe  nbd

#lsmod | grep nbd

nbd26400 0

查看nbd设备是否建立.

#ls /dev/nbd* -hl

brw-r-----1 root disk 43, 0 Jul 27 06:40 /dev/nbd0

brw-r-----1 root disk 43, 1 Jul 27 06:40 /dev/nbd1

brw-r-----1 root disk 43, 2 Jul 27 06:40 /dev/nbd2

brw-r-----1 root disk 43, 3 Jul 27 06:40 /dev/nbd3

brw-r-----1 root disk 43, 4 Jul 27 06:40 /dev/nbd4

brw-r-----1 root disk 43, 5 Jul 27 06:40 /dev/nbd5

brw-r-----1 root disk 43, 6 Jul 27 06:40 /dev/nbd6

brw-r-----1 root disk 43, 7 Jul 27 06:40 /dev/nbd7

brw-r-----1 root disk 43, 8 Jul 27 06:40 /dev/nbd8

brw-r-----1 root disk 43, 9 Jul 27 06:40 /dev/nbd9

将/dev/nbd0设备与主机连接.

#nbd-client 192.168.1.1 1234 /dev/nbd0

Negotiation:..size = 307200KB

bs=1024,sz=307200

nbd-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空间

nbd-client -d nbd_device 用于断开连接

连接成功后,可以查看到nbd-client进程.

#ps -ef | grep nbd

root3156 1 0 06:44 pts/0 00:00:00 nbd-client 192.168.1.1 1234 /dev/nbd0

使用前,需要格式化这个块设备.

#mkfs.ext3 /dev/nbd0

挂载这个块设备.

#mkdir /mnt/nbd0

#mount /dev/nbd0 /mnt/nbd0

参考链接:

http://blog.csdn.net/gui694278452/article/details/7652450

ISCSI设备的挂载

一、iscsi target端

(1)安装 iscsi target相关的软件

     $ sudo apt-get install iscsitarget iscsitarget-source iscsitarget-dkms tgt

(2)修改iscsi target的配置文件

     $ sudo vi /etc/default/iscsitarget

     ISCSITARGET_ENABLE=true   # change false to true

(3)为target准备存储

a、创建一个target,id=1,iqn=iqn.2013-02.node2

tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2013-02.node2

b、查看当前创建的target和lun   

tgtadm --lld iscsi --op show --mode target

c、使某个target能够被initiator访问,必须先执行如下命令

tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

d、ubuntu下iscsi target配置

   # vi /etc/iet/ietd.conf

  在文件的末尾添加如下信息:

  Target iqn.2012-12.local.mynet:storage.lun1   //iqn.2012-12.local.mynet:storage.lun1为iqn

e、重启iscsitarget服务

   service iscsitarget restart

二、iscsi initiator端

    (1)安装open-scsi

      sudo  apt-get install open-iscsi open-iscsi-utils

     (2)发现iscsi target

      sudo iscsiadm -m discovery -t sendtargets -p 192.168.35.17

      显示信息如下:

      192.168.35.17:3260,1 iqn.2013-02.node2

    (3)使用target

      sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 --login

     执行上述操作后,就可在本地主机上多出一个/dev/sdx

     #删除target可使用:

     sudo iscsiadm -m node --targetname iqn.2013-02.node2 -p 192.168.35.17 -u

     (5)格式化

    mkfs.ext3 /dev/sdX