软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 网络技术 > Linux > 红帽Red Hat安装配置NFS服务端和客户端

红帽Red Hat安装配置NFS服务端和客户端

NFS会经常用到,用于在网络上共享存储。这样讲,你对NFS可能不太了解,笔者不妨举一个例子来说明一下NFS是用来做什么的。假如有三台机器A、B、C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A、B、C。但是使用NFS只需要放到A上,然后A共享

本文将介绍怎么在Scientific  Linux 6.3上搭建NFS服务端和客户端. NFS的意思是网络文件系统Network File System; 通过NFS,其客户端可以像在本地一样读取和写入远程NFS服务器.

1 备注信息

我使用了下面的两个Scientific Linux操作系统:

  • NFS服务端: server.example.com, IP address: 192.168.0.100
  • NF客户端: client.example.com, IP address: 192.168.0.101

2 安装NFS

服务端:

在NFS服务端伤感运行:

yum install nfs-utils nfs-utils-lib

然后我们给NFS创建一个系统startup连接并启动服务:

chkconfig --levels 235 nfs on 
/etc/init.d/nfs start

客户端:

在客户端机器上安装NFS客户端,执行命令:

yum install nfs-utils nfs-utils-lib

3 “导出”服务器上的文件夹

服务端:

我想创建/home和/var/nfs 文件夹让客户端访问,所以就要“导出”这两个文件夹让客户端访问.

当客户端进入到共享的NFS服务端的时候,经常进来的用户是nobody. 但通常情况下nobody是没有权限进去/home 文件夹的 (我不建议给 nobody用户授权这个文件夹), 我们又要让nobody用户对 /home文件夹有写入权限, 那就要让NFS能以root用户登陆 (如果/home 文件夹为只读的话,肯定是进不来的). /var/nfs 文件夹不存在,所以我们创建下并给用户授权。在我测试的这两台系统上nobody 用户和nobody用户组的ID都是99.当我们尝试从客服端进入到/var/nfs的时候,遇到Permission denied错误。所以我就修改了权限(chmod 777 /var/nfs)这样每个用户都能进去。然后从可客户端写入/var/nfs文件夹的,但从客户端写入/var/nfs文件夹的时候只允许nobody用户组的用户,服务端上又没有这个nonexistant权限(服务器上nonexistant的ID为65534),所以我就修改/var/nfs文件夹的拥有者ID为65534并修改/var/nfs权限为775,这样客户端就可以写入了:

mkdir /var/nfs
chown 65534:65534 /var/nfs
chmod 755 /var/nfs

现在我们就在"导出"的NFS共享这里修改/etc/exports 文件夹. 我们指定/home 和/var/nfs 为NFS共享目录,然后让NFS以root的权限进入到/home

man 5 exports
vi /etc/exports

/home           192.168.0.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.0.101(rw,sync,no_subtree_check)

(参数no_root_squash 就是指定已root登录/home.)

修改 /etc/exports后,我们执行

exportfs -a

生效

4 客户端上设置NFS共享

客户端:

首先我们在客户端上创建想要分享的NFS文件夹,如:

mkdir -p /mnt/nfs/home
mkdir -p /mnt/nfs/var/nfs

然后这么分配:

mount 192.168.0.100:/home /mnt/nfs/home
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

然后做为可以分享的

df -h

[root@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
                      9.7G  1.7G  7.5G  18% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             504M   39M  440M   9% /boot
192.168.0.100:/home   9.7G  1.7G  7.5G  19% /mnt/nfs/home
192.168.0.100:/var/nfs
                      9.7G  1.7G  7.5G  19% /mnt/nfs/var/nfs
[root@client ~]#

然后

mount

[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#

5 测试

客服端上你可以尝试在NFS 共享上创建文件

客户端:

touch /mnt/nfs/home/test.txt
touch /mnt/nfs/var/nfs/test.txt

我们进入到服务端看看这两个文件有没有创建成功

服务端:

ls -l /home/

[root@server ~]# ls -l /home/
total 0
-rw-r--r-- 1 root root 0 Dec 11 16:58 test.txt
[root@server ~]#

ls -l /var/nfs

[root@server ~]# ls -l /var/nfs
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 Dec 11 16:58 test.txt
[root@server ~]#

(Please note the different ownerships of the test files: the /home NFS share gets accessed as root, therefore /home/test.txt is owned by root; the /var/nfs share gets accessed asnobody/65534, therefore /var/nfs/test.txt is owned by 65534.)

 

6 开机的时候就设置NFS共享

为了避免每次手动去共享,我们可以修改 /etc/fstab ,这样开机的时候就自动共享了.

客户端:

打开/etc/fstab 然后添加下面的

vi /etc/fstab

[...]
192.168.0.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0
192.168.0.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

你可以根据自己的需要修改rw,sync,hard,intr参数

man nfs

测试是否生成 /etc/fstab 正常运行,重启客户端:

reboot

重启后你就发现了两个NFS共享的

df -h

[root@client ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
                      9.7G  1.7G  7.5G  18% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             504M   39M  440M   9% /boot
192.168.0.100:/home   9.7G  1.7G  7.5G  19% /mnt/nfs/home
192.168.0.100:/var/nfs
                      9.7G  1.7G  7.5G  19% /mnt/nfs/var/nfs
[root@client ~]#

mount

[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#

    相关阅读
    栏目导航
    推荐软件