自学内容网 自学内容网

NFS文件共享服务、SMB文件共享服务

文件共享服务之nfs_smb


NFS(Network File System)⽹络⽂件系统
主要⽤于linux系统上实现⽂件共享的⼀种协议,其客户端主要是Linux
没有⽤户认证机制,且数据在⽹络上传送的时候是明⽂传送,⼀般只能在局域
⽹中使⽤
⽀持多节点同时挂载及并发写⼊
企业应⽤:为集群中的web server提供前端端存储
该服务包括的组件:
RPC(Remote Procedure Call Protocol):
远程过程调⽤协议,它是⼀种通过⽹络从远程计算机程序上请求服务,不需要了解
底层⽹络技术的协议。
rpcbind //负责NFS的数据传输,远程过程调⽤ ==tcp/udp协议 端⼝
111==
nfs-utils //控制共享哪些⽂件,权限管理
[root@web-server ~]# systemctl stop firewalld
[root@web-server ~]# systemctl disable firewalld
[root@web-server ~]# vim /etc/selinux/config 
SELINUX=disabled
[root@web-server ~]# yum -y install nginx
[root@web-server ~]# ls /usr/share/nginx/html/
50x.html  css  favicon.ico  index.html  js  歌单.png
[root@web-server ~]# vim /usr/share/nginx/html/index.html 
<html><body><img src="歌单.png"/></body></html> 

浏览器访问web:192.168.1.11

静态文件和动态文件
需要在客户端运行的文件,静态文件
动态文件,需要服务器先计算,再响应给客户端的内容
nfs
[root@b ~]# systemctl stop firewalld.service 
[root@b ~]# systemctl disable firewalld.service 
[root@b ~]# setenforce 0
[root@b ~]# yum -y install nfs-utils.x86_64 rpcbind.x86_64 
[root@b ~]# mkdir /share
[root@b ~]# touch /share/paswd
[root@b ~]# scp root@192.168.1.11:/usr/share/nginx/html/歌单.png /share/
[root@b ~]# vim /etc/exports
/share *(rw,sync)
[root@b ~]# systemctl start rpcbind.service 
[root@b ~]# systemctl start nfs

web服务器
[root@web-server ~]# mkdir /usr/share/nginx/html/static #在nginx下的html⽬录中创建⼀个挂载⽬录 static
[root@web-server ~]# mount -t nfs 192.168.1.12:/share /usr/share/nginx/html/static/ #挂载nfs服务
[root@web-server ~]# ls /usr/share/nginx/html/static/
paswd  歌单.png
[root@web-server ~]# vim /usr/share/nginx/html/index.html 
<img src="static/歌单.png"/>
浏览器访问


nfs服务器
[root@b ~]# echo "give me money" > /share/a.txt
web服务器
[root@web-server ~]# ls /usr/share/nginx/html/static/
a.txt  paswd  歌单.png
浏览器访问


备份静态文件
yum -y install rsync //nfs备份主机都安装
systemctl stop firewalld
setenforce 0
nfs服务器
[root@b ~]# yum -y install inotify-tools
需要输⼊密码才会同步过去,为了⾃动化,设置免密
[root@b ~]# ssh-keygen
[root@b ~]# ssh-copy-id root@192.168.1.20
[root@b ~]# rsync -av /share/ root@192.168.1.20:/tmp/
在备份主机创建备份目录
[root@x ~]# mkdir /bakup

nfs服务器


[root@b ~]# vim rm.sh
#!/bin/bash
/usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move /share | while read events
do
 rsync -av /share root@192.168.1.20:/bakup/
 echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1
done
[root@b ~]# chmod 700 rm.sh
[root@b ~]# nohup ./rm.sh &


备份服务器


扩展:samba服务
⼀、samba介绍
SMB(Server Message Block)协议实现⽂件共享,也称为CIFS(Common
Internet File System )
是Windows和类Unix系统之间共享⽂件的⼀种协议
客户端==主要是Windows==;⽀持多节点同时挂载以及并发写⼊
主要⽤于windows和Linux下的⽂件共享、打印共享
实现==匿名与本地⽤户==⽂件共享
Samba服务的主要进程:
smbd进程 控制发布共享⽬录与权限、==负责⽂件传输== ==TCP 139
445==
nmbd进程 ⽤于名称解析netbios ==UDP 137 138== ;基于NETBIOS协议
获得计算机名称——>解析为相应IP地址,实现信息通讯
 NetBIOS是Network Basic Input/Output System的简称,⼀般指⽤于局域⽹通信
的⼀套API
/etc/samba/smb.conf
[global] 全局选项
 workgroup = MYGROUP 定义samba服务器所在的⼯作组
 server string = Samba Server Version %v smb服务的描述
 log file = /var/log/samba/log.%m ⽇志⽂件
 max log size = 50 ⽇志的最⼤⼤⼩KB
 security = user 认证模式:share匿名|user⽤户密
码|server外部服务器⽤户密码
 passdb backend = tdbsam 密码格式
load printers = yes 加载打印机
 cups options = raw 打印机选项
[homes] 局部选项(共享名称)
 comment = Home Directories 描述
 browseable = no 隐藏共享名称
 writable = yes 可读可写
[printers] 共享名称
 comment = All Printers 描述
 path = /var/spool/samba 本地的共享⽬录
 browseable = no 隐藏
 guest ok = no ——> public = no 需要帐号和密码访问
 writable = no ——> read only =yes 不可写
 printable = yes 打印选项
[share]
 path = /dir1
 guest ok = no
 writable = yes
[root@x ~]# yum -y install samba
[root@x ~]# vim /etc/samba/smb.conf #编辑/etc/smb.conf配置⽂件,实现SAMBA共享
[smb_share]
        comment = samba service
        path = /bakup/share
        guest ok = no
        writable = yes
创建⼀个user01⽤户,然后添加到samba认证中,设置密码为111
[root@x ~]# useradd user01
[root@x ~]# smbpasswd -a user01
启动nmb与smb服务
[root@x ~]# systemctl start nmb
[root@x ~]# systemctl start smb
[root@x ~]# setfacl -m u:user01:rwx /bakup/share/ #在Windows中有权限


Windows系统

web服务器安装samba客户端
[root@web-server ~]# yum -y install samba-client
[root@web-server ~]# smbclient -L 192.168.1.20 -U user01 #基于Linux或Linux实现⽂件共享
[root@web-server ~]# smbclient //192.168.1.20/smb_share -U user01 #使⽤smbclient查看⽬录信息
把SAMBA挂载到Linux系统(类似NFS)
[root@web-server ~]# mkdir aaa/
[root@web-server ~]# yum -y install cifs-utils
[root@web-server ~]# mount.cifs -o user=user01,pass=111 //192.168.1.20/smb_share ~/aaa/
[root@web-server ~]# ls aaa/
a.txt  paswd  qq1.txt  qq3.txt  qq.txt  歌单.png
1. ftp 局域⽹和外⽹都可以
2. nfs 局域⽹ 挂载⽅式访问 mount.nfs 侧重于Linux与Linux之间
3. samba 局域⽹ 直接访问(smbclinet)挂载的⽅式mount.cifs 侧重于Windows与Linux之间


原文地址:https://blog.csdn.net/qq_74793290/article/details/140616733

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!