Linux下搭建ISCSI存储并用WindowsServer做FTP共享

文章目录

      • 前言
        • 什么是前端?
        • 什么是后端?
        • 什么是全栈?
      • 实验准备(以下实验都在VMware中进行)
      • 一、Linux主机上
        • 1、配置yum软件仓库
        • 2、安装 iSCSI服务端程序
        • 3、配置 iSCSI服务端共享资源
        • 4、创建 iSCSI target名称及配置共享资源
        • 5、设置访问控制列表(ACL)
        • 6、为每个存储创建一个 lun
        • 7、设置 iSCSI服务端的监听 IP地址和端口号
        • 8、检验
        • 9、重启iscsi服务,并放行防火墙
      • 二、Windows Server 2016服务端
        • 1、连接Linux的ISCSI共享磁盘
        • 2、初始化磁盘
        • 2、安装FTP
        • 3、创建FTP站点
        • 4、放行防火墙
      • 三、实验效果

前言

什么是前端?

前端,也称为“客户端开发”,简单来说,你可以在应用程序或网站的屏幕上看到的所有内容都属于前端。

网站和移动应用的前端

让我们考虑一个现实的例子:你正在访问的网站。内容设计、图像、段落和线条之间的间距,左上角的公司徽标,以及右下角的小通知按钮——所有这一切都是前端。

移动应用的前端与网站相同。例如,你在移动或 Web 应用中看到的内容,按钮、图像是前端的一部分。此外移动屏幕还具有触摸响应功能,因此当应用响应你所做的所有手势时,需要进行缩放放大/缩小、双击、滑动等操作。

什么是后端?

后端,也称为“服务器端开发”,也就是在系统“后面”所发生的事情。同样,在后端服务器和浏览器或应用程序之间存储网站、应用数据和中间媒介的服务器都属于后端。简单来说,在应用程序或网站的屏幕上看不到的所有东西都是前端的后端。

网站和移动应用后端
网站的后端需要设置服务器,存储和检索数据,以及将这些服务器与前端进行连接的接口。如果说前端开发人员梗关注网站的外观,后端开发人员则更更关注网站的速度、性能和响应能力,后端通过编码、云 API 和数据库进行集成。

就像前端一样,移动应用的后端开发在各个方面都与网站后端相同。此外,你为移动应用设置后端服务器的选项包括:云计算(AWS,Firebase)定制服务器或 MBaaS(移动后端即服务)。

什么是全栈?

有些人可以同时掌握前端和后端开发技能。这样的开发被称为全栈开发人员。

学习或雇用全栈开发者有其自身的优点和缺点。可以把开发人员数量减少到一半,但专业水平也随之降低了。专门从事前端或后端开发的开发人员一般比了解两者的人对于单一学科更加专业。

还有各种类似于全栈的技术栈,如 MEAN 技术栈,LAMP 技术栈,.NET 技术栈,Python-Django 技术栈,ROR 技术栈开发人员可以成为任何这些技术堆栈的专家。

本篇文章将会教你如何搭建简易的类似于前后端存储


实验准备(以下实验都在VMware中进行)

1、一台Windows Server 2016主机(已联网)

2、一台rhel7.4主机(已经联网)

3、rhel7.4 先挂载好光盘镜像,添加一个10G的硬盘


一、Linux主机上

1、配置yum软件仓库

这一步可以看我之前发的有一篇文章关于配置yum软件仓的
RedHat7.4配置Yum软件仓

2、安装 iSCSI服务端程序
[root@localhost ~]# yum install targetd targetcli -y

重新启动并加入开机自启

[root@localhost ~]# systemctl restart targetd
[root@localhost ~]# systemctl enable targetd
Created symlink from /etc/systemd/system/multi-user.target.wants/targetd.service to /usr/lib/systemd/system/targetd.service.

3、配置 iSCSI服务端共享资源
[root@localhost ~]# targetcli 
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> 

查看

/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 0]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 0]
  o- loopback ......................................................................................................... [Targets: 0]
/> 

切换“目录”

/> cd backstores/block 
/backstores/block> 

创建名为 disk0的设备

/backstores/block> create disk0 /dev/sdb
Created block storage object disk0 using /dev/sdb.

切换至“根”目录

再次查看详细信息,会多出一个10G的磁盘,加粗斜体部分

/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- disk0 ......................................................................... [/dev/sdb (10.0GiB) write-thru deactivated]
  | |   o- alua ................................................................................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 0]
  o- loopback ......................................................................................................... [Targets: 0]
/> 

4、创建 iSCSI target名称及配置共享资源
/> cd iscsi 
/iscsi> create   ---这里是自动生成
Created target iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> 

查看详细信息

/iscsi> ls
o- iscsi .............................................................................................................. [Targets: 1]
  o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5 ......................................................... [TPGs: 1]
    o- tpg1 ................................................................................................. [no-gen-acls, no-auth]
      o- acls ............................................................................................................ [ACLs: 0]
      o- luns ............................................................................................................ [LUNs: 0]
      o- portals ...................................................................................................... [Portals: 1]
        o- 0.0.0.0:3260 ....................................................................................................... [OK]
/iscsi> 

5、设置访问控制列表(ACL)
/iscsi> cd iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5/tpg1/acls 
/iscsi/iqn.20...5e5/tpg1/acls> create iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5xxx   ---直接复制上面的iqn,然后在后面加几个字母(我加的xxx)
Created Node ACL for iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5xxx
/iscsi/iqn.20...5e5/tpg1/acls> 

6、为每个存储创建一个 lun
/> cd iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5/tpg1/luns 
/iscsi/iqn.20...5e5/tpg1/luns> create /backstores/block/disk0 
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5xxx
/iscsi/iqn.20...5e5/tpg1/luns> 

7、设置 iSCSI服务端的监听 IP地址和端口号

位于生产环境中的服务器上可能有多块网卡,就需要我们在配置文件中手动定义 iSCSI服务端的信息。

即在 portals参数目录中写上服务器的 IP地址,也可以直接写 0.0.0.0,系统将自动开启服务器的 3260端口将向外提供iSCSI共享存储资源服务。

然后返回“根”目录后执行 ls命令查看检查。在确认信息无误后输入需要输入 exit命令来退出配置。

/> cd iscsi/iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5/tpg1/portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ............................................................................................................ [Portals: 1]
  o- 0.0.0.0:3260 ............................................................................................................. [OK]
/iscsi/iqn.20.../tpg1/portals> 

系统这里默认就是0.0.0.0 所以不用管它

8、检验
/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- disk0 ........................................................................... [/dev/sdb (10.0GiB) write-thru activated]
  | |   o- alua ................................................................................................... [ALUA Groups: 1]
  | |     o- default_tg_pt_gp ....................................................................... [ALUA state: Active/optimized]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 1]
  | o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5 ....................................................... [TPGs: 1]
  |   o- tpg1 ............................................................................................... [no-gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 1]
  |     | o- iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.2ae48bfd25e5xxx ....................................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ................................................................................. [lun0 block/disk0 (rw)]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ...................................................................... [block/disk0 (/dev/sdb) (default_tg_pt_gp)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
  o- loopback ......................................................................................................... [Targets: 0]
/> 

退出

/> exit 
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
[root@localhost ~]# 
9、重启iscsi服务,并放行防火墙

重启

[root@localhost ~]# systemctl restart targetd

放行防火墙,设置永久生效

[root@localhost ~]# firewall-cmd --add-port=3260/tcp
success
[root@localhost ~]# firewall-cmd --add-port=3260/tcp --permanent 
success


二、Windows Server 2016服务端

1、连接Linux的ISCSI共享磁盘

打开ISCSI发起程序
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第1张图片

Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第2张图片
修改成Linux的iqn
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第3张图片
复制我箭头所指的iqn到WinServer客户端
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第4张图片

发现Linux
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第5张图片
这里输入Linux的IP地址
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第6张图片
连接Linux
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第7张图片

2、初始化磁盘

系统已经多出了一个20G的共享磁盘
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第8张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第9张图片
磁盘联机
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第10张图片

初始化磁盘
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第11张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第12张图片
新建一个简单卷
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第13张图片
全都点击下一步
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第14张图片
查看
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第15张图片

2、安装FTP

还是回到我们的服务管理器

添加角色和功能
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第16张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第17张图片
选择web服务器
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第18张图片

Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第19张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第20张图片
勾选FTP服务器
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第21张图片
去掉 常见HTTP功能
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第22张图片
安装完成关闭
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第23张图片

3、创建FTP站点

第一个就是我们的FTP服务器
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第24张图片
添加站点
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第25张图片
站点名称随便取
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第26张图片
在我们新建的共享磁盘下新建一个目录
用来存放服务程序Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第27张图片
选择本机的IP地址
(SSL是指泛域名证书,这里不用管,如果感兴趣的话,后面会出一个免费签阿里云泛域名证书的教程)
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第28张图片
我们这里做测试,
身份验证和权限随便给(当然生成环境肯定不能这么做)Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第29张图片
查看
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第30张图片

4、放行防火墙

新建规则
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第31张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第32张图片
添加 “C:\Windows\System32\svchost.exe”这个程序
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第33张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第34张图片
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第35张图片

三、实验效果

用自己的物理机(笔记本电脑)访问FTP网址
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第36张图片
我这里放了一个Python的代码来测试一下
Linux下搭建ISCSI存储并用WindowsServer做FTP共享_第37张图片

以上就是一个简单的前端、后端存储环境

你可能感兴趣的:(玩转Linux编程,Linux,ISCSI,FTP,存储)