服务配置

【什么是NFS】

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

【配置NFS】

[root@localhost ~]# cat /etc/exports

/home/10.0.2.0/24(rw,sync,all_squash,anonuid=501,anongid=501)

这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。关于第三部分,笔者简单介绍一下:

rw :读写;

ro :只读;

sync :同步模式,内存中数据时时写入磁盘;

async :不同步,把内存中数据定期写入磁盘中;

no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;

root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;

all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;

anonuid/anongid :要和root_squash 以及 all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

介绍了上面的相关的权限选项后,再来分析一下笔者刚刚配置的那个/etc/exports文件。其中要共享的目录为/home,信任的主机为10.0.2.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。

【使用NFS】

当编辑完配置文件/etc/exports后,就该启动NFS服务了。启动方法为:

[root@localhost ~]# service portmap start; service nfs start

NFS是依托portmap的,所以首先要启动portmap,然后启动NFS才能是刚才的配置生效。启动完NFS后,就该使用NFS服务了。

[root@localhost ~]# showmount -e 127.0.0.1 (用在client上)

Export list for 127.0.0.1:

/home 10.0.2.0/24

用shoumount -e 加IP就可以查看NFS的共享情况,上例中,就可以看到127.0.0.1的共享目录为/home,信任主机为10.0.2.0/24这个网段。另外这个showmount 命令还有一个常用的选项就是-a了,它的意思是,把连接本机的NFS的client全部列出。

[root@localhost ~]# mount -t nfs 10.0.2.69:/home /mnt (client上)

[root@localhost ~]# showmount -a (nfs服务器上)

All mount points on localhost:

10.0.2.69:/home

前面的mount 命令为挂载NFS共享目录,相信你能看懂这个格式。showmount -a 命令列出所有的clinet。

NFS服务中还有一个常用的命令那就是exportfs,它的常用选项为[-aruv]。

-a :全部挂载或者卸载;

-r :重新挂载;

-u :卸载某一个目录;

-v :显示共享的目录;

使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可。

[root@localhost ~]# cat /etc/exports

/tmp/10.0.2.0/24(rw,sync,no_root_squash)

[root@localhost ~]# exportfs -arv (nfs服务器上)

exporting 10.0.2.0/24:/tmp

更改目录后,直接exportfs -arv即可生效。

在上面使用到了mount命令来挂载nfs,其实mount这个nfs服务还是有些说法的。首先是用-t nfs 来指定挂载的类型为nfs。另外在使用nfs时,常用一个选项就是nolock了,即在挂载nfs服务时,不加锁。

[root@localhost ~]# mount -t nfs -o nolock 10.0.2.69:/tmp /mnt/

[root@localhost ~]# showmount -a

All mount points on localhost:

10.0.2.69:/home

10.0.2.69:/tmp

另外我们还可以把要挂载的nfs目录写到client上的/etc/fstab文件中,挂载时只需要mount -a即可。

[root@localhost ~]# cat /etc/fstab

LABEL=//ext3defaults1 1

LABEL=/boot/bootext3defaults1 2

tmpfs/dev/shmtmpfsdefaults0 0

devpts/dev/ptsdevptsgid=5,mode=6200 0

sysfs/syssysfsdefaults0 0

proc/procprocdefaults0 0

LABEL=SWAP-hda2swapswapdefaults0 0

10.0.2.69:/tmp/mntnfsnolock0 0

写完/etc/fstab文件后,只需要mount -a即可挂载nfs服务的共享目录。

[root@localhost ~]# umount /mnt/首先把刚才挂载的nfs卸载掉

[root@localhost ~]# mount -a

[root@localhost ~]# df -h

FilesystemSizeUsed Avail Use% Mounted on

/dev/hda37.3G3.7G3.3G53% /

/dev/hda199M12M83M12% /boot

tmpfs84M084M0% /dev/shm

10.0.2.69:/tmp7.3G3.7G3.3G53% /mnt

关于NFS部分就讲这么多,内容并不多,相信你很快就能掌握!

linux的基本操作(NFS服务配置)的更多相关文章

  1. Linux系统中NFS服务配置

    文章目录:                一.NFS服务简介                二.NFS服务端配置                三.NFS客户端配置                四. ...

  2. linux nfs服务配置挂载以及oracle使用nfs存储挂载注意事项

    服务端共享目录 /home/XXX/nfs_shared 172.16.22.0/24(rw,no_root_squash) service nfs restart 常用命令: 查看所有nfs共享目录 ...

  3. Linux CentOS6.6 NFS服务的配置与安装

    一.简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客 ...

  4. NFS服务配置 Linux

    两台机器: NFS服务器:192.168.1.100 (我的是Ubuntu系统) 客户机:192.168.1.123 (保证两台机器互相可以ping通) 需求:在NFS服务器上创建一个共享文件夹/ho ...

  5. redhat enterprixe 5.0 NFS服务配置与管理

    一.了解NFS Samba 是主要用于实现Linux和Windows操作系统之间文件共享的协议,而NFS则是实现UNIX和Linux操作系统之间文件共享的协议. NFS可以把网络上远程的文件挂载到本机 ...

  6. Linux系统数据共享-NFS服务

    转载:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 一.NFS服务简介 NFS 是Network File System的 ...

  7. Linux下的NFS快速配置教程与安全策略

    [51CTO专稿]在Linux下实现文件共享有多种方式,NFS就是其中之一.网络文件系统(NFS)协议是由Sun MicroSystem在20世纪80年代为了提供对共享文件的远程访问而设计和实现的.该 ...

  8. Linux学习之nfs安装配置

    安装疑难问题: 1.检查系统是否开启nfs服务:service nfs status 结果显示nfs: unrecognized service,说明系统没有安装nfs服务,so 安装之: 注意,yu ...

  9. Linux下开启nfs服务

    1.什么是NFS(Network FileSystem) NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的.他最大的功能就是可以透过网络,让不同的机器.不 ...

随机推荐

  1. Docker容器内部端口映射到外部宿主机端口的方法小结

    转自:https://www.cnblogs.com/kevingrace/p/9453987.html Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务.容器启动之后,容器中可以 ...

  2. Unity中的定时器与延时器

    JavaScript中的定时器与延时器,分别是 setInterval.setTimeout,对应的清理函数是:clearInterval.clearTimeout. 而在Unity中,则分别是:In ...

  3. AndroidStudio中Handler类的内存溢出风险

    package com.test.king.xmlparser; import android.annotation.SuppressLint; import android.app.Activity ...

  4. py3下怎么用StringIO

    try: from StringIO import StringIO except ImportError: from io import StringIO

  5. [转]ThreadLocal使用

    引言 ThreadLocal的官方API解释为: “该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线 ...

  6. Spark 精品文章转载(目录)

    学习 Spark 中,别人整理不错的文章,转载至本博客,方便自己学习,并按照不同的模块归档整理.每个文章作者能力不同,写文章所处的时间点不同,可能会略有差异,在阅读的同时,注意当时的文章的内容是否已经 ...

  7. 在mysql命令行下执行sql文件

    ***********在mysql命令行下执行sql文件*********** C:\Windows\system32>cd E:\MySQL\mysql-5.7.16-winx64\bin / ...

  8. Visual Studio 2015 msvsmon.exe crashed when c++ debugging with x64

    Completely uninstalling Astrill fixed the issue but this solution is not what I want. Astrill suppor ...

  9. iOS UITextView 设置 NSLinkAttributeName 属性,点击链接跳转

    @interface ViewController ()<UITextViewDelegate> - (void)viewDidLoad{    [super viewDidLoad];  ...

  10. linux下添加逻辑分区并挂载(手动和自动方式)

    一.查看新磁盘[root@desktop61 Desktop]# fdisk -cul /dev/sdc Disk /dev/sdc: 21.5 GB, 21474836480 bytes255 he ...