如何在我的OpenSolaris上配置NFS
Network File System (NFS)是可以用来在网络上访问文件的系统。它大部分用在UNIX系统上,但是你也可以在Linux和Windows上使用它。在OpenSolaris的NFS默认版本是4,这个服务通过SMF管理,这意味着你需要使用svcs和svcadm命令去检查、启用、禁用或者重起它。
开始让我们检查一下NFS服务是否在我的系统上启动了:
root# svcs network/nfs/server
STATE STIME FMRI
disabled 9:30:35 svc:/network/nfs/server:default
root#啊哈,它是禁用的。Solaris 9上NFS是随系统启动的,这里不是。让我首先尝试启动它:
root# svcadm enable network/nfs/server
root# svcs network/nfs/server
STATE STIME FMRI
offline 10:11:56 svc:/network/nfs/server:default
root#Offline-这意味着服务实例被启用,但是服务仍然没有运行。这个服务需要其它服务,大概他们根本没有运行,
那就是它没有启动的原因:
root# svcs -d svc:/network/nfs/server:default
STATE STIME FMRI
disabled 9:30:35 svc:/network/rpc/keyserv:default
disabled 9:30:35 svc:/network/nfs/mapid:default
disabled 10:26:56 svc:/network/nfs/nlockmgr:default
online 9:30:52 svc:/milestone/network:default
online 9:31:08 svc:/system/filesystem/local:default
online 9:31:10 svc:/network/shares/group:zfs
online 9:31:10 svc:/network/shares/group:default
online 9:31:26 svc:/network/rpc/gss:default
online 10:26:56 svc:/network/rpc/bind:default需要的keyserv、mapid和nlockmgr没有运行,我将要启动它们。
root# svcadm enable svc:/network/nfs/mapid:default
root# svcadm enable svc:/network/rpc/keyserv:default
root# svcadm enable svc:/network/nfs/nlockmgr:default
root# svcs -d svc:/network/nfs/server:default
STATE STIME FMRI
online 9:30:52 svc:/milestone/network:default
online 9:31:08 svc:/system/filesystem/local:default
online 9:31:10 svc:/network/shares/group:zfs
online 9:31:10 svc:/network/shares/group:default
online 9:31:26 svc:/network/rpc/gss:default
online 10:26:56 svc:/network/nfs/nlockmgr:default
online 10:26:56 svc:/network/rpc/bind:default
online 10:33:11 svc:/network/nfs/mapid:default
maintenance 10:33:20 svc:/network/rpc/keyserv:default
root#Keyserv在maintenance模式:这意味着服务实例遇到了错误,管理员必须要解决。让我们看看日志文件:
root# cd /var/svc/log
root# tail network-rpc-keyserv:default.log
[ Jul 11 13:59:05 Stopping because service disabled. ]
[ Jul 11 13:59:05 Executing stop method (:kill) ]
[ Jul 11 13:59:15 Executing start method (“/usr/sbin/keyserv”) ]
[ Jul 11 13:59:15 Method “start” exited with status 96 ]
我在网络搜索了一下,问题好像是服务 network/nis/client被禁用了:
root# svcadm enable network/nis/client
root# svcs network/nis/client
STATE STIME FMRI
maintenance 11:04:44 svc:/network/nis/client:default
root# cat network-nis-client:default.log
[ Jul 11 13:59:05 Disabled. ]
[ Jul 11 13:59:05 Rereading configuration. ]
[ Jul 17 11:04:44 Enabled. ]
[ Jul 17 11:04:44 Executing start method (”/lib/svc/method/yp”) ]
/lib/svc/method/yp: domainname not set
[ Jul 17 11:04:44 Method “start” exited with status 96 ]
root#
root#
root#
root# ls -l /etc/defaultdomain
/etc/defaultdomain: No such file or directory
root#
root# cat > /etc/defaultdomain
ww300.siemens.net
^D
root#
root#
root# domainname `cat /etc/defaultdomain`
root#
root#
root# # add your NIS server in /etc/hosts
root# echo “163.242.239.20 PrimaryDNS PrimaryWINSserver” >> /etc/hosts
root#
root#
root# ypinit -c
In order for NIS to operate sucessfully, we have to construct a list of the
NIS servers. Please continue to add the names for YP servers in order of
preference, one per line. When you are done with the list, type a
or a return on a line by itself.
next host to add: 163.242.239.20
next host to add:
The current list of yp servers looks like this:
163.242.239.20
Is this correct? [y/n: y] y
root#
root# svcadm enable nis/client
root# svcs nis/client
STATE STIME FMRI
online 11:34:32 svc:/network/nis/client:default
root#现在需要做的就是启动keyserv然后启动nfs服务器:
root# svcadm clear svc:/network/rpc/keyserv:default
root# svcs svc:/network/rpc/keyserv:default
STATE STIME FMRI
online 11:37:44 svc:/network/rpc/keyserv:default
root#
root#
root# svcadm enable nfs/server
root# svcs nfs/server
STATE STIME FMRI
online* 11:38:05 svc:/network/nfs/server:default
root#
root# svcs nfs/server
STATE STIME FMRI
disabled 11:38:11 svc:/network/nfs/server:default
root#
root# tail network-nfs-server:default.log
[ Jul 17 11:38:05 Stopping because service disabled. ]
[ Jul 17 11:38:05 Executing stop method (”/lib/svc/method/nfs-server stop 117?) ]
[ Jul 17 11:38:10 Method “stop” exited with status 0 ]
[ Jul 17 11:40:01 Enabled. ]
[ Jul 17 11:40:01 Executing start method (”/lib/svc/method/nfs-server start”) ]
No NFS filesystems are shared噢,没有共享文件系统,好,让我修正它:
root# share /export/home/
root# svcadm enable nfs/server
root# svcs nfs/server
STATE STIME FMRI
online 11:45:07 svc:/network/nfs/server:default
root#确保文件系统被正确地输出,通过运行dfshares或者showmount -e <UNIX主机的IP地址>
root# showmount -e localhost
export list for localhost:
/export/home (everyone)
root#为了系统重起后共享命令有效,你必须把它们添加到/etc/dfs/dsftab文件中。现在NFS服务器设置好了。
如果一个客户想使用它,就必须把它挂载上,在UNIX系统类似如下:
root# mount server_name:/shared/filesystem /local_directory如果客户端是Windows,你就必须下载并安装 Windows Services for UNIX。更好的选择是使用一些
第三方软件例如Jftp。
