scsi-target-utils、linux用文件虚拟磁盘、linux磁盘snapshot

今天学习到了如何将linux的磁盘派给widows用,主要是用软件scsi-target-utils和iscsi-initiator,在linux安装scsi-target-utils,在widows安装iscsi-initiator。windows安装iscsi-initiator很容易,下载.exe安装就行了,下面介绍如何在linux redhat5 安装scsi-target-utils。另外还写了如果用dd生成一个自己想要大小的文件,将文件虚拟成一个磁盘来用,同时还提到怎样将零散的磁盘合并起来用。

 


********************************************************************************************

**************************** 安裝Target Server redhat5 或者Centos5**************************

---------------------
rpm -ivh perl-Config-General-2.40-1.el5.rf.noarch.rpm
rpm -ivh scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm

或者
 yum -y install perl-Config-General
 yum -y install scsi-target-utils

创建两个Partition给Initiator用
fdisk /dev/sda
/dev/sda5    --->第一个partition
/dev/sda6    --->第二个partition
以上两个partition无需格式化

启动/etc/init.d/tgtd start

进入/etc/init.d/tgtd/tgtd.conf,看例子完成配置,以下是命令行配置。关闭tgtd后失效。

[root@ns02 data]# rpm -ql scsi-target-utils
/usr/share/doc/scsi-target-utils-0.0/README.iscsi

//创建一个target,target id是1,target名字是iqn.test:storage01
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.test:storage01

//将sda5和sda6逻辑磁盘加到target 1中,供Initiator用。lun1 对应sda5,lun2对应sda6
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda5
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 -b /dev/sda6

//target允许IP为172.18.8.11 and 172.18.8.12 的initiators访问
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.18.8.11
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.18.8.12

//查看target 的当前配置
tgtadm --lld iscsi --op show --mode target

edit /etc/rc.local
----------------------
#iSCSI target devices setting by Adoflo (2010-01-14)
tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.test:storage01
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda5
tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 2 -b /dev/sda6
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.18.8.11
tgtadm --lld iscsi --op bind --mode target --tid 1 -I 172.18.8.12


***************redhat5 中/etc/tgt/targets.conf 的配置*******

<target iqn.test:storage01>
        # List of files to export as LUNs
        backing-store /dev/sda5
        backing-store /dev/sda6

        # Authentication :
        # if no "incominguser" is specified, it is not used
        #incominguser uesrname secretpasswd

        # Access control :
        # defaults to ALL if no "initiator-address" is specified
        initiator-address 172.18.8.11 172.18.8.12
</target>




***************************************************************************************

********************************linux系统上安裝initiator*******************************


//安装iscsi-initiator-utils
rpm -ivh iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm

yum -y install iscsi-initiator-utils

//修改inititator主机的iqn
InitiatorName=iqn.test:node1

//启动服务
/etc/init.d/iscsi start

//侦测target server有哪些资源
iscsiadm -m discovery -t sendtargets -p 172.18.8.2:3260

//登入刚刚侦测出来的可用资源
iscsiadm -m node -T iqn.test:storage01 -p 172.18.8.2:3260 -l

//登出资源
iscsiadm -m node -T iqn.test:storage01 -p 172.18.8.2:3260 -u



*****************************************************************************************

*********************************建立linux虚拟盘,用文件模拟磁盘*********************************


在进行linux的实验中,如果没有多余的硬盘来做测试。则可以在linux下使用文件来模拟磁盘,以供测试目的。
其模拟过程如下所示,摘录自《Oracle数据库核心技术与实务详解-教你如何成为Oracle 10g OCP》一书。
1)以root用户创建一个ASM磁盘所在的目录。

[root@book u01]# mkdir –p /u01/asmdisks

2)通过dd命令创建6个400M大小的文件,每个文件代表一块磁盘。
[root@book u01]# cd asmdisks
[root@book asmdisks]# dd if=/dev/zero of=asm_disk1 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk2 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk3 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk4 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk5 bs=1024k count=400
[root@book asmdisks]# dd if=/dev/zero of=asm_disk6 bs=1024k count=400

3)将这些文件与裸设备关联。
[root@book asmdisks]# chmod 777 asm_disk*
[root@book asmdisks]# losetup /dev/loop1 asm_disk1
[root@book asmdisks]# losetup /dev/loop2 asm_disk2
[root@book asmdisks]# losetup /dev/loop3 asm_disk3
[root@book asmdisks]# losetup /dev/loop4 asm_disk4
[root@book asmdisks]# losetup /dev/loop5 asm_disk5   
[root@book asmdisks]# losetup /dev/loop6 asm_disk6

注意:如果要删除通过dd模拟出的虚拟磁盘文件的话,直接删除模拟出的磁盘文件
(也就是asm_disk1、asm_disk2…asm_disk6)还不够,
还必须执行losetup -d /dev/loopN,在这里N从1到6。否则,磁盘文件所占用的磁盘空间不能释放




***********************************************************************************************

****************************将两个虚拟盘合并成一个虚拟盘,然后可以自由决定派多少空间*************************



   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        1600     1612768+  83  Linux
/dev/sdb2            1601        3882     2300256   83  Linux

[root@maoting ~]#   pvcreate /dev/sdb1               //创建逻辑磁盘
  Physical volume "/dev/sdb1" successfully created
[root@maoting ~]#   pvcreate /dev/sdb2             //创建逻辑磁盘
  Physical volume "/dev/sdb2" successfully created
[root@maoting ~]# vgcreate firstvg /dev/sdb1 /dev/sdb2  //创建VG组,名字是firstvg,同时将/dev/sdb1 /dev/sdb2两个分区加到firstvg
  Volume group "firstvg" successfully created
[root@maoting ~]#  vgchange -a y firstvg
  0 logical volume(s) in volume group "firstvg" now active

[root@maoting ~]# vgdisplay firstvg  //查看firstvg组的信息
  --- Volume group ---
  VG Name               firstvg
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.73 GB
  PE Size               4.00 MB
  Total PE              954
  Alloc PE / Size       0 / 0
  Free  PE / Size       954 / 3.73 GB
  VG UUID               mKdQde-Zopt-PRUe-ImoG-VNxi-tnKJ-UejRKJ

[root@maoting ~]#  lvcreate -L 3730 -n first3g firstvg //从firstvg里创建一个first3g盘,大小是3730M (只要在firstvg大小的范围内都可以,也就是可以随意派盘。)
  Rounding up size to full physical extent 3.64 GB
  Logical volume "first3g" created
[root@maoting ~]# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.tgt1
[root@maoting ~]#  tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.0.151

[root@maoting ~]# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/firstvg/first3g //把first3g盘给target 1

[root@maoting ~]# tgtadm --lld iscsi --mode target --op show
Target 4: iqn.tgt1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET   00040000
            SCSI SN: beaf40
            Size: 0 MB
            Online: Yes
            Removable media: No
            Backing store: No backing store
        LUN: 1
            Type: disk
            SCSI ID: IET     00040001
            SCSI SN: beaf41
            Size: 3913 MB
            Online: Yes
            Removable media: No
            Backing store: /dev/firstvg/first3g
    Account information:
    ACL information:
        192.168.0.151



*************************************************************************************************

************************************用LVM创建linux磁盘snapshot***************************************

[root@drbd-1 ~]#
[root@drbd-1 ~]# lvcreate --size 16m --snapshot --name snap /dev/firstvg/first3g
  Logical volume "snap" created
[root@drbd-1 ~]# lvscan
  ACTIVE   Original '/dev/firstvg/first3g' [4.88 GB] inherit
  ACTIVE   Snapshot '/dev/firstvg/snap' [16.00 MB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol00' [18.88 GB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol01' [1.00 GB] inherit
[root@drbd-1 ~]#


在192.168.0.151这台机上,只要安装iscsi-initiator就可以连到target上。至于target还有其他一些配置,大家想知道的话就自己去查了。知道的同行也可以贴出来,让大家相互学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值