fstab参数详解

fstab配置详解

fstab :这个文件描述系统中各种文件系统的信息。一般而言,应用程序仅读取这个文件,而不对它进行写操作。对它的维护是系统管理员的工作。在这个文件中,每个文件系统用一行来描述,在每一行中,用空格或TAB符号来分隔各个字段,文件中以#开头的行是注释信息。Fstab文件中的纪录的排序十分重要。因为fsck,mount或umount等程序在做它们的工作时会按此顺序进行。

接下来整理一下它的配置语法:
fs_spec fs_file fs_type fs_options fs_dump fs_pass 
/dev/hda1 /   ext2  defaults   1    1

fs_spec :该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdXN,X是IDE设备通道(a, b或者c),N代表分区号;SCSI设备一描述为/dev/sdXN。对于procfs,使用`proc’来定义。对文件系统的定义(fsspec),它描述了将被装载的块设备或远程文件系统。对于通常的mount操作而言,这个字段应该包括一个将被装载的块设备的设备结点(通过mknod命令来创建)或指向这类结点的连接(例如/dev/cdrom或/dev/sdb),对于NFSmount操作,这个字段应该包含host:dir格式的信息,对于进程文件系统procfs,使用proc。除了显示的使用设备名,你可以使用设备的UUID或设备的卷标签,例如,你可以在这个字段写成“LABAL=root”或“UUID=3e6be9de-8139-11d1-9106-a43f08d823a6”,这将使系统更具伸缩性。例如,如果你的系统添加或移除了一个SCSI硬盘,这有可以改变你的设备名,但它不会修改你的卷标签。
fs_file: 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。描述文件系统的载入点,对于交换分区(swap),这个字段定义为none,如果在载入点的路径中包含空格符,可以用“\040”来替代空格符。
fs_type: 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等.文件系统类型(fsvfstype),主要用来定义文件系统的类型。Linux系统支持大量的文件类型,包括sdfs,affs,autofs,jfs,minix,msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs,,smbfs,sysv, tmpfs, udf, ufs, umsdos, vfat, xenix,xfs等等。如果想了解你的kernel目前支持哪些文件系统,可以查看/proc/filesystems的内容。如果这个字段定义为swap,这条纪录将关联到一个用于交换目的的文件或分区。如果这个字段定义为ignored,这行将被忽略。这对于显示目前没有使用的分区非常有用。
fs_options: 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。文件系统选项(fsmntops)在装载文件系统时使用的装载选项。多个选项之间用逗号做分隔符,这些选项列表包括了装载类型以及对于该文件系统合适的其它装载选项。对于非NFS系统可用的装载选项可以参看mount命令的说明,对于nfs系统的选项可以查看关于nfs的文档。对于所有文件系统都适用的选项有noauto(当使用mount–a命令时不载入),user(允许用户进行装载),owner(允许设备所有人装载),_netdev(设备需要网络),后两个选项是linux系统所特有的。
对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
选项              含义
ro    以只读模式加载该文件系统
sync   不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user   允许普通用户加载该文件系统
quota   强制在该文件系统上进行磁盘定额限制
noauto  不再使用mount -a命令(例如系统启动时)加载该文件系统
fs_dump: 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0.文件系统频率(fs_freq),被dump程序使用来确定哪个文件系统需要dump,如果最后一个字段没有设置,系统将认为其值为0,而dump程序则认为此文件系统无需dump。
fs_pass: 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0.被fsck程序所使用来确定进行在系统重启进行文件系统检查时的顺序,对于根系统/这个值应设为1,其它文件系统可以设为2,在同一个物理硬盘内的文件系统应该被顺序检测,而不同硬盘中的文件系统则应该同时检测以充分利用系统的并行性。如果最后一个字段值为0或没有设置,fsck程序装跳过此文件系统的检测。在linux编程中可以用getmntent过程来访问这个文件的内容。

其中fs_options参数值得一提,这个参数在mount的目标文件时nfs文件时,参数可以是:

HARD:
NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX下有的版本仍然会给出一些提示),直到MOUNT
上。
SOFT:
会在前台尝试与SERVER的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。
例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs
rsize和wsize:
文件传输尺寸设定:wsize 来进行设定。这两个参数的设定对于NFS的执行效能有较大的影响
bg:
在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止。(通常在设
定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)
fg:
和bg正好相反,是默认的参数
nfsvers=n:
设定要使用的NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3
mountport:
设定mount的端口
port:
根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定
timeo=n:
设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输。默认值是7/10妙(0.7秒)。如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问。
intr:允许通知中断一个NFS调用。当服务器没有应答需要放弃的时候有用处。
udp:使用udp作为nfs的传输协议(NFS V2只支持UDP)
tcp:使用tcp作为nfs的传输协议
namlen=n:设定远程服务器所允许的最长文件名。这个值的默认是255
acregmin=n:设定最小的在文件更新之前cache时间,默认是3
acregmax=n:设定最大的在文件更新之前cache时间,默认是60
acdirmin=n:设定最小的在目录更新之前cache时间,默认是30
acdirmax=n:设定最大的在目录更新之前cache时间,默认是60
actimeo=n:将acregmin、acregmax、acdirmin、acdirmax设定为同一个数值,默认是没有启用。
retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试。默认的数值是10000 minutes
noac: 关闭cache机制。
同时使用多个参数的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs
请注意,NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突。比如说服务器以只读的方式导出,客户端却以可写的方式 mount,虽然可以成功mount上,但尝试写入的时候就会发生错误。一般服务器和客户端配置冲突的时候,会以服务器的配置为准。

下面给出公司生产换几个的fstab配置文件样板:
LABEL=/ / xfs defaults 1 1
LABEL=SWAP swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/lewa/data /data ext4 defaults 0 0
/dev/lewa/web /web ext4 defaults 0 0
/dev/lewa/Hadoop_data /hadoop_data ext4 defaults 0 0
web-storage-1:/data/www/static/discuz/xwb/log /web/bbs/htdoc/xwb/log nfs rsize=8192,nfsvers=4,wsize=8192,timeo=14,intr,bg,retry=100,nofail 0 0
web-storage-1:/data/www/static/discuz/uc_server/data /web/bbs/htdoc/uc_server/data nfs rsize=8192,nfsvers=4,wsize=8192,timeo=14,intr,bg,retry=100,nofail 0 0
web-storage-1:/data/www/static/discuz/static /web/bbs/htdoc/static nfs rsize=8192,nfsvers=4,wsize=8192,timeo=14,intr,bg,retry=100,nofail 0 0
web-storage-1:/data/www/static/discuz/xwb/cache /web/bbs/htdoc/xwb/cache nfs rsize=8192,nfsvers=4,wsize=8192,timeo=14,intr,bg,retry=100,nofail 0 0
web-storage-1:/data/www/static/discuz/data /web/bbs/htdoc/data nfs rsize=8192,nfsvers=4,wsize=8192,timeo=14,intr,bg,retry=100,nofail 0 0
web-storage-1:/data/fcfiles/theme /web/theme/htdoc/theme nfs rsize=8192,nfsvers=4,wsize=8192,timeo=14,intr,bg,retry=100,nofail 0 0
————————————————
版权声明:本文为CSDN博主「写bug的人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43484225/article/details/101542064

服务器的配置,配置文件/etc/exports:

ro 该主机对该共享目录有只读权限

rw 该主机对该共享目录有读写权限

root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户

no_root_squash 客户机用root访问该共享文件夹时,不映射root用户

all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户

anonuid 将客户机上的用户映射成指定的本地用户ID的用户

anongid 将客户机上的用户映射成属于指定的本地用户组ID

sync 资料同步写入到内存与硬盘中

async 资料会先暂存于内存中,而非直接写入硬盘

insecure 允许从这台机器过来的非授权访问

例子

/ zhang (rw) wang (rw,no_root_squash)

表示共享服务器上的根目录(/)只有zhang和wang两台主机可以访问,且有读写权限;

zhang主机用root用户身份访问时,将客户机的root用户映射成服务器上的匿名用户(root_squash,该参数为缺省参数),相当于在服务器使用nobody用户访问目录;

wang主机用root用户身份访问该共享目录时,不映射root用户(no_root_squash),即相当于在服务器上用root身份访问该目

/root/share/ 192.168 . 1.20 (rw,insecure, sync ,all_squash)

表示共享服务器上的/root/share/目录只有192.168.1.20主机可以访问,且有读写权限;

此主机用任何身份访问时,将客户机的用户都映射成服务器上的匿名用户(all_squash),相当于在服务器上用nobody用户访问该目录(若客户机要在该共享目录上保存文件(即写操作),则服务器上的nobody用户对该目录必须有写的权限)

/home/ljm/ *.gdfs.edu.cn (rw,insecure, sync ,all_squash)

表示共享/home/ljm/目录,*.gdfs.edu.cn域中所有的主机都可以访问该目录,且有读写权限

/home/share/ .gdfs.edu.cn (ro, sync ,all_squash,anonuid=student,anongid=math)

表示共享目录/home/share/,*.gdfs.edu.cn域中的所有主机都可以访问,但只有只读的权限,所有用户都映射成服务器上的uid为student、gid为math的用户

启动nfs后又修改了/etc/exports,不用重启该服务,使用exports命令即可:

exports [-aruv]

-a 全部mount或umount文件/etc/exports中的内容

-r 重新mount文件/etc/exports中的共享内容

-u umount目录

-v 在export的时候,将详细的信息输出到屏幕上

例:

[root@localhost ~]# /usr/sbin/ exportfs -rv
全部重新export一次
[root@localhost ~]# /usr/sbin/exportfs -au
全部卸载

nfs客户端的配置:

若是临时使用可直接执行mount命令:mount servername(or IP): 共享目录 本地挂载目录

若客户机启动就自动挂载服务器的共享目录,则需修改客户机上的/etc/fstab文件

/etc/fstab格式:

(192.168.233.139:/share /mnt nfs defaults 0 2)

fs_spec fs_file fs_type fs_options fs_dump fs_pass

fs_spec:定义希望加载的文件系统所在的设备或远程文件系统,对于nfs则设为IP:/共享目录

fs_file:本地挂载点

fs_type:挂载类型

fs_options:挂载参数

fs_dump:该选项被“dump”命令使用来检查一个文件系统该以多快频率进行转储,若不需转储即为0

fs_pass:该字段被fsck命令使用来决定在启动时需要被扫描的文件系统的顺序,根文件系统“/”对应该字段值为1,其他文件系统为2,若该文件系统无需在启动时被扫描则为0

[root@localhost ~]#vi /etc/hosts.allow Portmap:192.168.5.123:allow
[root@localhost ~]#vi /etc/hosts.deny Portmap:ALL:deny

安全提醒:确保网络安全,使用nfs时结合tcp_wrappers来限制使用范围(如只想192.168.5.123主机可挂载nfs服务器上的共享目录),另外还可结合iptables来加强
关机时若nfs server上有client联机时,先关掉portmap与nfs两个系统服务。若无法正确将此2项服务关掉,用netstat –utlp找出PID,然后用kill杀掉进程才关机

nfsstat查看NFS的运行状态,调整NFS运行大有帮助
rpcinfo查看rpc执行信息,用于检测rpc运行情况

挂载格式:

mount -t nfs hostname (or IP):/directory / mount point

卸载:

umount /本地挂载目录(本地client卸载方法,但用exports -au为server卸载)

showmount -e IP(查看NFS服务器上共享了那些目录)
showmount -a IP(用于nfs server上,显示已经mount上本机NFS服务器的client(客户机))

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352

推荐阅读更多精彩内容

  • 课程介绍 1. 网站架构存储服务配置参数2. 网站架构存储服务应用方式3. 网站架构存储服务挂载操作 参数4. 网...
    ManBu_x阅读 1,083评论 0 2
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    中科恒信阅读 472评论 0 2
  • 简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者...
    保川阅读 5,953评论 1 13
  • 第一天 7月13日OCP笔记: Oracle Ocp11g准备资料: OracleFundmentals 书 管理...
    fjxCode阅读 2,813评论 0 4
  • 1.网站存储服务配置文件参数信息 1)存储配置文件格式信息/data 172.16.1.0/24(rw,sync)...
    斗魂_2e5d阅读 57评论 0 1