NFS用于在网络上共享存储mysql
NFS原理图sql
服务端与客户端都须要安装nfs-util包vim
[root@axiang-02 ~]# yum install -y nfs-utils [root@axiang-03 ~]# yum install -y nfs-utils
新增配置文件(原来没有)网络
vim /etc/exports 加入一行: /home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
服务端启动app
[root@axiang-02 ~]# mkdir /home/nfstestdir [root@axiang-02 ~]# chmod 777 !$ //方便实验 chmod 777 /home/nfstestdir [root@axiang-02 ~]# systemctl start rpcbind [root@axiang-02 ~]# systemctl start nfs [root@axiang-02 ~]# systemctl enable rpcbind //开机启动 [root@axiang-02 ~]# systemctl enable nfs //开机启动 [root@axiang-02 ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd //111端口即rpc监听端口
客户端挂载dom
安装完不用设置,须要关闭防火墙。即便放行111端口。因此建议先把两边防火墙关掉。便可使用async
[root@axiang-02 ~]# iptables -F 或者 systemctl stop firewalld [root@axiang-03 ~]# iptables -F 或者 systemctl stop firewalld [root@axiang-03 ~]# showmount -e 10.1.1.8 Export list for 10.1.1.8: /home/nfstestdir 10.1.1.0/24 [root@axiang-03 ~]# mount -t nfs 10.1.1.8:/home/nfstestdir /mnt [root@axiang-03 ~]# df -h 10.1.1.8:/home/nfstestdir 18G 7.1G 11G 40% /mnt [root@axiang-03 ~]# cd /mnt [root@axiang-03 mnt]# touch 111.txt [root@axiang-03 mnt]# ll 总用量 0 -rw-r--r-- 1 mysql mysql 0 8月 23 15:49 111.txt
成功共享存储。且限定用户id为1000tcp
[root@axiang-02 ~]# ll /home/nfstestdir/ 总用量 0 -rw-r--r-- 1 mysql mysql 0 8月 23 15:49 111.txt [root@axiang-02 ~]# id mysql uid=1000(mysql) gid=1000(mysql) 组=1000(mysql)
经常使用选项ui
须要操做在服务端上code
[root@axiang-02 ~]# vim /etc/exports 再加入一行 /tmp 10.1.1.9(rw,sync,no_root_squash) //这里不限制root用户 [root@axiang-02 ~]# exportfs -arv exporting 10.1.1.9:/tmp exporting 10.1.1.0/24:/home/nfstestdir
客户端
[root@axiang-03 ~]# showmount -e 10.1.1.8 Export list for 10.1.1.8: /home/nfstestdir 10.1.1.0/24 /tmp 10.1.1.9 [root@axiang-03 ~]# mount -t nfs 10.1.1.8:/tmp/ /mnt [root@axiang-03 ~]# vim /mnt/1 [root@axiang-03 ~]# ls -l !$ ls -l /mnt/1 -rw-r--r-- 1 root root 25 8月 23 16:15 /mnt/1
客户端文件属主属组nobody
问题:客户端挂载共享目录后,无论是root用户仍是普通用户,建立新文件时属主、属组为nobody。
解决方法1:因为NFS 4版本会有该问题。客户端挂载时加上 -o nfsvers=3 指定使用版本3模式便可
[root@axiang-03 ~]# mount -t nfs -o nfsvers=3 10.1.1.8:/tmp/ /mnt
解决方法2:客户端和服务端vim /etc/idmapd.conf,把“#Domain = local.domain.edu” 改成 “Domain = xxx.com” (这里的xxx.com,随意定义吧),而后再重启rpcidmapd服务。CentOS7为重启rpcbind服务