Centos NFS挂载到ORACLE
1. 首先NFS 挂载到ORACLE主机上,一般是为了做备份用的;
但在气象局挂载用于数据存储,这是有一定风险的做法,官方也不推荐这样操作!
2. 具体挂载操作如下:
mount -t nfs -o rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp,actimeo=0,nolock *.*.*.*:/XXZX/cimiss_oracle_89.23 /space/cimiss_BELS/oracl_data
解释一下:
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是1 024个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是1 024个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
(12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
其他参数:
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机制。
device 要挂接(mount)的设备。【nfs的网络路径】
dir设备在系统上的挂接点(mount point)。【nfs在oracle主机上的挂载点】
在oracle中,对NFS挂载是有要求的,本例做为oracle数据文件挂载,具体如下:
Operating System |
Mount options for Binaries | Mount options for Oracle Datafiles |
Sun Solaris * (8, 9, 10) |
rw,bg,hard,rsize=32768, |
rw,bg,hard,rsize=32768, wsize=32768,vers=3,[forcedirectio or llock], nointr,proto=tcp,suid |
AIX (5L) ** |
rw,bg,hard,rsize=32768, |
rw,bg,hard,rsize=32768, |
HPUX 11.23 **** | rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,proto=tcp,suid |
rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,proto=tcp,suid |
Linux x86 # |
rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,tcp |
rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,tcp,actime=0* |
Linux x86-64 # | rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,tcp |
rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,tcp,actime=0* |
Linux – Itanium | rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,tcp |
rw,bg,hard,rsize=32768, wsize=32768,vers=3,nointr, timeo=600,tcp |
其中参数:
bg/fg 默认为fg
当执行挂载时,该挂载行为是在前台(fg)还是在后台(bg)执行。若在前台执行,则mount会持续尝试链接,直到成功或time out为止。若为在后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的程序操作。如果网络联机不稳定,或是 服务器常常需要开关机。建议使用bg比较妥当。
soft/ hard 默认为hard
使用挂载时会使用RPC呼叫。如果是hard的情况,那么当两者之间有任何一台主机离线,那RPC会持续呼叫,直到对方恢复联机为止。而soft,只是在RPC time out后重复呼叫。而非持续呼叫。因此系统的延迟会不这么明显,如果服务器经常开开关关的话,建议使用soft。在生产环境中推荐使用hard,intr这样的方式来挂载。
rsize/wsize
读出(rsize)和写入(wsize)的区块大小。这个设置值可以影响客户端与服务器端传输数据的缓冲存储容量。一般来说,如果在局域网内(LAN),并且客户端与服务器都具有足够的内存,这个值可以设置大一点,比如说32768,提升缓冲区块将可提升NFS文件系统的传输能力。但设置的值也不要太大,最好是实现网络能够传输的最大值为限
intr/nointr 默认为nointr
当使用hard方式挂载时,若加上intr参数,则RPC的持续呼叫是可以被中断的;nointr则是不可以被中断的。
timeo=n:设置超时时间
当数据传输遇到问题时,会根据这个参数尝试进行重新传输。默认值是7/10妙(0.7秒)。如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问。
tcp:使用tcp作为nfs的传输协议
3、/etc/fstab的设定方法
/etc/fstab的格式如下:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于nfs这个参数一般设置为这样:192.168.0.1:/NFS
fs_file:本地的挂载点
fs_type:对于NFS来说这个字段只要设置成nfs就可以了
fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数。
fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应
该为2。若该文件系统无需在启动时扫描则设置该字段为0 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通