Windows作业系统部署nfs服务
文件共享的需求是如何产生的?
据说当年美国和苏联冷战期间,双方都有摧毁对方的能力。而苏联 不怕死的性格让美国人多少有些害怕。美国当时害怕自己的军事指挥中心被苏联摧毁。于是,美国建立了阿帕网,并把自己的军事指挥中心分开建立,这就叫分布式,用我们中国人的话说 :"不要把鸡蛋放在同一个篮子里"。 同时,美国还要求科学家,希望 指挥中心之间的数据可以互相共享,就诞生了文件共享的需求。不过那时是ftp,即文件传输协议,nfs是后来才诞生的
nfs:network filesystem:网络文件系统。每一台主机一旦将磁盘分区,必定会在磁盘上建立文件系统,这叫本地文件系统。而网络文件系统呢?简单地说,服务器共享一个目录树,客户端从远端通过网络tcp/ip协议向服务器发出资源调用的请求,这个资源调用函数是在服务器上的。服务器收到客户端的请求将其处理,处理完成再返回给客户端
windows系统部署nfs:
全程采用命令行操作。是为了能够适应没有图形界面的windows nano server.一些单位吐槽windows server以及windows server core 占用资源太大,后来微软推出了 最小化的windows server,不支持安装图形界面。即windows nano server.几百兆内存就能运行,速度还快。windows nano server 授权 免费,很多单位会把核心业务放在windows nano server服务器上,比如银行。
注:下面的流程 输入命令 会有cmd /c 开头,以及"" 。powershell与cmd命令不是完全兼容,有时会按照powershell的定义来解析,会产生歧义,这样就无法正常执行cmd命令。所以使用在powershell中输入cmd /c 是告知powershell 我是要执行cmd命令,加""是为了不让powershell产生歧义
启用文件和打印机共享
cmd /c 'netsh advfirewall firewall set rule group="文件和打印机共享" new enable=yes'
2.创建共享目录
new-item -type directory D:\nfs
你也可以用:md D:\nfs
3.创建账户,并设定口令
net user nfs chungking888 /add
图示如下就是建立了一个账户。账户名:nfs 口令:chungking888
4.查看创建的账户信息
net user nfs
5.对共享目录授权。以什么样的用户以什么样的权限 访问nfs共享目录
cmd /c "icacls D:\nfs /grant:r users:(OI)(CI)(RX,W)"
6.查看共享目录权限信息
icacls D:\nfs
7.建立目录共享,即将目录共享出去
cmd /c "net share nfs=D:\nfs /grant:users;full"
建立nfs目录共享,并授予users用户组对nfs共享目录有完全访问的权限
8.客户端挂载nfs共享目录
cmd /c "net use z: \\192.168.1.163\nfs /user:nfs"
将服务器的nfs共享目录挂载到客户端本机,并将其映射为本地盘符z: 以后操作nfs共享目录,就像操作本机分区一样方便
另外:windows nfs服务依赖项:
nfs服务端依赖lanmanserver服务,browser服务lmhosts服务
net start lanmanserver:启动lanmanserver服务
net start browser:启动browser服务
net start lmhosts:启动lmhosts服务
nfs客户端依赖于lanmanworkstation服务
net start lanmanworkstation:启动lanmanworkstation服务
不论面对任何作业系统,在使用一个服务时,应当了解这个 服务依赖于什么样的环境,依赖于什么样的库程序,依赖于什么样的服务
而不是盲目的走一步看一步,报错了,也没有一个解决思路,就盲目的百度,谷歌。网上的文献也有很多,但都是别人写的,你能不能将别人写的内容吸收到自己脑中,不至于这次解决了问题,下次遇到问题仍旧束手无策,再次盲目百度。最为重要的是 使用的作业系统是干净的,不是精简系统。也不要随意安装第三方“安全软件”,第三方的全家桶会禁用一些服务,也会影响日常使用。
有时依赖关系还是很复杂。a服务依赖于b服务,b服务依赖于c服务,这也没什么,很好解决。那种环形依赖最为致命。什么意思?就是a服务依赖于b服务,b服务依赖于c服务,c服务又依赖于a服务。这种环形依赖多半出现在linux作业系统中。