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 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/가상화(Hypervisors) 2011. 5. 12. 16:36

...Virt-Manager 에서 OSType 과 Distro 종류를 꼭 선택해야하는지, 왜 두었는지
 

다들 별로 안궁금해하는가보다... python-virtinst 의 모듈에서 적용받는(?) 기능으로, 
 

OS 설치를 위한 이미지 및 커널들을 찾기위한 목적!!!
 

어차피 distro 기본이 none 으로 append 되긴 하는데
 

여기 파이선코드 보면 실제 지원하는 distrobute 들을 알 수 있다.


흥미롭지 않나? 어떤 배포본에서 게스트에대한 어떤 장치 지원이 되는지

이것들만 정리해도 충분히 파악 가능하다.

괜히 이것저것 바꿔 가면서 재부팅 할 필요는 우선적으로 제거된 것이다.

깨알팁은 추후에도 계속될지.............일단 To be Continue..
 
posted by mirr

댓글을 달아 주세요

Skills/System 2010. 5. 20. 04:04
우연찮게 트위터를 통해 준희과장 다리로 IBM zLinux 팀 박부장님과 연이 닿았다...

그리곤 우연찮게 System Z 에 RHEL6 를 올리는 기회를 얻게 되었다!!!!
(감사합니다 :] )

일단 처음 접해보는 x3270 에뮬레이터는 참으로 당황스러운 모습이였는데,

명령어를 전혀! 하나도 모르겠다는 것이였다!!!

박부장님이 올려주신 System Z 관련 문서들은 오로지 영어!

일단 z/VM 에 대한 개념에 대해서 잘 알지 못하고 있던 전혀 모르고 구경만 살짝 했던 터라

꼼꼼히 읽어보기 시작했는데...역시 가장 도움이 되었던 것은 "SLES on System Z" 와 "RedHAT Cookbook" !!

대량 CP 와 IPL 그리고 CSM 에 대해서 파악은 되었는데 대체 이 커맨드들을 어떻게 쎃야할지를 모르겠더란..

다행인 것은 이미 기존에 올라가 있는 SLES10 설치용 boot 이미지와 kernel, parameter 파일들의 내용이

매우 도움이 되었다는것...

하지만 이제부터 문제 시작...

첫번째 문제.. 일단 RHEL6 의 설치용 부트이미지와 커널이미지등을 업로드 시켜야 하는데,

ftp 를 통해 업로드 하려고 봤더니 용량이 부족하단다....

'안타깝지만 SLES관련 파일들을 지워야 할것 같은데.......rm? del? rem? remove? delete? 어찌지워?'

라는 고민만 몇시간째 했다..다행이 고객사인 P사 에 같이 지원하는 P시리즈 엔지니어분께서

IBM infomation Center 에 보면 Command Reference 등 잘 설명되어 있고 검색도 편하니 이용해 보라신다.

"오맙소사 완전 감사합니다." 하고 보니 정말 커맨드 레퍼런스가 쭉 있다....

속으로 쾌재를 외치며 'IPL CSM' 란 명령을 통해 z/VM 로 진입...'l' 명령을 통해 파일리스트 확인 후,

'erase SLES10 img', 'erase SLES10 parm', 'erase SLES10 initrd' 등을 순차적으로 입력하여

SLES 의 흔적들을 지워버린뒤, ftp 로 RHEL6 설치용 파일들을 다운받았다.

설치에 필요한 필수파일은 일단 'kernel.img', 'initrd.img', 'generic.prm' 파일..

여기서 난 실행 파일인 'redhat.exec'  파일을 같이 받았다.

이미 설치될 스토리지등은 할당이 되어있던 상황이기때문에, 바로 REDHAT EXEC 실행

이런 제길 안된다....

여기서 두번째 문제에 봉착!!!

답답한 마음에 집으로 달려와서 다시 해보았다...

한가지 놓친게 있었는데, 그것은 바로 ftp 를 통해 다운받을때 선택해야하는 모드... (박부장님 힌트)

parameter 파일의 경우 텍스트이기때문에 asc 로 받아야 정상적인게다...

'type generic.parm' 을 봤더니 텍스트가 다 깨져있었다....

부랴부랴 다시 받았으나 역시 설치모드로 들어가질 않는다...

다시 찬찬히 파라메터 파일과 실행파일을 뜯어본다...

아하...CSM 관련 컨피그파일이 있어야 수월하게 작성하겠구나... 라는 생각을 하게되었고,

RedHAT CookBook 의 컨피그파일을 참조하여 RHEL6.conf 파일을 만든다...

그리고 다음과 같이 파라메터 파일을 수정(추가) 해 준다.

'CSMCONFFILE=rhel6.conf vnc vncpassword=lnx4vm'

자 이제 다시 redhat.exec 실행이다.

몇가지 컨피그파일에서 빠져있는 부분들을 물어보며 (IP 등) 아주 스무쓰하게, 그리고도 아주 감탄스럽게도

리눅스 설치모드가 부팅된다.

여기서 ftp 및 cd 등 설치용 미디어를 설치해주고 설치진행될 언어를 선택해 주면

아나콘다가 뜬다!!! 이때부터는 vnc로 접속하면 된다 :)

그런데 또 한가지 문제!! vnc 가 뜨다가 중간에 죽는다... 콘솔에 뿌려지는 debug 관련 메시지..

아무래도 아나콘다 쪽 문제인것 같은데...그냥 원래 설치하던데로 텍스트로 설치하자

아까 파라메터 파일을 다시 열어 vnc 부분을 text 로 바꿔주면 간단하다.

쭈~~~욱 된다......지만 역시 중간에 또 debug 라고 뜨면서 98%정도에서 뻗었다.

selinux-policy-target 인가 뭔가 RPM 에서 멈췄다...

glibc 관련 에러를 뿜으며... 이건 분명히 아나콘다 문제야... 라고 생각하며 다시 반복...

설치 완료!!



이제 이걸로 뭐하지???

PS : 생전 처음 System Z 를 직접 만저보았다... 단순히 설치까지만이였지만 x3270 이라는 에뮬레이터를

직접 사용해본것도, Mainframe 의 z/VM 를 이용해 Linux 를 올려 볼 수 있던 것도, 왠지 지금처럼 지쳐있는

나에게 굉장한 활력이 되었던 것 같다.... 감사합니다 박부장님 :)

'Skills > System' 카테고리의 다른 글

z/VM 에서 Guest OS 로 콘솔(?) 접속하는법  (0) 2010.05.20
RHEL6 on System Z 사용기 (1)  (0) 2010.05.20
RHEL6 on System Z !!  (2) 2010.05.20
ABRT 의 크래쉬가 발생 될 경우...?  (0) 2010.05.08
Gnome-screensaver 2.28.3-1.fc12 Crash 문제..  (0) 2010.05.08
RHEL6 beta 변경점..  (0) 2010.04.24
posted by mirr

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply Favicon of http://www.zlinuxtoday.com BlogIcon jerryp

    저도 처음 시작할 때 아무도 알려주지 않아서 고생 엄청 했습죠. 근데, 사실 그게 좀 느린 것 같아도 기억엔 오래 남더군요. ㅋ

    조금 수정해보자면, z/OS는 z/VM으로 바꿔야할 것 같구요.
    CSM은 CMS로. ^^

    이제 시작입니다. 뭐 이것저것 올려서 만져보세요.
    웹서버도 돌려보시고. (아, 80포트가 막혀있구나. ㅋ)
    이건 담주에 요청을 한번 해보죠. ^^

    2010.05.20 13:33
    •  Addr  Edit/Del Favicon of http://mirr4u.textcube.com BlogIcon mirr

      아..CSM 어쩐지 뭔가 이상하다 했어요 :) 감사합니다. (꾸벅~)

      2010.05.20 14:23

Skills/가상화(Hypervisors) 2010. 4. 15. 17:51
음...어제 P모 연구소에 들어간 vSpher 4 의 update 1a 를 적용 시켜달라는 요청으로 들어가서 작업했다..

vmware 테스트를 많이 접해 볼 상황이 못되어 ( 맨날 P 모 사에 짱박혀있으므로 ㅎㅎ )

테스트좀 하고 들어가려고 했는데 그냥 바로 들어가게 되버렸다.. ㅠㅠ

혹시 몰라 CD 도 굽고, zip 파일로 되어있는 녀석도 들고 갔는데...

일단 zip 파일을 이용한 업데이트를 해보려고 USB 를 꼽고 적당한 디렉에 파일을 풀었다..

원래 Host Update Manager 라는 GUI 를 이용하여 vCenter 에서 호스트를 업데이트 하는걸

VMware 에서는 매뉴얼 화 하고 있지만, 난 리눅스 엔지니어 아닌가....

GUI 귀찮다..게다가 고객자리에서 해야하기때문에 부담시럽공 ( 테스트를 충분히 한게 아니라 ㅠㅠ )

그래서 콘솔에서 하기로 결정했다...

ESX 에서 지원하는 명령어 중에는 esxupdate 라는 명령어가 있다.

패치파일을 ( zip 파일 ) 적당한 디렉토리에 풀어 놓으면 다수의 드라이버(모듈) 등과

metadata.zip 이라는 파일이 생겨나는데, 이 메타데이타를 인자로 넣어주면 주루룩 진행이 된당!!

esxupdate metadata.zip -m update

우선 다운받은 패치가 정상적인지 확인을 위해서는 -m 뒤에 check 를 넣어주거나, info 를 넣어주면

정보가 나와 확인이 가능하다.

아주 재밌는건... VMware 의 서비스콘솔이 리눅스 그것도 레드햇이기때문에 모듈이나 대부분의 드라이버를

rpm 으로 업데이트 한다는것!!!!

결국 esxupdate 는 rpm 패키지를 업데이트 해주고 설정을 업데이트 해주는 일련의 스크립트와 같은 녀석..
(까보진 않았다 귀찮아서)

어쨋든 쭈루루룩 RPM 업데이트를 하고 나면 bootloader 셋팅을 해주는 쉘스크립트 등이 돌면서

리부팅하라고 뜬다!!!

여기서 중요한건 업데이트 하기전에 모든 VM 들을 VMotion 으로 다른 서버로 옮겨 놓든지,

Power off 를 시켜놓은 뒤, Maintanance 모드로 변경해 놔야 한다는 것이다.

만약 이게 안되있다면 업데이트 도중 (RPM 업데이트 특히 glibc) 메인터넌스모드로 해야 된다면서 중단된다

재밌지? 씨디 넣고 해도 결국 아나콘다가 뜨면서 진행해주기때문에 리눅스 업데이트와 동일하다고 보여진다.

뭐 윈도우 사용이 편한 사람이라면 HUM (Host Update Manager) 를 사용하는 것이 낫다고 하겠지만,

내가 생각하기엔 훨씬 빠르고, 간단하고, 직관적으로 업데이트 도중 생겨 나는 문제에 접근이 가능하다고 본다.

리부팅 하면 update 1a 이라고 기록이 되느냐?? 안된다. update 1a 는 사실 4.0.0 버젼의 마이너 업데이트로써,

릴리즈등의 변화는 없다... 다만 빌드번호가 바뀌는 것 같았다.

update 1a 에서는 Windows 7 지원이 원할하게 될 수 있다고 하긴 했는데, 나야 뭐 운영을 직접 하는건 아니니

모르겠고.....아무튼 결론은 리눅스를 잘 하는 엔지니어라면 VMware 역시 손쉽게 접근이 가능하고,

개념정리가 중요한 것이지, 실제 기술지원은 패러다임만 파악하면 충분히 가능하다는 결론...

RHEV 도 다시 파고들어 봐야하는데... ㅠㅠ

PS : esxupdate 이다... 잘못치면 sexupdate 라고 될 수 있으니 주의하도록 하자 ㅡ,.ㅡ:::

posted by mirr

댓글을 달아 주세요

Skills/System 2010. 3. 5. 01:14
본 글은 스스로에게 어디까지 기술력을 보유해야 한다고 생각하는 건지 자문하는 글로써,
정리되지 않던 글들은 다시 정리하여 공개합니다. 문제가 되는 부분들은 언제든지 얘기해 주십시오.

말 그대로, 시스템 엔지니어로써 갖춰야 할 기술력은 어느정도일까??

2월 3일부터 모 사이트에서 발생한 장애로 인하여, 2월 한달 내내 사람이 살듯 살고있지 못했다. ㅠㅠ

가상화 위에 올라가 있던 RHEL3 (kernel 2.4 smp - 16G) 시스템이 아무런 이유 없이 Hang up 에 빠진것.

우리측의 초기 대처는 일단 전반적인 시스템 메시지 및 로그를 살펴 보는 것..

메시지는 갑자기 파워오프된 서버들에서 흔히 볼 수 있게, 특별한 메시지 없이 뚝 떨어져 있다가,

restart 되는 것들만 있었고, sar 데이타 역시 특별한 이상유무를 찾을 수 없을 정도로

자원 상황은 원할한 상황이였다.
( 특별한 로그가 없이 죽으면 정말 난감할 수 밖에 없다 )

가상화 측 분석 요청도 한 상태였는데, 가상화측에서는 아무런 메시지가 남겨져 있는게 없다는 말...

결국 발칵 뒤집혀 지기 시작했다. OS 측의 문제인 것 아니냐는 식으로 몰려가기 시작한다.

sar 데이타는 디폴트 10분이기 때문에 물론 정확하지 않다는게 맞는 말이긴 하지만,

이 상황에서 장애 원인을 찾기란 힘든 상황이었다.

고객이 설정들을 직접 살펴본 결과, threads-max 커널파라메터가 다른 일반 서버들보다 낮게 설정되어

62327인가 라는 값으로 올려논 상태라고 하였고, 그 후로 모니터링 중이라고 하였다.

이차 분석을 하려고 방문 한 날, 고객측에서 테스트 (장애재현) 를 하게 되었고,

몇가지 간단한 시나리오를 바탕으로 테스트에 들어갔다.

주요 테스트는 단순한 Thread 생성 테스트를 통한 부하 테스트..
( sysrq 로그나 응용프로그램 로그등에 찍힌 fork(): not allocate memory 뭐 이런 로그로 인하여 )

테스트 프로그램을 실행 시키자, 순식간에 서버가 뻗는다.

아하 이거구나! 라고 생각한 전부는 threads-max 의 적절한 값을 정하지 못해서 그런것으로 판단,

R 사 에 문의 하기로 한다. ( 그상황에서 VMware 와 Diskdump 의 지원문제로 netdump 설정 함 )

간단한 R 사 의 답변은 SMP 커널의 경우 메모리가 어느정도이든,

프로세스나 스레드 생성을 위해서는 1G/3G 스플릿 모델에 의해 1G 영역에서 관리할 수 있게 되고,

소스상의 최대 생성가능 수는 32000 개로 정해져 있다는 것.

고로 이 시스템에선 1G / 8 * (8192/4096) = 14336 이라는 것. ( default threads-max 값 )

가상화 이전엔 Hugemem 이였던 시스템이였으나, VMware 의 hugemem 미지원으로 인해

smp 를 사용 하였다는 정보 추가. ( smp = Max 16G Ram ).

뭐, 결국 원점이 되버린건데, 장애의 원인은 결국 못찾았다는것이다.

그래서 다시 테스트를 해 보았고, 테스트 시점에서 netdump 와 sysrq 를 통해 core dump 를 받아

R 사 에 다시 문의 하였다.

R 사 에서 돌아오는 답변은 간략하게, 정확히 행업상태의 덤프가 아니라, 스냅샷식의 덤프라 의미가 없다는것.

분석 내용에서는 메모리가 부족하여 Hang-up 으로 보였을 뿐 Hang-up  은 아니라는 것이였다.

아차.. 그럴 수도 있었겠군... 그러나 몇일 뒤 다시 Hangup!! 게다가 netdump 문제로 not dump...

대략 여러가지 살펴보았고, 또다시 뜬 메모리 부족 및 fork 에러를 기반으로 다시 시나리오를 작성.

문제는 메모리할당이나 스레드 등등 이지 않을까 싶어 R 사 엔지니어 방문요청! 테스트를 해보았다. (와우~)

- 계속 -

posted by mirr

댓글을 달아 주세요

Skills/가상화(Hypervisors) 2010. 1. 12. 23:51
요즘 십이간지의 가장 으뜸이라고 으시대고당기는 존재가 있는 곳에 RHEV 가 나갔다는데,

결론부터 얘기하자면 KSM ( 메모리 오버커밋 ) 빼면 아직 특별한 강점은 없는 것이

가장 까칠하고 냉정한 결론인것 같다.

사실 VMware 와 비교하자면 기능적으로 구라만 가득차있다. ( 사실 VMware 도 구라삘 부분 꽤나 있... )

몇가지만 간단하게 짚어본다.

VMware 의 기능들부터 나열해보자면

* Virtual SMP
* VMware File System
* vStorage Thinprovisioning
* VMotion
* Storage VMotion
* vDRS
* vDPM
* vHA
* Fault Torrance
* vData Recovery
* Update Manager
* Host Profile
* vNetwork Distributed Switch

이렇게 있고, 위의 기능들중 FileSystem 과 Storage VMotion, Update Manager, Host Profile,

Distributed Switch, Fault Torrance, Data Recovery 기능이 RHEV 에서는 지원되고 있지 않다.

자, 그럼 일단 지원되는 기능들부터 비교해 본다.

vSMP 는 가상머신에 다중코어 CPU 를 할당하는 것이므로 큰 차이없이 잘 서로 지원한다.

Thin provisioning 은 가상화라면 당연하게 스토리지의 공간을 가상머신이 최소한으로 할당받아

절약하여 사용하고자 하는 기능이므로 기본으로 들고간다.

씬 프로비저닝의 기본은 가상머신의 디스크 이미지를 동적으로 만드는 것에서부터 시작된다.

이것은 COW ( Copy On Write ) 라는 기술로 가능해 졌다.

VMotion 이건 사실 예전 Xen Base 때부터 지원되던것으로 운영중인 ( Live ) 가상서버를 다른 물리서버로

운영중에 넘기는 것을 얘기하는 것으로 아주아주 잘된다. RHEV 에선 Live Migration 이라고 한다.

DRS 이것은 분산 자원 스케쥴러를 뜻하는 것으로 가상서버를 여러개로 묶어 크게 자원을 할당해 준뒤,

그 큰 자원의 욕조 ( Resouce Pool ) 의 정해져 있는 일정 룰에 의해 더 자원을 필요로 하는 가상머신에

자원을 할당해 주는 것은 기본, 전체 가상화서버가 자원 부족에 허덕일 경우 같은 클러스터 내부의

여유있는 다른 가상화서버로 가상머신을 넘겨 각 가상머신 (VM) 들이 자원 문제 없이 서비스를 할 수 있게

하는 기능이다. RHEV 에서는 뭐라고 하더라....System Scheduler 라고 했던것 같다..

라이브 마이그레이션이 기본적으로 가능한 상태여야지만 다른 Host 머신으로 옮겨줄 수 있다.

DPM 역시 분산 파워 메니지먼트로, 여러대의 가상Host 가 운영 중일 경우,

몇몇 VM 들이 특히 사용이 잘 안되는 시간대 ( 민원업무 및 사내업무 등 새벽시간때 혹은 아침출근때 등 )

에 한쪽의 Host 서버로 VM 들을 적절히 모아 최소 자원으로 구동하면서, 나머지 Host 서버의 전원을

중단시켜 전력량의 소비를 막는 시스템이다. RHEL 은 Power Saver 라고 할껄.

HA ( High Availity ) 이것은 기존 RHCS 에서 보여주는 HA 랑은 개념이 다르다.

사실상 이 HA 는 단순히 Host 서버 및 VM 이 죽었을 경우 왜 죽었는지는 몰르겠으나 일단 살려야 하므로

간단하게 셧다운된 Host 의 VM 들을 다른 Host 로 옮겨 Start 시켜주는 기능으로

단순히 VM 의 온/오프 기능만 담당하는 것이다. ( 이게 첨에 좀 헛갈리곤 한다 )

이렇게 지원되는 기능은 일단 전부 잘 되는 것 같다.

하지만 이제 짚어봐야 할 것은 없는 기능 및 실제 서버 콘솔리데이션 ( 통합 ) 과정 및 운영에서

사용되야할 필요 기능들이다.

1. File System 이 일반적인 Ext3 및 4 를 지원하게 되는 것은 약간의 문제를 발생시킨다.

VMware 에서 VMFS 가 특별하게 기능 ( feature ) 로 포함되는 이유는 그 특성이 대용량 이미지파일을

다루기 위해 개발된 것이라는 점에 있는데,

 VMFS 는 뭐 거창한건 아니고 단순히 파일시스템의 블럭 사이즈를 용도에 맞게 설정하여

파일시스템이 지원 가능한 최대 단일 파일 개수 및 사이즈를 확장시켜 준 것이다.

이것은 VM 들의 백업 및 디스크 생성, 복사, 이동 성능에 영향을 줄 수 있다.

RHEV 의 경우 디스크 이미지를 다른 서버 및 스토리지로 복사하기 위한 시간이 꽤나 많이 걸린다.

클론 등을 통한 이미지 생성시에도 시간이 걸린다.

아직 스토리지 라이브마이그레이션을 지원하지 않으나 생각해 둬야 하는 것이겠다.

2. 자, 스토리지 VMotion 은 무엇이냐? 말 그대로 스토리지 즉 VM 의 디스크이미지를 운영중에

살짜쿵 옮기는 것이다.

스토리지가 노후되었다. 아니면 이상하다. VM 을 다 옮겨야 한다. 다 끄자. 장난하냐?

몇일 걸린다... 장난하냐???

장비 빼고 납품 빼라는 소리... 충분히 가능하다.

그걸 극복하기 위한 방법이 스토리지 VMotion 이다. RHEV 에서는 지원 하지 않는다 아직.

스토리지는 이중화 하지 않는다는 것은 IT 관리자에게 치명적인 부분이 될 수도 있다는 것을 알아둬야 한다.

스토리지 용량이 많아질 수록 집접도에 성능이 뛰어난 스토리지를 사야하고 그럼 또 비싸지는 법이다.

중형 스토리지 이중화 하는게 훨씬 안전하고 I/O 성능을 골고루 분산시킬 수 있다.

업데이트 매니져 이것은 여러대의 VMware Host 서버를 관리하기 위한 도구이다.

3. Fault Torrance 이것은 진정한 고가용성을 위한 기능으로, Main VM 의 상태를 실시간으로

동일한 상태로 동기화 시킨 채로 StandBy 하고 있어, Active VM 이 장애시 StandBy 에서 서비스가

바로 재개되는 기능이다.

이것은 Vmotion, Storage Vmotion 기반으로 단순한 HA 의 온오프 관리 기능을 보완하는 장애복구 기능이다.

RHEV 에서는 아직 장애복구에 대해서 이정도로 고성능을 지원하지 않는다. ( ClustWare 이용 필요 )

4. Data Recovery 는 RHEV 에서 비스무리하게 지원되고 있긴 하다. 즉 스냅샷과 스케쥴링을 이용하는것인데,

약간 부족한 점이라고 치자면 de-duplication ( 중복제거 ) 기능과, 아무래도 Add-on 으로 작동되는

vDR 에 비해 관리적 측면에서 불편함이 있고, 실제로 스냅샷 복원 및 일정 선택이 원하는 대로 안된다.

즉 4일날과 11일날 스냅샷이 찍혀 백업되었다면, 4일날로 돌아간 뒤에는 11일것으로 돌아갈 수 없다고

알고있다 ㅡ,.ㅡ::

5. Update Manager 역시 지원되고 있지 않다.

RHEV 의 업데이트 버젼이 나오면 분명하게 재설치 해주어야지만 된다.

최소한 새로운 이미지를 넣고 리붓팅을 시켜 업그레이드 작업이 필요하다.

결국 그래서 Maintanance Mode 를 지원하고 있긴 하지만, 반드시 업데이트가 필요한 경우도 있을 것이다.

이 VMware 의 매니져는 Guest OS ( VM ) 들의 OS 패치까지 가능하다.

6. Host Profile 은 여러대의 가상서버를 손쉽게 Deployment 하기 위해 필요하다.

7. Distributed Switch 이것이 있으므로써 VMware 는 진정한 Infrastructure 의 모습에 완벽해 졌다.

데이타 센터에 들어가는 백본 및 상위레벨 Layer 의 네트워크 ( L4, L7 ) +처럼,

각 용도에따라 하나씩 생성되는 가상 스위치의 난무를 정리하는 식의, 여러대의 가상Host 서버의

네트워크를 관리 및 분산 할 수 있게 된 것이다.

RHEV 에서는 아직까지 단순한 네트워크 가상 스위치 레벨밖에 지원되지 않는다.

8. 기타 위에 나열한 제공하는 기능들 외에 RHEV 에서는 아직까지 오작동 하는 것들이 많다.

스토리지 의 성능문제에서부터 MSCS ( MicroSoft Cluster Suite ) 에 대한 지원까지

된다고하고선 안되고 있는게 문제랄까...

사실 위에 나열한 기능들중 일부와 문제점들은 2010 년 하반기에서나 ( Q3 ~ Q4 ) 개선된 버젼이

출시될 거라고 하는데, 벌써부터 팔아제끼면 Redhat 사이트에서 계산해주는 TCO & ROI 의 결과가

의심되는 일이 아닐까 싶다.. 엔지니어는 출장나갈때마다 땅파먹고, 사과만 하고 당겨야 한다는 건가?

KSM ( Kernel Memory Sharing ) 의 경우 역시 납득할만한 눈에띄는 모니터링 결과 리포트가

존재 하지 않아 커널가이들 사이에서도 논란이 일고있는 상황이다.

모니터링에 대한 부재 - 부재라기보단 빈약? - 그리고 RHEV 를 위한 서드파티 개발회사들이

존재하지 않는 단점도 ( 오픈소스를 가져다 쓰지만 써드파티등에서 RHEV 를 위해 개발하려고 노력하지 않는 )

무시하지 못할 것이란 얘기랄까??? 아싸리 데스크탑가상화에 대한 최상의 성능을 노려보는건 어떨까 ???

그나저나 멘토링데이 발표자료도 안만들고 뭐하니???

오픈오피스로 프리젠테이션하기 빡씨.......흑..

좀더 디테일한 문제점들 분석 및 VMWare 에 대한 비교는 다음 시리즈에 작성하도록 하겠다.

얘기하자면 밤을 샐만큼 복잡하고 길다. VCP4 업그레이드 패스한 뒤에나 다음 포스트는 올라갈 듯....

'Skills > 가상화(Hypervisors)' 카테고리의 다른 글

ThinkPAD X201 vs X60s KVM 비교  (0) 2011.03.20
vSphere 4 update1a  (0) 2010.04.15
RHEV 이야기 두번째  (1) 2010.01.12
RHEV (RedHat Enterprise Virtualization )  (0) 2009.12.14
재해복구 관점에서의 가상화  (0) 2009.10.17
Xen P2V 관련..  (0) 2009.09.09
posted by mirr

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply Favicon of http://mirr4u.textcube.com BlogIcon mirr

    vmware 와 RHEV 역시 현재 많이 변화되었고, 이글을 쓸때 조금 겉핥기식이였던 부분이 있어서 정리해야하는데 ㅠㅠ

    2010.05.20 14:02

Skills/mY Technutz 2009. 7. 19. 15:22
Qmail Toaster 를 이용한 Qmail 설치  ( RHEL 4,5 )
posted by mirr

댓글을 달아 주세요

Skills/System 2008. 10. 22. 23:58
뭐 그냥 다들 아는내용인데, 블레이드 위에서 HPC 로 구현한다고 막

과장좀 시켜보고 싶었긴 햇는데 조낸 허접해 흑....

게다가 아직 정리도 안됐어... 뭐 간단해 왜? Redhat 장이잖아....

Redhat 은 간단하다는걸 항상 밀고 싶어... 싶다기보단 밀어야될 거같아... 흑.....

어쨋든, 5.2 내가 지금 구축하는 것들을 토대로 설명하는거야...

blade ... HP 블레이드.. RDP 인가 뭔가.. 뭐 그 콘솔 메니지먼트 이용해서 조낸 그냥

PXE 넷웍 설치처럼 조낸 깔아주면 돼....좀 이상하긴 하더라만 어쨋든 깔려...

뭐...처음에 귀찮아서 블레이드 쉐쉬 스위치랑 놋북 연결시켜서 넷웍설치 했는데

이상하게 다른때와 달리 3대만 동시에해도 조낸 버벅대며 아예 진행이 안되는거야...

막 창피했어.....넷웍설치도 못하다니....암튼 결국 블레이드 메니지먼트 이용해서 했어..(응??)

nis...별거 없어, ypserv 설치하면 되.... 설치하고 NIS에서 인증으로 사용할 DOMAIN 정해서

/etc/hosts 에 호스트와 멤버들 설정해서 기록해 준 뒤에 portmap 실행하고,

setup 명령친뒤, auth어쩌구저쩌구 선택해서 NIS 선택하고 F12 눌러 준 뒤,

도메인 항목에 NIS용 도메인과 ( nisdomain.co.kr )

인증섭이 될 서버명 ( nisserv.nisdomain.co.kr )  을 적어주고 F12 역시 눌러주면 되...

그럼 지혼자 막 바인드 실행시킬꺼야...

뭐...../etc/yp.conf 에서 적당히 domain, server 항목을 직접 넣어줘도 되고,

실제로 ypserv, rpc.yppasswd, ypbind 정도 프로세스 띄우면 될꺼야...

그담에 make -C /var/yp 해주면 계정정보가 적당히 생성되지...

이건 계정을 추가하거나 변경 할때마다 해줘야돼... 크론탭에 적당히 넣든가......

automount 별거 없어.../etc/auto.master 에다가 마운트 될 디렉토리 적절히 적어두고,

그 디렉토리에 적용될 규칙 파일 넣어주면 되... 즉....

/home      auto.home

이런식이야... /home 이라는 디렉토리에 auto.home 규칙파일의 멤버들을

마운트 하도록 감시하겠다는 거지...

auto.home 에는 다음과 같은 식으로 넣어준다.. ( 여기서는 nfs 기준 )

*          -fstype=nfs,hard,intr,rw               /home/&

조기서 & 는 /home 하위의 모든 디렉토리를 뜻하는거다...

뭐.... 저 설정은 클라이언트에서 전부 해줘야 하는거고...

서버에선 /etc/exportfs 에 /home             10.10.10.0/255.255.255.0 (rw,sync,root_squash)

를 적어놓고 물론 portmap 역시 퀴고, nfs 데몬 실행시켜주면 되는거야... 막 다 적어줘야돼??

대충해... 사실 내가 이야기하고싶은건 이런 설정이 아냐...

사실 HP BLADE 8 대랑 Master 2way 서버 한대랑 HPC 구축하는데,

아까 말했듯이 블레이드 설치 시 자꾸 느려지는 병목현상이 발생됐었는데,

설치 된 뒤 Xshell 로 일괄작업 하려고 하는데도 반응이 엄청 느렸거든..

그런데 좀 지나니까 꽨찮아지더라고 그래서 위의 셋팅들을 다했는데,

NIS를 통해 계정 인증까진 잘 됐어....패스워드 입력하니 잘 로그인 되더라고....

그런데 홈디렉을 못불러오잖아......이말은 autofs의 자동마운트문제 혹은

nfs의 마운트 문제인건데........이건아직 해결 못했고, 이슈도 별로 못찾았다...

내일 해결해야한다....일단 nfs 의 튜닝과 autofs의 최신버젼 이 있는지를 찾아보려고

하는데..........누구 아는사람 있음 이글 보고서라도 알려달라.....야한거 알려줄께 캭

--------------------------------------------------------------------------------

NFS 설정할때 아이피 대역적어주는부분을 실수했었다... 아주 캐삽질 하셨쎄요???

야꿀옹 예리해 흑........

posted by mirr

댓글을 달아 주세요

  1.  Addr  Edit/Del  Reply Favicon of http://blog.daum.net/ydhoney BlogIcon ydhoney

    유불이네..

    2008.10.24 07:36

Skills/mY Technutz 2008. 10. 14. 19:47
뭐..간단하다 이미 페도라 라이브씨디라는 프로젝트가 있기때문에,

Cent 에서는 그냥 그걸 가져다 쓰는것밖에 없는듯하다...

물론 뭐 적당히 Cent 패키징 시스템에 맞게 고친것들이 많긴하지만..

역시 응용하면 레드햇계열이라면 어떤 형태로든 제작 가능할듯..

주의사항 : 아주 커스텀하게 제작하려면 복잡하고 은근 신경쓰이는게 쫌 있다.. 간단히가자..
               특히 주의할 사항은 LVM 환경에서는 왠만하면 제작하지 말라는거다.
               VMWARE나 VirtualBox, 멀티부팅 등등으로 LVM 사용 않는 OS등의 
               환경을 만들어서 제작하는게 정신건강에 이롭다...

일단 쭉 따라해 보도록 하자.



PS: 참고사이트 CentOS LiveCD Project
                      Fedora LiveCD Project
                      오래전 야꿀옹의 폭파된 블로그.. ㅜ.,ㅡ 링크는 새블로그로...

'Skills > mY Technutz' 카테고리의 다른 글

User의 명령들을 남겨보자...  (1) 2008.11.22
USB에 LiveCD 올리기  (0) 2008.10.14
CentOS LiveCD 만들기..  (0) 2008.10.14
부팅가능 USB 스틱 만들기...  (0) 2008.09.16
Failover Bonding  (0) 2008.09.12
윈도우서버에서 SNMP값이 정확히 안들어올때..  (0) 2008.06.09
posted by mirr

댓글을 달아 주세요