访问网络文件共享服务
第七单元 访问网络文件共享服务
挂载网络文件系统
• 网络文件系统是由网络附加存储服务器通过网络向多个主机 提供的一种文件系统 ,而不是由块设备 (例如硬盘驱动器 )提 供的。客户端通过特殊的文件系统协议和格式访问远程存储
• Linux 中有两种主要协议可用访问网络文件系统 : NFS 和 CIFS 。 NFS ( NetworkFile System ) 可看作是 Linux 、 UNIX 及其它类似操作系统的标准文件系统。 CIFS ( ComonInternet File System ) 则是针对 Microsoft Windows 系统的标准网络文件系统
• 访问网络共享的三个基本步骤 – 1. 识别要访问的远程共享 – 2. 确定挂载点 (应该将共享挂载到的位置 ),并创建挂载点的空目录 – 3. 通过相应的名利或配置更改挂载网络文件系统
CIFS: 通用网络文件系统
• CIFS 是针对 MicrosoftWindows 操作系统的本地网络文件系统。 Linux 系统可以挂载和访问 CIFS 文件共享 ,如同常见的网络文件系 统一样。然而 , 由于 CIFS 是基于 NTFS 文件系统权限模型及其自身 的身份验证系统来构建的 , 因而 CIFS 协议中的所有内容并不能很好 地映射到 Linux 中
• samba-client RPM 软件包所包含的 smbclient 实用程序可用来识别 由 Windows 或 Samba 文件服务器提供的 CIFS 共享。该实用程序 工作起来犹如在 MicrosoftWindows 中单击网上邻居。然后 mount 命令可用于挂载共享。访问 CIFS 共享的命令
[[email protected] mnt]# yum search cifs
[[email protected] mnt]#yum install sanba-client.x86_64 -y
[[email protected] mnt]#smbclient -L //172.25.254.250 ##识别,输入密码时直接enter进入
[[email protected] mnt]#smblient //172.25254.250/westos1
smb:\> ls ##列出共享目录westos1里面的文件
smb:\> !ls ##列出本地当前目录的文件
[[email protected] mnt]#mount //172.25.254.250/westos1 /mnt -o username=guest ##挂载设备
[[email protected] mnt]# cd /mnt/ 进入挂载目录,就可以进行文件共享
[[email protected] mnt]#echo ‘//172.25.254.250/westos1 /mnt cifs defaults,username=guest 0 0’ >> /etc/fstab ##设置开机自动挂载
[[email protected] mnt]#mount -a
NFS :网络文件系统
• NFS ( Network File System )是由 Linux 、 UNIX 及其他类似操 作系统使用的互联网标准协议,可作为它们的本地网络文件系统。 它是一种活动扩展之下的开放标准 , 可支持本地 Linux 权限和文件 系统功能
• Red Hat Enterprise Linux7 在默认情况下支持 NFSv4 (该协议的 版本 4 ), 并在该版本不可用的情况下自动回退到 NFSv3 和 NFSv2 。对于在客户端上运行的所有版本的 NFS ,均应启用两种 服务: rpcbind 和 nfslock 。 NFSv4 使用 TCP 协议与服务器进 行通信, 而较早版本的 NFS 则可能使用 TCP 或 UDP
• 有两种方法用来确定由服务器提供的 NFS 导出,或叫做文件共享。 如果服务器支持NFSv3 或 NFSv2 , 您可以使用 showmount -eserver 命令来获取导出项列表。如果服务器支持 NFSv4 ,则可以 将 / 导出项挂载到一个空目录并浏览所有导出文件系统的内容
访问 NFS 导出的命令
[[email protected] mnt]# yum install nfs-utils -y
[[email protected] mnt]#showmount -e 172.25.254.250 ##识别
[[email protected] mnt]#mount 172.25.254.250:/nfsshare/nfs1 /mnt ##挂载
[[email protected] mnt]#cd /mnt ##进入挂载目录,就可以进行文件共享
[[email protected] mnt]#echo ‘172.25.254.250:/nfsshare/nfs1 /mnt nfs defaults, 0 0’ >> /etc/fstab ##设置开机自动挂载
自动挂载网络存储
• 使用 mount 命令, 需要具有 root 用户权限以连接到网络共享。或者 ,我们可 以向 /etc/fstab 添加条目,但是随后与网络服务器的连接将始终处于活动状态。 当某一程序试图访问网络共享中的文件时 , 可以将 automounter ( 或 autofs ) 服务配置为按需挂载网络共享。当共享不再使用并处于不活动状态一定时间 以后,automounter 会对共享解除挂载 • 不活动状态的时间间隔默认为五分钟 , 但该时间间隔可在 /etc/sysconfig/autofs中进行全局更改
• [[email protected] ~]# grepTIMEOUT /etc/sysconfig/autofs
# TIMEOUT - set the default mount timeout (default 600).
TIMEOUT=300
...output omitted....
[[email protected] mnt]#rpm -qc autofs ##查看这个软件的主配置文件位置
[[email protected] mnt]#vim /etc/sysconfig/autofs ##更改主配置文件
[[email protected] mnt]#systemctl restart autofs.service
通常,我们需要使用网络共享在不活动状态下保持挂载一小段时间 ,从而防止 在段时间内对其进行再次使用。这能够避免不必要的挂载 / 解除挂载的周期
[[email protected] mnt]#yum install autofs.x86_64 -y ##安装自动挂载软件
[[email protected] mnt]#systemctl start autofs
• 在本节中,我们将介绍使用自动挂载器的两种方法。首先 , 使用特殊的 /net 自动挂载挂载点 ,然后手动配置间接自动 挂载映射。特殊映射 /net
• 默认情况下 , autofs 服务运行时 , 存在一个名为 /net 的特 殊目录 ,但是该目录将显示为空
• 访问不存在的目录 /net/instructor.example.com会使自 动挂载器创建该子目录 , 并显示该 NFS 服务器上的所有 NFS 导出项。这有时称为浏览共享
[[email protected] mnt]#cd /net/172.25.254.250
[[email protected] mnt]#cd nfsshare/nfs1
• 在 /net/instructor.example.com之下的所有文件和目录 停止使用且超时期满子后 ,autofs 将共享解除挂载并删除 空的/net/instructor.example.com 子目录
间接映射
• 除了使用 /net 映射 ,系统管理员也可以手动配置任意目录 , 以便访问时在其子目录上 按需 挂载特定共享。
• 间接映射使用两层配置文件语法。在顶级文件 /etc/auto.master中 , 每个管理的 父目录和包含子目录 挂载点与网络共享的单独的第二个配置文件的名称占一行
[[email protected] mnt]#echo ‘/westos /etc/auto.westos’ >> /etc/atuo.master
[[email protected] mnt]#echo ‘* 172.25.254.250:/nfsshare/&’ >> /etc/auto.westos
[[email protected] mnt]# systemctl restart autofs.service
[[email protected] mnt]#cd /westos/nfs1 ##进入到这个目录即可进行文件共享