实战之NFS配置

NFS服务的使用
.1 案例目标
(1)了解 NFS 服务的安装。
(2)了解 NFS 的配置与使用。
2、案例分析
节点规划
IP 主机名 节点
192.168.200.11 nfs-server NFS 服务节点
192.168.200.12 nfs-client NFS 客户端节点

介绍: NFS 是 Network File System 的缩写,即网络文件系统。客户端通过挂载的方式将 NFS
服务器端共享的数据目录挂载到本地目录下。主要功能指的是共享文件。

步骤
1、修改两个节点的主机名,第一台机器为 nfs-server;第二台机器为 nfs-client。命令如下:
nfs-server 节点:
第一台:

# hostname nfs-server
# hostnamectl
   Static hostname: nfs-server
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 157e7b1841884487a34c1eff02896644
           Boot ID: 1f35ee11c5674ee680f18f85e13f0a26
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64

第二台:

# hostnamectl set-hostname nfs-client
# hostnamectl 
   Static hostname: nfs-client
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 157e7b1841884487a34c1eff02896644
           Boot ID: dc4382fc087642d8ab8c9c21f4a56878
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.el7.x86_64
      Architecture: x86-64

2.安装 NFS 服务
两台均安装:

# yum install -y nfs-utils rpcbind

注意:安装 NFS 服务必须要依赖 RPC,所以运行 NFS 就必须要安装 RPC
3.NFS 服务使用

# mkdir /mnt/test

编辑 NFS 服务的配置文件/etc/exports,在配置文件中加入一行代码,命令如下:

# vi /etc/exports
/mnt/test 192.168.200.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

生效配置,命令如下:

[root@nfs-server ~]# exportfs –r

配置文件说明:
 /mnt/test:为共享目录(若没有这个目录,请新建一个)。
 192.168.200.0/24:可以为一个网段,一个 IP,也可以是域名。域名支持通配符,例
如,*.qq.com。
 rw:read-write,可读写。
 ro:read-only,只读。
 sync:文件同时写入硬盘和内存。
 async:文件暂存于内存,而不是直接写入内存。
 no_root_squash:NFS 客户端连接服务端时,如果使用的是 root,那么对服务端共享
的目录来说,也拥有 root 权限。显然开启这项是不安全的。
 root_squash:NFS 客户端连接服务端时,如果使用的是 root,那么对服务端共享的目
录来说,拥有匿名用户权限,通常它将使用 nobody 或 nfsnobody 身份。
 all_squash:不论 NFS 客户端连接服务端时使用什么用户,对服务端共享的目录来说,
都拥有匿名用户权限。
 anonuid:匿名用户的 UID(User Identification,用户身份证明)值,可以在此处自行
设定。
 anongid:匿名用户的 GID(Group Identification,共享资源系统使用者的群体身份)
值。
4、nfs-server 端启动 NFS 服务,命令如下:

# systemctl start rpcbind
# systemctl start nfs

5、nfs-server 端查看可挂载目录,命令如下:

# showmount -e 192.168.200.11
Export list for 192.168.200.11:
192.168.200.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) *
/mnt/test                                                                      *

6、转到 nfs-client 端,在客户端挂载前,先要将服务器的 SELinux 服务和防火墙服务关闭,
命令如下:

# setenforce 0
# systemctl stop firewalld

7、在 nfs-client 节点,进行 NFS 共享目录的挂载,命令如下

# mount -t nfs 192.168.200.11:/mnt/test /mnt

无提示信息则表示成功,查看挂载情况。命令如下:

# df -h
Filesystem                Size  Used Avail Use% Mounted on
/dev/sda3                  18G  1.1G   17G   6% /
devtmpfs                  904M     0  904M   0% /dev
tmpfs                     913M     0  913M   0% /dev/shm
tmpfs                     913M  8.7M  904M   1% /run
tmpfs                     913M     0  913M   0% /sys/fs/cgroup
/dev/sda1                 497M  118M  379M  24% /boot
tmpfs                     183M     0  183M   0% /run/user/0
192.168.200.11:/mnt/test  5.8G   20M  5.5G   1% /mnt

可以看到 nfs-server 节点的/mnt/test 目录已挂载到 nfs-client 节点的/mnt 目录下。
.8、验证 NFS 共享存储
在 nfs-client 节点的/mnt 目录下创建一个 abc.txt 的文件并计算 MD5 值,命令如下:

# cd /mnt/test/
# touch abc.txt

遇到的问题:Read-only file system
解决方法:
.查看有多少分区入格式
cat /etc/fstab
/dev/VolGroup00/LogVol03 /opt ext3 defaults 1 2
2.在每个分区下测试能否写入
cd /mnt
touch x
touch: cannot touch `x’: Read-only file system
3.手动修复/opt分区
fsck前分区要先卸载
umount /mnt
遇到系统忙可以使用fuser
fuser -mk /mnt
以ext3格式修复
fsck -t ext4 /mnt
再重新挂载分区就可以写入了
mount /mnt

# md5sum abc.txt
d41d8cd98f00b204e9800998ecf8427e  abc.txt

9、回到 nfs-server 节点进行验证,命令如下:

# cd /mnt/test/
# ll
total 0
-rw-r--r-- 1 root root 0 Aug  3 22:12 abc.txt

可以发现,在 client 节点创建的文件和 server 节点的文件是一样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值