Archive for the 'Unfix' Category

정태영

젠투에서 아파치 1.3.x 를 제외시킨 뒤 업데이트에 큰 불편을 느끼고 있는 이유로 추석맞이 apache upgrade 를 준비 중에 있습니다. (사실 mod_fastcgi 도 gentoo 에서 더 이상 유지되지 않고 있습니다.)

unfix 에서 사용 중인 apache 에는 제 mod_autoindex 핵과 mod_highlight 등을 사용하고 있는데, mod_highlight 는 한동안 disable 되더라도 별다른 문제가 없을 것 같고 mod_autoindex 관련 hack 만 아파치 2.2.x 에 맞게 포팅하면 될 것 같습니다.

헛! 근데 apache 2.2.6 소스를 열어보니 Charset 관련된 코드가 있네요. 하지만 다른 곳에 이미 설치되어 있는 apache-2.2.2 를 가지고 테스트를 해보니 옵션을 찾지 못합니다. httpd 문서에서도 관련 옵션을 찾아볼 수가 없구요. 이상한 마음에 Change Log 를 뒤져보니 2.2.6 에서 추가된 기능이네요. :)

2.0.23 부터 HTMLTable 이란 옵션을 통해 Table 로 파일 리스트를 뿌려줄 수 있고, IndexStyleSheet 를 이용하면 css 지정까지 가능하니, table 에 클래스만 지정해주면 거의 문제 없이 apache 2.2 트리로 옮겨갈 수 있겠네요. -_-; 이럴 줄 알았으면 진즉에 업데이트를 할 걸 -_ㅜ;;

정태영

미리들 살짝씩 얘기를 해놨던 것이지만 하여튼!! 그냥 말없이 있다가 또 흐지부지 될 것 같아서 공지합니다.

시간: 2007/05/05 6:30 PM (토요일)
장소: 강남역
회비: 만오천원 + 배보다큰배꼽

오랫만에 가볍게 술 한 잔씩 해요~ 연락처는 다들 알 것 같아서 스킵;

현재까지 강남 4 표, 신천 1 표, 신촌/홍대 3표… 투표결과에 상관없이 홍대에서 하고 싶지만 -_ㅜ 어쩔 수 없기 강남으로… 다들 토요일에 봐요~

p.s) 다들 언픽스 게시판은 잘 안보는 것 같아서 -_-; 그냥 여기다가… 혹시나 언픽스 유져분이 아니시더라도 웹에 관심이 있으시고 (사실 요 앞에껀 그리 중요하지 않습니다.) 음주가무를 사랑하시는 분이라면 같이 놀아요오오오~

정태영

며칠 전에도 써놨듯이 제 서버가 메모리 부족으로 다운되는 일이 몇 번 있었습니다. ps 로 확인해봐도 그렇게 심하게 메모리를 사용하는 프로세스가 없었음에도 불구하고 스왑 사용량은 점점 늘어나는 모습을 보니 분명 어딘가에서 메모리 릭이 일어나고 있는 것 같은데…

하지만 어떤 애플리케이션에서 메모리 릭이 일어나는지 확신을 할 수 없었기에 메모리를 많이 사용할 것 같은 프로세스를 하나씩 종료시켜보기로 했습니다. 우선 mysql 는 아니군요. apache 를 재시작해봐도 스왑 사용량에는 큰 차이가 보이지 않고…

흠? 근데 이상하게도 아파치를 중지시킨 후에도 수많은 ruby 스크립트들 죽지 않고 살아있는 것이 보였습니다. kill 시그널을 날려도 죽지도 않는군요. -_-; killall -9 을 이용해서 ruby 스크립트들을 모두 죽여보았더니 허걱!! 2GB 가까이 사용하고 있던 스왑 사용량이 10MB 로 떨어졌습니다. 메모리 사용량도 1.5GB 에서 700MB 정도로 떨어지는 걸 보니 2GB가 넘는 메모리를 rails application 에서 점유하고 있었던 모양이네요.

ruby 와 rails 쪽에서 메모리 릭이 해결되는 것이 가장 확실한 해결책이겠지만, 우선은 cron 등을 이용해서 하루에 한 번정도씩 rails application 들을 전부 죽여버리는게 필요하지 않을까 싶습니다.

지난 몇 주간 서버문제 때문에 좀 골치가 아펐는데 원인등을 알고나니 좀 걱정을 덜었습니다. -_-;

p.s) 결국 /etc/cron.daily 에다가 killruby 란 이름으로 /usr/bin/killall ruby 를 실행시키는 스크립트를 넣어버렸다. -_-;

정태영

요근래 ruby 때문인지 서버의 메모리 사용량이 급증하면서 스왑을 꽤 쓰고 있는 모습이 지속되고 있습니다. 메모리 부족으로 usr 파티션이 마운트 해제되는 일도 몇 번 있었습니다. 메모리를 추가로 구입할까 하고 보니 LPtype ecc/reg sdram 가격이 너무 비싸네요. 이럴 줄 알았으면 처음부터 메모리를 한 3기가 정도로 만들어서 넣을걸 하는 후회가 됩니다.

뭐 하여튼 이 서버를 중고로 구입한게 2004년 1월이었으니 3년 넘게 큰 문제 없이 잘 돌아주고 있어서 고맙긴 하지만 이제 슬슬 업그레이드를 고려해봐야 할 시기가 아닌가 싶습니다. 그래서 중고 서버 판매 사이트들을 찾아보고 있는데 uniwide 제품으로 60~70 쯤이면 xeon 2.4 *2, 4GB memory, 72GB scsi hdd 정도 사양 제품을 구입할 수 있을 것 같습니다.

그리고 새제품으로도 140정도면 쿼드코어 1.6ghz, 1GB ecc/reg pc5300 fbdimm, 72GB scsi hdd 정도 제품도 구입이 가능한 것 같은데 이건 메모리 값이 비싸니 -_-; 메모리도 추가하고 하면 170~180 이 필요하겠네요. 아악 너무 비싸!!

하여튼 지금 당장 업글하려는 건 아니니까 한 100만원 정도 내에서 괜찮은 제품이 없나 살살 알아봐야겠네요.

p.s) 혹시나 회사에서 싸게 서버를 처분하려는 움직임이 있으면 연락좀 해주세요. ㅠ0ㅠ 그나저나 dslr 도 지르고 싶고 지르고 싶은거 투성인데 흑흑

정태영

apache2 가 안정화 단계에 들어간지 벌써 수 년이 흐른 것 같다. 내가 처음 언픽스를 만들 때만 해도 apache2 와 php 의 조합에서 생기는 여러가지 문제들을 찾아볼 수 있었기 때문에 난 apache 1.3 버젼대를 선택했고 별다른 문제가 없었던 고로 apache2 로 업데이트해야할 이유를 찾지 못하고 있었다.

어느샌가 gentoo 팀에서 mod_fastcgi 를 portage 에서 제거해버렸고, (사실 mod_fastcgi 는 업데이트가 안 된지 상당한 기간이 흐르긴 했다.) mod_webdev, mod_fcgid 등은 apache-2 전용이라 사용할 수 없었기 때문에 apache-2 로의 업데이트를 고려해봐야겠다는 생각이 들었다.

그치만 내가 사용하는 mod_autoindex hack 의 경우 apache-1.3 용 패치만을 제작해두었기 때문에 apache-2 로 업데이트를 하기 위해서는 mod_autoindex 를 새로 해킹해야할 상황!!

apache-2 용 mod_autoindex hack 을 제작할 테스트 머신이 있기는 하지만 요새들어 코드 작업이 그다지 잘 잡히지 않는데 고민이다. -_-;; 업데이트를 하고 나면 svn+webdav 조합도 사용이 가능해지고 뭐 이래저래 좋아질 거 같기는 한데…

정태영

요새 아파치가 제 속을 썩이고 있습니다. 아무 로그도 남기지 않고 아파치가 먹통이 되는 일이 간간히 있었는데 왜 그런건지 알 수가 없으니 조치를 취하는게 쉽지가 않네요.

하여튼 원인을 알 수 없는고로! 차선책으로 apache watchdog 스크립트를 만들어 넣었습니다.

BASH:
  1. #!/bin/sh
  2.  
  3. TEST_URL="http://unfix.net/test.html"
  4.  
  5. while [[ `/usr/bin/curl -m 5 -s ${TEST_URL}` != "working" ]];do
  6.     /etc/init.d/apache restart
  7.     sleep 3
  8. done

대략 위와 같은 코드를 사용했는데 아파치를 죽여놓은 후 스크립트를 실행시킬 경우 정상적으로 아파치를 실행시키는 것으로 보아 잘 작동하는 것 같습니다. 휴~

그래도 한 몇일은 좀 신경써서 지켜봐야겠습니다.

정태영

그저께 커널을 최신 버젼으로 업데이트 한 이후 filesystem 관련된 큰 문제가 발생했습니다. 갑자기 home 디렉토리 관련해서 i/o 에러를 내버리면서 home 디렉토리 아래 있는 파일들을 접근할 수 없는문제였는데요. 알고보니 xfs 버그였습니다.

linux-2.6.17~2.6.17.6 까지 존재하던 버그로 linux-2.6.17.7 에서 관련된 문제가 해결되었다고 하는데, 2.6.17.2 를 사용하다 2.6.17.8 버젼으로 업데이트를 하면서 그 버그가 문제를 일으킨 것으로 보입니다. 하여튼 관련된 문제를 겪게 되면 아래와 같은 커널 로그를 볼 수 있습니다. (그 아래로 관련된 내용이 주루룩 나옵니다.)

Show »

우선 home 디렉토리를 자동 마운트 하지 않도록 한 상태로 리부팅 한 다음 xfs_repair /dev/sda7 커맨드를 통해 문제가 있는 부분을 고쳐놓았는데 문제가 해결되었는지는 몇 일 지나봐야 알겠군요.

linux 커널 버그로 이렇게 심각한 문제를 겪어보긴 처음이라 완전 당황스럽네요.

http://bugzilla.kernel.org/show_bug.cgi?id=6757

p.s) 2.7.17.2 버젼으로 서비스를 나름 꽤 오래한 거 같은데... var 파티션에서도 문제를 일으키면 어쩔 수 없이 gentoo live cd 를 가지고 IDC 에 한 번 방문을 해야할 지도 모르겠군요. ㅠ_ㅠ

작업 의뢰에다가 gentoo live CD 로 부팅해서 sda2,3,6,7 에 대해 xfs_repair 를 해달라고 하면 해줄지... -_-!

11/20 - 10:00 우선 12시간을 무사히 넘겼습니다.
11/21 - 00:00 26시간 동안 아무 문제가 없네요. 우선은 안심해도 될 듯 ;)
11/21 - 23:30 48시간을 넘겼지만 역시 아직까지도 문제가 없습니다. 이제 저 문제는 잊어버려도 될 듯 -_-!