[TOC]
本章主要介绍 CIFS 与 CIFS Homedir 概念及其配置,方便初学者快速入门;
描述:CIFS(Common Internet File System - 通用网络文件系统)是当前主流异构平台共享文件系统之一
,它是一个网络文件共享协议,允许Internet和Intranet中的Windows主机访问网络中的文件或其他资源。主要应用在Window操作系统环境下进行文件共享
,如果你是Linux系统还是建议您采用NFS文件系统;
CIFS是SMB(Server Message Block)
的一个公共版本;
Q: 那什么是SMB协议?
答: SMB协议是一个网络文件访问协议,使本机程序可以访问局域网内计算机上的文件并请求此计算机的服务。
Q: 为什么要使用CIFS文件系统而不是直接使用SMB共享?
答: 随着企业规模的扩大,企业内各部门之间进行文件共享和访问的用户数量越来越多;由于共享文件所在的服务器的硬件配置限制,当大量用户访问共享文件时,造成访问速度下降、系统响应慢的问题 如何能够提高大量用户访问共享文件的性能,是企业网络应用必须解决的问题。 存储系统支持CIFS共享特性,使得Windows客户端
能够识别并访问网络中存储系统提供的共享资源
,客户端用户能够像使用本机一样对保存在存储系统中的文件进行读、写、创建等操作。CIFS解决了大量用户访问共享文件速度下降和系统响应慢的问题
。
CIFS 优势:
同一时刻只允许一个客户端更新文件
)只有一个拷贝文件处于激活状态防止数据冲突
;设置用户对文件系统的访问权限,保证文件的机密性和安全性
)配置CIFS共享包括无域环境中配置CIFS共享
和AD域环境中配置CIFS共享
两种方式;
WeiyiGeek.无域环境中的CIFS共享
WeiyiGeek.AD域环境中的CIFS共享
描述:Homedir(Home Directory)属于CIFS共享方式的一种,它是是用户私有目录,可用于存放用户私有数据,该用户只能查看和访问与其名称一致的共享目录,无法查看或访问其他用户的私有目录
。
Homedir特性优势:
同CIFS一样华为存储V5也包括两种共享方式即无域环境中的 CIFS Homedir共享 、 AD域环境中的CIFS Homedir共享
图示参照CIFS共享;
描述:在配置CIFS/CIFS Homedir共享前请先做好规划工作,以便顺利开展后续的业务配置。
规划的内容包括网络、域、认证方式、共享方式、用户、用户组、权限和配额
。
规划项 | 规划子项 | 规划要求 | |
---|---|---|---|
网络 | 存储系统IP | 存储系统使用逻辑端口(LIFa)提供存储系统和应用服务器之间的通信提供IP。 | |
访问终端IP地址 | 访问终端与存储系统在同一个网络中,可以相互ping通。 | ||
维护终端IP地址 | 维护终端与存储系统在同一个网络中,可以相互ping通。 | ||
(可选)AD域环境 | 在AD域环境中,规划AD域服务器和NTP服务器的IP地址和主机名,并保证各服务器与存储系统在同一个网络中,可以相互ping通。 | ||
域环境 | AD域或无域 | 根据用户的管理需求,设置为AD域或无域环境。 两种环境的优点如下。 AD域:存储系统能够实现与AD域的无缝对接,无需建立本地用户,域用户可以访问共享空间。无域:无需搭建域环境。 | |
认证方式 | 本地认证和域认证 | 根据用户环境AD域或无域环境设置认证方式。 本地认证:使用本地帐户进行用户身份的认证。域认证:使用域服务器进行用户身份的认证。 | |
共享方式 | CIFS共享 | 创建CIFS共享前,需要先检查是否已启用CIFS服务并对CIFS服务进行配置。 | |
用户 | 包括本地认证的用户和域认证的用户 | 本地认证用户名长度范围为6到32位字符。 本地认证用户名不允许包含空格、`“””、“/”、“\”、“[”、“]”、“<”、“>”、“+”、“:”、“;”、“,”、“?”、“*”、“\ | ”、“=”和“@”`,且尾字符不允许为“.”。 |
用户组 | 包括本地认证的用户组和域认证的用户组 | 本地认证用户组名长度范围为1到32位字符。 本地认证用户组名不允许包含空格、`“””、“/”、“\”、“[”、“]”、“<”、“>”、“+”、“:”、“;”、“,”、“?”、“*”、“\ | ”、“=”和“@”`,且尾字符不允许为“.”。 |
权限级别 | 用户或用户组访问共享的权限 | 设置用户访问CIFS共享的权限,包括: 完全控制:拥有CIFS共享的所用权限。 只读:只拥有CIFS共享的读权限。 读写:拥有CIFS共享的读写权限。 禁止:禁止访问。 | |
配额 | - | 配额只能针对文件系统的quota tree(b),根据用户需求定义文件系统的配额值。配额大小不受文件系统容量限制。配额包括以下两方面: 空间配额:文件系统中quota tree的最大容量。 文件配额:文件系统中quota tree的最大文件数目。 |
a:LIF是在物理端口、绑定端口及VLAN端口上创建的逻辑端口,每个LIF对应一个IP地址。 b:quota tree即配额树,是文件系统的特殊目录。在quota tree上可以设置目录配额,管理该目录内所有文件的使用空间。
描述下面以OceanStor DeviceManager设备型号:5310F V5 为例进行配置使用;
WeiyiGeek.CIFS
WeiyiGeek.CIFS Homedir
描述: 此处以客户端操作系统为 Windows 7为例进行说明,在用户客户端映射网络驱动器流程如下: Step 1.在Windows客户端右键单击“计算机”。选择“映射网络驱动器”。
Step 2.系统弹出“映射网络驱动器”对话框。在“文件夹”中输入映射的文件夹路径。
Step 3.映射的文件夹路径使用\\logical ip address\sharename
的格式。
Step 4.其中sharename是指CIFS共享的共享名称。单击“完成”。
描述: 实际上在Linux中挂载CIFS(Common Internet File System,即通用internet文件系统)存储的方式流程与NFS相似,其主要使用场景是嵌入式中实现从开发板与windows的共享。
如果在linux去挂载其他linux或者window的磁盘该怎么做呢? 软件安装包:
# CentOS - 环境
yum install cifs-utils -y
# Ubuntu - 环境
sudo apt-get install cifs-utils
挂载使用
Step 1.查看CIFS共享存储上的挂载点,注意需要放行相关端口
showmount –e 192.168.1.250
/DATA
Step 2.挂载CIFS共享存储命令, 此处非常注意需要将Windows中\\
改成Linux识别的//
以及后续路径中的\
也需要改成/
否则无法正常挂载。
mkdir -vp /app/share
# 空密码链接示例
mount -t cifs -o sec=none,iocharset=utf8,vers=2.0 //192.168.1.250/DATA /app/share
# 域和域用户账号密码
mount -t cifs -o domain=cloud,username=administrator,password=123456,sec=ntlmssp,iocharset=utf8,vers=2.0 //192.168.1.250/DATA /app/share
# 命令参数解析:
-t 挂载类型为cifs
-o 挂载参数
Domain=域名
sername=用户名
password=密码
sec=安全认证方式
iocharset=字符集
vers=版本
# 选择安全模型:
sec={none|krb5|krb5i|ntlm|ntlmi|ntlmv2|ntlmv2i}
* none 尝试以空用户连接(不提供用户名)
* krb5 使用 Kerberos version 5 认证
* krb5i 使用 Kerberos version 5 和包签名(packet signing)认证
* ntlm 使用 NTLM 口令散列认证(默认值)
* ntlmi 使用 NTLM 签名口令散列认证(如果 /proc/fs/cifs/PacketSigningEnabled 被开启或者服务器端要求必须签名时,这个将成为默认值)
* ntlmv2 使用 NTLMv2 口令散列认证
* ntlmv2i 使用 NTLMv2 签名口令散列认证
温馨提示: 如果指定挂载后文件编码使用中文(如挂载Windows共享)-ocodepage=936,iocharset=cp936
Step 3.如果需要设置自动挂载,则需要在/etc/fstab
文件中添加如下配置。
tee -a /etc/fstab <<'EOF'
....
//192.168.1.250/DATA /app/share cifs defaults,username=administrator,password=123456 0 0
EOF
$ mount -a
Step 4.查看挂载的CIFS磁盘.
$ df -Th | grep "cifs"
//10.41.40.92/myshare/ cifs 44T 28G 44T 1% /mnt/cifs
入坑出坑
1.使用mount挂载cifs时 mount error(95): Operation not supported
.
$ mount -t cifs -o username=weiyigeek,password='password' //192.168.6.19/share /share
mount error(95): Operation not supported
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
vers=2.0
参数即可。2.使用mount挂载cifs时普通用户无法操作挂载目录的文件及其目录报没有权限问题,以weiyigeek与app组为例
# 空密码链接示例, weiyigeek用户以及app组
mount -t cifs -o sec=none,iocharset=utf8,vers=2.0,uid=weiyigeek,gid=app //192.168.1.250/DATA /app/share