- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
根据存储设备所在的位置分类 。
DAS: (Direct-Attached Storage)直连式存储。服务器使用专用线缆(例如SCSI)和存储设备(例如磁盘阵列)进行直连.
特点 :
使用场景 :个人电脑、小型企业、高性能计算环境等.
NAS: (Network-Attached Storage)网络附加存储。服务器和存储设备非直连,而是通过 ip网络 进行连接,这样就实现了多台主机与存储设备之间的连接.
特点 :
使用场景 :文件共享、备份和存储等.
SAN: (Storage Area Network)存储区域网络。基于NAS发展而来,通过 专用光纤通道交换机 访问数据,采用ISCSI、FC协议.
特点 :
使用场景 :数据中心、虚拟化、云计算等环境 。
NAS和SAN区别 SAN:
可以理解为一种虚拟化存储的技术,它将存储设备从服务器中分离出来,形成一个独立的存储网络.
客户端访问这些存储设备,就像访问本地硬盘一样。因此,客户端可以对这些存储设备进行格式化、分区、挂载等操作.
NAS:
可以理解为一个存储服务器,它已经预先安装了操作系统和文件系统,并且已经格式化好了磁盘,因此客户端设备可以直接通过网络连接到NAS上来访问数据,而不需要进行格式化或设置文件系统等操作.
客户端设备可以通过网络共享协议(如SMB/CIFS、NFS、AFP等)访问NAS上的数据.
块存储和文件存储 。
UNC 格式:
UNC: (Universal Naming Convention)通用命名规则。由微软公司发明,是一种用于在网络上指定文件或文件夹位置的命名约定,允许用户通过网络共享访问文件和文件夹.
UNC格式广泛使用在windows中,Linux中也支持这种格式,例如使用Samba软件包来实现文件和打印机的共享.
格式: \\server\share 使用反斜杠(\)作为分隔符 。
注意:
UNC路径 不能指定端口号 ,因为端口号不是共享资源的一部分,所以使用UNC格式的路径时不能指定端口号.
\\10.0.0.22:446\share 是错误的
FTP: (File Transfer Protocol )文件传输协议,属于应用层协议,是NAS存储架构的一种协议,基于CS结构.
FTP和NAS的区别: FTP是一个应用层协议,用于实现跨主机传输文件,NAS是一种网络架构,NAS可以使用各种协议进行文件传输,包括FTP、SMB、NFS等,因此,FTP可以用于在NAS中传输文件,但它本身不属于NAS这种网络架构.
FTP的特点: 跨平台:windows、linux等操作系统都支持FTP协议.
FTP工作原理: 采用的是双端口模式,分为命令端口和数据端口,命令端口对应命令通道,数据端口对应数据通道.
FTP的两种工作模式:
说明: 两种工作模式是针对数据通道的建立来说的,无论是主动模式还是被动模式,FTP客户端都需要连接到FTP服务器的21号端口,以建立命令通道.
FTP的工作流程: (1)FTP服务端开启对21端口的监听,等待客户端的连接。 (2)客户端发起连接,通过连接到服务端的21端口,建立命令通道。 (3)进行数据交互:
FTP的实现: windows :
Linux :
Linx中用于搭建FTP服务器的工具:VSFTP 。
特点 :性能好、下载速度快、单机可支持15k并发量。红帽默认使用的ftp服务端工具就是vsftp 。
NFS: (Network File System) 网络文件系统,基于内核的文件系统。Sun 公司开发,通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol )远程过程调用实现.
NFS工作原理:
NFS使用的端口:
NFS的相关进程:
说明:CentOS 6 开始portmap进程由rpcbind代替 。
NFS的使用场景:
场景一:Linux和LInux之间实现文件共享:
服务端共享出某个目录后,客户端直接挂载进行使用.
场景二:Linux和Windows之间实现文件共享:
Linux作为服务端,windows挂载linux的共享目录为本地的一个磁盘,Windows需要开启NFS客户端功能.
NFS的使用场景:
NFS:适用于需要在Unix和Linux系统之间进行文件共享的环境,例如服务器集群和高性能计算环境.
Samba是一种基于Windows的文件共享协议开发而来的软件,它可以在Windows、Linux和Unix系统之间共享文件和打印机。Samba可以让Linux或Unix系统像Windows一样作为文件服务器,从而方便Windows系统用户访问和使用共享文件和打印机.
SMB协议: (Server Messages Block)信息服务块协议,由ibm开发,最早用在微软的dos系统上面,windows之间的文件共享就是使用SMB协议实现的.
CIFS: (common internet file system)通用网络文件系统,基于smb协议开发而来的文件系统,可以理解为SMB协议的升级版.
samba服务使用的端口:
默认是445和139端口 。
samba的使用场景: 场景一:Linux作为服务端,Windows作为客户端实现文件共享 。
通过网络驱动映射器映射为windows本地的一个磁盘.
场景二:windows作为服务端,linux作为客户端实现文件共享 。
samba服务存在的问题:
因为以前永恒之蓝病毒和smb1的漏洞,运营商直接把139和445这两个端口给屏蔽了,即使手动在防火墙打开这两个端口也没法使用.
windows的文件共享又默认使用的是139和445端口,无法更改客户端的端口.
在linux作为服务端,windows作为客户端的时候,因为windows默认端口没法更改,且使用的是UNC路径进行访问.
解决方法:
方法一:配置本地端口映射转发 。
# https://blog.csdn.net/weixin_42552016/article/details/128421145
netsh interface portproxy add v4tov4
listenport=445 listenaddress=127.0.0.1 connectport=4450 connectaddress=116.116.132.151
方法二:使用端口转发驱动 。
# Multi Port Forwarder驱动
# https://tubecast.webrox.fr/landrive/portmapping.html
# https://www.verigio.com/products/multi-port-forwarder/default
samba: 用于在Windows和Linux系统之间进行文件共享.
NFS: 支持多种操作系统,一般使用在linux和linux之间的文件共享,也可以实现windows和linux之间的文件共享.
FTP: FTP不像Samba和NFS一样提供文件系统级别的共享,它只是提供了一种简单的方式来传输文件,客户端通过FTP客户端软件连接到FTP服务器,然后可以上传和下载文件。FTP一般使用在将文件从一个计算机上传到另一个计算机.
scp是基于ssh协议开发的ssh客户端工具.
# 使用格式
# Pull: scp [option] /source_file [user@]remote_host/dest_file
# Push: scp [option] [user@]remote_host/dest_file /source_file
# 选项
-r:复制文件夹
-P PORT 指明remote host的监听的端口
# 说明 复制目录文件后面有无斜线的区别
# 有斜线:复制文件夹里面的内容。 例如:scp /data/ 10.0.0.22:~/ 表示复制data中的文件
# 无斜线:复制整个文件夹 例如:scp /data 10.0.0.22:~/ 表示复制data整个目录
例如:
# 不写用户名默认使用的就是当前主机使用的用户
scp -r /data 10.0.0.22:/newdata # 将本机的data目录推到10.0.0.22的newdata中
scp -r 10.0.0.22:/newdata /data # 将10.0.0.22的newdata拉到本机的/data目录中
rsync是基于ssh协议开发的ssh客户端工具。有三种工作模式:
选项:
# -a 保留源文件的属性,但是无法保留acl和selinux属性 -a选项自带递归的功能
# -v 显示详细的过程
# --delete 保证两边的数据一样,如果目标文件存在某个源文件没有的文件,就会把目标文件的这个文件删除掉
# -t --times 保持mtime属性 强烈建议任何时候都加上"-t",否则目标文件mtime会设置为当前系统时间,导致下次更新,检查出mtime不同从而导致增量传输无效
(1)本地模式: 作用就类似于cp、mv等命令,实现本地文件系统的拷贝、重命名等作用.
# 格式: rsync [OPTION] SRC... [DEST]
# 例如:
[root@LAP1 data]# rsync file1 file111 # 实现文件拷贝功能
[root@LAP1 data]# ls
file1 file111
(2)基于传统的SSH协议模式 :类似于scp的作用,实现远程主机拷贝 。
# Pull:rsync [OPTION...] [USER@]HOST:SRC... [DEST]
# Push:rsync [OPTION...] SRC... [USER@]HOST:DEST
# 例如
rsync -av /etc server1:/tmp # 复制目录和目录下文件
rsync -av /etc/ server1:/tmp # 只复制目录下文件 和scp一样
rsync -av --delete source_file host:/dest_file # 跨主机备份
# rsync -av --delete /data/ 10.0.0.12:/back
(3)作为一个独立服务模式 。
rsync作为一个独立的服务运行, 。
Pull:
# rsync [OPTION...] [USER@]HOST::SRC... [DEST]
# rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST] # 协议的形式访问,效果等同于上面
Push:
# rsync [OPTION...] SRC... [USER@]HOST::DEST
# rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST
例如:
rsync -av /etc server1:/tmp # 复制目录和目录下文件
rsync -av /etc/ server1:/tmp # 只复制目录下文件 和scp一样
rsync -av --delete source_file host:/dest_file # 跨主机备份
说明: 本地模式和ssh模式是通过本地或远程shell,而独立服务运行模式则是让远程主机上运行rsyncd服务,使其监听在一个端口上,等待客户端的连接.
可以实现最快每1分钟同步一次文件.
说明: rsync使用的是基于传统的SSH协议的工作模式 。
例如:
root@ubuntu1804:~# crontab -e
# m h dom mon dow command
*/10 * * * * /usr/bin/rsync -av --delete /data/ 10.0.0.12:/back
监听文件的相关属性事件,文件发生变化的时候就触发同步,使用inotify或者sersync监听文件的变化.
inotify :系统内核的一个监控服务,属于操作系统内核的一个特有机制,用于监控文件的信息变化.
inotify管理工具: 来自于inotify-tools软件包,软件包里面包含了两个主要的工具inotifywait和inotifywatch.
rsync :使用的是rsync的第三种工作模式(独立服务模式).
例如:
# 1. 备份服务器启动 rsync 进程,进程启动后监听tcp的873端口。
# 2. 服务器的inotify发现数据发生变化后,就执行:
rsync -av /data ehigh@192.168.0.104::/databackup # 以服务的形式访问
# rsync -av /data rsync://192.168.0.104/databackup # 以协议的形式访问
sersync类似于inotify,同样用于监控,是基于inotify基础上开发而来,并且克服了inotify一个操作可能会产生重复的事件,这样可能会触发rsync的多次同步的问题.
sersync特点:
# sersync项目地址: https://code.google.com/archive/p/sersync/
# sersync下载地址: https://code.google.com/archive/p/sersync/downloads
例如:
最后此篇关于网络文件共享服务介绍的文章就讲到这里了,如果你想了解更多关于网络文件共享服务介绍的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
这与 Payubiz payment gateway sdk 关系不大一体化。但是,主要问题与构建项目有关。 每当我们尝试在模拟器上运行应用程序时。我们得到以下失败: What went wrong:
我有一个现有的应用程序,其中包含在同一主机上运行的 4 个 docker 容器。它们已使用 link 命令链接在一起。 然而,在 docker 升级后,link 行为已被弃用,并且似乎有所改变。我们现
在 Internet 模型中有四层:链路 -> 网络 -> 传输 -> 应用程序。 我真的不知道网络层和传输层之间的区别。当我读到: Transport layer: include congesti
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
前言: 生活中,我们在上网时,打开一个网页,就可以看到网址,如下: https😕/xhuahua.blog.csdn.net/ 访问网站使用的协议类型:https(基于 http 实现的,只不过在
网络 避免网络问题降低Hadoop和HBase性能的最重要因素可能是所使用的交换硬件,在项目范围的早期做出的决策可能会导致群集大小增加一倍或三倍(或更多)时出现重大问题。 需要考虑的重要事项:
网络 网络峰值 如果您看到定期的网络峰值,您可能需要检查compactionQueues以查看主要压缩是否正在发生。 有关管理压缩的更多信息,请参阅管理压缩部分的内容。 Loopback IP
Pure Data 有一个 loadbang 组件,它按照它说的做:当图形开始运行时发送一个 bang。 NoFlo 的 core/Kick 在其 IN 输入被击中之前不会发送其数据,并且您无法在 n
我有一台 Linux 构建机器,我也安装了 minikube。在 minikube 实例中,我安装了 artifactory,我将使用它来存储各种构建工件 我现在希望能够在我的开发机器上做一些工作(这
我想知道每个视频需要多少种不同的格式才能支持所有主要设备? 在我考虑的主要设备中:安卓手机 + iPhone + iPad . 对具有不同比特率的视频进行编码也是一种好习惯吗? 那里有太多相互矛盾的信
我有一个使用 firebase 的 Flutter Web 应用程序,我有两个 firebase 项目(dev 和 prod)。 我想为这个项目设置 Flavors(只是网络没有移动)。 在移动端,我
我正在读这篇文章Ars article关于密码安全,它提到有一些网站“在传输之前对密码进行哈希处理”? 现在,假设这不使用 SSL 连接 (HTTPS),a.这真的安全吗? b.如果是的话,你会如何在
我试图了解以下之间的关系: eth0在主机上;和 docker0桥;和 eth0每个容器上的接口(interface) 据我了解,Docker: 创建一个 docker0桥接,然后为其分配一个与主机上
我需要编写一个java程序,通过网络将对象发送到客户端程序。问题是一些需要发送的对象是不可序列化的。如何最好地解决这个问题? 最佳答案 发送在客户端重建对象所需的数据。 关于java - 不可序列化对
所以我最近关注了this有关用 Java 制作基本聊天室的教程。它使用多线程,是一个“面向连接”的服务器。我想知道如何使用相同的 Sockets 和 ServerSockets 来发送对象的 3d 位
我想制作一个系统,其中java客户端程序将图像发送到中央服务器。中央服务器保存它们并运行使用这些图像的网站。 我应该如何发送图像以及如何接收它们?我可以使用同一个网络服务器来接收和显示网站吗? 最佳答
我正在尝试设置我的 rails 4 应用程序,以便它发送电子邮件。有谁知道我为什么会得到: Net::SMTPAuthenticationError 534-5.7.9 Application-spe
我正在尝试编写一个简单的客户端-服务器程序,它将客户端计算机连接到服务器计算机。 到目前为止,我的代码在本地主机上运行良好,但是当我将客户端代码中的 IP 地址替换为服务器计算机的本地 IP 地址时,
我需要在服务器上并行启动多个端口,并且所有服务器套接字都应在 socket.accept() 上阻塞。 同一个线程需要启动客户端套接字(许多)来连接到特定的 ServerSocket。 这能实现吗?
我的工作执行了大约 10000 次以下任务: 1) HTTP 请求(1 秒) 2)数据转换(0.3秒) 3)数据库插入(0.7秒) 每次迭代的总时间约为 2 秒,分布如上所述。 我想做多任务处理,但我
我是一名优秀的程序员,十分优秀!