文件共享存储服务基本原理及Samba基础操作

本文探讨了文件系统分类,包括磁盘文件系统(如Ext2/3/4、XFS)、内存文件系统(如/proc和/sys)以及网络文件系统(NFS、CIFS、FTP)。重点介绍了Samba在Linux服务器上的应用,以及如何在Windows和Linux客户端之间进行文件共享操作。
摘要由CSDN通过智能技术生成

一、文件系统分类

  • 磁盘的文件系统 ,它是直接把数据存储在磁盘中,比如 Ext 2/3/4、XFS 等都是这类文件系统;Linux在VFAT基础之上支持ext2/3/4,xfs,btrfs
  • 内存的文件系统 ,这类文件系统的数据不是存储在硬盘的,而是占用内存空间,我们经常用到的 /proc 和 /sys 文件系统都属于这一类,读写这类文件,实际上是读写内核中相关的数据数据。
  • 网络的文件系统 ,用来访问其他计算机主机数据的文件系统(基于网络将文件系统以应用层的方式去传输文件),如:NFS、CIFS、FTP(文件应用层传输协议

【注】:

1.NFS、CIFS为文件系统,相当于操作自己的电脑就是操控别人电脑;而FTP是要基于TCP协议做报文封装;NFS只能做linux和linux之间通信,效率高;而CIFS可以做Windows:netbios/网上邻居 和linux:samba之间通信

2.如果要走跨主机之间的通信,NFS,CIFS不支持加密,安全性比较差,此时我们就需要走文件应用层协议FTP,他用于广域网,支持加密

二、网络文件系统

三大文件存储服务----三大文件共享传输协议 NFS、CIFS、FTP

网络文件共享存储类型

1:DAS(JBOD)   --->单台存储,支持光线

2:NAS     存储空间包含了文件系统,应用程序直接通过网络协议直接访问存储空间的文件即可。(三大协议:NFS  SMB  FTP)

3:SAN     网络设备以光纤交换机为主,存储空间不提供操作、文件系统,速度最快

ISCIS

4.ftp一定程度被http取代,OSS (阿里云)、OBS(华为云)对象存储  调用Restful接口

ftp属于工作在应用层的文件共享服务(用于文件共享(互联网下载的很多资料都是从FTP共享来的,作用很大))

【注】:它们内部走的协议都是NFS、CIFS、除非对接公网走FTP协议。

为什么要使用存储服务器?

补充:

1.WEB静态资源:服务器端的WEB资源,不会发生变化,不需要在服务器上进行执行的资源,原路返回发还给客户端

例如:.html   .jpg   .gif   .txt   .js   .css   .mp4   .avi  。。。

静态资源封装:原路封装(资源不会发生变化)

2.WEB动态资源(浏览器无法直接解析):服务端的web资源需要在服务端进行执行一次,才发还给客户端的资源。

例如:.php  .jsp   .cgi   aspx......

原理: 当客户访问网站,通过负载服务器、反向代理,调度器最后访问到多台服务器,这几台服务器的磁盘根路径里的web网页静态内容是一样的,动态资源却是各不相同;而动态资源是服务器程序运行的结果,要做一个cookie、session(放入redis)会话,此时若动态资源放在对应的服务器上,就会产生一些弊端,如:

(1)当代码要修改时,要同时更改多台服务器。此时就是同步性、持续性差

(2)代码重复性高,多台服务器存的东西重复性高

此时便需要一个共享文件系统,但其是跨网络的在局域网中,如果想要使其访问效果像访问本地服务器一样,就要走网络文件系统Samba、NFS。当搭建好之后,修改共享存储服务器中内容,服务器里的内容也随之变化,同步性得到保证;但是有一个缺点,如果共享存储服务器崩了,里面内容便丢了,此时我们就要做主从备份。要求本地服务器自动挂着到共享存储服务器,此时用到了autofs

三、Samba基础操作:

samba在Linux服务器上作为服务端,首先必须支持类似windows的netbios的网络传输协议,此协议在samba上体现为基于cifs的smb和nmb协议

smb协议:网络文件共享传输

nmb协议:兼容windows的DNS作用域和其他特性

于是需要在Linux服务器安装应用程序支持smb和nmb协议,和samba文件共享

2.Windows服务端、linux客户端

win服务端:

(1)首先Windows关闭防火墙,默认是开启netbios:

控制面板--->网络和Internet--->网络连接--->网络连接详细信息

(2)在C盘新建gongxiang文件夹,然后右击点击属性:共享,开启共享功能 (用户每个人都不同)

(3)在本地访问一下:运行:输入自己的IP

(4)测试成功,可以对其进行操作,增删改查

linux客服端:

(1)先安装软件

       [root@node-1 ~]# yum -y install samba-client cifs-utils

       [root@node-1 ~]# smbclient -L 192.168.10.140 -U xiaok

       [root@node-1 ~]# smbclient  //192.168.10.140/gongxiang -U xiaok

(2)上传一个文件

(3)服务端查看说明客户端上传成功

【注】:

将samba服务端挂载到本地当前Linux文件系统

命令:mount -t cifs //192.168.10.140/gongxiang /mnt -o username=xiaokui

注意:虽然当前Linux主机使用的是Linux用户,在挂载点内对对端文件操作的身份为对端主机的用户身份。

【注】CIFS监听端口:137/udp  138/udp   139/tcp   445/tcp。

3.Linux服务端、windows客户端

(1)服务端安装samba

yum -y install samba samba-client cifs-utils//在linux安装samba服务

cat /etc/samba/smb.conf.example > /etc/samba/smb.conf

testparm

systemctl start smb;systemctl start nmb  //启动samba服务

ss -tunl  //查看其端口

补充:

1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd
2)Port 138 (UDP) - NetBIOS 数据报服务
3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)
5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)
6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba  

(2)创建普通用户,这个普通用户是共享目录,samba独有的

useradd smbuser1

smbpasswd -a smbuser1 //设置密码 123456

【注】:注意:默认samba的密码体系和Linux用户密码体系不一样,所以必须经由smbpasswd生成密码,并且-a将其用户加入到samba用户,如果想要禁用用户、启用用户或者删除用户,可以使用smbpasswd -d|-e|-x  即可生效

(3)客户端进行验证:输入\\192.168.10.100进行登录

(4)权限不够,对应操作也不同,所以应赋权限:

  • 33
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值