NFS文件服务器系统搭建

1什么是NFS

NFS(network file

system),网络文件系统,不同的操作系统可以通过NFS来共享文件,可以简单地将之看成是一个文件服务器。可以将远端的主机分享目录挂载到本地的目录下,使用的时候就像本地的目录一样,只要权限足够,可以直接在目录中创建文件并使用mv,cp,,rm等命令直接对之进行管理。用起来相当的方便。

2 NFS的原理

NFS使用TCP/IP协议进行通讯。所以肯定需要port端口进行通讯。这个端口是从1—1024中随机取得的端口。因为NFS的功能很多,需要分配很多的端口,客户端通过RPC来找到这个端口并进行通讯。NFS每次启动的时候都要向RPC进行注册才行。而RPC服务重启后,所有的端口信息都会丢失,所以如果RPC重启,则NFS

SERVICE也必需重新启动重新向RPC服务注册。这样客户端才能知道该使用哪个端口通讯。客户端连接NFS服务器的步骤。

1用户向服务器端的RPC(port 111)提出访问请求

2服务器端查询NFS damon端口地址,提供给client端。

3 client通过port和server端进行通讯。

3 NFS的后台进程

NFS主要用来做文件的分享。最主要有两个后台进程,一个接受连接,一个提供服务。

rpc.nfsd校验登入权限。

rpc.mount管理文件系统。读设定文件/etc/exports,确定权限。

rpc.lockd 这个进程不是必需的。用途加锁管理。避免并发问题。如果多个会话同时存取一个文件,可能会有并发问题。为了解决这个问题。增加了这个进程,注意必需客户端和服务器端同时启动才行。通常与rpc.statd同时启用。

Rpc.statd,校验文件一致性的进程。通常与ntplockd同时启动

4权限问题:

NFS共享目录的权限是通过UID,GID来判断的。比方在服务器端共享目录的属主为503,503。如果共享目录的权限比较小,而如果客户端没有503,503的用户。用gid,uid为501的用户登入的时候,就既不能读,也不能写。。所以通常情况下都会将共享目录设置成777的权限。

当登入用户为root

0:0的时候,映射到服务端如果也是0:0就会有安全上的隐患。NFS默认将uid,0,gid0当成nobody来处理,

当登入的用户对应的uid,gid在服务端存在的时候,在该目录中的权限和服务端对应用户相同。

当登入的用户不存在的时候。创建的uid,gid为用户的uid,gid,服务端看到的文件有uid,gid,但是没有用户名。其读取的权限和nobody相同。

总之,只要client登入用户的uid和gid和服务器端的不对应,就会造成困扰。这也是NFS文件系统权限管理上的一个很容易引起混乱的问题。要有合适的读写权限。需要

/etc/export中的合理设置。以及登入者的对应用户在共享目录的权限足够才行。

5配置NFS服务

前面说配置NFS需要RPC服务的启动。在linux系统上RPC对应的服务名是portmap.所以首先需要启动portmap服务。而且如果portmap服务重启,NFS服务就会变得不可用,必须重新启动。

service portmap restart;

service nfs restart;

NFS的配置文件是/etc/exports.格式是

共享目录,主机ip(权限关键字)可用主机名带通配符的主机名(权限)。

一个例子

[root@vdx2 rmanbak]# more /etc/exports

/home/oracle/aa 10.10.100.14(rw,nohide,no_subtree_check)

()内的语法可以通过man exports来查看,在此不做详述。

与权限有关的有rw表示允许读写共享,ro表示只读共享。

配置完/etc/exports以后,只要重新启动NFS,服务器端的配置就完成了。

另外需要注意,只要修改了/etc/exports文件,NFS都要重新启动。

为了避免NFS SERVER重启后服务未启动,使用setup工具把portmap, nfs,

nfslock配置为自动启动。

为ORACLE配置NFS服务客户端

1挂载选项

如果仅仅只是做简单的拷贝动作,只要直接mount就OK了。但是如果想让ORACLE直接访问NFS目录,除了权限设置正确外,mount必需加上-o选项。否则ORACLE无法直接读写,会给出mount选项不对的错误。

根据ORACLE,metalink Doc

ID:359515.1,不同平台不同情况下的mount选项是不同的,如下是ORACLE提供的对照表。针对二进制文件(ORACLE_HOME,CRS_HOME),数据文件(包括控制文件和日志文件,数据文件),OCR和VOTING

DISK的不同情况可以在如下表中查询。

注意linux内核版本需要>=2.6

RAC情况下。

Operating System

Mount options for Binaries

Mount options for Oracle Datafiles

Mount options for CRS Voting Disk and

OCR

Sun Solaris *

rw,bg,hard,nointr,rsize=32768,

wsize=32768,proto=tcp,

noac,vers=3,suid

rw,bg,hard,nointr,rsize=32768,

wsize=32768,proto=tcp,noac,

forcedirectio, vers=3,suid

rw,bg,hard,nointr,rsize=32768,

wsize=32768,proto=tcp,vers=3,

noac,forcedirectio

AIX (5L) **

rw,bg,hard,nointr,rsize=32768,

wsize=32768,proto=tcp,vers=3,

timeo=600

cio,rw,bg,hard,nointr,rsize=32768,

wsize=32768,proto=tcp,noac,

vers=3,timeo=600

cio,rw,bg,hard,intr,rsize=32768,

wsize=32768,tcp,noac,

vers=3,timeo=600

HPUX 11.23 ****–

rw,bg,vers=3,proto=tcp,noac,

hard,nointr,timeo=600,

rsize=32768,wsize=32768,suid

rw,bg,vers=3,proto=tcp,noac,

forcedirectio,hard,nointr,timeo=600,

rsize=32768,wsize=32768,suid

rw,bg,vers=3,proto=tcp,noac,

forcedirectio,hard,nointr,timeo=600

,rsize=32768,wsize=32768,suid

Linux x86#

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp, vers=3,

timeo=600, actimeo=0

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,actimeo=0,

vers=3,timeo=600

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,noac,vers=3,

timeo=600

Linux x86-64 #

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,vers=3,

timeo=600, actimeo=0

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,actimeo=0,

vers=3,timeo=600

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,vers=3,

timeo=600,noac

Linux x86-64 #

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,vers=3,

timeo=600, actimeo=0

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,actimeo=0,

vers=3,timeo=600

rw,bg,hard,nointr,rsize=32768,

wsize=32768,tcp,noac,vers=3,

timeo=600

根据BUG 5856342,在RAC使用网络存储设备,操作系统为linux X86或者X86_64,

oracle版本低于10.2.0.4的情况下,必需设置初始化参数

filesystemio_options = DIRECTIO

在单实例(single-Instance)情况下的对照表

Operating System

Mount options for Binaries

Mount options for Oracle Datafiles

Sun Solaris *

(8, 9, 10)

rw,bg,hard,rsize=32768,

wsize=32768,vers=3,nointr,

proto=tcp,suid

rw,bg,hard,rsize=32768,

wsize=32768,vers=3,[forcedirectio or llock],

nointr,proto=tcp,suid

AIX (5L) **

rw,bg,hard,rsize=32768,

wsize=32768,vers=3,intr,

timeo=600,proto=tcp

rw,bg,hard,rsize=32768,

wsize=32768,vers=3,cio,intr,

timeo=600,proto=tcp

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

其中acime=0*,*代表也可以使用noac

我们的操作系统为linux X86.所以可以root帐号执行以下语句来挂载

Shell> mount –t nfs

–orw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp

10.10.100.14:/home/oracle/aa /14dir;

2必需启动的服务

注意:ORACLE直接归档到nfs的时候必需启动nfslocked 服务,这个服务通常与rfs.statd同时启动。在server和client都需要,否则归档时会出现如下的错误。

ORA-19504: failed to create file

"/u03/245dir/1_8665_567259761.dbf"

ORA-27086: unable to lock file - already in use

Linux Error: 37: No locks available

Additional information: 10

3修改归档位置

直接修改归档参数就可以了

ALTER

SYSTEM SET LOG_ARCHIVE_DEST_2=’LOCATION=/14dir’;

后续处理

1修改/ETC/fstab文件实现自动挂载

为了避免系统重启需手动挂载NFS,可修改/etc/fstab文件来实现自动挂载。

使用root来编辑,加入一行

10.10.100.14:/home/oracle/aa /14dir

nfs rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0

0 0

2将必需的服务设定为自动启动

客户端需要设置portmap,nfslock自动启动。可以用setup工具来实现。

服务端配置portmap,nfs,nfslock自动启动。

oracle归档原理,增加ORACLE归档位置到NFS(转)相关推荐

  1. oracle运行原理ppt,oracle数据库基础培训PPT

    PPT内容 这是一个oracle数据库基础培训PPT,主要介绍了描述 Oracle 服务器的体系结构及其主要构件.列举用户连接到 Oracle 实例所涉及的结构等内容. Oracle数据库维护培训胶片 ...

  2. oracle内部原理结构图,Oracle恢复内部原理(基础数据结构)

    Oracle基础数据结构 系列文章:Oracle恢复内部原理 http://www.linuxidc.com/search.aspx?where=nkeykeyword=19824 2.1 控制文 O ...

  3. oracle ctl 递增,增加oracle的控制文件

    SQL> alter system set control_files='C:\ORACLE\ORADATA\ORCL\CONTROL01.CTL','C:\O RACLE\FLASH_RECO ...

  4. oracle bam教程,Oracle BAM原理简介

    Oracle BAM原理简介 Oracle BAM全称为Oracle Busines Activity Monitoring,中文叫Oracle 业务活动监视 ,BAM有两种功能 1.创建实时repo ...

  5. oracle 日志写满,Oracle归档日志写满错误解决方法

    最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对Oracle比较熟悉,只能给自己增加一个DBA的角色了.由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开 ...

  6. Oracle归档日志与非归档日志的切换及路径设置

    Oracle归档日志与非归档日志的切换及路径设置 Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志. 一.归档日志 是联机重做日志 ...

  7. oracle查看联机日志,oracle联机日志和归档日志

    联机日志文件又叫重做日志文件,记录了对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改,一个oracle实例有一组或多组联机日志,每组至少包含1个或者多个日志成员,这里要多个日志成 ...

  8. oracle的asmcmd获取归档日志,分析oracle的联机日志和归档日志

    logminer和配置 安装logminer 以sqlplus / as sysdba登录系统数据库系统,ORACLE默认安装logminer,如果没有安装,执行SQL脚本安装 --安装logmine ...

  9. oracle改成归档模式_oracle 11g开启归档模式及修改归档目录

    11G开启归档模式 在oracle 11g,开启archive log模式时,默认归档目录为db_recovery_file_dest指定.此参数在pfile/spfile中可以指定: db_reco ...

最新文章

  1. windows RabbitMq 安装
  2. IDEA上安装和使用checkstyle,findbugs,visualVM,PMD插件
  3. 如何安装nginx_lua_module模块
  4. Eclipse设置控制台日志输出位置
  5. C# WPF MVVM项目实战(进阶②)
  6. redis集群搭建报错-(error) CLUSTERDOWN The cluster is down
  7. 杭州师范大学马云雕像被拆,校方回应!
  8. 多线程Runnable类创建多线程
  9. (19)System Verilog利用clocking块产生输入信号延迟激励
  10. thymeleaf if 条件判断
  11. MySQL之用Mysql-Proxy实现读写分离
  12. 运动控制卡选型和特点讨论
  13. java多线程listview_Android_listview分页加载更多
  14. docker build报错解决:error creating overlay mount to .../overlay
  15. ACM-ICPC2018北京网络赛 Tomb Raider(暴力)
  16. SharePoint 2013 图文开发系列之列表定义高级篇
  17. 用python画六边形
  18. Mysql 中的事物
  19. Android攻城狮fragment
  20. 逻辑设计法:数字电路在PLC编程中的体现

热门文章

  1. (总结)RHEL/CentOS 7.x的几点新改变
  2. mysql docker 制作_docker 制作自己的mysql镜像
  3. java nio channel原理_Java NIO 选择器(Selector)与通道(Channel) 原理 | 学步园
  4. maven编译java1.8项目_maven正在用java 1.7编译代码,但我想用1.8编译它
  5. 分别是什么意思_你知道抗震支架T和TL分别代表什么意思?
  6. python如何训练模型生产_手把手教你用Python构建你的第一个多标签图像分类模型(附案例)...
  7. altium pcb 信号高亮_Altium Designer PCB的时候 高亮显示引脚连线
  8. 大班体育游戏电子计算机教案,幼儿园大班体育游戏教案《夹球走走走》
  9. linux 脚本设置时间戳,修改linux系统时间的方法(date命令)
  10. 查找mysql的分区情况_MySQL 5.5 查看分区表的执行计划