status-save.php
=============================================

-------------------
작성일 : 2013-10-22
작성자 : 정기욱

2014-08-07 유희곤 내역 수정

-------------------


Contents
========

- 개요
- 설치 절차
- 알려진 문제


개요
========

status-save.php는 CCDB의 DBMS 인 Oracle 과 PPAS(PostgreSQL) 연동 버전으로 나뉜다.
Oracle 연동 버전은 KT의 PPAS 도입 이전에 사용하던 버전으로 이 문서에는 그에 대한 자세한 설명은 생락하고
PPAS 연동 버전에 대해서만 기술한다.

status-save.php는 GMS에 기록된 각 RC의 스토리지 용량, 사용량, 네트워크 정보, FHS 수량 등을 CCDB에 저장하는 기능을 가진다.
이렇게 저장된 정보는 SMS를 통해서 RC 통계로 사용된다.
설치는 아래에 기록한 '설치 절차'를 따라 GTS서버에 설치하여야 한다.


설치 절차
=========

status-save.sh 에 포함된 php 스크립트 구동을 위해 서버에 PHP 관련 패키지를 설치한다.


1. PHP, PostgreSQL 연동 패키지 설치

   # yum install php php-pgsql


2. PHP 버전 확인(PHP 스크립트 기동에 오류가 있는 경우 참고한다.)

   # php -version

     PHP 5.3.3 (cli) (built: Jul 12 2013 20:35:47) 
     Copyright (c) 1997-2010 The PHP Group
     Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies


3. PostgreSQL 연동 환경 점검

   # vi phpinfo.php

     <?php
     phpinfo();
     ?>
 
   # php phpinfo.php 를 수행해서 다음과 같은 결과가 나타나야 한다.

     ~ 생략 ~

     PDO

     PDO support => enabled
     PDO drivers => pgsql, sqlite

     pdo_pgsql

     PDO Driver for PostgreSQL => enabled
     PostgreSQL(libpq) Version => 8.4.13
     Module version => 1.0.2
     Revision =>  $Id: pdo_pgsql.c 300351 2010-06-10 12:11:19Z iliaa $ 

     pdo_sqlite

     PDO Driver for SQLite 3.x => enabled
     SQLite Library => 3.6.20

     pgsql

     PostgreSQL Support => enabled
     PostgreSQL(libpq) Version => 8.4.13
     Multibyte character support => enabled
     SSL support => enabled
     Active Persistent Links => 0
     Active Links => 0

     Directive => Local Value => Master Value
     pgsql.allow_persistent => On => On
     pgsql.auto_reset_persistent => Off => Off
     pgsql.ignore_notice => Off => Off
     pgsql.log_notice => Off => Off
     pgsql.max_links => Unlimited => Unlimited
     pgsql.max_persistent => Unlimited => Unlimited

     ~ 생략 ~

5. status-save.sh 와 status-save.php 를 /user/service/bin 디렉토리 하위에 복사


6. status-save.php 스크립트 설정
   아래에 기록한 CCDB와 GMS 연동에 필요한 각 파라미터들을 입력한다.

     CCDB_NAME
     CCDB_USER
     CCDB_PASSWD
     CCDB_VIP
     CCDB_PORT
     GMS_IP
     GMS_STATUS_PORT #GMS에서 구동중인 new_sh_statusd의 UDP port 번호
     CC_NODE_NAME

   # vi /user/service/bin/status-save.php

    예제)
     ~ 생략 ~
     $db_handle = pg_connect("dbname=cs_ccdb user=solbox password=solbox host=10.10.10.10 port=5432");
 
     $server_addr[0][0] = "222.122.136.110";
     $server_addr[0][1] = "30001";
     $server_addr[0][2] = "KT-IDC";
     ~ 생략 ~


7. status-save.sh 에 실행 속성을 부여한다.

   # chmod +x /user/service/bin/status-save.sh


8. 5분 단위 자동 수행 설정

   # vi /etc/crontab 

     ~ 생략 ~
     #
     # Status Save Script
     #
     */5 * * * * root /user/service/bin/status-save.sh >/dev/null


9. GMS 서버 연동 환경 점검

   # nmap -sU -p 30001 222.122.136.110

     Starting Nmap 5.51 ( http://nmap.org ) at 2013-08-06 16:51 KST
     Nmap scan report for 222.122.136.110
     Host is up (0.00037s latency).
     PORT      STATE SERVICE
     30001/udp open  unknown



알려진 문제
===========



