안녕하세요, HPC 분야의 연구실에 대학원생으로 재학중인 학생입니다.
연구실에 보유중인 클러스터에 스토리지를 붙히려고 하는데
고려할 사항이 많아 의견을 들어보고 싶어 질문드립니다.
연구실에 보유중인 클러스터는 마스터 포함 약 20대 정도의 노드이고
추가적으로 워크스테이션을 열두어대 보유하고 있습니다.
클러스터의 노드들 끼리는 IB 네트워크 (56Gbps) 를 사용하고 워크스테이션들은 1GbE를 사용하고 있습니다.
마침 마스터를 갈아내야하고 스토리지를 확장해야할 시기라서 구축을 어떻게 하면 좋을지 고민이 됩니다.
일단 IB 대역폭이 굉장히 큰데 IO performance가 떨어져서 이 부분을 해결하고 싶습니다.
저희 연구의 특성상 가끔씩 write intensive한 작업을 할 때가 있어서,
IB의 최대 대역폭까지는 아니더라도 반 이상 정도는 됐으면 좋겠습니다.
가용 용량으로는 100TB 이상을 확보하고 싶은데 이 정도 용량의 올플래시 서버를 구축할 정도의 예산은 못 됩니다.
앞으로 최대한 예산을 확보해 해봐야 마스터노드 구축(+새로운 스위치 허브)과 함께
16베이 이상 NAS서버 + 14TB SATA 하드 12~16개 NVMe 1TB 2~4장 정도가 한계가 아닐까 싶습니다.
이마저도 1년 안에 다 확보가 될지는 모르겠습니다.
두번째로는 웍스에도 새로 만들 스토리지를 네트워크 마운트해서 데이터 관리를 좀 용이하게 했으면 좋겠습니다.
데이터를 여기저기 보관하다 보니 중복되거나 합칠 때 머리아픈 일이 많더군요. 10GbE로 스토리지에 연결할 계획입니다.
(1) DAS vs NAS?
보이는 기종들 중에 4U 정도되는 큰 섀시들이 보이던데 여기에 하드를 쭉 꽂고 활용하는 방안과
마스터에 NAS를 붙혀서 사용하는 방안을 생각하고 있습니다. 예산으로 보면 마스터를 교체하는걸 생각해서
DAS가 싸보이는데 NAS로 가는 방향도 여러가지 이점이 있을거 같습니다 (스냅샷이나 여타 기능?).
지금 현재하는 작업을 보면 계산노드에서 작업을 하고 마스터는 어플리케이션 서버로 쓰이고,
워크스테이션은 스케줄러 시스템에 호스트로 등록되어있지 않습니다. 위에 써둔대로 모든 컴퓨팅 자원들을
하나의 스토리지에 연결한다고 생각하면 어떤 방면이 좋을까요?
(2) NVMe 캐시/RAID?
NAS/DAS 어떤 것을 하든 모두 IO성능을 위해 NVMe 캐시를 사용하려고 하는데요. 이 방면에 무지한지라,
NVMe 용량이나 NVMe 개수 대비 HDD 개수에 따른 IO성능의 scaling이 어떻게 되는지 전혀 감이 없습니다.
앞서 말씀드린대로 sustained write 성능이 IB 네트워크의 대역폭의 절반 정도는 되면 좋을거 같아
RAID나 NVMe/HDD 어떻게 구성하는게 좋을지 조언 부탁드립니다.
(3) 10GbE NIC와 스위치 허브?
10GbE 내장 메인보드도 있지만 그렇지 않은 워크스테이션도 있어서 NIC를 새로 구입하려고 하는데,
10GbE NIC들도 종류와 가격대들이 굉장히 다양하더군요. 저희 작업을 생각하면 latency가 작은게 좋긴한데, 가격대 별로
latency들이 많이 차이가 날까요? 10G 스펙의 스위치 허브(>=16포트, L3)도 추천 부탁드립니다.
읽어주셔서 감사합니다.
12G 레이드카드와 윈도우서버OS와 프리모캐쉬 설치해서 NVME 캐쉬 설정하면 끝. 메모리를 풀뱅크하면 느껴보지 못했던 끝판왕 캐쉬속도를 느낄수 있습니다.
위에 예산에 대한 제한이 있는데 벤더제품을 선택하면 가격이 넘사벽일건데 분명 가격때문에 솔루션 선택도 쉽지 않아 보입니다. 그래서 가격도 고민이고 성능은 이빠이 땡겨오고 싶다고 하니까 제일 심플한 방법을 전한겁니다. 이것저것 다 따지면 돈이 문제지 솔루션이 문제가 아닙니다.
IB 100G나 이더넷 100G로 가는게 맞는데 아무래도 가격이 그리고 100G를 버티는 서버는 인텔에서는 스케일러블 AMD에서는 EPYC 이상입니다..
이너넷 100G 칩셋은 재미있는게 지금 가장 많이 사용되는 것이 멜러녹스 칩셋입니다..
즉 IB의 고속 칩셋 기술이 응용된다고 봐야 합니다..
속도가 재대로 나오는 DAS는 스토리지 서버에 가까운 NAS보다 보통 더 비쌉니다..
10G 이더넷 카드는 보통 열이 많이 나는데 최신형 인텔 오리지날 카드를 사용하면 재일 낫습니다..
https://www.intel.co.kr/content/www/kr/ko/products/network-io/ethernet/10-25-40-gigabit-adapters.html
그리고 10G에서는 광케이블 방식이 표준이며 UTP 방식은 열이 더나고 가격이 더 높을수 있습니다..
개인적으로 보기에는 속도를 받쳐줄만한 스토리지가 있다면(없다고 봐야 하지만) IB 56G에 연결하거나 IB 56G 서버 하나에 붙여 쓰는게 좋다고 봅니다..
문제는 이제 워크스테이션인데, 10G 이상의 25G, 40G, 100G들은 스위치나 NIC나 둘다 가격이 너무 올라서 구축이 힘들거 같습니다.
그래서 정리해보면
(1) 노드 - 노드, 노드 - 노드마스터 간의 MPI 어플리케이션들이 사용하는 것은 모두 56G IB를사용
(2) 스토리지 서버와 워크스테이션 간의 파일 R/W 은 10G망 이용
이렇게 되는게 예산상 현실적인게 아닐까요?
여기에 말씀해주신대로 56G로 스토리지에 연결을 하게 되면 파일 결국 IB 를 통해 따라가야 하는데, 어플리케이션들의 통신에 사용하는 통로를 점유하는게 병렬계산의 scalability를 저하 시키는 역할을 할거 같아, 저희는 파일망을 별도의 이더넷 스위치(현재는 1G)로 연결시켜두었습니다. 그래서 새로 구축하더라도 IB 망 자체를 파일망으로 쓰지는 않을거 같은데... 어떻게 보시는지 궁금합니다.
인텔 카드들과 멜라녹스 커넥트 X 카드들 보고 있었는데 요즘 국내에서 발매한 카드들도 싼 것들이 있더군요. 아무래도 인텔이 제일 나은가 봅니다.
저희 클러스터 서버는 현재는 모두 인텔 제온 v3, v4 (구형들)과 스케일러블 몇개 인데요. 새로도입할 마스터노드는 DAS로 활용하던 어플리케이션 서버로만 활용을 하던 아마 AMD EPYC 2세대로 가지 않을까 생각합니다.
DAS 방식이 더 비쌀 수 있다니 몰랐네요. 좋은 정보 감사합니다.
그것을 받아낼 스토리지를 구하는게 이번 목적이 아닐까 해서 IB 56G에 붙여야 한다고 생각했습니다..
그렇지 않다면 IB 56G와 이더넷 10G 을 분리하는게 맞다고 생각합니다..
10G는 카드나 케이블은 그럭저럭 가격이 많이 낮아졌으나 아직은 스윗치가 덥석덥석 구매하기에는 좀 비쌀 것입니다..
시간이 지나면 가격은 계속 내려 갈 것이니 좀 더 지켜 보시던지 현재 나와 있는 모델에서 고를수 밖에 없습니다..
48포트 급으로 한방에 가느냐 24포트 이하 급으로 쌓아가느냐의 문제가 있겠죠..
국내 닷컴 정도 되는 아니면 IDC 센터 정도 되는 회사들은 다른 회사의 10G 솔류션을 사용합니다..
보통 시스코급을 이야기 하죠..
이것은 저의 질문입니다만 내용 잘 확인해보세요..
비슷한 기술을 개발한 팀이 국내에 있기는 합니다.
ETRI의 저장시스템팀에서 개발한 기술이 있기는 한데 지금 그팀이 해체가 되어서
기술개발은 성공했는데 상용화에는 실패한 상태입니다. 원하는 기업이 없었습니다.
저희가 함께 참여하지는 않았었지만 그 기술 완성도는 꽤 높은것으로 알고 있습니다. 5-6년정도 기반기술 위에 추가로 개발한 기술이어서 나쁘지 않았었을 것으로 알고 있습니다.
꼭 필요하시면 소개시켜 드릴 수 있습니다. 추천을 드리지는 않습니다.
Lustre가 spof한 구조긴 한데 노드가 적어도 속도하나만큼은 아주 좋아서요
10G 스토리지 네트웍을 별도로 구성하여 2중화합니다.
각 노드들은 54G NIC와 10G NIC를 각각 장착합니다.
54G Switch
10G Switch
클러스터 노드마스터(54G+10G)...
클러스터 노드1 (54G+10G)...
클러스터 노드n (54G+10G)...
10G 스토리지(100TB) + NVMe Cacheb (ZFS 구성-NVMe Cache)
대략 이정도...
그 외 사소할 수 있지만 클러스터 노드들이 두개의 카드를 붙일때 재대로 동작할지 안할지의 호환성 문제도 있을수 있습니다..
클러스터 노드가 카드 1개 밖에 설치 못할수도 있고요..
연구 성과는 해당 교수님의 목숨줄입니다..
인터넷선도 연결하지 않고 독립적으로 네트워크 구축해서 연구하는 곳 많습니다..
데이터 보안은 중요하니 꼭 신경 써주세요..
이미 앞단에서 다 결정내릴거고...
대학쪽에서는 기업처럼 미션크리티컬 보다는 개발/테스트쪽에 중점을 두는거 같습니다. 위 내용도 교수가 일일이 신경쓰기 귀찮으니까 조교나 대학원생한테 시키는거죠. 안봐도 비디오입니다.
즉 스토리지 액세스는 10G 네트워크를 사용하는데 결국 56G는 응용단에서 해결해야될 문제이지 하드웨어단으로는 아마 답이 없을거 같아요.
그래서 위에서 원하는건 쓰기속도가 좀 빨랐으면 좋겠다인데 워크스테이션이 여러대이다 보니까 동시성에 중점을 둔거 같습니다. 이것도 아마 디스크 스토리지는 동시성이 많이 떨어지고 이걸 보완하고자 NVME를 고민했던거 같고 즉 디스크 스토리지가 성능 이슈가 있다는건 4K속도가 발목을 잡는다는겁니다.
앞서 말했듯 저건 솔루션이 없어서 못하는게 아니고 예산이 부족해서입니다. 돈만 있으면 뭘 못하겠습니까? 총알이 없으니까 연발로 못갈기고 단발로 조준사격 하고 싶은거죠.
이런저런 많은 이슈의 글이 달릴거 뻔해서 완전 단순한 방법을 전달한겁니다. 그리고 10G라고 해도 실제 10G속도 잘 못땡겨오는 경우가 대부분입니다. 메모리끼리 복제할때만 9G 나오고 평균적으로 5-6G 정도 뽑아주는거 같습니다. MPIO 묶어서 막 땡겨와야 겨우 12G 정도 대역폭 땡겨오더라구요.
비싼 10G 카드들은 좀더 좋게 나올지는 모르겠지만 제가 사용한 저렴이 10G 카드는 그랬습니다.
잘못하면 열심히 연구하시는 프로잭트 교수님 자존심에 똥칠할 수도 있기에 돈이야기는 될수록 안하는게 좋습니다..
그리고 혹시나 중간에 콘트롤해주는 유료 소프트웨어가 있다면 그 가격은 하드웨어 보다 더 비쌀수도 있습니다..
그때 가끔 무식한 방법이 나오죠.. === 담당연구자들이 다 만들어 내 === : 하면 안될 짓입니다..
그리고 대학교는 구조상 대학교 구매과랑 잘 협의해야 하는 부분도 있고 1천만원인가 3천만원 이상이 들어가면 거의 무조건 입찰을 붙칩니다..
그래서 생각하지 못했던 곳의 물건을 납품 받는 경우도 허다하고 돈을 썼음에도 원하는 기능이 재대로 구현 안되는 경우도 있습니다..
이렇게 해서 구매한 후 재대로 결과가 안나오면 해당 교수님 독박 찹니다..
일단 HPC Lab이면 Lustre 추천합니다.
Lustre도 설정잘하면 SPOF 없습니다.
그런데 설정/관리 무지 잘해야 합니다.
실수 또는 이상한 상황 벌어지면 한방입니다.
논문데이터 저장할거 아니면 Lustre 추천이고 아니면 중요한 데이터 보관해야하면 그냥 master node에 DISK 완창 붙여서 NFSoRDMA 사용하시는게 답입니다.