一、服务器分为das存储、nas存储、sas存储。
(1)SAS的接口技术可以向下兼容SATA。SAS(Serial Attached SCSI)即串行连接SCSI。
(2)NAS(Network Attached Storage:网络附属存储),NAS本身能够支持多种协议(如NFS、CIFS、FTP、HTTP等),而且能够支持各种操作系统。NAS是功能单一的精简型电脑。
(3)直连式存储(DAS)是一种计算机存储,它直接连接到某台计算机且其他计算机无法获取。对于个人计算机用户来说,硬盘驱动器就是直连式存储的常见形式。
直连式存储的主要替代选择是网络附属存储(NAS)以及存储区域网络(SAN)。
直连式存储又可分为内直连式存储和外直连式存储。
内直连式存储是指存储设备与服务器通过串行或并行SCSI总线接1:3电缆直接集成在一起,但SCSI总线自身有传输距离和挂载设备的限制。
外直连式存储通过SCSI或光纤通道将服务器和外部的存储设备直接连接,与内直连式存储相比,外直连式存储可通过光纤通道克服传输距离和挂载设备的限制。
二、FTP服务器
1.sudo apt-get install vsftpd
2.修改配置文件
vim /etc/vsftpd.confg
按照需要修改,
教程中的修改:
anonymous_enable=yes //允许匿名用户登录
write_enable=Yes //实名用户具有写权限
loca_umask=022 //设置本地掩码为022
anon_upload_enable=Yes //匿名用户可以上传
anon_mkdir_write_enable=Yes //匿名用户可以创建目录
慧若的修改:
anonymous_enable=yes //允许匿名用户登录
local_enable=Yes // local_enable=Yes
write_enable=YES //实名用户具有写权限
local_umask=022 //设置本地掩码为022/本地用户文件上传后的权限是-rw-r--r--
dirmessage_enable=YES //是否显示目录说明文件, 默认是YES
xferlog_enable=YES //记录使用者所有上传下载信息
connect_from_port_20=YES //确保ftp-datad 数据传送使用port 20(20号端口)
3.重启服务
三、NFS服务器
服务端
1.sudo apt-get install nfs-kernel-server
2.创建一个欲共享出去的目录
如:/home/xxx/xxx(/home/itcast/itcast)
3.打开配置文件
sudo vi /etc/exports
在第十一行
/home/jiang/NfsShare *(rw,sync)
重启服务
sudo service nfs-kernel-server restart
客户端
mount ip 共享路径 要挂在的路径
四、ISCSI服务器
(1)ISCSI服务端配置:
第一步:安装服务端程序target,添加要一块磁盘分区。
第二步:配置iSCSI服务端共享资源
iscsi内存配置之后,在原主机上看不到他的信息,相当于分割出去的一块区域。
targetcli是用于管理iSCSI服务端存储资源的专用配置命令,在执行targetcli命令后就能看到交互式的配置界面了。在该界面中可以使用很多Linux命令,比如利用ls查看目录参数的结构,使用cd切换到不同的目中。/backstores/block是iSCSI服务端配置共享设备的位置。我们需要把刚刚创建的磁盘分区文件加入到配置共享设备的“资源池”中,并将该文件重新命名为block1,这样用户就不会知道是由服务器中的哪块硬盘来提供共享存储资源,而只会看到一个名为block1的存储设备。
第三步:创建iSCSI target名称及配置共享资源。
iSCSI target名称是由系统自动生成的,这是一串用于描述共享资源的唯一字符串。稍后用户在扫描iSCSI服务端时即可看到这个字符串,因此我们不需要记住它。系统在生成这个target名称后,还会在/iscsi参数目录中创建一个与其字符串同名的新“目录”用来存放共享资源。我们需要把前面加入到iSCSI共享资源池中的硬盘设备添加到这个新目录中,这样用户在登录iSCSI服务端后,即可默认使用这硬盘设备提供的共享存储资源了。
第四步:设置访问控制列表(ACL)。
iSCSI协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要iSCSI客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可,因此需要在iSCSI服务端的配置文件中写入一串能够验证用户信息的名称。acls参数目录用于存放能够访问iSCSI服务端共享存储资源的客户端名称。推荐在刚刚系统生成的iSCSI target后面追加上类似于:client的参数,这样既能保证客户端的名称具有唯一性,又非常便于管理和阅读。
第五步:设置iSCSI服务端的监听IP地址和端口号。
位于生产环境中的服务器上可能有多块网卡,那么到底是由哪个网卡或IP地址对外提供共享存储资源呢?这就需要我们在配置文件中手动定义iSCSI服务端的信息,即在portals参数目录中写上服务器的IP地址。接下来将由系统自动开启服务器192.168.245.128的3260端口将向外提供iSCSI共享存储资源服务:
第六步:配置妥当后检查配置信息,重启iSCSI服务端程序并配置防火墙策略。
在参数文件配置妥当后,可以浏览刚刚配置的信息,确保与下面的信息基本一致。在确认信息无误后输入exit命令来退出配置。注意,千万不要习惯性地按Ctrl + C组合键结束进程,这样不会保存配置文件,我们的工作也就白费了。最后重启iSCSI服务端程序,再设置firewalld防火墙策略,使其放行3260/tcp端口号的流量。
(2)配置Linux客户端:
在RHEL 7系统中,已经默认安装了iSCSI客户端服务程序initiator。如果您的系统没有安装的话,可以使用Yum软件仓库手动安装。
yum -y install iscsi-initiator-utils.i686
iSCSI协议是通过客户端的名称来进行验证,而该名称也是iSCSI客户端的唯一标识,而且必须与服务端配置文件中访问控制列表中的信息一致,否则客户端在尝试访问存储共享设备时,系统会弹出验证失败的保存信息。
下面我们编辑iSCSI客户端中的initiator名称文件,把服务端的访问控制列表名称填写进来,然后重启客户端iscsid服务程序并将其加入到开机启动项中:
[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-10.com.example:client
[root@localhost ~]# systemctl restart iscsid
Warning: iscsid.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@localhost ~]# systemctl enable iscsid
Created symlink from /etc/systemd/system/multi-user.target.wants/iscsid.service to /usr/lib/systemd/system/iscsid.service.
iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,用户需要先使用这个工具扫描发现远程iSCSI服务端,然后查看找到的服务端上有哪些可用的共享存储资源。其中,-m discovery参数的目的是扫描并发现可用的存储资源,-t st参数为执行扫描操作的类型,-p 192.168.245.128参数为iSCSI服务端的IP地址.可通过 man iscsiadm | grep \\-mode 来查看帮助。
[root@localhost ~]# man iscsiadm | grep \\-mode
-m, --mode op
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discover
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
iscsiadm --mode node
iscsiadm --mode node --targetname iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
[root@localhost ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.245.128 --discover
#通过该命令可发现指定IP地址的iSCSI服务
192.168.245.128:3260,1 iqn.2018-10.com.example:server
[root@localhost ~]# iscsiadm --mode node --targetname iqn.2018-10.com.example:server --portal 192.168.245.128:3260 --login
#使用该命令进行登录
Logging in to [iface: default, target: iqn.2018-10.com.example:server, portal: 192.168.245.128,3260] (multiple)
Login to [iface: default, target: iqn.2018-10.com.example:server, portal: 192.168.245.128,3260] successful.
登录成功后,会发现在该客户端下多出一个/dev/sdb的设备文件。通过格式化分区挂载即可使用该硬盘。
注意:
由于udev服务是按照系统识别硬盘设备的顺序来命名硬盘设备的,当客户端主机同时使用多个远程存储资源时,如果下一次识别远程设备的顺序发生了变化,则客户端挂载目录中的文件也将随之混乱。为了防止发生这样的问题,我们应该在/etc/fstab配置文件中使用设备的UUID唯一标识符进行挂载,这样,不论远程设备资源的识别顺序再怎么变化,系统也能正确找到设备所对应的目录。
blkid命令用于查看设备的名称、文件系统及UUID
由于/dev/sdb是一块网络存储设备,而iSCSI协议是基于TCP/IP网络传输数据的,因此必须在/etc/fstab配置文件中添加上_netdev参数,表示当系统联网后再进行挂载操作,以免系统开机时间过长或开机失败:
当不在需要使用该硬盘时,可通过iscsiadm命令-u卸载:
配置Windows客户端连接iSCSI设备:
第一步:运行iSCSI发起程序。上
控制面板–>系统和安全–>管理工具–>iSCSI发起程序。
第二步:更改客户端iqn属性:
第三步:点击连接,就会在本次磁盘新加一款硬盘。
第四步:通过格式化新建卷就可使用该硬盘。