스토리지, 랜더팜 구축시 리눅스에 관해서 질문드립니다.

Little Jerry의 이미지

지금 다니는 회사가 CG 회사입니다...

조만간 스토리지/랜더팜 구축이 있을것 같기도 해서 미리 알아보려구요.
아래와 같은 환경일 경우 조언 부탁드립니다.
최종 Maximum 환경은 아래와 같이 될 것 같습니다.

스토리지 : SAN 10TB
파일서버 : AMD64 or Intel IA2
랜더팜 : 50대 정도

크게 위와 같이 될 것 같은데

궁금한 사항은 리눅스 지원 여부입니다.

물론 BMT를 해 볼 생각입니다만,

지원이 될지 어떨지 자료수집중입니다.

첫째,
SAN 구성시 파일서버-스토리지 의 드라이버 지원 여부
어차피 서버는 HP,IBM,Dell 이 될 것 같구요.
스토리지는 EMC나 HP쪽을 알아보고 있습니다.
물론 초기에는 그냥 파일서버에 Fiber 카드 설치해서 스토리지를 연결하게
되고 용량이 늘어나게 되면 SAN Switch로 전환할 생각입니다.

둘째,
리눅스의 제한 사항들
스토리지 10TB 구성하는데 문제가 있을까요?
파일서버는 2-4cpu , 4G ram

KIPA 에서도 리눅스로 공용랜더팜 구축을 했다고 하던데,
자료를 얻을 수가 없네요...

허구헌날 잘해야 SCSI 붙여 쓰다가 갑자기 너무 큰 규모가 오니깐
엄두가 안나네요....
안된다면 원스톱 솔루션인 윈도쪽을 써야할지두...ㅡ.ㅡ;

조언 부탁드립니다.

혹시 가능하다면 64bit 환경의 경험담도 들려주시면 고맙겠습니다.

mycluster의 이미지

현재 총 264대의 컴퓨팅 노드에 8대의 파일서버를 연결하고, 8대의 파일서버에 SAN으로 10TB의 스토리지를 연결해서 사용중입니다.
가장 좋은 방법은 50여대의 서버에 전부 FC카드를 장착하는 것이지만, 실제로 FC카드 비용도 만만치 않고, 특히 50대를 모두 연결할 수 있는 FC스위치의 가격이 엄청 올라갈 것입니다.

충분히 쓸만한 방법으로는 Network기반의 SAN솔루션을 사용하는 것입니다. 현재는 IBM의 GPFS를 사용하고 있고, 8대의 파일서버가 GPFS의 서비스노드이고 264대가 GPFS클라이언트 형태입니다. 물론, 모든 노드에서는 GPFS파일시스템을 직접 마운트해서 사용하고 있으며, 기가비트로 연결되어 있지요.
AMD의 경우 GPFS바이너리가 제대로 제공되는지는 알수 없는 상황입니다. 지금은 Xeon으로 동작중이지요.

HP나 델의 경우는 GPFS같은 솔루션이 아직은 없으므로 3rd party 솔루션을 채택해야하고, 이럴경우 리눅스기반의 SAN솔루션으로는 레드햇GFS라던지 혹은 매크로임팩트의 Sanique 정도를 고려할 수 있지요.
그런데, GFS는 네트웍기반으로 GPFS처럼 몇개의 파일서버를 두고 클라이언트를 네트웍으로 연결할 수 있는 반면에, Sanique는 아직까지 전체 노드를 전부 FC로 연결해야만 하는 형태입니다.(물론 최신버전이 나왔는지는 알 수 없군요)

원스톱으로 하고 싶다면, I사를 고려하시고(이경우는 FC 스토리지가 FasT시리즈이므로 가격이 별로 안비쌉니다) HP나 Dell 등을 고려한다면 Redhat GFS도 괜찮아보입니다만 과연... 제대로 지원을 받을 수 있을지는 미지수이고(아직 제대로 해본데가 없는 것으로 아는바. 몰모트가 될 각오는 하셔야...) Sanique는 FC카드랑 스토리지 비용을 고려하셔야 할 듯...

http://www.ksc.re.kr/bbs/bbs.php?bo_table=data&page=1&wr_id=72 를 보시면 구성도가 좀 나와있으니 참고 하십시오. 더 구체적인 내용이 필요하신지요? 구체적인 자료가 필요하시면 직접 방문하셔도 좋습니다... ^^

P.S. 그런데 이 내용은 설치활용으로 옮기는게 맞을듯... 아니면 '클러스터링' 뭐 이런걸로 게시판 하나 따로 만들어주면 어떠실른지?

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

Little Jerry의 이미지

사실 GPFS니, GFS니 거기 까지는 아직 고려 조차도 못해봤습니다.

음...일단은 50대가 Gigabit로 파일서버에 붙이는걸 생각하고 있었지요.
그냥 NFS로 해서요..

FC Switch는 파일서버가 여러개가 되거나 (이게 여러개가 되도 문제지요..ㅡ.ㅡ) 다른 서버(백업이나, 기타 DB등)가 붙을 경우 쓰려고 했던 거구요.

이 50대가 파일서버에서 랜더링을 걸기 위해서 700메가 정도의 소스이미지
들을 긁어 옵니다. 순전히 CPU,RAM이 주 목적이지요...

이 파일서버1대에 (이걸 로드 분산을 시킬수가 있는지...) 50대의 트래픽을
버틸지 어떨지도 걸어봐야할 것 같구요...

뭐 여하튼^^

이 파일서버에 10TB 붙이는건 전혀 문제가 안되나요?

또한 파일서버에 FC 카드 드라이버나, 64비트는 어떤가요?

BMT 방법론 개발하는것도 쉽지 않을것 같네요...^^

mycluster의 이미지

Quote:
사실 GPFS니, GFS니 거기 까지는 아직 고려 조차도 못해봤습니다.

이 기회에 고려해보시는 것도 좋지요... ^^

Quote:

음...일단은 50대가 Gigabit로 파일서버에 붙이는걸 생각하고 있었지요.
그냥 NFS로 해서요..
이 50대가 파일서버에서 랜더링을 걸기 위해서 700메가 정도의 소스이미지
들을 긁어 옵니다. 순전히 CPU,RAM이 주 목적이지요...

일단 동시에 read만 하는 경우라면 NFS 서버가 50대 정도는 버틸 수 있을 겁니다. 정 미심쩍으면, 4WAY이면 그럭저럭 버틸것으로 보입니다만, 동시에
write를 한다면 조금 고민하는 것이 좋을 듯 하군요...

Quote:

이 파일서버1대에 (이걸 로드 분산을 시킬수가 있는지...) 50대의 트래픽을
버틸지 어떨지도 걸어봐야할 것 같구요...

NFS 서버를 여러개두고 앞단에 L4 스위치를 달아볼려고 무던히도 노력했지만, 그건 사실 이렇게 할경우 여러개의 NFS서버에서 동시에 하나의 스토리지를 마운트 하기 위해서는 SAN이 필요하고, 그러한 복수개의 NFS서버에 로드밸런싱을 위해서는 다시 L4가 필요한데... 솔직히 이렇게 할려다가 당분간 보류하고, GPFS로 바꿔버렸음다.

Quote:

뭐 여하튼^^
이 파일서버에 10TB 붙이는건 전혀 문제가 안되나요?

이건 문제 안됩니다. 물론 10TB를 하나의 파티션은 잡아본적이 없지만(2TB씩 여러개로 잡았읍니다) 리눅스에서 10TB의 상한이 없는 것으로 알고 있읍니다.

Quote:

또한 파일서버에 FC 카드 드라이버나, 64비트는 어떤가요?

Qlogic 최신 카드는 잘 지원합니다. 64비트 오에스(AMD)가 오히려 드라이버 지원에 대해서 솔직히 확신하지 못하겠읍니다. 64비트에서 문제는 없겠지만, 오에스 커널에서 지원하지 않을 경우 하드웨어 벤더에서 지원하는 드라이버의 AMD용의 존재여부를 확인하는 것이 필요하다고 봅니다.

Quote:

BMT 방법론 개발하는것도 쉽지 않을것 같네요...^^

NFS의 경우 하드디스크 레이드의 성능보다는 주로 네트웍 스위치나, 커널버전 등에 더 많이 영향을 받을 것으로 보입니다.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

Little Jerry의 이미지

Quote:
일단 동시에 read만 하는 경우라면 NFS 서버가 50대 정도는 버틸 수 있을 겁니다. 정 미심쩍으면, 4WAY이면 그럭저럭 버틸것으로 보입니다만, 동시에 write를 한다면 조금 고민하는 것이 좋을 듯 하군요...

음 랜더링이란게 이미지를 모두 가져와서 한 프레임씩 (약 5메가) 다시 스토리지에 저장을 하게 됩니다. 물론 순식간에 하는건 아니고 이렇게 쓰려면 소스이미지를 모두 가져와서 램에 얹어놓은다음 하나씩,하나씩 저장을 하게됩니다.
거의 동시라고 보기는 힘들것 같구요...이럴 경우에는 괜찮을 듯 합니다.

Quote:
NFS 서버를 여러개두고 앞단에 L4 스위치를 달아볼려고 무던히도 노력했지만, 그건 사실 이렇게 할경우 여러개의 NFS서버에서 동시에 하나의 스토리지를 마운트 하기 위해서는 SAN이 필요하고, 그러한 복수개의 NFS서버에 로드밸런싱을 위해서는 다시 L4가 필요한데... 솔직히 이렇게 할려다가 당분간 보류하고, GPFS로 바꿔버렸음다.

저도 L4를 생각은 하고 있었는데, 파일서버들 앞,뒷단에 L4를 달고 (기껏해야 4대정도겠지요?) FC Switch를 스토리지 사이에 두면 금전적으로 크게 부담되지는 않을 것 같다는 생각을 했습니다. 요건 BMT를 해볼까 생각중이구요..

Quote:
이건 문제 안됩니다. 물론 10TB를 하나의 파티션은 잡아본적이 없지만(2TB씩 여러개로 잡았읍니다) 리눅스에서 10TB의 상한이 없는 것으로 알고 있읍니다.

redhat korea에서 보니까 이부분이 Redhat Enterprise Linux 3.0 에서는
커널 2.6에서는 2TB보다 큰걸 지원한다고 되어 있는데, RHEL은 안한다고 나오네요...1TB만 지원 한다고..

Quote:
Qlogic 최신 카드는 잘 지원합니다. 64비트 오에스(AMD)가 오히려 드라이버 지원에 대해서 솔직히 확신하지 못하겠읍니다. 64비트에서 문제는 없겠지만, 오에스 커널에서 지원하지 않을 경우 하드웨어 벤더에서 지원하는 드라이버의 AMD용의 존재여부를 확인하는 것이 필요하다고 봅니다.

흠...4WAY에 AMD64나 IA2가 지원되는지도 ...그럼 FC는 Qlogic 쪽이면
되겠군요...이 벤더들 (IBM,HP,DELL) 모두 Redhat or Suse만 지원하네요
관리자 입장에서 데비안 만큼 좋은건 없다는 견해라서요. 업데이트 하는데 돈받는것두 아니구요...

Quote:
NFS의 경우 하드디스크 레이드의 성능보다는 주로 네트웍 스위치나, 커널버전 등에 더 많이 영향을 받을 것으로 보입니다.

흠...BMT 요소 중에, Network Switch를 고려한다면 어떻게 가능할까요?
일단 컨설팅이 필요할 듯 합니다. 어떻게 구성을 해야 할지...
기본적인건 알아도 백본이나 워크그룹만 넘어가도 어려워서요...
스니퍼 걸어서 무조건 잘 나오는 녀석으로 해야 할지....

Little Jerry의 이미지

아참 한가지만 더 물어볼께요^^

랜더팜이란게 말 그대로 3D Source에서 2D image들을 만들어내는 거거든요.

보통 랜더팜을 사용한다 하면 50대, 100대 정도의 팜을 구축하구서, 거기에
랜더링 명령을 주는 배포 서버 하나, 50~100대의 랜더팜이 이미지들을 뽑아내거든요.

이걸 클러스터나, 병렬처리 (제가 이쪽은 잘 모릅니다.) 를 이용하여 하는게
더 낳은 건가요?

보통은 랜더러(maya, mental ray, renderman등등)라는 프로그램이 이
네트웍 랜더링(랜더팜 CPU,RAM들을 이용할 수 있게)을 지원해주는데, 클러스티링이라 하면 이 랜더러가 클러스터링 관련 라이브러리를 이용해서 개발/구동되어야 가능한지 잘 몰라서요.

쉽게 생각해보면, 랜더팜이 더 낳을려나, 클러스터링이 더 낳으려나 이런 의문입니다..

홈페이지에 들어갔다가 그냥 조용히 나왔거든요...ㅡ.ㅡ;

mycluster의 이미지

Quote:
음 랜더링이란게 이미지를 모두 가져와서 한 프레임씩 (약 5메가) 다시 스토리지에 저장을 하게 됩니다. 물론 순식간에 하는건 아니고 이렇게 쓰려면 소스이미지를 모두 가져와서 램에 얹어놓은다음 하나씩,하나씩 저장을 하게됩니다.
거의 동시라고 보기는 힘들것 같구요...이럴 경우에는 괜찮을 듯 합니다.

하나씩 하나씩이라는것이 CG프레임별로 각 서버에서 작업이 끝나는대로 저장하는거 아닌가요? 동시라는 것이 모든 서버에서 IO Write작업이 항상 일어나는거 같은데요... 심적으로 불안하군요... NFS가 버벅댈거 같은 느낌이...

Quote:
저도 L4를 생각은 하고 있었는데, 파일서버들 앞,뒷단에 L4를 달고 (기껏해야 4대정도겠지요?) FC Switch를 스토리지 사이에 두면 금전적으로 크게 부담되지는 않을 것 같다는 생각을 했습니다. 요건 BMT를 해볼까 생각중이구요..

좋은 L4를 사용하시고요, 꼭 되는지 확인한다음에 L4를 사십시오. NFS의 경우 한번에 처리해야할 포트가 5개인가 나오는데, 이것을 모두 묶어서 하나의 파일서버로 포워딩해주는것이 잘 되어야합니다.(한마디로 group기능이 잘 지원되는것...)

Quote:
redhat korea에서 보니까 이부분이 Redhat Enterprise Linux 3.0 에서는
커널 2.6에서는 2TB보다 큰걸 지원한다고 되어 있는데, RHEL은 안한다고 나오네요...1TB만 지원 한다고..

/dev/gpfs0 3428388864 118302464 3310086400 4% /home2

보시면 3.4TB짜리 통 파티션입니다. 2.4.20-28.7smp 군요. 7.3입니다.

Quote:
흠...4WAY에 AMD64나 IA2가 지원되는지도 ...그럼 FC는 Qlogic 쪽이면
되겠군요...이 벤더들 (IBM,HP,DELL) 모두 Redhat or Suse만 지원하네요
관리자 입장에서 데비안 만큼 좋은건 없다는 견해라서요. 업데이트 하는데 돈받는것두 아니구요...

제가보기에는 레드햇을 사용하는 것이 맞을겁니다. 렌더링 서버 외부로 오픈해서 서비스하나요? 보안에 관계없이 내부에 둘거 아닌가요? 업뎃 함부로 하면 렌더링 소프트웨어 안돌아갈수도 있을텐데요?

Quote:
흠...BMT 요소 중에, Network Switch를 고려한다면 어떻게 가능할까요?
일단 컨설팅이 필요할 듯 합니다. 어떻게 구성을 해야 할지...

컨설팅을 제대로 할만한 사람이 있을른지는 모르겠읍니다만, 일단 현재의 구성에 가장 적합한 네트웍스위치는 노텔의 베이스텍480 인가 하는 48포트스위치를 2개 사서 둘사이를 40Gbps 스택케이블로 연결해서 96포트 스위치를 만들어서 사용하면 됩니다. 괜히 시스코니 뭐니 백본스위치 사봐야 덩치만 크지 스위칭 fabric도 후집니다...

Quote:
보통 랜더팜을 사용한다 하면 50대, 100대 정도의 팜을 구축하구서, 거기에
랜더링 명령을 주는 배포 서버 하나, 50~100대의 랜더팜이 이미지들을 뽑아내거든요.

이걸 클러스터나, 병렬처리 (제가 이쪽은 잘 모릅니다.) 를 이용하여 하는게
더 낳은 건가요?

보통은 랜더러(maya, mental ray, renderman등등)라는 프로그램이 이
네트웍 랜더링(랜더팜 CPU,RAM들을 이용할 수 있게)을 지원해주는데, 클러스티링이라 하면 이 랜더러가 클러스터링 관련 라이브러리를 이용해서 개발/구동되어야 가능한지 잘 몰라서요.

하는일에 따라서 다르겠지만, 통상적으로 마야나 렌더맨등을 사용하는 작업이라면(잘은 모르지만) 주로 수백개의 프레임을 렌더링 해야하는 것으로 알고 있읍니다. 이럴 경우는 병렬렌더러로 전체의 시피유가 한번에 하나의 프레임을 렌더링 하고 다음 프레임으로 진행하는 것보다는 각각의 프로세서가 한프레임씩 맡아서 분산처리하는 랜더팜이 더 효율적일 수 있읍니다.

반면에, 하나의 이미지가 굉장히 복잡해서 엄청난 시간을 소모하고, 그것을 좌우로 돌린다던지 혹은 3D 가상이미지를 만들어서 사람들이 그 속을 걸어다닌다던지 하는 일을 하고자 한다면 이건 하나의 이미지를 고속으로 처리해야하는 경우겠지요. 이런경우에는 병렬처리를 하는 것이 더 좋을 수 있읍니다.

정리하자면, 1부터 10000까지 더하는 일을 한번 해야할때는 100개의 시피유가 1~100, 101~200 이런식으로 동시에 더한 다음에 나중에 합을 내는 병렬처리가 맞지만, 100개의 수의 합계표가 100장있는데 이것의 합을 각각 내고 싶을때는 100개의 프로세서에 한장씩 맡기는 것이 더 좋겠지요. 괜히 100개의 수의 합을 100개의 프로세서가 동시에 더하고 난리치는 것보다는요...

도움이 되시길...

P.S. 더 구체적으로 필요한 사항이 있으면 직접 요청하시면 방문해서 조언해 드릴 수도 있읍니다 ^^ 그거하라고 나랏돈 받아먹고 있으니까요...

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

Little Jerry의 이미지

조언이 많은 도움이 되었습니다. 감사드립니다.

기회가 된다면 다시 묻구요...

hb_kim의 이미지

혹시 아직 유틸리티 스토리지에 대해 검토해보지 않으셨다면, 한번 확인해보세요.

http://3pardata.com

익명 사용자의 이미지

일년전 얘기 가튼디...

sio4의 이미지

아하! 이런 글이 있었군요!

국내에 리눅스 기반 렌더팜을 운영하는 곳이 있었군요 :-)

한... 3년 전에 리눅스기반 renderman/maya 전용 렌더팜 구성을 했었는데 기억이 새록새록 하군요. 재밌었는데...

어떤 회산가요? 궁금해지네... :-)

--
"The love you take is equal to the love you make." The End, by Beatles

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.