UCloud 문서 원본 보기
←
UCloud
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
UCloud biz를 정리 합니다. *홈페이지 : https://ucloudbiz.olleh.com/ ==UCloud Architecture== {|cellspacing="0" cellpadding="2" border="1" width="100%" bgcolor="#FFFFFF" align="center" |- |width="20%" align="center" valign="middle" style="background-color:#eee;"|분류 |width="40%" align="center" valign="middle" style="background-color:#eee;"|FOSS |width="40%" align="center" valign="middle" style="background-color:#eee;"|상용 S/W |- |align="center" valign="middle" style="background-color:#eee;"|Cloud OS | *[[CloudStack|CloudStack 2.x]] / Apache 2.0 : IaaS 관리 *Platespin : P2V migration *enStratus : Auto Provisioning, Scale-out/up Solution *[[HAProxy]] | |- |align="center" valign="middle" style="background-color:#eee;"|Hypervisor | *[[XenServer|Citrix Xen Server 5.x]] | |- |align="center" valign="middle" style="background-color:#eee;"|Storage | *[[MySQL]] : DBMS *[[OpenStack Swift]] : Object Storage *[[ZFS]] : 가상화 파일 시스템 *[[NexentaStor]] : 가상 Storage 관리 | *[http://oss.oetiker.ch/rrdtool/ RRDTool] : Round Robin Database Tool |- |align="center" valign="middle" style="background-color:#eee;"|Manage | *[[Apache HTTP Server]] *[[Apache Tomcat]] *[[Hyperic]] : Manage Web Application *[[OpenVPN]] : VPN *[[Spring]] | |- |align="center" valign="middle" style="background-color:#eee;"|Automation | *[[Chef]] : 서버 설치 및 구성 자동화 | |- |align="center" valign="middle" style="background-color:#eee;"|Monitoring | *[[Nagios]] : 물리서버, Network 모니터링 *[[Cacti]] : 모니터링 Data History 관리, Reporting *[[CAMS]] : VM 및 Middleware 모니터링 *[[Zabbix]] : 모니터링 *[[Collectd]] : System과 Network 성능정보 모니터링 | |- |align="center" valign="middle" style="background-color:#eee;"|Logging & Analyze | *[[Splunk]] : 시스템 로그 정보 수집 및 분석 -> [[Zabbix]] *[[syslog-ng]] : syslog 프로토콜을 구현, syslog 정보를 가져옴 | |} ==UCloud 기본 설정== *CentOS 6.4 x86_64 서버를 설정 합니다. ===Server 준비=== *방안 1 : UCloud 사이트에서 서버를 신청 합니다. :*UCloud 사용시 Port Forwarding 설정 ::*"클라우드 콘솔 -> 네트워크 -> [서버 선택] -> Port Forwarding" 메뉴에서 22/tcp 등록 :::*22 port는 SSH 포트로서 ssh와 sftp (SSH File Transfer Protocol)에서 사용 합니다. *방안 2 : Oracle [[VirtualBox]]에서 가상 서버를 구축 합니다. :*가상 서버의 Memory를 1024 MB 이상을 설정하여야 GUI 화면이 뜨면서 제대로 설치가 됩니다. :*[[Network#VirtualBox_Network_설정|VirtualBox Network 설정]] 참조 :*Network Adapter 1 : NAT :*Network Adapter 2 : 호스트 전용 어댑터 ::*"VirtualBox Host-Only Ethernet Adapter" 설정 :::*[[VirtualBox]]에서 "파일 -> 환경 설정 -> 네트워크 -> VirtualBox Host-Only Ethernet Adapter" 메뉴를 선택 합니다. :::*어댑터 ::::*IPv4 주소 : 192.168.56.1 ::::*IPv4 서브넷 마스크 : 255.255.255.0 :::*DHCP 서버 ::::*서버 사용함 선택 ::::*서버 주소 : 192.168.56.100 ::::*서버 마스크 : 255.255.255.0 ::::*최저 주소 한계 : 192.168.56.101 ::::*최대 주소 한계 : 192.168.56.254 ===CentOS 설치=== *[[CentOS - 설치]] 문서를 참조하여 [[CentOS]]를 설치 합니다. :*설치시 "Basic Server"를 선택하여 설치 합니다. *Network 카드 재기동 ifconfig -a #--- Network 카드별로 IP 값이 표시되지 않으면 아래 실행 vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes vi /etc/sysconfig/network-scripts/ifcfg-eth1 ONBOOT=yes service network restart ifconfig -a #--- Network 카드별로 IP값이 표시되는 지 확인 *[[Putty]]로 eth1에 할당된 IP를 사용하여 접속 합니다. :*UTF-8 설정 ::*"창 -> 변환 -> 수신한 데이터를 이 문자셋으로 가정" 에서 "UTF-8"을 선택 합니다/ *작업 폴더 생성 mkdir /appl mkdir /cloudnas cd /cloudnas mkdir backup mkdir bin mkdir config mkdir custom mkdir database mkdir install mkdir logs mkdir template mkdir www cd www mkdir html *vi ~/.bashrc ### ---------------------------------------------------------------------------- ### Linux Bash Shell 설정 ### ---------------------------------------------------------------------------- alias dir='ls -alF' alias dird='ls -alF | grep /' export LANG=ko_KR.utf8 ### ---------------------------------------------------------------------------- ### Linux Bash Shell Script를 위한 설정 ### ---------------------------------------------------------------------------- export CONFIG_DIR=/cloudnas/config export DOCUMENT_SUB=none if [ [ $DOCUMENT_SUB = 'none' ] ]; then #--- 복사하여 붙일때는 여기에 빈공백을 제거하세요 CDPATH=.:/cloudnas/www/html:/cloudnas:/appl else CDPATH=.:/cloudnas/www/html/$DOCUMENT_SUB:/cloudnas:/appl fi PATH=$PATH:/cloudnas/bin *.bashrc 실행 cd . .bashrc ===Network Setting=== *Network 설정 파일 확인 ifconfig -a #--- Network 카드의 이름을 확인 합니다. (lo, eth0, eth1) cd /etc/sysconfig/network-scripts/ ls -alF ifcfg-* *vi /etc/sysconfig/network-scripts/ifcfg-eth0 #--- eth0 네트워크 카드에 DHCP 설정시 DEVICE=eth0 HWADDR=08:00:27:C5:DB:97 TYPE=Ethernet UUID=4ccc4e1f-1ac3-42b7-8085-2f1f6ce969f0 ONBOOT=yes #--- no로 되어 있으면 yes로 수정 합니다. NM_CONTROLLED=yes BOOTPROTO=dhcp #--- DHCP를 사용하여 자동으로 IP를 할당 받도록 합니다. DNS2=168.126.63.1 DNS1=164.124.101.2 USERCTL=no PEERDNS=yes IPV6INIT=no :*ONBOOT가 no로 되어 있을 경우 yes로 수정한 후 network 카드를 동작하도록 하는 방법 ifdown eth0 ifup eth0 ifconfig -a *vi /etc/sysconfig/network-scripts/ifcfg-eth1 #--- eth1 네트워크 카드에 고정 IP 설정시 DEVICE=eth1 HWADDR=08:00:27:83:B8:E2 #--- 원래 있던 값을 사용 TYPE=Ethernet UUID=10ccad3a-9217-4092-a590-07537033eefb #--- 원래 있던 값을 사용 ONBOOT=yes IPADDR=192.168.56.151 #--- 호스트 전용 네트워크에 설정된 값을 참조하여 설정 NETMASK=255.255.255.0 #--- 호스트 전용 네트워크에 설정된 값을 참조하여 설정 GATEWAY=192.168.56.1 #--- 호스트 전용 네트워크에 설정된 값을 참조하여 설정 USERCTL=no IPV6INIT=no PEERDNS=no BOOTPROTO=static *network 카드를 재기동 합니다. service network restart ifconfig -a *eth1에 설정된 IP 정보로 [[putty]]를 사용하여 다시 접속 합니다. *vi /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=cloud001.cloudserver.com #--- 호스트명과 도메인명 지정 *명령행에서 hostname과 domainname 설정 hostname cloud001 domainname cloudserver.com *vi /etc/hosts #--- 파일의 최상단에 eth1에 설정된 IP로 host 이름을 추가 합니다. 192.168.56.151 cloud001.cloudserver.com cloud001 *vi /etc/resolv.conf search local cloudserver.com nameserver 210.220.163.82 nameserver 219.250.36.130 nameserver 164.124.101.2 #--- 데이콤에서 사용하는 nameserver IP nameserver 168.126.63.1 #--- 코넷에서 사용하는 nameserver IP nameserver 175.115.93.35 #--- 다우기술 nameserver 8.8.8.8 #--- Google 제공 nameserver 8.8.4.4 #--- Google 제공 nameserver 218.38.19.200 #--- name1.youiwe.org nameserver 218.38.19.114 #--- ns2.youiwe.co.kr *vi /etc/host.conf multi on order hosts,bind *Network Service를 재기동 합니다. service network restart *Internet 접속 여부 확인 ping -c3 google.com *방화벽 설정 ### yum install setup setuptool system-config-securitylevel-tui setup *참고 문헌 :*[[Network]] 설정 ===CentOS 추가 설치=== *CentOS 기본 업데이터 yum -y install yum-fastestmirror yum -y update kernel yum clean all yum update shutdown -r now lsb_release -a #--- CentOS 버전 확인 yum list | grep kernel *[http://dl.fedoraproject.org/pub/epel/ EPEL 다운로드 사이트]에서 CentOS 버전에 맞는 설치 파일(epel-release-로 시작하는 파일)을 다운로드하여 설치 합니다. cd install #yum install wget wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh epel-release-6-8.noarch.rpm yum repolist //--- epel repoistory가 잘 추가되어 있는지 repository 목록을 확인 합니다. == UCloud의 Disk Mount == [[Storage#Linux_Storage|Linux Storage]] ==Software 설치== ===MySQL=== *Server version: 5.5.27 MySQL Community Server (GPL) yum -y install mysql mysql-* chkconfig --level 2345 mysqld on *[[MySQL]] 환경 설정 service mysqld restart mysqladmin -u root password 'xxxx' service mysqld stop cd /var/lib tar cvf mysql.tar mysql cd /cloudnas/database tar xvf /var/lib/mysql.tar :*vi /etc/my.cnf [mysqld] init_connect = "SET collation_connection = utf8_general_ci" init_connect = "SET NAMES utf8" default-character-set=utf8 character-set-server=utf8 collation-server = utf8_general_ci datadir=/cloudnas/database/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] default-character-set = utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 *MySQL Start service mysqld start ===Apache Http Server=== *[[CentOS]]에 [[Apache Http Server]]를 설치 합니다. :*Apache HTTP Server 2.2.3-65.el5.centos yum -y install httpd httpd-* chkconfig --level 2345 httpd on *서비스 설정 service httpd stop :*vi /etc/httpd/conf/httpd.conf LanguagePriority ko en ... #--- ko를 맨앞으로 위치 한다. AddDefaultCharset UTF-8 DirectoryIndex index.php index.html DocumentRoot "/cloudnas/www/html" <Directory "/cloudnas/www/html"> :*서비스 시작 service httpd start ===PHP=== *PHP 5.3.3-13.el5_8 yum list installed | grep php yum install php53 php53-* //--- epel과 같이 섞여 있어 설치가 어려울 때 yum install php php-bcmath php-cli php-common php-dba php-devel php-embedded php-enchant php-fpm php-gd php-imap php-interbase php-intl php-ldap php-mbstring php-mcrypt php-mssql php-mysql php-odbc php-pdo php-pgsql php-process php-pspell php-recode php-snmp php-soap php-tidy php-xml php-xmlrpc php-zts //--- pcre가 "Unicode properties support"를 지원하지 않아 PDF 생성시 오류가 발생하는 것을 방지 //--- pcretest -C 로 지원 여부 확인 yum install pcre yum install php-pecl-apc *PHP 환경 설정 mkdir /var/lib/php/upload chown apache:apache /var/lib/php/upload vi /etc/php.ini [PHP] memory_limit = 256M upload_max_filesize = 10M post_max_size = 10M date.timezone = Asia/Seoul upload_tmp_dir = "/var/lib/php/upload" session.save_path = "/var/lib/php/session" default_charset = "UTF-8" magic_quotes_gpc = Off output_buffering = 4096 output_handler = mb_output_handler [mbstring] mbstring.language = UTF-8 mbstring.internal_encoding = UTF-8 mbstring.http_input = auto ;mbstring.http_output = pass mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; ===Utility=== *jdk 설치 yum -y install java-1.7.0-openjdk java-1.7.0-openjdk-* *Apache Ant version 1.6.5 compiled on January 6 2007 yum -y install ant ant-* *sendmail 8.13.8-2.el 설치 yum -y install sendmail sendmail-* *설치 않음 : subversion 1.6.11-10.el5_8 설치 yum -y install subversion subversion-* *기타 개인적으로 작성한 Script 파일 vi .bashrc . .bashrc == 메일 서버 구축 == Mail Server 참고 문헌 * [https://arodream.wordpress.com/2018/03/14/%EC%9D%B4%EB%A9%94%EC%9D%BC-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0-struct-email-server/ 이메일 서버 구축하기 (struct email server), 2018.3] ==사이트 구축== *CMS : [[Drupal]] *블로그 : [[WordPress]] *위키 : [[MediaWiki]] *CRM : [[SugarCRM]] *참조 :*[[오픈소스 비즈니스#사이트 구축]] ==NFS== ===NFS Server=== yum -y install nfs-utils nfs-utils-* chkconfig --level 3 nfs on chkconfig --level 3 portmap on service nfs restart groupadd -g 60001 nfsgroup useradd -u 60001 -d /home/nfsuser -m -g nfsgroup nfsuser mkdir /data chown nfsuser:nfsgroup /data chmod 755 /data vi /etc/exports /nfsdisk 203.231.11.201(rw,no_root_squash,sync) exportfs -a exportfs -v service nfs restart ===NFS Client=== groupadd -g 60001 nfsgroup useradd -u 60001 -d /home/nfsuser -m -g nfsgroup nfsuser mkdir /data mount 203.231.11.100:/data /data //--- 오류 : mount: wrong fs type, bad option, bad superblock on 시 아래 설치 yum install nfs-utils chkconfig --level 2345 rpcbind on service rpcbind start vi /etc/fstab 172.27.177.10:/data /data nfs defaults 1 2 ===Mount=== mount 10.16.31.200:/cloudnas /cloudnas ==MySQL Data folder 변경== *vi /etc/my.cnf datadir=/data/mysql */var/lib/mysql/ 폴더를 /data/mysql/로 복사 :*/data/mysql/ 폴더에 있는 ib* 파일을 모두 삭제 합니다. *vi /etc/init.d/mysqld get_mysql_option mysqld datadir "/data/mysql" ==MySQL Replication== *참고 문헌 :*http://wiki.kldp.org/wiki.php/MySQL%B8%AE%C7%C3%B8%AE%C4%C9%C0%CC%BC%C7 ===Master=== *Slave에서 Master로 접속할 때 사용할 사용자를 생성 합니다. mysql -uroot -p grant replication slave on *.* to 'replication003'@'%' identified by 'xxxx'; flush privileges; *vi /etc/my.cnf [mysqld] log-bin=mysql-bin server-id=1 //--- binlog_do_db = test1 : 동기화할 Database //--- binlog_ignore_db = notest1 : 동기화에서 제외할 Database *service mysqld restart *데이터 Backup mysql -uroot -p flush tables with read lock; show master status; : File과 Position을 저장 합니다. mysqldump -uroot -p test1 > test1.sql ###mysqldump --single-transaction --all-databases --extended-insert=FALSE -c -uroot -p -R > db.sql mysql -uroot -p unlock tables; ---- *Master 상태 확인 mysql -uroot -p show master status; show processlist; ===Slave=== *vi /etc/my.cnf [mysqld] log-bin=mysql-bin log-slave-update server-id=2 master-host=clouddb001.smartprocess.co.kr master-port = 3306 master-user = replication master-password = xxxx master-connect-retry = 60 //--- replicate-do-db = test1 //--- replicate-ignore-db = notest1 *service mysqld restart *데이터 Restore mysql -uroot -p slave stop mysql -uroot -p test1 < test1.sql ### mysql -uroot -p < db.sql ### rsync -av /var/lib/mysql* --exclude=*bin* --exclude=ib* --rsh='ssh ' 211.115.69.112:/var/lib/mysql mysql -uroot -p ###reset slave; ###CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000219',MASTER_LOG_POS=2428; //--- change master to master_log_file = '~', master_log_pos = ~; slave start ---- *Slave 상태 확인 mysql -uroot -p show master status show slave status; show slave status\G ; //--- "Waiting for master to send event" 메시지가 있으면 정상 show processlist; //--- slave start //--- change master to master_log_file = '~', master_log_pos = ~; //--- slave stop *Slave에서 백업을 할 경우 mysqldump -uuser -p --delete-master-logs > xxxxxx.sql ==Dual Master== *Master Server 1 :*mysql -uroot -p mysql grant replication slave on *.* to 'replication003'@'%' identified by '~'; :*vi /etc/my.cnf log-bin=mysql-bin server-id=4 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host=clouddb003.smartprocess.co.kr master-port = 3306 master-user = replication004 master-password = ~ master-connect-retry = 60 *Master Server 2 :*mysql -uroot -p mysql grant replication slave on *.* to 'replication004'@'%' identified by '~'; :*vi /etc/my.cnf log-bin=mysql-bin server-id=4 replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 2 master-host=clouddb003.smartprocess.co.kr master-port = 3306 master-user = replication003 master-password = ~ master-connect-retry = 60 *참고 문헌 :*http://repository.egloos.com/m/5473730 ==MySQL Replication 복구== ===Replication 상태 확인=== *Master mysql -uroot -p mysql show master status; ###--- File, Position *Slave mysql -uroot -p mysql show slave status\G; :*Slave_IO_State : "Waiting for master to send event" :*Master_Log_File : Master의 File과 일치 :*Read_Master_Log_Pos : Master Position과 일치 :*Slave_IO_Running : Yes :*Slave_SQL_Running : Yes :*Relay_Log_Pos 과 Relay_Log_Space 이 일치 :*Read_Master_Log_Pos 과 Exec_Master_Log_Pos 이 일치 :*Last_Errno와 Last_Error가 있으면 replication이 중단된 상태임 ===자동 복구=== *Slave mysql -uroot -p mysql stop slave; reset slave; start slave; *Slave : 오류가 발생한 query문만 skip하여 복구 mysql -uroot -p mysql set global sql_slave_skip_counter=1; start slave; ===전형적인 복구 방법=== *Master에서 Database 백업 mysql -uroot -p mysql flush tables with read lock; show master status; ### File과 Position을 저장 합니다. exit; ###--- 전체 DB 백업 mysqldump --single-transaction --all-databases --extended-insert=FALSE -c -uroot -p -R > allDB.sql ###--- 하나의 DB 백업 mysqldump -uroot -p ${DATABASE} > ${DATABASE}.sql ###--- 전체 DB 파일 백업 ### rsync -av /usr/local/mysql/* --exclude=*bin* --exclude=ib* --exclude=xewasdb* --exclude=relay* --exclude=master.info ***.***.***.***(Host IP)::R/usr/local/mysql/mysql_data/ mysqldump --master-data=2 ${DATABASE} > ${DATABASE}.sql ### mysqldump --add-drop-table --master-data --quick -u root -p my_database > my_database.sql mysql -uroot -p mysql unlock tables; exit; *Slave에서 Database 복구 mysql -uroot -p mysql stop slave; drop database ${DATABASE}; create database ${DATABASE}; exit; mysql -uroot -p ${DATABASE} < ${DATABASE}.sql mysql -uroot -p mysql change master to master_log_file='mysql-bin.000044', master_log_pos=132059667; start slave; show slave status\G; ### Slave_IO_Running: Yes ### Slave_SQL_Running: Yes ### Last_Errno ### Last_Error exit; ===MySQL Replication 복구 참고=== *http://blog.naver.com/PostView.nhn?blogId=groge&logNo=70129401102 *http://ryujeen.tistory.com/entry/MySQL-Replication-%EC%9E%A5%EC%95%A0-%EB%B0%9C%EC%83%9D-%EB%B0%8F-%EB%B3%B5%EA%B5%AC-%EB%B0%A9%EB%B2%95 *http://blog.naver.com/PostView.nhn?blogId=sylphjm&logNo=130134770882 ==Apache SSL 설정== *vi /etc/httpd/conf/httpd.conf DocumentRoot "/~/www/html" *yum install mod_ssl *vi /etc/httpd/conf.d/ssl.conf ServerName cloud.smartprocess.co.kr:443 SSLCertificateFile STAR.smartprocess.co.kr.cer SSLCertificateKeyFile smartprocess_ssl.key SSLCertificateChainFile Thawte_SSL_CA_bundle.crt *Apache 실행시 비밀번호 물어보는 것 삭제 cp smartprocess_ssl.key smartprocess_ssl.key_org openssl rsa -in smartprocess_ssl.key_org -out smartprocess_ssl.key ==Monitoring과 Turning== [[튜닝#Monitoring]] ==UCloud 오류 및 조치== ===이미지로 서버 추가시 주의 사항=== *vi /etc/fstab 에서 서버에 mount한 디스크에 대한 정보를 삭제한 후에 이미지를 생성하여 합니다. :*그렇지 않으면 추가된 서버가 정상적으로 UCloud에서 인식이 안되어 부팅 또는 Network 설정을 할 수 없음 ### dev/DataVG/data /data ext3 defaults 1 2 == KT UCloud 관리자 가이드 == === 서버 신청 === [[File:UCloud get server001.png|700px]]<br/> [[File:UCloud get server002.png|700px]]<br/> [[File:UCloud get server003.png|700px]]<br/> == 참고 문헌 == *[http://developer.ucloudbiz.olleh.com/ http://developer.ucloudbiz.olleh.com/] [[Category:Cloud|Category:Cloud]]<br/>[[Category:CentOS|Category:CentOS]]
UCloud
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보