전체 글 387

apache에서 file cache

사용자가 많이 몰려 이미지 등의 다운로드로 서버 부하가 우려될 경우잦은 변경이 없는 파일들에 대해 cache할 수 있도록 설정 할 수 있습니다.cache하는 시간(초단위)도 설정할 수 있으며,FileEtag옵션을 이용하여 파일의 MTIME, Size의 변경이 있을 경우엔 cache되어 있더라도다시 다운로드 받을 수 있도록 설정할 수 있습니다.(아래 예)다만, mod_headers.so 모듈의 load가 전제로 적용 가능한 옵션입니다. Header set Cache-Control "max-age=36000, public, must-revalidate" FileETag MTime Size LoadModule headers_module modules/mod_headers.so

SSL인증서 정상 설치 여부 확인

SSL인증서를 갱신 하였는데,제대로 갱신 인증서가 설치되었는지 확인코자 할 때 openssl을 이용하면 됩니다. 인증서를 갱신한 서버 telnet에서 아래와 같이 명령어 수행openssl s_client -connect 10.10.10.10:443 ip에 해당하는 서버에 설치 인증서가 화면에 출렵됩니다.신규 인증서와 동일한지 확인 인증서 맨 마지막 라인에Verify return code: 0 (ok)=> 출력되면 정상 Verify return code: 10 (certificate has expired)=> 만료된 인증서 상태 시 expired 출력됨

JBoss와 DB(RAC) 연결

Jboss와 RAC구성된 DB를 연결하며,load balance, fail-over등의 옵션을 주고 싶을 때 아래와 같은 내용을 해당 jdbc.xml에 삽입하면 됩니다.(port, ip 수정하기) jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.10)(PORT=****))(ADDRESS=(PROTOCOL=tcp)(HOST=10.10.10.10)(PORT=****)))(CONNECT_DATA=(SERVICE_NAME=******)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))))

Disable Weak SSL Cipher Suites in Tomcat/JBoss

약한 SSL 암호 스위트 지원 조치하는 방법은 다음과 같습니다. 1. 설정 파일 위치 Tomcat: \conf\server.xml JBOSS: \server\all\deploy\jbossweb.sar\server.xml SSL connector에 다음의 설정을 추가합니다. ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DE..

[syslog] JBD: barrier-based sync failed on xvda1-8 - disabling barriers

1. 에러 메시지: JBD: barrier-based sync failed on xvda1-8 - disabling barriers 2. 원인: - RedHat 이나 CentOS 등의 Linux 계열에서는 journaling 파일시스템을 사용하는데, 이 journaling 파일시스템 중 ext4 파일시스템에는 기본적으로 Write Barrier 라는 커널 매커니즘이 enable 되어 있음(barrier=1) - ext3 파일시스템은 Write Barrier 기능을 사용 가능하나, 기본 disable 되어 있어 위와 같은 메시지가 발생하지 않음 - Write Barrier 는 파일시스템의 메타데이터가 올바르게 기록되고 디스크에 제대로(심지어 디스크 전원이 나갈 지라도) 반영되게 하기 위한 커널 매커니즘 -..

postgresql 처리 순서도

Postgresql의 처리순서도에 대해 알아보도록 하겠습니다. SQL을 입력하고 나면, Parser 라는 곳에서 postgresql에 맞는 언어와 문법인지 확인 (참조하는 테이블의 권한 여부 및 오타, 문법 등을 확인) 문법 확인 후, 특별한 문제가 없으면 SQL을 어떻게 실행지 계획을 세우게 됨 계획 세우는 곳이 Planner 이다. (사전에 정리된 통계정보를 가지고 어떻게 실행하는 것이 최고의 실행인지를 계획하는 곳) 일반 개발자들이 무시하는 곳이기도 하지만, 일반 개발자는 Parser만 되면 OK 라고 한다. 계획을 세우고 나면, 데이터 저장소로 부터 데이터를 가지고 옴 물론 메모리에 있는 경우에는 메모리로 부터 가지고 오게 된다. 메모리의 예를 들어보면 똑같은 SQL을 처음 시작할 때와 2번째 실..

Linux에서 글씨 깨짐 현상 해결하기

1. 문제 개요 boot level에 따른 데몬 설정을 보려고,, chkconfig --list 를 한 순간..! 외계어가 나온다. 뭐가 on이고 뭐가 off 라는건지... 도무지 알 수 없음. [root@Server ~]# chkconfig --list abrt-ccpp 0:?댁젣 1:?댁젣 2:?댁젣 3:?쒖꽦 4:?댁젣 5:?쒖꽦 6:?댁젣 abrt-oops 0:?댁젣 1:?댁젣 2:?댁젣 3:?쒖꽦 4:?댁젣 5:?쒖꽦 6:?댁젣 abrtd 0:?댁젣 1:?댁젣 2:?댁젣 3:?쒖꽦 4:?댁젣 5:?쒖꽦 6:?댁젣 acpid 0:?댁젣 1:?댁젣 2:?쒖꽦 3:?쒖꽦 4:?쒖꽦 5:?쒖꽦 6:?댁젣 atd 0:?댁젣 1:?댁젣 2:?댁젣 3:?댁젣 4:?쒖꽦 5:?쒖꽦 6:?댁젣 auditd 0:..

[Case-Study] NFS 설정 실패 원인 찾기

1. 문제개요 작업으로 인한 서버의 리부팅 이후 백업 시도를 했으나, NFS Server 및 NFS Client의 백업이 실패함. 백업 로그를 살펴 봤더니, NFS Server였던 호스트에 NFS 용 파일시스템 및 몇몇 파일시스템이 umount 되어 실패한 상황. [NFS-Server 백업로그] [Critical] From:VBDA@NFS-Server.cs11cipc.com "/data_nstep" Time: 2014-11-23오후 11:21:13 [81:52] /data_nstep Not a valid mount point => aborting. [Critical] From:VBDA@NFS-Server.cs11cipc.com "/data_icis" Time: 2014-11-23오후 11:21:28 [8..

MySQL 5.6 파티션 삭제시 Exchange Partition 기능 활용 방안

MySQL 5.6 파티션 삭제시 Exchange Partition 기능 활용 방안 [출처] 파티션 삭제시 Exchange Partition 기능 활용 방안 (in MySQL 5.6)|작성자 돌고래사육사 로그성 데이터를 파티션 테이블로 보관하는 경우가 많은데, 보관주기가 지난 파티션을 drop 하는 경우에 MySQL 에서는 전체 파티션에 테이블 락이 걸리는 문제가 있다. 물론 파티션의 물리적인 파일과 내부 메타 데이터 갱신 정도만 발생하기에 테이블 락 유지 시간이 길지는 않지만, 서비스 성격에 따라 문제가 되는 경우도 있다. MySQL 5.6 버전부터는 파티션 Exchange 기능이 지원되는데, 이 기능을 사용하면 테이블 락으로 인한 영향을 최소화하면서 파티션 삭제를 할 수 있다.테스트를 위해 하루에 32..

MySQL 5.6 Parallel Replication (slave_parallel_workers)

MySQL 5.6 Parallel Replication (slave_parallel_workers) [출처] MySQL 5.6 Parallel Replication (slave_parallel_workers)|작성자 돌고래사육사 MySQL Replication 구조는 Master에서 아무리 많은 쿼리를 처리하더라도 Slave가 Master의 처리량을 따라갈 수 없는 근본적인 문제를 가지고 있다.이는 Master에서는 다량의 세션에서 동시에 쿼리를 수행하지만 Slave는 항상 Single Thread로 복제를 처리하기 때문인데, MySQL 5.6 버전에서는 이런 부분들을 조금 완화할 수 있는 parallel slave 기능이 도입되었다. MySQL 5.6의 parallel slave는 database 단위..