null

Oracle Clusterware как основа HA-NFS на Oracle Solaris 10

Для развертывания 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)

 

 

Вперед

Konstantin Borzov, Baku 2009

Коротко о себе:

Закончил Пушкинское высшее училище радиоэлектроники противовоздушной обороны (ПВУРЭ ПВО).

Служил в ВС и МВД, работал в народном хозяйстве. В настоящее время сотрудник компании Tune-It.

Привлекает решение "стандартных" задач - создание конфет из имеющегося сырья подручными средствами.

Ненавижу питерские пробки. Еще больше ненавижу общественный транспорт. В результате ежедневно пару часов провожу за рулем.