След като сме осигурили сигурността на машината може да стартираме услуга. Първо трябва да проверим дали имаме xinetd инсталиран. Ако се окаже че не е наличен го добавяме към системата. След това създаваме файл gridftp и поставяме в него следното:
service gsiftp
{
instances = 100
socket_type = stream
wait = no
user = root
env += GLOBUS_LOCATION=/usr/local/globus-4.0.8
env += LD_LIBRARY_PATH=/usr/local/globus-4.0.8/lib
server = /usr/local/globus-4.0.8/sbin/globus-gridftp-server
server_args = -i
log_on_success += DURATION
nice = 10
disable = no
}
root@debian:# pico /etc/xinetd.d/gridftp
Необходимо е да добавим запис за услугата FTP във файла services:
root@debian: pico /etc/services
vboxd 20012/udp
binkp 24554/tcp # binkp fidonet protocol
asp 27374/tcp # Address Search Protocol
asp 27374/udp
dircproxy 57000/tcp # Detachable IRC Proxy
tfido 60177/tcp # fidonet EMSI over telnet
fido 60179/tcp # fidonet EMSI over TCP
# Local services
gsiftp 2811/tcp
root@debian:# /etc/init.d/xinetd reload
Reloading internet superserver configuration: xinetd.
root@debian:# netstat -an | grep 2811
tcp 0 0 0.0.0.0:2811 0.0.0.0:* LISTEN
От този момент GridFTP-то е в готовност и очаква заявки, така че ще пуснем един клиент и ще направим трансфер.
debian % grid-proxy-init -verify -debug
User Cert File: /home/user/.globus/usercert.pem
User Key File: /home/user/.globus/userkey.pem
Trusted CA Cert Dir: /etc/grid-security/certificates
Output File: /tmp/x509up_u1817
Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-debian.tu-varna.bg/OU=tu-varna.bg/CN=User
Enter GRID pass phrase for this identity: ****
Creating proxy .....++++++++++++
..++++++++++++
Done
Proxy Verify OK
debian % globus-url-copy gsiftp://debian.tu-varna.bg/etc/group file:///tmp/user.test.copy
debian % diff /tmp/user.test.copy /etc/group
Командата globus-url-copy приема два аргумента, първия е източника, а втория дестинацията. В нашия случай използваме gsiftp:// за да покажем GridFTP трансфер от хоста grid1.tu-varan.bg на файл /etc/group като източник. Дестинацията ще бъде файл в локалната система под името /tmp/user.test.copy. След като сме се убедили, че GridFTP сървърът работи нормално може да преминем към следващия етап от изграждането на системата, а именно стартирането на контейнера с уеб услуги.
3.5. Стартиране на контейнера с уеб услуги.
Необходимо е да създадем запис в /etc/init.d за контейнера с уеб услуги.
globus@debian:~$ pico $GLOBUS_LOCATION/start-stop
globus@debian:~$ cat $GLOBUS_LOCATION/start-stop
#! /bin/sh
set -e
export GLOBUS_LOCATION=/usr/local/globus-4.0.8
export JAVA_HOME=/usr/java/j2sdk1.4.2_10/
export ANT_HOME=/usr/local/apache-ant-1.6.5
export GLOBUS_OPTIONS="-Xms256M -Xmx512M"
. $GLOBUS_LOCATION/etc/globus-user-env.sh
cd $GLOBUS_LOCATION
case "$1" in
start)
$GLOBUS_LOCATION/sbin/globus-start-container-detached -p 8443
;;
stop)
$GLOBUS_LOCATION/sbin/globus-stop-container-detached
;;
*)
echo "Usage: globus {start|stop}" >&2
exit 1
;;
esac
exit 0
globus@debian:~$ chmod +x $GLOBUS_LOCATION/start-stop
GLOBUS_OPTIONS могат да бъдат използвани за да се подават различни опции на JVM.
След това от името на потребителя root ще създадем скрипт с помощта на който ще извикваме стртиращия/спиращия скрипт на потребителя globus.
root@debian:~# pico /etc/init.d/globus-4.0.8
root@debian:~# cat /etc/init.d/globus-4.0.8
#!/bin/sh -e
case "$1" in
start)
su - globus /usr/local/globus-4.0.8/start-stop start
;;
stop)
su - globus /usr/local/globus-4.0.8/start-stop stop
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
printf "Usage: $0 {start|stop|restart}\n" >&2
exit 1
;;
esac
exit 0
root@debian:~# chmod +x /etc/init.d/globus-4.0.8
root@debian:~# /etc/init.d/globus-4.0.8 start
Starting Globus container. PID: 29985
root@debian:~# cat /usr/local/globus-4.0.8/var/container.log
ERROR service.ReliableFileTransferImpl [main,:68]
Unable to setup database driver with pooling.A connection error has occurred:
FATAL: no pg_hba.conf entry for host "10.1.7.30", user "globus",
database "rftDatabase", SSL off
WARN service.ReliableFileTransferHome [main,initialize:97]
All RFT requests will fail and all GRAM jobs that require file staging will fail.
A connection error has occurred: FATAL: no pg_hba.conf entry for host
"10.1.7.30", user "globus", database "rftDatabase", SSL off
Starting SOAP server at: https://10.1.7.30:8443/wsrf/services/
With the following services:
[1]: https://10.1.7.30:8443/wsrf/services/TriggerFactoryService
[2]: https://10.1.7.30:8443/wsrf/services/DelegationTestService
[3]: https://10.1.7.30:8443/wsrf/services/SecureCounterService
[4]: https://10.1.7.30:8443/wsrf/services/IndexServiceEntry
[5]: https://10.1.7.30:8443/wsrf/services/DelegationService
[6]: https://10.1.7.30:8443/wsrf/services/InMemoryServiceGroupFactory
[7]: https://10.1.7.30:8443/wsrf/services/mds/test/execsource/IndexService
[8]: https://10.1.7.30:8443/wsrf/services/mds/test/subsource/IndexService
[9]: https://10.1.7.30:8443/wsrf/services/SubscriptionManagerService
[10]: https://10.1.7.30:8443/wsrf/services/TestServiceWrongWSDL
[11]: https://10.1.7.30:8443/wsrf/services/SampleAuthzService
[12]: https://10.1.7.30:8443/wsrf/services/WidgetNotificationService
[13]: https://10.1.7.30:8443/wsrf/services/AdminService
[14]: https://10.1.7.30:8443/wsrf/services/DefaultIndexServiceEntry
[15]: https://10.1.7.30:8443/wsrf/services/CounterService
[16]: https://10.1.7.30:8443/wsrf/services/TestService
[17]: https://10.1.7.30:8443/wsrf/services/InMemoryServiceGroup
[18]: https://10.1.7.30:8443/wsrf/services/SecurityTestService
[19]: https://10.1.7.30:8443/wsrf/services/ContainerRegistryEntryService
[20]: https://10.1.7.30:8443/wsrf/services/NotificationConsumerFactoryService
[21]: https://10.1.7.30:8443/wsrf/services/TestServiceRequest
[22]: https://10.1.7.30:8443/wsrf/services/IndexFactoryService
[23]: https://10.1.7.30:8443/wsrf/services/ReliableFileTransferService
[24]: https://10.1.7.30:8443/wsrf/services/mds/test/subsource/IndexServiceEntry
[25]: https://10.1.7.30:8443/wsrf/services/Version
[26]: https://10.1.7.30:8443/wsrf/services/NotificationConsumerService
[27]: https://10.1.7.30:8443/wsrf/services/IndexService
[28]: https://10.1.7.30:8443/wsrf/services/NotificationTestService
[29]: https://10.1.7.30:8443/wsrf/services/ReliableFileTransferFactoryService
[30]: https://10.1.7.30:8443/wsrf/services/DefaultTriggerServiceEntry
[31]: https://10.1.7.30:8443/wsrf/services/TriggerServiceEntry
[32]: https://10.1.7.30:8443/wsrf/services/PersistenceTestSubscriptionManager
[33]: https://10.1.7.30:8443/wsrf/services/mds/test/execsource/IndexServiceEntry
[34]: https://10.1.7.30:8443/wsrf/services/DefaultTriggerService
[35]: https://10.1.7.30:8443/wsrf/services/TriggerService
[36]: https://10.1.7.30:8443/wsrf/services/gsi/AuthenticationService
[37]: https://10.1.7.30:8443/wsrf/services/TestRPCService
[38]: https://10.1.7.30:8443/wsrf/services/ManagedMultiJobService
[39]: https://10.1.7.30:8443/wsrf/services/RendezvousFactoryService
[40]: https://10.1.7.30:8443/wsrf/services/WidgetService
[41]: https://10.1.7.30:8443/wsrf/services/ManagementService
[42]: https://10.1.7.30:8443/wsrf/services/ManagedExecutableJobService
[43]: https://10.1.7.30:8443/wsrf/services/InMemoryServiceGroupEntry
[44]: https://10.1.7.30:8443/wsrf/services/AuthzCalloutTestService
[45]: https://10.1.7.30:8443/wsrf/services/DelegationFactoryService
[46]: https://10.1.7.30:8443/wsrf/services/DefaultIndexService
[47]: https://10.1.7.30:8443/wsrf/services/ShutdownService
[48]: https://10.1.7.30:8443/wsrf/services/ContainerRegistryService
[49]: https://10.1.7.30:8443/wsrf/services/TestAuthzService
[50]: https://10.1.7.30:8443/wsrf/services/CASService
[51]: https://10.1.7.30:8443/wsrf/services/ManagedJobFactoryService
08:48:29,063 INFO impl.DefaultIndexService [ServiceThread-10,processConfigFile:107]
Reading default registration configuration from file:
/usr/local/globus-4.0.8/etc/globus_wsrf_mds_index/hierarchy.xml
08:48:31,705 ERROR impl.QueryAggregatorSource [Thread-12,pollGetMultiple:149]
Exception Getting Multiple Resource Properties from
https://10.1.7.30:8443/wsrf/services/ReliableFileTransferFactoryService:
java.rmi.RemoteException: Failed to serialize resource property
org.globus.transfer.reliable.service.factory.TotalNumberOfBytesTransferred@e8eeca;
nested exception is:
org.apache.commons.dbcp.DbcpException: A connection error has occurred:
FATAL: no pg_hba.conf entry for host "10.2.7.30", user "globus",
database "rftDatabase", SSL off
RFT предупрежденията не са изненадващи защото все още не сме създали база от данни. Ако в изходните данни от лог файла по горе не виждане IP адреса на машината, а "127.0.0.1" е необходимо това да бъде поправено. За целта е необходимо да редактираме $GLOBUS_LOCATION/etc/globus_wsrf_core/server-config.wsdd и client-server-config.wsdd и да добавим един ред със следното:
10.1.7.30"/> На пример:
На този етап може да използваме един то примерните клиенти/услуги за да взаимодействаме с контейнера.
debian % counter-client -s https://debian.tu-varna.bg: 8443/wsrf/services/CounterService
Got notification with value: 3
Counter has value: 3
Got notification with value: 13
Това беше и очаквания резултат, изглежда че контейнерът е поснат и работи нормално. В следващия етап ще конфигурираме база от данни за RFT за да премахнем предупрежденията които имахме в лога и да можем надеждно да прехфърляме файлове използвайки GridFTP.
Сподели с приятели: |