mount命令的使用

做DM9000网卡时时,发现挂载nfs以后,拷贝大文件经常出错,经过查找发现linux2.4.18内核的网络系统无法读取大于1024字节包的情况,因此造成大量丢包。解决方法为在nfs挂载时设置包的最大大小,命令如下:

mount  -t nfs -o nolock,rsize=1024,wsize=1024  192.168.0.10:/home     /mnt/yaffs/home/

附mount  nfs命令详细说明

mount nfs的其它可选参数:

  HARD mount和SOFT MOUNT:HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX下有的版本仍然会给出一些提示),直到MOUNT上。
  SOFT:会在前台尝试与SERVER的连接,是默认的连接方式。当收到错误信息后终止mount尝试,并给出相关信息。例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs

  对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关。例如你是想通过NFS来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息。另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程。

  rsize和wsize:

  文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -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上,但尝试写入的时候就会发生错误。一般服务器和客户端配置冲突的时候,会以服务器的配置为准。

### Linux 中 `mount` 命令使用方法 #### 一、基本概念 在 Unix 和 Linux 系统中,所有的文件都被组织成一棵树形结构,其根目录为 `/`。为了能够访问存储在外接设备上的数据,必须先通过 `mount` 命令将这些设备挂载到系统的某个目录下[^2]。 #### 二、命令语法 `mount` 的基本语法如下: ```bash mount [-t 类型] [-o 选项] 设备 挂载点 ``` - **设备**:指代需要挂载的目标资源,比如磁盘分区(如 `/dev/sdb1`),或者 ISO 镜像文件。 - **挂载点**:是一个已经存在的目录路径,在此之后可以通过访问该目录来间接访问目标资源的内容。 - `-t 类型`:指定文件系统类型,常见的有 `ext4`, `xfs`, `vfat` 等。 - `-o 选项`:提供额外参数控制挂载行为,常用的选项包括但不限于 `ro`(只读), `rw`(读写)[^4]。 #### 三、具体应用实例 ##### 1. 挂载本地磁盘分区 如果有一个新的 USB 存储器连接到了计算机上,并且它对应的分区是 `/dev/sdc1` ,那么可以按照下面的方式操作: 第一步查看可用的块设备列表以及它们各自的大小等信息: ```bash lsblk ``` 第二步创建一个新的目录作为即将使用的挂载点: ```bash sudo mkdir /mnt/usbdisk ``` 第三步执行实际的挂载过程: ```bash sudo mount /dev/sdc1 /mnt/usbdisk/ ``` 此时就可以通过进入 `/mnt/usbdisk/` 来浏览USB驱动器里的内容了[^4]。 ##### 2. 只读方式挂载CD-ROM 或者 DVD-ROM 对于光驱这样的介质,默认情况下可能希望以只读模式打开其中的数据以防意外修改原版资料,则可以在调用 `mount` 时加入相应的标志位: ```bash sudo mount -o ro /dev/cdrom /media/cdrom/ ``` 这里假设 CD/DVD 已经被识别并映射至标准名称 `/dev/cdrom` 下面;而 `/media/cdrom/` 则是我们事先准备好的用来充当挂载点的位置。 ##### 3. 挂载ISO镜像文件 当处理的是一个 .iso 格式的虚拟光盘镜像而非物理媒介的时候,同样也可以借助 loop device 技术完成类似的任务。例如存在名为 example.iso 的文件位于当前用户的家目录之下,打算把它加载到 `/mnt/isoimage/` 这个地方的话,应该这样做: ```bash sudo losetup /dev/loop0 ~/example.iso # 将 iso 映射给 loopback 设备 sudo mount /dev/loop0 /mnt/isoimage/ # 对应地把这个 loopback 装配上去 ``` 最后记得清理现场以免占用不必要的资源: ```bash sudo umount /mnt/isoimage # 卸除之前装配的操作 sudo losetup -d /dev/loop0 # 删除 loopback 关联关系 ``` 以上步骤展示了如何利用循环设备(loop devices)实现对单个文件形式表示出来的整个文件系统的模拟接入[^3]。 #### 四、卸载已挂载的文件系统 无论何时完成了针对某特定装置的工作以后都应该及时解除它的关联状态以便释放相关硬件接口供其他程序继续使用。这一步骤由专门设计为此目的服务的工具——`umount` 完成。简单地说就是重复原来做过的那个地址即可: ```bash sudo umount /path/to/mountpoint # 替换 path to mount point 成真实的值 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值