LinuxService- ISCSI的理论与配置

1  预备知识

基本磁盘:基本磁盘有很多缺点,不能扩容,不可跨盘分配,必须连续。添加硬盘——分区(尽量把与系统无关的东西放在非系统盘)——格式化(制作文件系统)——挂载(分区是密闭的空间,挂载是给这个密闭的空间找出口)

LVM:相当于动态磁盘,添加硬盘——pv物理卷加入vg卷组时会分成多个pe物理块,pe物理块与le逻辑块一一等大映射,多个le组成lv——格式化——挂载

raid(磁盘阵列):一堆具有相似规格的磁盘组合在一起就叫磁盘阵列。raid1镜像卷,raid0条带卷(由默认大小是64k的区块组成),raid5(最少有3块磁盘或分区,结合了raid0与raid1的功能,既加快了读写速度,又实现了数据冗余)。生产环境中要么做LVM,要么做raid5级起步。硬raid是基于硬件实现的是有raid卡的,软raid是通过对LVM实行命令实现的

NFS共享目录:用于共享目录与存储

quota(磁盘限额):在iNode上限制创建文件的数量;在数据块上限制创建文件所占的容量。

dd命令是做备份的,if后面是分区或磁盘,of是存储到哪里,bs是每次存储多少,count是缓存多少次。例,dd   if=/dev/zero   of=/boot.bak

2  存储相关概念

2.1 一般用服务器存储数据,空间不足时可用以下方式解决

1)外接活动硬盘(DAS,direct attached storage):直接连接存储,又称本地存储设备。基本磁盘、LVM与raid是对本地存储设备的管理形式。

2)网络存储服务器(NAS):network attached storage:网络附加存储 ,如nfs/ftp/http。NAS实际上就是一部file server,一般以nfs,samba,ftp,http作为服务器,来完成存储或读取的主要方式。当前主要的NAS软件可以用FreeNAS来进行配置和完成。通过WEB界面直接进行控制。方便、简单、快捷不用专业IT人员进行完成。

3)存储区域网络服务(SAN):storage area network,存储区域网络,IPsan(走的是TCP/IP协议), Fcsan(走的是光纤通道,最快,最常用),FcoEsan(走的是以太网,但也是用光纤连接)

      如果有大量的硬盘或使用空间,但主机插槽不够,可以使用SAN。一般可以将SAN视为一个外接式的存储设备。SAN可以通过某些特殊的方式或者介质来提供网络内的主机进行资料的存储。

      简单来说SAN即通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑。SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。

3  基于以太网的存储

      iscsi(Internet  SCSI)属于IPsan, 因为光纤成本太高,从而使用ISCSI。ISCSI是基于C/S架构的,包括:存储设备——server服务器端,存放硬盘和raid设备;主机部分——client客户端,使用存储设备的客户端。属于IPsan,使用端口为TCP的3260 。

      iSCSI技术是一种由IBM公司研究开发的,是一个供硬件设备使用的可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。

      iSCSI技术是一种新储存技术,该技术是将现有SCSI接口与以太网络(Ethernet)技术结合,使服务器可与使用IP网络的储存装置互相交换资料。

4  iscsi的实现

4.1 测试环境

      两台虚拟机,存储服务器server,IP 为192.168.1.1,客户端client,IP为192.168.1.2 。每台客户端对应一个target(i)或者一个sever(i),其中i=1,2,……

4.2 配置服务器端

第一步 安装软件    #yum  install  targetcli   -y

第二步 先添加硬盘,然后创建硬盘,有三种方式:

方式1:从linux系统层面创建img镜像文件。

创建img类型的硬盘存放目录:mkdir  -v  /iscsihd

创建img镜像文件:dd  if=/dev/zero  of=/iscsihd/disk01.img  bs=1M  count=100

查看创建成功的img镜像文件:#cd  /iscishd    #du  -sh  disk01.img

创建img镜像文件:dd  if=/dev/zero  of=/iscsihd/disk02.img  bs=2M  count=100

查看创建成功的img镜像文件:#cd  /iscishd    #du  -sh  disk02.img

方式2:创建独立分区   #fdisk  /dev/sdb    (sdb1  1G  ;  sdb2  2G)

方式3:创建LV——lv01

将硬盘分区:fdisk    /dev/sdc     sdc1 全部

创建pv:     pvcreate   /dev/sdc1

创建vg:   vgcreate  vg01  /dev/sdc1

创建lv:    lvcreate   -L   5G   -n   lv01   vg01

查看创建完成的lv:lvs或lvscan或lvdisplay

查看分区:  lsblk

注:这三种方式并不是必须都得使用,任意选择使用

第三步 配置iscsi

1)#targetcli,然后进入“后台存储文件”目录下“fileio"目录   #cd  backstores/fileio

#create  disk01  /iscsihd/disk01.img

#create  disk02  /iscsihd/disk02.img

#create  disk03  /dev/sdb1

#create  disk04  /dev/sdb2

#create  disk05  /dev/vg01/lv01                //将创建好的设备放到后台备用

#/backstores/fileio/ls                              //查看已经创建完成的LUNS

2)#cd   /iscsi

#create  iqn.2018-01.com.server.www:server01      

注:规定iqn格式为   iqn.年-月.FQDN倒写:存储设备名

*/创建存储设备—server01

3)开启iscsi服务及监听端口                          //默认是已经开启的,不用更改

#cd  iqn.2018- 01.com.server.www:server01/tpg1/portals    

# delete   ip_address=0.0.0.0   ip_port=3260                    //删除IP及端口

# create   ip_address=192.168.1.2   ip_port=8888        //指定某个IP的某个端口

4)配置LUNS,增加所要用的硬盘设备,lun就是逻辑单元号,便于管理

#cd   iqn.*****server01/tpg1/luns

#create  /backstores/fileio/disk01

#create  /backstores/fileio/disk02

#create  /backstores/fileio/disk03

*/将后台设备加入到前台使用

5)设置访问权限

#cd  /iscsi/iqn.******.server01/tpg1

#set  attribute   generate_node_acls=1

注:默认情况下是,no  acls——未开启ACL访问控制,no  auth——未开启全局权限设置。关闭全局认证用 #set  attribute  authentication=0

*/开启ACL访问控制列表

#cd   acls

#create  iqn.2018-01.com.server.www:acl01

#cd   iqn.*****acl01                           */创建认证iqn,名字为acl01

#set   auth  userid = test                   //该用户可以不是系统的有效用户

#set   auth  password = 123123        */创建认证用户及密码。忘记密码就去 /etc/target/saveconfig.json下查看

#exit                                                           //保存并退出

注:将target设置为开机自启动,#systemctl  enable  target。就算是设置了开机自启动,服务器重启后用targetcli 设置的iscsi服务都会失效。

4.3 配置客户端及测试

第一步 安装软件    #yum   install   iscsi-initiator-utils   -y

第二步 配置验证区域名称及密码,认证ACL的iqn

#vim   /etc/iscsi/initiatorname.iscsi

添加  InitiatorName=iqn.2018-01.com.server.www:acl01

第三步 配置添加账户和密码,#vim   /etc/iscsi/iscsid.conf  

54:取消注释,开启认证,认证方式为CHAP(TCP三次握手)

58:取消注释,将username改为test     ——认证用户

59:取消注释,将password改为123123  ——认证密码

例:58  node.session.auth.username = test

    59  node.session.auth.password = 123123

第四步 重启服务   #systemctl   restart   iscsid

       开机自启   #systemctl   enable   iscsid

4.4 在客户端的其他相关操作

1)查找iscsi服务:iscsiadm  –m  discovery  –t  sendtargets   –p   192.168.1.2

//检测IP地址为192.168.1.2 的主机上是否有可用的存储设备 

-m  discovery      通过检测方式使用iscsiadmin命令

-t   sendtargets    通过iscsi协议,检测设备所拥有的信息

-p   ip_addr:port   指定server的IP地址和端口号,默认不写则为3260

查询本地是否收到server端的target:  ll  -R  /var/lib/iscsi/nodes

找出本机上所有检测到的target信息:iscsiadm  –m  node  -o  show

2)iscsiadm  –m  node  –T  iqn.2018- 01.com.server.www:server01  --login

//登陆到iscsi空间

iscsiadm  –m  node  –T  iqn.2018- 01.com.server.www:server01  --logout

//登出iscsi空间

3)添加/删除/更新target

iscsiadm  –m  node  –o  delete  –T   iqn.2018- 01.edu.niliu.www:niliustorage1

//删除target

#iscsiadm –m node 参数说明  -o delete 删除   -o update 更新   -o new 增加

5 在客户端用iscsi提供的磁盘创建lvm,并实现自动挂载

第一步 将指定的target作为自动链接:

iscsiadm  -m  node  -T  iqn.2016-07.com.server.www:srvstores1  -p  192.168.1.2  -o  update  -n   node.startup  -v   automatic

第二步 创建LV并格式化

#pvcreate  /dev/sde                       #vgcreate  vgtest   /dev/sde

#lvcreate  -L  500M  -n  vgtest  lvtest    #mkfs.ext4   /dev/vgtest/lvtest

第三步 创建挂载点   #mkdir  /mnt/lvtest

       挂载LV      #mount   /dev/vgtest/lvtest   /mnt/lvtest

第四步 设置自动挂载,编辑/etc/fstab文件:vim /etc/fstab

/dev/vgtest/lvtest   /mnt/lvtest   ext4   defaults,_netdev   0   0

第三步 重启测试


转载请注明出处,谢谢!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
iSCSI是一种网络存储协议,可以将远程设备的存储资源映射为本地磁盘,从而实现远程存储的访问。在Linux系统中,我们可以通过iSCSI服务来配置和管理iSCSI存储。 下面是在Linux系统中配置和管理iSCSI存储的步骤: 1. 安装iSCSI服务 在Linux系统中,我们可以使用yum命令安装iSCSI服务,命令如下: ``` yum install iscsi-initiator-utils ``` 2. 配置iSCSI服务 配置iSCSI服务需要以下步骤: (1)编辑iscsi配置文件/etc/iscsi/iscsid.conf,在文件中添加以下内容: ``` node.session.auth.authmethod = CHAP node.session.auth.username = <用户名> node.session.auth.password = <密码> ``` 其中,用户名和密码用于iSCSI的身份验证。 (2)编辑/etc/iscsi/initiatorname.iscsi文件,设置iSCSI的名称,命令如下: ``` echo "InitiatorName=iqn.2021-08.com.example:client1" > /etc/iscsi/initiatorname.iscsi ``` 其中,iqn.2021-08.com.example:client1为iSCSI的名称。 3. 连接iSCSI存储 连接iSCSI存储需要以下步骤: (1)查找iSCSI存储的地址和端口号,命令如下: ``` iscsiadm -m discovery -t st -p <存储地址> ``` 其中,存储地址为iSCSI存储的IP地址或域名。 (2)将iSCSI存储添加到发现列表中,命令如下: ``` iscsiadm -m node -o new -T <存储名> -p <存储地址>:<端口号> ``` 其中,存储名为iSCSI存储的名称,端口号为iSCSI存储的端口号。 (3)连接iSCSI存储,命令如下: ``` iscsiadm -m node -T <存储名> -p <存储地址>:<端口号> -l ``` 4. 管理iSCSI存储 连接iSCSI存储成功后,我们可以使用以下命令管理iSCSI存储: (1)查看已连接的iSCSI存储,命令如下: ``` iscsiadm -m session ``` (2)断开与iSCSI存储的连接,命令如下: ``` iscsiadm -m node -T <存储名> -p <存储地址>:<端口号> -u ``` (3)删除iSCSI存储,命令如下: ``` iscsiadm -m node -T <存储名> -p <存储地址>:<端口号> -o delete ``` 以上就是在Linux系统中配置和管理iSCSI存储的步骤。通过iSCSI服务,我们可以将远程存储资源映射为本地磁盘,从而实现远程存储的访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鬼刺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值