Postgres Advanced Server(PAS) 서비스가이드 1 / 25
문서버전및이력 버전 일자 이력사항 1.0 2016.01.05 최초배포 1.1 2016.03.03 상품명변경 목차 1. 서비스소개...3 서비스개요...3 2. 서비스신청및포트포워딩...3 서비스신청...3 포트포워딩설정...5 3. 서버설정...7 서버접속...7 사용전환경설정...8 계정관리... 10 4. 데이터베이스기본정보... 11 5. 데이터베이스접속및사용... 11 데이터베이스시작... 11 데이터베이스사용자비밀번호변경... 12 데이터베이스접속... 12 데이터베이스생성... 20 데이터베이스정지... 21 데이터베이스로그확인... 21 6. 서비스해지... 22 서비스해지신청... 22 7. Postgres Advanced Server 고객기술지원... 25 2 / 25
1. 서비스소개 서비스개요 - Postgres Advanced Server(PAS) 는 ucloud server image( 머신이미지 ) 로제공되며, 사용되는 VM은 ucloud server 상품으로이용가능합니다. 2. 서비스신청및포트포워딩 서비스신청 - 서비스신청은아래두가지경로로신청할수있습니다. 상품소개 > 데이터베이스 > Postgres Advanced Server(PAS) > 상품신청 을클릭합니다. Cloud Marketplace > Databases > PAS > 상품신청 을클릭합니다. - PAS 의운영체제와네트워크 Zone 을선택합니다. 3 / 25
- 서버정보를입력하고 다음 을클릭합니다. 1 3 2 1 PAS의서버명과 Hostname을입력후각각중복체크를합니다 2 요금제와상품종류 ( 표준 /High-Memory/SSD server), 데이터디스크여부를선택합니다. 상품종류와데이터디스크선택여부에따라 VM 가격이달라집니다. 3 PAS를사용할 VM 사양 (CPU/RAM) 을선택합니다. 사양에따라 VM과 SW의가격이달라집니다 - 신청내역을최종확인하고 신청 을클릭합니다 4 / 25
- 신청완료를위해 예 를클릭합니다 포트포워딩설정 - PAS 서비스사용을위한포트포워딩설정을위해클라우드콘솔을실행합니다 http://ucloudbiz.olleh.com/ 으로접속하여로그인후우측상단에위치한클라우드콘솔버튼을클릭하여콘솔화면에접속할수있습니다. 새로운팝업창으로연결되기때문에, 팝업차단설정을해제한후이용하시기바랍니다. 계정 /PW: ucloudbiz 신청계정및 PW - 클라우드콘솔에서 ucloud server > 클라우드서버리스트페이지로이동합니다 5 / 25
- PAS 서버를선택하고하단의 포트포워딩설정 을클릭합니다. - 하단메뉴의포트포워딩설정을합니다 ssh 접속을위해사설포트는 22번, 공용포트는알려진포트가아닌임의숫자로입력합니다. 아래예시는 9262로설정하였습니다. well known port인 22번으로공용포트를설정할경우보안취약합니다. DB 접속을위해 5444 번포트를추가합니다. 6 / 25
포트포워딩최종적용을위해팝업창의 예 를클릭합니다. 3. 서버설정 서버접속 - ssh 프로그램으로 ( 매뉴얼에서는 putty로설명 ) 기안내된 IP와패스워드를입력합니다. IP는 ucloud server > 클라우드서버리스트에서확인가능합니다. 7 / 25
root 패스워드는메일로안내됩니다. 사용전환경설정 - 데이터디스크를신청하지않으신분은 사용전환경설정 작업하지않으셔도됩니다 - 모든작업은 root 계정으로진행합니다. - Disk 포맷및마운트 할당된 Disk 사이즈확인 [root@pas ~]# fdisk -l Disk /dev/xvda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000a00b4 Device Boot Start End Blocks Id System /dev/xvda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/xvda2 64 2611 20458496 8e Linux LVM Disk /dev/xvdb: 85.9 GB, 85899345920 bytes 255 heads, 63 sectors/track, 10443 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/volgroup-lv_root: 16.8 GB, 16752050176 bytes 255 heads, 63 sectors/track, 2036 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/mapper/volgroup-lv_swap: 4194 MB, 4194304000 bytes 255 heads, 63 sectors/track, 509 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes 8 / 25
I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk 포맷 [root@pas ~]# mkfs.ext4 /dev/xvdb mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 5242880 inodes, 20971520 blocks 1048576 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 640 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 22 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. Disk 마운트 마운트를할디렉토리생성후마운트작업을진행합니다. 정상적으로작업완료후에 df h 명령어로 Disk가정상적으로마운트된것을확인할수있습니다. [root@pas ~]# mkdir /data [root@pas ~]# mount /dev/xvdb /data [root@pas ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/volgroup-lv_root 16G 1.3G 14G 9% / tmpfs 497M 0 497M 0% /dev/shm /dev/xvda1 485M 32M 428M 7% /boot /dev/xvdb 79G 184M 75G 1% /data fstab에등록재부팅후자동마운트를위해 fstab에노란색부분을추가합니다. [root@pas ~]# vi /etc/fstab # # /etc/fstab # Created by anaconda on Tue Mar 11 13:46:23 2014 # 9 / 25
# Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/xvdb /data ext4 default 1 1 - 마운트후후속작업 소유권변경 PAS 서비스관리자 (enterprisedb) 가해당디렉토리를관리할수있도록소유권을변경합니다. [root@pas /]# chown enterprisedb.enterprisedb /data/ DB 데이터이동 OS영역과 DB영역분리를위해기설치된 PAS 데이터를새로운마운트로이동합니다. [root@pas ~]# mv /pgdata /data 심볼릭링크생성 최초경로와동일하게설정하기위해심볼릭링크를생성합니다. [root@pas /]# ln -s /data/pgdata /pgdata 계정관리 - 보안을위해최초설치후계정비밀번호를변경합니다. root 계정 OS 관리자인 root 계정정보를변경합니다 [root@pas ~]# passwd Changing password for user root. New password: 패스워드입력 Retype new password: 패스워드재입력 passwd: all authentication tokens updated successfully. enterprisedb 계정 PAS 서비스관리자계정인 enterprisedb의 OS 계정정보를변경합니다. [root@pps ~]# passwd enterprisedb Changing password for user enterprisedb. New password: 패스워드입력 Retype new password: 패스워드재입력 passwd: all authentication tokens updated successfully. 10 / 25
4. 데이터베이스기본정보 구분내용비고 OS CentOS OS 사용자 DB 서비스관리자 enterprisedb Group : enterprisedb 디렉토리및 파일정보 홈디렉토리 DBMS 엔진데이터 DB 로그트랜잭션로그아카이브환경설정파일 /postgres/9.4as /postgres/9.4as /pgdata /pgdata/pg_log /pgdata/pg_xlog 기본미구성 /pgdata/postgresql.conf 데이터베이스 정보 SW version PAS 9.4.5.11 Character set UTF8 port 5444 5. 데이터베이스접속및사용 데이터베이스모든관리는 enterprisedb 계정으로진행합니다. 데이터베이스시작 - 데이터베이스를시작합니다. 데이터베이스시작 [enterprisedb@pas ~]$ pg_ctl start -w waiting for server to start...2016-01-04 18:07:13 KST @/ (20636) LOG: redirecting log output to logging collector process 2016-01-04 18:07:13 KST @/ (20636) HINT: Future log output will appear in directory "pg_log". done server started 확인 데이터베이스가정상기동된것을 ps -ef grep postgres 명령어로확인할수있습 니다 [enterprisedb@pas ~]$ ps -ef grep postgres 500 20636 1 0 18:07 pts/0 00:00:00 /postgres/9.4as/bin/edb-postgres 500 20639 20636 0 18:07? 00:00:00 postgres: logger process 500 20641 20636 0 18:07? 00:00:00 postgres: checkpointer process 500 20642 20636 0 18:07? 00:00:00 postgres: writer process 500 20643 20636 0 18:07? 00:00:00 postgres: wal writer process 500 20644 20636 0 18:07? 00:00:00 postgres: autovacuum launcher process 500 20645 20636 0 18:07? 00:00:00 postgres: archiver process 11 / 25
500 20646 20636 0 18:07? 00:00:00 postgres: stats collector process ( 중요!!) 데이터베이스사용자비밀번호변경 - 보안을위해아래와같이데이터베이스사용자와.pgpass 파일을 ( 데이터베이스유저의패스워드를저장한파일 ) 삭제합니다 [enterprisedb@pas ~]$ psql psql.bin (9.4.5.11) Type "help" for help. edb=# alter user enterprisedb password ' 패스워드 '; ALTER ROLE edb=# exit [enterprisedb@pas ~]$ rm.pgpass rm: remove regular file `.pgpass'? y 데이터베이스접속 - CLI로데이터베이스에접속합니다. [enterprisedb@pas ~]$ psql Password: 패스워드입력 psql.bin (9.4.5.11) Type "help" for help. edb=# - GUI 로데이터베이스를접속합니다. pgadmin III 는 Client 툴로 PAS 에접속하여 SQL 을작성할때사용가능합니다. 설치파일다운 (http://www.pgadmin.org/download/) 12 / 25
사이트왼쪽메뉴에자신의플랫폼과운영체제를선택하여설치파일을내려받습니 다. 13 / 25
다운받은설치파일을실행합니다. 다운로드후설치파일을실행하면 pgadmin III Setup Wizard 가실행됩니다. Next 버튼을클릭하여설치를진행합니다. 14 / 25
라이선스에동의한후 Next 버튼을클릭합니다. 설치파일과설치경로를설정한후 Next 버튼을클릭합니다. 15 / 25
설치진행에필요한정보를모두설정하였으므로 Install 버튼을클릭하여설치를 진행합니다. 설치는약 1 분정도소요됩니다. 16 / 25
설치가완료되면 Finish 를클릭하여설치를종료합니다. 바탕화면의 pgadmin III 바로가기를선택하거나윈도우시작버튼에서 pgadmin III 을입력하여실행합니다. 17 / 25
pgadmin III 을실행하면아래와같은초기화면이확인가능합니다. PAS 접속하기 위해왼쪽상단콘센트모양의아이콘이나 File Add Server 를클릭합니다. 18 / 25
PAS 접속정보를입력한후 OK 버튼을클릭합니다. - Name: 데이터베이스서버의별칭 - Host: 데이터베이스 IP - Port: 데이터베이스 Port( 기본 5444) - Service: pg_service.conf 파일에구성된서비스의이름 - Maintenance DB: 초기접속 DB - Username: 데이터베이스접속계정명 - Password: 데이터베이스접속계정비밀번호 - Store password: 데이터베이스접속계정의비밀번호저장여부 - Colour: 데이터베이스의하이라이트색지정 - Group: 사용자지정서버그룹 ( 예. dev, operation) 19 / 25
pgadmin III 을통하여 PAS 에접속한것을확인할수있습니다. [ 참고 ] pgadmin 실행에러 pgadmin 실행시 'MSVCP120.dll is missing from your computer' 에러가발생하는경우 Microsoft 공식사이트에서 vcredist_x86.exe 파일과 vcredist_x64.exe 파일을다운받아설치하면됩니다. 데이터베이스생성 - 데이터베이스를다국어환경에맞게생성합니다. 데이터베이스생성 [enterprisedb@pas ~]$ psql Password: 패스워드입력 psql.bin (9.4.5.11) Type "help" for help. edb=# CREATE DATABASE 데이터베이스명 ENCODING ='UTF8' template = template0 LC_COLLATE = 'C' LC_CTYPE 20 / 25
= 'C' ; CREATE DATABASE 데이터베이스생성확인 edb=# \l List of databases Name Owner Encoding Collate Ctype ICU Access privileges --------------+--------------+-----------+---------+-------+-----+------------------------------- edb enterprisedb SQL_ASCII C C postgres enterprisedb SQL_ASCII C C template0 enterprisedb SQL_ASCII C C =c/enterprisedb + enterprisedb=ctc/enterprisedb template1 enterprisedb SQL_ASCII C C =c/enterprisedb + enterprisedb=ctc/enterprisedb 데이터베이스 enterprisedb UTF8 C C 데이터베이스정지 - 데이터베이스를정지합니다. 데이터베이스정지 [enterprisedb@pas ~]$ pg_ctl -mf stop -w waiting for server to shut down... done server stopped 확인데이터베이스가정상정지되었는지 ps -ef grep postgres 명령어로확인할수있습니다 [enterprisedb@pas ~]$ ps -ef grep postgres 500 31026 30679 0 10:01 pts/1 00:00:00 grep postgres 데이터베이스로그확인 - DB로그는 DB의각종 Alert log들이기록되고있으며 crontab에의해서보관주기가관리되고있습니다. 로그정보로그정보로그파일명비고 /pgdata/pg_log enterprisedb-연-월-일-시분초.log 3달유지 로그확인 [enterprisedb@pas ~]$ cd /pgdata/pg_log [enterprisedb@pas pg_log]$ ll total 8 -rw-------. 1 enterprisedb enterprisedb 1347 Jan 4 18:28 enterprisedb-2016-01-04_180713.log -rw-------. 1 enterprisedb enterprisedb 695 Jan 5 10:00 enterprisedb-2016-01-05_000000.log [enterprisedb@pas pg_log]$ vi enterprisedb-2016-01-05_000000.log 21 / 25
6. 서비스해지 서비스해지신청 - PAS 서비스해지를위해 http://ucloudbiz.olleh.com/ 으로접속하여클라우드콘솔을실행합니다 - 클라우드콘솔에서 ucloud server > 클라우드서버리스트페이지로이동합니다 - PAS 서버를해지하기위해서는서버정지가필요합니다. 해지할 PAS 서버를선택하고오른쪽상단에하단의 Action 을클릭후 정지 를클 릭합니다. 22 / 25
서버정지를위해 확인 을클릭합니다. - 정지된 PAS 서버를해지합니다. 해지할 PAS 서버를선택하고오른쪽상단에하단의 Action 을클릭후 해지 를클 릭합니다. 23 / 25
서버해지를위해 확인 을클릭합니다. 삭제정보를최종확인후 신청 버튼을클릭합니다. 24 / 25
해지신청완료를확인합니다. 7. Postgres Advanced Server 고객기술지원 PAS 와관련된모든문의는아래연락처로문의바랍니다. 구분 내용 이메일 osscenter@kt.com 전화번호 1522-2040 - 제품문의외의별도의기술지원상품을 (Remote DBA for Postgres) 구매하시어기술지원을받으실수있습니다. - Remote DBA for Postgres 상품은온라인기술지원서비스로이메일, 전화, 원격접속등을통해전문엔지니어의기술지원을제공합니다. - 지원시간은평일 09:00~18:00 입니다. ( 주말및휴일제외 ) 25 / 25