・dNFS環境設定時のメモ
■設定概要
●NFSサーバ側 ・NFS用ディスク追加 ・fdiskでパーティション作成 ・mke2fsでファイルシステム作成 ・balkidでUUID確認後fstab設定 ・oinstallグループ、oracleユーザ作成 ・NFSマウントポイントオーナー・パーミッション設定 ・/etc/exports 設定 ・NFS関連サービス設定
●NFSクライアント側 ・oinstallグループ、oracleユーザ作成 ・NFSマウントポイントオーナー・パーミッション設定 ・fstab へdNFSオプションで設定 ・NFS関連サービス設定 ・dNFS設定
■設定詳細
・ext3で作成
# mke2fs -j /dev/sdb1
・ext4で作成
# mke2fs -t ext4 /dev/sdb1
・balkidでUUID確認後fstab設定
# blkid /dev/sda5: UUID="4ee0ec77-65bd-48c3-b261-bc47acfc779e" TYPE="ext4" /dev/sda1: UUID="e01495a6-fa9c-407a-a1d4-401b3e33f6a1" TYPE="ext4" /dev/sda2: UUID="128c317f-b199-4f5e-a7fc-d7290499059e" TYPE="ext4" /dev/sda3: UUID="dc0fd9d1-4302-4df1-92e7-c952925b0efc" TYPE="swap" (略)
# blkid -o list device fs_type label mount point UUID ---------------------------------------------------------------------------------------------------------------------------------- /dev/sda5 ext4 / 4ee0ec77-65bd-48c3-b261-bc47acfc779e /dev/sda1 ext4 /boot e01495a6-fa9c-407a-a1d4-401b3e33f6a1 /dev/sda2 ext4 /oracle 128c317f-b199-4f5e-a7fc-d7290499059e /dev/sda3 swap <swap> dc0fd9d1-4302-4df1-92e7-c952925b0efc (略)
/etc/fstab
UUID=a99ebdae-b1b8-4089-9b6a-5f5ec03dc05d /databackup ext3 defaults 0 0
・oinstallグループ、oracleユーザ作成
※作成せずに利用も可能だがユーザマッピングで面倒なことになるので仕様上許されるならDBサーバ側の設定に合わせて作成する
groupadd -g 1000 oinstall useradd oracle -d /home/oracle -g oinstall -s /bin/bash -u 1100 cat /etc/group |egrep "(oinstall)" cat /etc/passwd |egrep "(oracle)"
・NFSマウントポイントオーナー・パーミッション設定
※サーバ側、クライアント側で同一設定とする
mkdir -p /databackup chown oracle:oinstall /databackup chmod 775 /databackup/
・/etc/exports 設定
★dNFS設定として推奨は(ドキュメントID:762374.1)の通りだが、検証用途ではall_squash設定は面倒なので設定せず、insecure設定のみ明示的に追加する
また、RMANバックアップ用途なのでno_subtree_checkを追加する
/databackup 192.168.1.0/24(rw,sync,no_root_squash,insecure,no_subtree_check)
設定を反映
exportfs -rv exporting 192.168.1.0/24:/databackup
・NFS関連サービス設定
※OSバージョンによるが、下記サービスを自動起動化する
サービス状態確認
service rpcbind status service nfslock status service nfs status service portmap status
サービス起動
service rpcbind start service nfslock start service nfs start service portmap start
サービス起動設定確認
chkconfig --list rpcbind chkconfig --list nfslock chkconfig --list nfs chkconfig --list portmap
サービス自動起動化
chkconfig rpcbind on chkconfig nfslock on chkconfig nfs on chkconfig portmap on
●NFSクライアント側
・fstab へdNFSオプションで設定
※oracle推奨オプション(ドキュメントID:1763626.1)を設定する。
下記はシングル構成のため、RAC時は actimeo=0 も追加する
★NFSサーバ停止時にネットワーク開始時までマウントを待機させるため _netdev オプションも追記する(付与しないとOS起動時にNFSマウントを試みてタイムアウトまで待機してしまうため)
192.168.1.101:/databackup /databackup nfs rw,bg,hard,_netdev,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600
設定反映
mount -av
・dNFS設定
※oracleユーザで作業
作業ディレクトリへ移動
$ cd $ORACLE_HOME/lib $ ls -l libodm11.so
lrwxrwxrwx 1 oracle oinstall 12 9月 21 2010 libodm11.so -> libodmd11.so
シンボリックリンク張替え
$ mv libodm11.so libodm11.so.bk $ ln -s libnfsodm11.so libodm11.so $ ls -l libodm11.so
lrwxrwxrwx 1 oracle oinstall 14 3月 31 14:12 libodm11.so -> libnfsodm11.so
インスタンス再起動後に反映される(起動時のアラートログで確認可能)