Skills/System 2017. 4. 3. 17:44

흥미있는 버그를 발견했다.. 물론 알려진 버그인데,

분석하는 과정을 개인적으로 업데이트하고 공유한다.

이슈는 엑사데이타에서 사용하는 UEK2 (2.6.39-400.264.1) 커널의 crash 이다.

이는 사실상 Async/Direct IO 상태로 사용시 ext4 의 io end 처리 구조체 및 펑션에서

더블프리가 될 수 있는 버그로 알려져있으며 패치가 나와있다.

Fixed -> UEK2 2.6.39-400.277.1


posted by mirr

댓글을 달아 주세요

Skills/System 2016. 12. 1. 11:06

KSpliceOracle 에서 인수한 Live patching 솔루션이다.

현재 RHEL 의 Kpatch 나 Suse 의 KGraf 가 비슷한 역할을 하고 있지만,

오라클에서 KSPlice 를 인수함으로 인해 대체된 프로젝트들이고,

단연 KSplice 의 기능이나 편의성이 더 뛰어난 상태이다.

일전에 LWN 기사 중 Kernel Live patching 에 대한 번역글을 포스팅 했었는데,

기사중, Micro-conference 중 User-space Bootless patch 에 대한 문의가 있었고,

커널개발자들이기 때문에 모두들 그 부분을 무시하고 넘어갔었다고 전한 적 있다.

오라클은 2015년 부터 KSplice 의 User-Space Bootless patching 을 준비해 왔고,

2015년 Oracle Announce utube 에서 Larry Alison 회장의 소개가 진행된 적 있다.

User-space 패치 가능한 영역은, 물론, 보안에 관련된 패키지들에 한정된다.

어플리케이션 레벨은 패치 후 리부팅하면 그만이지 않나? 라고 생각하기 쉽지만,

의외로 많은 크고작은 기업들의 시스템 엔지니어들은 이 부분에 대해서

많은 머리숱이 고난을 받았었음을 기억해야 한다.

"네, 당신들이 신경안쓰고 있던 부분... 오라클이 합니다."

PS : 그래.. 광고성 성향이 강하고 오라클 빠돌이같은 느낌이 있지만,
     그렇다고 오라클 리눅스 쓰라는거 아냐..쓰지마, 안써도 돼...
     지금 고객들만으로도 난 충분하고 귀찮어... 더 안늘어나도 돼...
     일하기 싫단말야... 고객들따위는 개에게나 줘버................ 아, 내가 "개" 지 ㅠㅠ

posted by mirr

댓글을 달아 주세요

Skills/System 2015. 6. 20. 20:03

하도 짜증나서 쓰는 글이다.


SR 로 매번 열리는 것도 한계가 있고, 그런 반복되는 SR 따윈 하고싶지 않기에,


글로벌 굴지의 S 모그룹사에서 무한대로 쓰잘대기없이 파고드는 질문만 하는거


답변하기도 귀찮아서 글을 작성..


뭐 있든지 없든지 모르겠지만 일단 검색해도 잘 모르겠으니까 다들 물어보는거 아닐까?


Leap second ( 윤초 ) 라는 것은 일단 모든 시계는 사실상 아주 정확하게 기록되지 않는 다는 것을 기본 전제로,


원자시계와 현실시계가 1초이상 차이가 나게 될 경우, 그 1초를 더하거나 빼주어 보정하는 것을 의미한다.


올해 즉 2015년 6월 30일 (우리나라는 7월 1일) 에 발생하며, 양의 윤초다.


양의윤초는 뭥미? 에 대해서는 아래 나온다.


윤초시의 시간보정은 양의 윤초(+), 음의 윤초로(-) 나뉘어 지며 아래와 같다.


<양의윤초>

08:59:59.00201

08:59:59.20329

08:59.59.58291

08:59:59.89201

08:59:60.20392            <<<<< 60 초 라는 가상의 초가 삽입된다.

08:59.60.74829             <<<<<

09:00:00 


<음의윤초>

08:59:59.00201

08:59:59.20329

08:59.59.58291

08:59:59.89201

08:59:59.10392            <<<<< 59 초 가 다시 반복된다.

08:59.59.74829             <<<<<

09:00:00 


올해의 시간보정은 양의윤초의 타임테이블을 따르며, 시스템은 저렇게 시간을 표시하게 된다.


그럼 이 윤초는 단순한 시간보정인데 뭐가 이렇게 난리이냐?


이 윤초 적용을 통해 시간테이블이 늘어나면서 (쉽게 설명하자면) 커널 및 어플리케이션 일부의 Timer가


오동작하는 것이 실제 문제이다. 즉 Leap second effect 라고 하며, 두가지로 나뉠 수 있다.


바로 스템 전체에 가져오는 문제와 어플리케이션끼리의 시간동기화 실패 문제이다.


1. 커널의 경우 Jitters 라는 커널 timer 가 값을 잘못 갖게 되면서


Panic 또는 Rebooting 을 발생시킬 수 있다.


아래는 윤초 보정이 대비되지 않아 커널 Freezing 등을 발생시킬 수 있는 커널을 나열하였다 :

RHEL4/OL4 : 2.6.9-89 이전

RHEL5/OL5 : 2.6.18-164 이전

RHEL6/OL6 : 2.6.32-279.5.2 이전


즉 자신의 시스템이 해당되는 커널 보다 낮은 버젼을 사용하고 있다면,


100% 확률로 윤초 보정으로 인한 Freeze 또는 리부팅이 발생할 수 있다는 것이다.


이 사태를 해결하기 위해서는 각 플랫폼(OS version) 별로,


기술된 커널 버젼 이상의 버젼으로  업그레이드 해야 한다.


2. 두번째 문제인 어플리케이션의 시간이 동일하게 동작해야만 하는 서비스 차원의 문제이다.


이런 경우 NTP daemon 을 통해 우리는 시스템의 시간을 동기화 하고 있다.


다만 이 NTP 의 시간동기화 방식에는 절대적인 값을 그대로 Counting 하는 방법과,


NTP server 가 되는 동기화 대상 서버의 Timer 와의 시간을 1000 (또는 500) PPM 범위 안에서


Offset 기반으로 유지시켜 동기화를 시키는 방법인데,


Leap second 의 해결을 위해서는 Offset 기반으로 하는 SLEW 모드를 사용하여 NTP 를 동작시켜야 한다.


방법은 다음과 같다 (RHEL/OL 기준):


# vi /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"         <<<  -x option 추가.

# service ntpd restart


간단하게 이렇게 Slew 모드를 사용해 동작시키면 윤초 보정에 대한 걱정을 하지 않아도 된다.


하지만 RHEL6/OL6 의  ntp-4.2.6p5-1, ntp-4.2.6p5-2 버전을 사용시에는


Slew mode 로 동작하지 않는 버그가 있으므로, 그 이상의 NTP package 로 업데이트가 필요하다.


3. NTP 를 사용하지 않는 서버들의 경우에는 TZdata 라는 Timezone data 테이블을 업데이트 해주면 된다.


tzdata 라는 패키지를 통해 우리는 다른 모든 국가의 나라들을 쉽게 알 수 있고, 설정할 수 있다.


leapsecond 보정이 반영된 tzdata 의 버젼은 아래와 같다 :

tzdata-2015a-1


정리하자면, Leap second 보정으로 인해 발생할 수 있는 문제는 두가지로써,


커널의 Panic, Rebooting 과 어플리케이션들의 시간이 동기화되지 않는 문제이다.


1. 커널의 경우는 아래 조건들 이상의 커널로 업데이트가 필요하다 :

RHEL4/OL4 : 2.6.9-89 이상

RHEL5/OL5 : 2.6.18-164 이상

RHEL6/OL6 : 2.6.32-279.5.2 이상


2. NTP 를 사용하는 시스템의 경우 Slew mode 로 수행해야 하며,


ntpd daemon 을 -x 옵션과 함께 실행하면 해결된다.


다만 RHEL/OL 6 버젼에서 제공되는 ntp-4.2.6p5-1, ntp-4.2.6p5-2 이 두 버젼에서는


Slew mode 가 동작하지 않는 버그가 있으니 그 이상의 NTP 패키지로 업그레이드 한다.


3. NTP 를 사용하지 않는 시스템의 경우, tzdatatzdata-2015a-1 이 후로 업그레이드 한다.


참고로 다음 표를 살펴 시스템에 대조해 보면 Leap seccond issue 에 Affected 된 시스템인지 쉽게 알 수 있다.


 

 Kernel

 NTP 사용

 NTP 사용 안함

 RHEL/OL 4

 2,6,9-89 이하

-x 옵션 없음

 tzdata-2015a-1 이하

 RHEL/OL 5

 2.6.18-164 이하

-x 옵션 없음

 tzdata-2015a-1 이하

 RHEL/OL 6

 2.6.32-279.5.2 이하

ntp-4.2.6p5-1

ntp-4.2.6p5-2

 tzdata-2015a-1 이하

 RHEL/OL 7

 해당없음

-x 옵션 없음

 tzdata-2015a-1 이하

 UEK 사용시

 해당없음

-x 옵션 없음

 tzdata-2015a-1 이하






posted by mirr

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply mangrove

    음의 윤초 틀렸어요.

    58초에서 바로 00으로 넘어가는 것이 음의 윤초에요.

    https://en.wikipedia.org/wiki/Leap_second

    2016.10.28 14:41
    •  Addr  Edit/Del Favicon of https://seblog.mirr4u.com BlogIcon mirr

      네, 정의적으로는 그렇지만, 실제 tzdata 의 타임테이블을 보면 전부 삽입형싱으로 구현되었구요, 이걸 59초를 넣는지 60초 이후 한테이블을 더 넣는지 로 구분해서 구현되었더라구여.. 실제 데이타를 바탕으로 이어기 한거에요...

      2016.10.28 19:10 신고

Skills/System 2014. 1. 6. 14:17

자 막간을 이용해 간만에 kernel core dump 분석 들어간다...

사실 요즘 대박대박 대박사건으로 여러 사이트에서 터지고 있는 문제라,

뭐 보안이 필요한 부분인것도 아니고, patch 가 어차피 나와있으므로
( kspice 를 이용한 hot fix 이긴 하지만..)

과감하게 공개해 본다....



현재 Fixed kernel 버젼은 V2.6.32-400.34.1 이며, 아직 QA/Release ready 이다.

어렵다.. 아무튼, 해당 패치는 나와 있는 상태이지만, 릴리즈 된 각 커널마다,
또한 장비상황등등 마다 재발 가능성은 언제든지 있는 부분이기 때문에,
최신 official released kernel 로 업데이트 한후, ksplice 를 통한
추가적인 hot fix 를 적용해야 한다는 점!


ksplice 를 이용하면 커널에 대한 official release 가 나와있지 않은 상태에서,
리붓 없이 수정된 kernel space 로 교체, 사용이 가능하다.. 쯔앙!


끝. 짧고 간단하며, 일이 있는 상태에서도 이정도 글은 뭐.. 가능하다 ㅠㅠ
비슷한 이슈 보이는 Oracle Linux UEK 커널 사용자는 업데이트 꼭 하도록 하자.


2012/01/01 - [Skills/mY Technutz] - Kernel Dump Analysis #10


posted by mirr

댓글을 달아 주세요

Skills/System 2012. 3. 22. 23:45
LWN 이번주 Weekly 와 18일자 Daily New 에 등장한 Flame Graphs 라는

프로그램등의 성능카운터들을 일목요연하게...라기보다 아주 화려하고 롹기운충만하게

SVG (Scalable Vector Graphics) 로 만들어주는 독특한 툴을 소개하도록 하겠다.


어떤 프로그램들이든, 서비스를 하게 되는 위치에 도달하게 되면, 반드시 부딪히게 되는

성능문제라는 폭풍과 절망의 벽이 있기 마련이다.

이 과정은 항상 어렵고 몸과 마음을 피폐하게 만들기까지도 하여 멘탈붕괴를 부르는

치명적이면서도 피할 수 없는 과정이기도 하다.

"Performance Engineer" 라는 지옥의 던젼을 스스로 찾아다니며 각종 디먼들을

물리치고, 미로를 풀어 지도를 만들고, 얻어지는 각종 금은보화들을 공유하고자 하는

이런 Fighting 넘치는 존재들이야말로, 도덕과 정의, 그리고 약자에 대한 배려가 사라진

IT 중간계에 새로운 희망을 자라게 할 정화의 불꽃 이 아닌가 싶다. (풉)

자! 이제 다 됐고... 핏자나 한조각 먹고 쉬어야지!!!

PS : 디버깅이랑 성능카운터 정말 어렵다.. 특히 Dtrace 완전 쩔어 ㅠㅠ

PS2 : 글을 정리하는 마지막까지 아쉬운 SVG 업로드 불가의 이 충격...Tistory 미어..ㅠㅠ

posted by mirr

댓글을 달아 주세요

Skills/System 2012. 3. 20. 13:57
음.. 요즘 퇴사를 앞두고 있기에 .. 회사를 아주 내맘대로 널럴하게 다니고 있는중인데,
( 뭐 물론 위에서는 싫어하지만... )

Cgroup 이나 Tuned 를 이용한 시스템 튜닝에 대한 글을 쓰기에는,

아직 내공이 정갈하게 정련되지 못해서 간단하게 CPU frequency 를 이용한

단위 전력당 퍼포먼스를 높이기 위한 방법과 Green Computing 에 대해서

찌질하게나마 써보려고 한다....


문득, 예전 VMware 서버가상화를 하면서 들었던 말이 떠오른다.

"VMware 로 통합화된 서버의 뒤를 가보라. 가상화를 위해 얼마나 많은 Cpu 와, Power
그리고 각종 자원들이 멈추지 않고 힘들게 돌아가고 있는지 알 수 있을 것이다."

뭐 정확하게 기억하는건 아닌데 아무튼 또다른 친환경의 정책으로도 사용되는

서버 가상화에 대한 자원효율에 대한 글귀인데,

서버 가상화가 아무리 발달되었다고 해도, 실로 어마어마한 쿼리와 요청들을 다 해결하기엔

아직도 적지않은 물리적 자원이 들어가는 것이 현실이고,

아카마이나 페이스북, 구글 등의 공룡 포탈들은 노드를 늘려가며 운영하는 방식을

고수하고 있다는 것을 고려해 보았을때, 전력사용량에 대한 튜닝이 왜 Green Computing 에

중요한 역할을 한다고 주장하는 것을 이해하기 바란다.

말로만 하는 저전력, 그린아이티보다 이렇게 직접 전원과 CPU 간의 관계를 파해쳐 보고,

실제 자신의 사이트에도 적용해서 테스트 해보는 그런 자세가 필요하다 생각한다.

PS... 혹시 익스플로어에선 그림 안보이나!!!???? 파폭에서는 잘보이는데...
posted by mirr

댓글을 달아 주세요

Skills/System 2012. 2. 23. 15:14
RHEL 5 update 8 버젼이 엊그제 나왔다.

사실 난 릴리즈되기 저녁부터 Count 하고 있었는데,

RHEL BP 등 채널사에 있는 사람들도 나온지 하루만에 아는경우도 더러 있더군..풉.

그래서 그냥 달라진 점 살짜쿵 정리해 본다. 뭐 릴리즈노트에 있는거다 어차피.
(귀차니즘이 심한 Redhat 채널사들을 위하여 정리해본다 ㅋㅋㅋ)

추가적으로 5.7 이 나온지 얼마 되지도않아  5.8 이 나온 것에 대한

Risk report 또한 살짜쿵 정리 및 원본링크 하겠다.



세상에 오로지 RedHat 밖에 리눅스 배포판을 만들어 낼 수도 없는것이며,

영원한 1위또한 있을 수 없는 일이다. (Avatar 도 죽긴 한다. 결국 Immortal 아니면..)

채널사에 있으면 재밌는 것들은 많이 있겠지만, 대부분 게을러 터져서말이지..ㅠㅠ
(사실 개인적으로 리눅스를 직접적으로 지원하며 다룬다는 부분이 마냥 부럽 ㅠㅠ)

사실 구지 RHEL 아니어도 Enterprise Linux 는 많다. ()()(먼산~)

posted by mirr

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply

    비밀댓글입니다

    2012.03.15 14:48

Skills/System 2011. 7. 18. 00:18
이건 IRC 에서 jjun 님이 근무하는 연구소에서 사용한다는 RHEL Clone 배포본이다.

무료로도 풀려있고 따로 기술지원도 싼가격에 제공하는것 같다.

일단 Web GUI 를 통해 시스템의 전반적 관리가 가능하다는 점에 혹하여서

급 설치해서 간단하게 살펴보았다.



사실 외국에서는 FrameOS 나 Scientific Linux (SL) 이 인기가 있긴 한데,

CentOS 의 6버젼 릴리즈가 늦어지면서 생겨난 결과이기도 하고,

이 배포본의 경우, 연구소나 가상화나 클라우드 환경에서 리눅스에 익숙하지 않은

연구원이나 관리자를 위해 간편하게 사용 할 수 있도록 되있다는점이 흥미로웠다.

RHEL 5.5 기반이니 KVM 에 대한 VirtIO 지원도 잘되었었고 (KVM 에 설치했음.)

확실히 아까말했던 환경에서는 꽤나 인기있게 잘 쓰일것 같다.

다운로드 받는 속도가 완전 최악이라 짜증났긴했으나 관리 자체의 심플함에 깜짝놀랬다능..

이런거 한글화해서 사용해도 괜춤하겠어~ (나야 콘솔짓이 훨씬 빠르고 편하지만)

(커피맛있당 운영진 MT 갔다와서 피곤한데 역시나 이런짓을 하고 있는 나란 색히... ㅠㅠ)

PS : ClearOS 사이트 ( http://www.clearcenter.com/ )
posted by mirr

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply Favicon of http://bathroom-windows.net/types-of-materials-used-for-bathroom-curtains-for-.. BlogIcon Types of materials used for bathroom curtains for small windows

    나는 정확하게 정말 다시 한번 감사 드리고 싶었어요. 난 전체 방법의 부재에서 수행한 수도있는 일들이 당신이 그 분야에 관한 공개하여 특정 아니에요. 이전에도 불구하고 그것은 저를 기쁨과 눈물로 만든이 치료 숙련된 전술을 고려, 제 의견에있는 비참한 상황했습니다. 나는뿐만 아니라 당신은 정말 항상 모든 웹 사이트를 통해 오늘날 지시 사람들을 달성 어떤 놀라운 일을 알고 생각으로 지원을 감사하고 있어요. 가장가능성 당신은 우리 모두가 발생 적이 없다.

    2011.08.01 06:13

Skills/System 2011. 5. 25. 18:49
페도라 15 릴리즈 어제 완료. 다운로드 완료.

설치 전 무선랜 지원여부를 위해 릴리즈 노트를 보는중, 몇가지 관심있던 부분들을

살펴보게 되었다.

물론 더 많은것들이 바뀌었으니 릴리즈노트를 보고 필요한 부분은 참조하길 바라고,

난 여기서 딱 7개 항목만 본다.


일단 이렇게 살펴볼것이고 직접 설치하러고고슁~ 설치후기는... =3=333

PS : 참고로... 설치 제대로 안되면 못돌아올지도 모른다.............. ;P
 
posted by mirr

댓글을 달아 주세요

Skills/System 2011. 4. 1. 20:57
rsync 는 다들 알고 있을거라 생각하고...

rsync 나 tar 로 보통 백업을 할건데, 증분백업을 하기위해 tar 를 사용하기에는

너무 귀차니즘이 있다. (find 로 modify time 찾아내서 그파일들만 tar로 묶는등)

그렇다고 rsync 를 쓰자니 그 많은 옵션들 어떻게 써야하는지도 모르겠고,

백업된 파일과 오리지널 파일의 구분또한 Script 를 따로 이용하여 처리해줘야

백업이 정상적으로 갖추어 진다고 볼 수 있어 귀찮음이 있다.

요즘은 그래서 rsnapshot 과 rdiff-backup 을 많이 이용하고, 추천한다.

사실 몇년전 backup & recovery O'reilly 책에 수록된 적 있는데 검색해보니,

자료들이 얼마 없어서 잽싸게 포스팅하는거라능 ;)


오여사랑 홈플러스 장보러가기 전 기다리면서 후다닥 포스팅...

PS. 볼륨단위 백업은 squshfs 등을 이용하면 되긴 한데, 이건 나중에 :)
 
posted by mirr

댓글을 달아 주세요