NFS介绍

Network File System(NFS)   fastdfs

多机共享数据  数据的备份   (常用于Linux与Linux之间)

前提: 防火墙 Selinux关闭状态

存储端: node02: /imgdata
客户端: node01: /data/web/img

所有节点:
yum install nfs-utils rpcbind -y

存储端: node02
nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口,以下配置将定义这些端口,以便配置防火墙
[root@node02 ~]# vi /etc/sysconfig/nfs  #追加端口配置
MOUNTD_PORT=4001
STATD_PORT=4002
LOCKD_TCPPORT=4003
LOCKD_UDPPORT=4003
RQUOTAD_PORT=4004

[root@node02 ~]# systemctl start rpcbind.service
[root@node02 ~]# systemctl enable rpcbind.service      # 开机启动
[root@node02 ~]# systemctl is-active rpcbind.service
active

[root@node02 ~]# systemctl start nfs.service
[root@node02 ~]# systemctl enable nfs.service      # 开机启动
[root@node02 ~]# systemctl is-active nfs.service
active

所有节点: 创建一个nginx用户
以node02举例  node01同样要创建
[root@node02 ~]# groupadd nginx -g 500
[root@node02 ~]# useradd nginx -u 500 -g nginx -s /sbin/nologin -M
[root@node02 ~]# id nginx
uid=500(nginx) gid=500(nginx) groups=500(nginx)

[root@node02 ~]# vi /etc/exports
/imgdata  10.15.200.0/24(rw,sync,all_squash,anonuid=500,anongid=500)

/imgdata: 表示我们要共享的目录
10.15.200.0/24: 表示内网中这个网段区间的IP是可以进行访问的
(rw,sync,all_squash,anonuid=500,anongid=500) 表示权限
rw:是可读写  ro是只读
sync:同步模式, 表示内存中的数据时时刻刻写入磁盘  async: 非同步模式, 内存中数据定期存入磁盘
all_squash: 表示不管使用NFS的用户是谁, 其身份都会被限定为一个指定的普通用户身份
no_root_squash: 其他客户端主机的root用户对该目录有至高权限控制
root_squash: 表示其他客户端主机的root用户对该目录有普通用户权限控制
anonuid/anongid:要和root_squash或all_squash选项一同使用, 表示指定使用NFS的用户被限定后的uid和gid, 前提是本图片服务器的/etc/passwd中存在这一的uid和gid
no_subtree_check: 不检查父目录的权限

[root@node02 ~]# mkdir /imgdata; chown nginx:nginx /imgdata; chmod ug+rwx,o-rwx /imgdata/
[root@node02 ~]# ls -ld /imgdata
drwxrwx--- 2 nginx nginx 6 May  7 23:16 /imgdata

# 重新加载配置
[root@node02 ~]# exportfs -arv
exporting 10.15.200.0/24:/imgdata
# 重启服务
[root@node02 ~]# systemctl restart rpcbind.service    # 先启动rpcbind
[root@node02 ~]# systemctl restart nfs.service
[root@node02 ~]# systemctl is-active nfs.service
active
[root@node02 ~]# systemctl is-active rpcbind.service
active

# 在node01进行查看
[root@node01 ~]# mkdir -p /data/web/img
[root@node01 ~]# showmount -e 10.15.200.102
Export list for 10.15.200.102:
/imgdata 10.15.200.0/24

""" 先启动rpcbind 再启动nfs
[root@node01 ~]# showmount -e 10.15.200.102
clnt_create: RPC: Program not registered
"""

# node01进行挂载
[root@node01 ~]# mount -t nfs 10.15.200.102:/imgdata /data/web/img

# 查看挂载点
[root@node01 ~]# df -h | grep imgdata
10.15.200.102:/imgdata    15G  1.8G   14G  12% /data/web/img

# 写入文件进行测试
[root@node01 ~]# touch /data/web/img/0529.png

# 查看文件权限及属性
[root@node02 ~]# ls -ld /imgdata/0529.png
-rw-r--r-- 1 nginx nginx 0 May  7 23:35 /imgdata/0529.png

# 卸载: umount挂载点
[root@node01 ~]# umount /data/web/img    # 前提 卸载时 不能有业务对此目录进行数据的写入


SMB介绍

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件
常用于Linux给windows提供数据共享服务

前提: 防火墙 Selinux关闭状态

服务端: node02: samba
客户端: windows7  node01

[root@node02 ~]# yum install samba -y
[root@node02 ~]# cp /etc/samba/{smb.conf,smb.conf.rpmsave}


[root@node02 ~]# testparm    # 校验语法
Load smb config files from /etc/samba/smb.conf

[root@node02 ~]# systemctl start smb.service

# 添加用户
[root@node02 ~]# useradd -s /sbin/nologin desktop
[root@node02 ~]# smbpasswd -a desktop
New SMB password:
Retype new SMB password:
Added user desktop.

# windows访问进行测试  (C:\Users\rhca2013>net use * /del)
\\10.15.200.102\

[root@node01 ~]# mount -o username=desktop //10.15.200.102/smbfile /mnt/
mount: //10.15.200.102/smbfile is write-protected, mounting read-only
mount: cannot mount //10.15.200.102/smbfile read-only

[root@node01 ~]# yum -y install cifs-utils

[root@node01 ~]# mount -o username=desktop //10.15.200.102/smbfile /mnt/
Password for desktop@//10.15.200.102/smbfile:  *******
[root@node01 ~]# ls /mnt/
passwd
 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐