目录
存储类型
三种类型:
-
直连式存储:Direct-Attached Storage,简称DAS
-
时间较为久远,适用于数据量不大,对磁盘访问速度较高的小型企业
-
-
存储区域网络:简称SAN(可以使用空间,文件系统也由自己管理)
-
适用于文件服务器,用于存储非结构化数据,受限于网络速度,但部署灵活,成本低(使用较少)
-
-
网络附加存储:简称NAS(存储和管理空间都在远程)
-
适用于大型应用或数据库,成本高,较为复杂(大型企业适用,使用最多)
-
FTP 文件传输协议
File Transfer Protocol,早期的三个应用级协议之一,基于C/S结构
-
数据传输格式:二进制(默认)和文本
-
双通道协议:命令和数据连接;21:命令端口(权限,认证);20:数据端口(传输真实数据)
协议端口号:
-
FTP:20(数据);21(命令)
-
SSH:22
-
HTTP:80
-
HTTPS:443
-
TELNET:23
-
MYSQL:3306
-
REDIS:6379
-
TOMCAT:8080;8005;8009
服务端的两种模式:
-
主动(PORT style):服务器主动连接客户端
-
命令(控制):客户端:随机port ---> 服务器:21/tcp
-
数据:客户端:随机port <---服务器:20/tcp
-
-
被动(PASV style):服务器被动等待客户端连接
-
命令(控制):客户端:随机port ---> 服务器:21/tcp
-
数据:客户端:随机port ---> 服务器:随机port /tcp
-
用户认证:
-
匿名用户:ftp,anonymous,对应Linux用户ftp
-
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
-
虚拟用户:特定服务的专用用户,独立的用户及密码
FTP服务端软件:
Wu-ftpd;Proftpd;Pureftpd;Filezilla Server;Serv-U;Wing FTP Server;LLS
-
vsftpd:CentOS默认的FTP服务器
-
高速、稳定、下载速度是WU-FTP的两倍
-
-
ftp.redhat.com数据:单机最多支持1500个并发
vsftpd
用户认证配置文件:/etc/pam.d/vsftpd
配置文件:/etc/vsftpd/vsftpd.conf
用户及其共享目录:
-
匿名用户(映射为系统用户ftp)共享文件位置:/var/ftp
-
系统用户共享文件位置:用户家目录
-
虚拟用户共享文件位置:为其映射的系统用户的家目录
共享文件步骤:
服务端:
[root@localhost ~]#yum install vsftpd -y
[root@localhost ~]#systemtcl start vsftpd
[root@localhost ~]#mkdir /var/ftp/xiao
[root@localhost ~]#mount /dev/sr0 /var/ftp/xiao
客户端
[root@localhost ~]#cd /etc/yum.repos.d
[root@localhost yum.repos.d]#mkdir bak
[root@localhost yum.repos.d]#mv *.repo bak
[root@localhost yum.repos.d]#vim ftp.repo
[ftp]
name=ftp
baseurl=ftp://192.168.190.129/xiao
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all
[root@localhost yum.repos.d]#yum makecache
[root@localhost yum.repos.d]#yum install tree
#注意:
#共享的两端防火墙必须关掉,否则makecache会报错
#虚拟机设置的磁盘必须勾选已连接,否则挂载时会显示找不到设备
实验:
-
服务端安装vsftp
-
开启共享目录
-
服务端配置共享文件
-
创建元数据
-
尝试安装本地包
主动模式端口
[root@localhost test1]#vim /etc/vsftpd/vsftpd.conf
······
connect_from_port_20=YES
#主动模式端口为20
ftp_data_port=20 (默认)
#指定主动模式的端口
被动模式端口
[root@localhost test1]#vim /etc/vsftpd/vsftpd.conf
······
pasv_min_port=6000
#0为随机分配,端口范围会影响客户端的并发数
pasv_max_port=6010
使用当地时间
[root@localhost test1]#vim /etc/vsftpd/vsftpd.conf
······
use_localtime=YES
#使用当地时间(默认为NO,使用GMT)
匿名用户登录
[root@localhost test1]#vim /etc/vsftpd/vsftpd.conf
······
anonymous_enable=YES
#支持匿名用户,CentOS8 默认不允许匿名
no_anon_password=YES
#匿名用户略过口令检查 , 默认NO
匿名用户上传:
[root@localhost test1]#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
#匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES
#匿名建目录,并具有写的权限
#注意:
#如果你想在网终共享服务中有上传的或者写的权限
#1.注意应用程序有没有开放
#2.注意该目录有没有开发写的权限
#3.匿名用户登录后,配置文件在软件的默认根目录/var/ftp
#4.系统用户登录后,配置文件在系统的跟
例:
将ftp下pub文件夹 加上权限,使客户端可以删除修改上传的文件
[root@localhost test1]#chmod 777 /var/ftp/
#禁止家目录修改权限
[root@localhost test1]#setfacl -m u:ftp:rwx /var/ftp/pub
#添加ftp用户的权限
修改默认命令端口
[root@localhost test1]#vim /etc/vsftpd/vsftpd.conf
listen_port=8080
#在任意空白行插入,建议最后
[root@localhost test1]#systemctl restart vsftpd
[root@localhost test1]#ss -ntl
#查看端口信息
[root@localhost test2]#ftp 192.168.190.129 -p 8080
#客户端访问服务端时需使用-p指明服务端的端口号
#生产环境中不建议修改
远程登录服务端
[root@localhost test2]#ftp 192.168.190.129
Connected to 192.168.190.129 (192.168.190.129).
220 (vsFTPd 3.0.2)
Name (192.168.190.129:root): test1
#填写要登录的用户名
331 Please specify the password.
Password:
#输入服务端用户密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
#查看当前登录用户家目录
257 "/home/test1"
ftp>
ftp常用命令
ftp> help
#可以使用help,查看帮助
ftp> ls
#可以使用ls,查看文件列表,如果加!代表在本地使用命令
ftp> ls
227 Entering Passive Mode (192,168,190,129,88,62).
# Passive 消极被动 默认使用 被动模式
150 Here comes the directory listing.
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 下载
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 公共
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 图片
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 文档
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 桌面
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 模板
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 视频
drwxr-xr-x 2 1000 1000 6 Nov 13 14:07 音乐
226 Directory send OK.
ftp> cd dir
#转跳到某个目录
ftp> put file
#向服务端上传文件
ftp> passive
#可以人为指定被动主动
ftp> get bigfile
#下载大文件, 后可以 使用 ss -nt 看到又打开一个通道
下载服务端文件:
NFS
网络文件系统,位于内核的文件系统,基于RPC(远程过程调用)实现。
RPC采用C/S模式,客户机请求程序调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
NFS优势:
节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用。
NFS服务主要进程:
-
rpc.nfsd:最主要的NFS进程,管理客户端是否可登录
-
rpc.mountd:挂载和卸载NFS文件系统,包括权限管理
-
rpc.lockd:非必要,管理文件锁,避免同时写出错
-
rpc.statd:非必要,检查文件一致性,可修复文件
说明:CentOS 6 开始portmap进程由rpcbind代替
日志位置:/var/lib/nfs/
程序配置文件:/etc/nfs/nfs.conf(无需修改)
共享配置文件:/etc/exports
/etc/exports.d/*.exports
配置共享配置文件:
[root@localhost test1]#vim /etc/exports
/data *
#共享的文件或目录 共享的对象(IP、网段、*任意) 指定端口‘
[root@localhost test1]#systemctl restart nfs
#有人使用时不可重启,可以使用以下命令
[root@localhost test1]#exports -r
#重读配置文件,并共享目录
[root@localhost test1]#showmount -e 服务端IP
#查看共享情况
NFS常用命令
exports
-
用于管理NFS导出的文件系统
[选项]:
-
-v:查看本机所有NFS共享
-
-r:重读配置文件,并共享目录
-
-a:输出本机所有共享
-
-au:停止本机所有共享
showmonut
-
showmount -e [目的IP]
[root@localhost test2]#showmount -e 192.168.190.129
#查看192.168.190.129主机的NFS共享目录