Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2322898
  • 博文数量: 535
  • 博客积分: 8689
  • 博客等级: 中将
  • 技术积分: 7066
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-26 10:00
文章分类

全部博文(535)

文章存档

2024年(4)

2023年(4)

2022年(16)

2014年(90)

2013年(76)

2012年(125)

2011年(184)

2010年(37)

分类: 系统运维

2012-08-22 18:48:04


一、环境介绍
两台机,一台是NFS服务器,操作系统是AIX5.3,主机名是nfsserver , ip 是10.14.54.247 ,另一台NFS客户端,操作系统是linux,主机名是nfsclient , ip 是10.14.50.191
 
二、配置nfsserver 和nfsclient的hosts文件
分别修改两台服务器的hosts文件
NFS服务器改成如下:
127.0.0.1               loopback nfsserver      # loopback (lo0) name/address
10.14.54.120    nfsserver
10.14.54.168    nfsclient
NFS客户端改成如下:
127.0.0.1              nfsclient
10.14.54.247    nfsserver
10.14.50.191    nfsclient
 
 
三、配置NFS Server
AIX:  1, 在服务器上配置如下:
Vi /etc/exports
/home/  -sec=sys,rw,access=10.14.50.190:10.14.50.191
或是/home/  -sec=sys,rw,access=10.14.50.0:10.14.54.0

2,启动nfsserver
startsrc     -g nfs
 refresh -g nfs
可以通过lssrc -g nfs查看nfs的服务情况
#lssrc -g nfs
    Subsystem         Group            PID          Status
     biod             nfs              712706       active
     nfsd             nfs              635260       active
     rpc.mountd       nfs              462932       active
     rpc.lockd        nfs              639418       active
     rpc.statd        nfs              757914       active
     nfsrgyd          nfs                           inoperative
     gssd             nfs                           inoperative
 
通过startsrc -g nfs与stopsrc -g nfs启动与停止该服务组子系统。每当系统启动时,/etc/rc.nfs运行exportfs命令来读取服务器上的/etc/exports文件,然后告诉内核要导出哪些目录与对应的权限。然后rpc.mountd和以上守护进程由/etc/rc.nfs启动。
用exportfs可以导出该目录,如:
#/usr/sbin/exportfs -a
root@localhost:/etc#/usr/sbin/exportfs
/home/ -sec=sys,rw,access=10.14.50.190:10.14.50.191
关于更多的exportfs的用法,可以查看相关帮助,另外,/etc/xtab则与/ext/exports有一样的格式,运行exportfs的时候,/etc/xtab将被更新,这样可以临时导出一个目录而不更新exports文件。
关于/etc/exports的更新,也可以用smit nfs–>Network File System (NFS) –>Add a Directory to Exports List或者是Change / Show Attributes of an Exported Directory来实现,如
#smit chnf***p
    * Pathname of directory to export                     /u01/logs
      Anonymous UID                                      [-2]
      Public filesystem?                                 [no]
    * Change export now, system restart or both           both
      Pathname of alternate exports file                 []
      Allow access by NFS versions                       []
      External name of directory (NFS V4 access only)    []
      Referral locations (NFS V4 access only)            []
      Replica locations                                  []
      Ensure primary hostname in replica list             yes
      Allow delegations?                                 []
      Security method                                    [sys,krb5p,krb5i,krb5,dh,none]
          Mode to export directory                       [read-write]
          Hostname list. If exported read-mostly         []
          Hosts & netgroups allowed client access        [host_name1,host_name2]
          Hosts allowed root access                      []
验证服务器中上的 /etc/exports 文件是否列出客户机要安装的文件系统名称以及该文件系统是否已导出。输入以下命令进行操作:
 
#showmount -e nfsserver
[root@localhost home]# showmount -e nfsserver
Export list for nfsserver:
/home/ 10.14.50.190,10.14.50.191
[root@localhost home]# showmount -e 10.14.54.247
Export list for 10.14.54.247:
/home/ 10.14.50.190,10.14.50.191
[root@localhost home]#
 
 
该命令在NFS Server/client上都可以正常运行,列出了由 server_name 当前导出的所有文件系统。

 四、配置 nfs client
nfs的client配置比较简单,需要portmap服务正常即可。



Linux  配NFS
如果是linux 的话。就是如下
vi /etc/exports
/home/ap  10.14.57.0/24(rw,sync,no_root_squash)


/home/nfs-share    10.14.50.191 (rw,sync,no_root_squash)  ##表示10.14.50.191的root用户可以读写,非root用户没有权限,如果想普通用户也是有权限,那就chmod –R 777  /home/nfs-share

也可以写成  /home/share   10.14.57.0/24(rw,sync,no_root_squash)  表示整个网段的client都可以有权访问




以下是选项:
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
默认就有sync,wdelay,hide 等等,no_root_squash 是让root保持权限,root_squash 是把root映射成nobody,no_all_squash 不让所有用户保持在挂载目录中的权限。所以,root建立的文件所有者是nfsnobody。



重启 Server 端的服务
/etc/init.d/nfs  restart
/etc/init.d/nfslock   restart
/etc/init.d/portmap  restart

然后再在 服务器上 (这一步是设置服务器开机启动的程序)
chkconfig  --add  portmap
chkconfig  --add  nfs
chkconfig  --add  nfslock
在client 上 加上这条,开机后自动挂
echo  "mount  10.14.57.179:/home/share  /home/179home" >> /etc/rc.local


如果centos 6.0 以上的。 Nfs 启动稍有不同,请查一下相关手册
ps  -aux |grep nfs
ps  -aux |grep  portmap
 
#lssrc -s portmap
    Subsystem         Group            PID          Status
     portmap          portmap          225506       active
                                       

 
验证 mountd、portmap 和 nfsd 守护程序正在 NFS 服务器上运行,请在客户机 shell 提示符下输入以下命令:
#/usr/bin/rpcinfo -u server_name mount
#/usr/bin/rpcinfo -u server_name portmap
#/usr/bin/rpcinfo -u server_name nfs
如果守护程序在服务器运行,会返回以下响应:
    program  100005  version  1  ready  and  waiting
    program  100000  version  2  ready  and  waiting
    program  100003  version  2  ready  and  waiting
程序号分别与命令对应,如前例中所示。如果没有返回类似的响应,请在服务器控制台上登录服务器并按照获取 NFS 守护程序的当前状态中的指示信息检查守护程序的状态。
#showmount -e server_name
该命令列出了由 server_name 当前导出的所有文件系统。
 
 
五、到nfsclient 上去挂载
 
最后在linux  (nfsclient) 和挂载服务器的目录就可以以了
mount -t  nfs  10.14.54.247:/home /home
再用
  df –h 可以看到挂载的目录
 
 
 
[root@localhost home]# mount -t  nfs  10.14.54.247:/home /home
 [root@localhost home]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       18G   13G  4.1G  76% /
/dev/sda1              99M   13M   82M  14% /boot
tmpfs                 3.9G     0  3.9G   0% /dev/shm
/dev/mapper/datavg3-oracle_lv2
                       31M  4.5M   25M  15% /oracle_lv2
10.14.54.247:/home/   1.1G  544K  1.1G   1% /home
[root@localhost home]# ls
 
 
然后再到服务器上/home/目录下创建目录,就可以在nfsclient 上可以看到的(要先cd / 跳出/home目录后,再次进去就可以看到在服务器上创建的目录或是文件)。
 

AIX:
mount 10.14.54.247:/home /home

另外在AIX 上挂载Linux 上的NFS 需要改AIX的一个参数,如下:
nfso -o nfs_use_reserved_ports=1

另外在Solaris 挂载 AIX上的NFS 要加-o 选项
mount -o vers=3 10.14.54.102:/nfs5552 /nfs5552



先配,按如下方式处理一下看看

#vi /etc/filesystems
/dmp:
        dev             = /oradata/dmp
        vfs             = nfs
        nodename        = 10.14.50.15
        mount           = true
        options         = rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600
        account         = false
 
#umount /dmp
#mount /dmp

另外在LINUX服务器上挂载报IO 错误的话,可以先启动本机的NFS服务,然后按以下方法挂
/etc/init.d/rpcbind  restart
mount   -t nfs  10.14.54.170:/oradata/nas   /nas -o nfsvers=2














 




















 























 



一、环境介绍

两台机,一台是NFS服务器,操作系统是AIX5.3,主机名是nfsserver  ip 10.14.54.247 ,另一台NFS客户端,操作系统是linux,主机名是nfsclient  ip 10.14.50.191

 

二、配置nfsserver nfsclienthosts文件

分别修改两台服务器的hosts文件

NFS服务器改成如下:

127.0.0.1               loopback nfsserver      # loopback (lo0) name/address

10.14.54.120    nfsserver

10.14.54.168    nfsclient

NFS客户端改成如下:

127.0.0.1              nfsclient

10.14.54.247    nfsserver

10.14.50.191    nfsclient

 

 

三、配置NFS Server

AIX  1, 在服务器上配置如下:

Vi /etc/exports 

/home/  -sec=sys,rw,access=10.14.50.190:10.14.50.191

或是/home/  -sec=sys,rw,access=10.14.50.0:10.14.54.0

 

2,启动nfsserver 

startsrc     -g nfs

 refresh -g nfs

可以通过lssrc -g nfs查看nfs的服务情况

#lssrc -g nfs

    Subsystem         Group            PID          Status

     biod             nfs              712706       active

     nfsd             nfs              635260       active

     rpc.mountd       nfs              462932       active

     rpc.lockd        nfs              639418       active

     rpc.statd        nfs              757914       active

     nfsrgyd          nfs                           inoperative

     gssd             nfs                           inoperative

 

通过startsrc -g nfsstopsrc -g nfs启动与停止该服务组子系统。每当系统启动时,/etc/rc.nfs运行exportfs命令来读取服务器上的/etc/exports文件,然后告诉内核要导出哪些目录与对应的权限。然后rpc.mountd和以上守护进程由/etc/rc.nfs启动。

exportfs可以导出该目录,如:

#/usr/sbin/exportfs -a

root@localhost:/etc#/usr/sbin/exportfs

/home/ -sec=sys,rw,access=10.14.50.190:10.14.50.191

关于更多的exportfs的用法,可以查看相关帮助,另外,/etc/xtab则与/ext/exports有一样的格式,运行exportfs的时候,/etc/xtab将被更新,这样可以临时导出一个目录而不更新exports文件。

关于/etc/exports的更新,也可以用smit nfs>Network File System (NFS) >Add a Directory to Exports List或者是Change / Show Attributes of an Exported Directory来实现,如

#smit chnf***p

    * Pathname of directory to export                     /u01/logs

      Anonymous UID                                      [-2]

      Public filesystem?                                 [no]

    * Change export now, system restart or both           both

      Pathname of alternate exports file                 []

      Allow access by NFS versions                       []

      External name of directory (NFS V4 access only)    []

      Referral locations (NFS V4 access only)            []

      Replica locations                                  []

      Ensure primary hostname in replica list             yes

      Allow delegations?                                 []

      Security method                                    [sys,krb5p,krb5i,krb5,dh,none]

          Mode to export directory                       [read-write]

          Hostname list. If exported read-mostly         []

          Hosts & netgroups allowed client access        [host_name1,host_name2]

          Hosts allowed root access                      []

验证服务器中上的 /etc/exports 文件是否列出客户机要安装的文件系统名称以及该文件系统是否已导出。输入以下命令进行操作:

 

#showmount -e nfsserver

[root@localhost home]# showmount -e nfsserver

Export list for nfsserver:

/home/ 10.14.50.190,10.14.50.191

[root@localhost home]# showmount -e 10.14.54.247

Export list for 10.14.54.247:

/home/ 10.14.50.190,10.14.50.191

[root@localhost home]#

 

 

该命令在NFS Server/client上都可以正常运行,列出了由 server_name 当前导出的所有文件系统。

 

 、配置 nfs client

nfsclient配置比较简单,需要portmap服务正常即可。

 

 

 

Linux  NFS

如果是linux 的话。就是如下

vi /etc/exports

/home/nfs-share    10.14.50.191 (rw,sync,no_root_squash)  ##表示10.14.50.191root用户可以读写,非root用户没有权限,如果想普通用户也是有权限,那就chmod –R 777  /home/nfs-share

 

也可以写成  /home/share   10.14.57.0/24(rw,sync,no_root_squash)  表示整个网段的client都可以有权访问

 

 

 

 

以下是选项:

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置)

no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

默认就有syncwdelayhide 等等,no_root_squash 是让root保持权限,root_squash 是把root映射成nobodyno_all_squash 不让所有用户保持在挂载目录中的权限。所以,root建立的文件所有者是nfsnobody

 

 

 

重启 Server 端的服务

/etc/init.d/nfs  restart

/etc/init.d/nfslock   restart

/etc/init.d/portmap  restart

 

然后再在 服务器上 (这一步是设置服务器开机启动的程序)

chkconfig  --add  portmap

chkconfig  --add  nfs

chkconfig  --add  nfslock

client 上 加上这条,开机后自动挂

echo  "mount  10.14.57.179:/home/share  /home/179home" >> /etc/rc.local

 

 

如果centos 6.0 以上的。 Nfs 启动稍有不同,请查一下相关手册

ps  -aux |grep nfs

ps  -aux |grep  portmap

 

#lssrc -s portmap

    Subsystem         Group            PID          Status

     portmap          portmap          225506       active

                                       


 

验证 mountdportmap  nfsd 守护程序正在 NFS 服务器上运行,请在客户机 shell 提示符下输入以下命令:

#/usr/bin/rpcinfo -u server_name mount

#/usr/bin/rpcinfo -u server_name portmap

#/usr/bin/rpcinfo -u server_name nfs

如果守护程序在服务器运行,会返回以下响应:

    program  100005  version  1  ready  and  waiting

    program  100000  version  2  ready  and  waiting

    program  100003  version  2  ready  and  waiting

程序号分别与命令对应,如前例中所示。如果没有返回类似的响应,请在服务器控制台上登录服务器并按照获取 NFS 守护程序的当前状态中的指示信息检查守护程序的状态。

#showmount -e server_name

该命令列出了由 server_name 当前导出的所有文件系统。

 

 

五、到nfsclient 上去挂载

 

最后在linux  (nfsclient) 和挂载服务器的目录就可以以了

mount -t  nfs  10.14.54.247:/home /home

再用

  df h 可以看到挂载的目录

 

 

 

[root@localhost home]# mount -t  nfs  10.14.54.247:/home /home

 [root@localhost home]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

                       18G   13G  4.1G  76% /

/dev/sda1              99M   13M   82M  14% /boot

tmpfs                 3.9G     0  3.9G   0% /dev/shm

/dev/mapper/datavg3-oracle_lv2

                       31M  4.5M   25M  15% /oracle_lv2

10.14.54.247:/home/   1.1G  544K  1.1G   1% /home

[root@localhost home]# ls

 

 

然后再到服务器上/home/目录下创建目录,就可以在nfsclient 上可以看到的(要先cd / 跳出/home目录后,再次进去就可以看到在服务器上创建的目录或是文件)。

 

 

AIX:

mount 10.14.54.247:/home /home

 

另外在AIX 上挂载Linux 上的NFS 需要改AIX的一个参数,如下:

nfso -o nfs_use_reserved_ports=1

 

另外在Solaris 挂载 AIX上的NFS 要加-o 选项

mount -o vers=3 10.14.54.102:/nfs5552 /nfs5552

 


阅读(1376) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~