Для развертывания HA-NFS создаются ресурсы:
Имя ресурса
|
Описание ресурса
|
ora.nfs.library.acfs
|
Отвечает за монтирование файловой системы ACFS. Самый простой способ создания — использовать asmca.
|
nfs
|
Фактически это контейнер для остальный ресурсов.
|
nfs.ip
|
Отвечает за виртуальный адрес сервиса, позволяет клиентам подключаться к сервису HA-NFS
|
nfs.server
|
Сервис NFS
|
Схематично ресурсы, их зависимости и скрипты выглядят следующим образом:

Сначала создаем файловую систему ACFS с помощью asmca.
Далее останавлием nfsd и запрещаем его автоматический старт
[root@n240d ~]# svcadm disable svc:/network/nfs/server:default
Это необходимо выполнить на ВСЕХ нодах кластера. Редактируем "/etc/dfs/dfstab
" и копируем его на остальные ноды.
Далее создаем необходимые ресурсы:
nfs
Создаем скрипт "$CRS_HOME/crs/public/act_true.pl
" возвращающий в любом случае "0" и копируем его на остальные ноды кластера.
[root@n240d ~]# crs_profile -create nfs -t application -a $CRS_HOME/crs/public/act_true.pl \
-p favored -h "n240c n240d"
[root@n240d ~]# crs_register nfs
[root@n240d ~]# crs_setperm nfs -o root
[root@n240d ~]# crs_setperm nfs -u user:grid:r-x
nfs.ip
[root@n240d ~]# crs_profile -create nfs.ip -t application -a $CRS_HOME/bin/usrvip -p favored \
-h "n240c n240d" -r nfs -o oi=bge0,ov=192.168.57.48,on=255.255.255.0
[root@n240d ~]# crs_register nfs.ip
[root@n240d ~]# crs_setperm nfs.ip -o root
[root@n240d ~]# crs_setperm nfs.ip -u user:grid:r-x
nfs.server
[root@n240d ~]# crs_profile -create nfs.server -t application -B /etc/init.d/nfs.server -d "NFS Server" \
-r "nfs.ip ora.data.library.acfs" -a nfs.server.scr -p favored -h "n240c n240d"
[root@n240d ~]# crs_register nfs.server
[root@n240d ~]# crs_setperm nfs.server -o root
[root@n240d ~]# crs_setperm nfs.server -u user:grid:r-x
Редактируем скрипт "$CRS_HOME/crs/script/nfs.server.scr" — изменяем следующие переменные:
PROBE_PROCS="/usr/lib/nfs/nfsd"
START_APPCMD="/etc/init.d/nfs.server start"
STOP_APPCMD="/etc/init.d/nfs.server stop"
APPDIR="/var/tmp"
EVMPOST="/u01/app/grid/11.2.0/bin/evmpost"
и копируем его на остальные ноды.
Теперь осталось запустить ресурсы и проверить их переключение и доступность сервиса HA-NFS со стороны клиента:
[root@n240d ~]# crsctl start res nfs.server -n n240c
CRS-2672: Attempting to start 'nfs' on 'n240c'
CRS-2672: Attempting to start 'ora.data.library.acfs' on 'n240c'
CRS-2676: Start of 'nfs' on 'n240c' succeeded
CRS-2672: Attempting to start 'nfs.ip' on 'n240c'
CRS-2676: Start of 'nfs.ip' on 'n240c' succeeded
CRS-2676: Start of 'ora.data.library.acfs' on 'n240c' succeeded
CRS-2672: Attempting to start 'nfs.server' on 'n240c'
CRS-2676: Start of 'nfs.server' on 'n240c' succeeded
[root@n240d ~]#
[root@n240d ~]# crsctl relocate res nfs.server -n n240d -f
CRS-2673: Attempting to stop 'nfs.server' on 'n240c'
CRS-2672: Attempting to start 'ora.data.library.acfs' on 'n240d'
CRS-2677: Stop of 'nfs.server' on 'n240c' succeeded
CRS-2673: Attempting to stop 'nfs.ip' on 'n240c'
CRS-2677: Stop of 'nfs.ip' on 'n240c' succeeded
CRS-2673: Attempting to stop 'nfs' on 'n240c'
CRS-2677: Stop of 'nfs' on 'n240c' succeeded
CRS-2672: Attempting to start 'nfs' on 'n240d'
CRS-2676: Start of 'nfs' on 'n240d' succeeded
CRS-2672: Attempting to start 'nfs.ip' on 'n240d'
CRS-2676: Start of 'nfs.ip' on 'n240d' succeeded
CRS-2676: Start of 'ora.data.library.acfs' on 'n240d' succeeded
CRS-2672: Attempting to start 'nfs.server' on 'n240d'
CRS-2676: Start of 'nfs.server' on 'n240d' succeeded
и со стороны клиента
oot@sf120:~ # showmount -e 192.168.57.48
export list for 192.168.57.48:
/library/vmlib0 (everyone)
/library/swlib0 (everyone)
/library/swlib2 (everyone)
/library/swlib1 (everyone)