存储类型分三类
- 直连式存储:DAS
- 存储区域网络:SAN
- 网络附加存储:NAS
三种存储架构的应用场景
- DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
- SAN多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
- NAS则适用于大型应用或数据库系统,缺点是成本高、较为复杂
FTP文件传输协议
FTP简介
FTP是一种用于在计算机网络上传输文件的标准协议,基于C/S结构。
通过FTP,用户可以在客户端和服务器之间进行文件的上传(上传到服务器)和下载(从服务器下载到本地计算机)操作
FTP工作原理
主动模式:
首先客户机会随机产生一个端口号主动去连接服务器的tcp21端口,如果服务器是主动模式那么服务器会主动开启20端口和客户端相连,然后在传数据
被动模式:
首先客户机会随机产生一个端口号主动去连接服务器的tcp21端口,如果服务器是被动模式,那么服务器会随机产生一个端口号,被动等待客户机来连接再发送数据
协议:tcp
端口号:20 21 21是命令端口 20是数据端口
ftp软件:vsftpd filezilla
用户认证
- 匿名用户:ftp,anonymous
- 系统用户:linux用户在 /etc/passwd 密码/etc/shadow
- 虚拟用户:只可以用来登录ftp
vsftp
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl status vsftpd
[root@localhost ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf #配置文件
服务端安装vsftp
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# systemctl start vsftpd
客户端连接服务端
[root@localhost ~]# ftp 192.168.118.20
Connected to 192.168.118.20 (192.168.118.20).
220 (vsFTPd 3.0.2)
Name (192.168.118.20:root):
修改默认命令端口号
#服务端
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
# Make sure, that one of the listen options is commented !!
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
listen_port=227 #修改端口号为227
[root@localhost ~]# systemctl restart vsftpd #重启服务
#客户端
[root@localhost ~]# ftp 192.168.118.20 #修改端口号后不加端口号会拒绝连接
ftp: connect: 拒绝连接
ftp>
[root@localhost ~]# ftp 192.168.118.20 227
Connected to 192.168.118.20 (192.168.118.20).
220 (vsFTPd 3.0.2)
Name (192.168.118.20:root):
NFS
NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS 也是 NAS 存储 设备必然支持的一种协议
NFS原理
NFS优势
节省本地存储空间,将常用的数据如:/home目录,存放扎起NFS服务器上
通过网络访问,将减少本地磁盘的使用率
NFS软件相关
软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)
相关软件包:rpcbind(必须),tcp_wrappers
yum install -y nfs-utils rpcbind #安装服务
端口:2049(nfsd), 其它端口由portmap(111)分配
RPCbind 111
NFS相关文件位置
日志
/var/lib/nfs
配置文件
/etc/exports
/etc/exports.d/*.exports
NFS共享配置文件
#文件路径
/etc/eports
#文件内容
/dir 主机1(opt,opt2)
共享文件夹 域名、ip....
vim /etc/exports
...
共享文件夹 允许访问的主机[权限] #添加的内容
exportfs
exportfs是一个用于在 Linux 操作系统上管理 NFS(Network File System)导出的命令
-v | 查看本机所有NFS共享 |
---|---|
-r | 重读配置文件,并共享目录 |
-a | 输出本机所有共享 |
-au | 停止本机所有共享 |
showmount
showmount -a | 显示所有共享的目录 |
---|---|
showmount -e 服务器主机名或ip地址 | 显示特定NFS服务器上的共享目录 |
showmount -l | 仅显示挂载点的主机名或ip地址 |
模拟实现NFS
#服务端
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install nfs-utils rpcbind -y
[root@localhost ~]# mkdir /test
[root@localhost ~]# touch /test/t1
[root@localhost ~]# vim /etc/exports
/test 192.168.118.0/24
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e 192.168.118.20
Export list for 192.168.118.20:
/test 192.168.118.0/24
[root@localhost ~]# exportfs -v
/test 192.168.118.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
#客户端
[root@localhost ~]# mount 192.168.118.20:/test /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
t1