갑자기 기술문서들을 쓰기 시작한 이유는, 블로그 유입경로에서 생각지도 못한 검색어들을 발견했기 때문이다. 내가 어떠한 문제에 봉착했을 때, 인터넷 검색을 통해 답을 찾았듯이 그들도 나와 같은 과정을 거쳤다면, 문제를 조금 더 쉽게 해결할 수 있지 않을까 해서이다. 사실 언제 그만둘지 모른다. -_-
1. overview
IBM x3550 M2 는 Rack mount type의 1U 서버로, x335/x336/x3550 의 뒤를 잇는 x86 기반의 entry급 서버이다. 벤더인 IBM 입장에서야 entry급이지, 실제로 온라인 게임서버를 운용하는 글쓴이의 입장에서는 mainframe급 서버이다. 주요 기능으로는 Intel Xeon 55xx(Gainestown)시리즈를 탑재한 네할렘(Nehalem) 기반의 플랫폼에, 16 Memory DIMM (FBDDR3 max 128GB), 기본 디스크 폼팩터 변경(3.5"->2.5"), blah blah 등등등. 외형적인 x3550과 M2의 차이는 디스크 폼팩터가 기존 SAS 3.5" 에서 2.5" 로 바뀌었고, 이와 더불어 디스크 베이도 2개에서 6개로 늘어났다. x3650 M2 의 경우에는 추가 백플레인 장착시 최대 12개까지 장착이 가능하게 되었으니, 웬만한 DAS Storage가 필요 없게 되었다. x3800 시리즈에서 사용하던 two-digit 타입의 Light Path Diagnostics 패널도 탑재. PSU도 x3650 M2와 동일한 파트를 사용해서 스페어 파트 운용이 좋아졌으며, 레이드 컨트롤러도 Adaptec OEM의 컨트롤러인 ServeRAID 8k 에서 LSI SAS 3000 1016E 기반의 ServeRAID BR10i 시리즈로 바뀌었다. (사실...8k 시리즈 초기에는 문제가 너무 많았다)
6개의 2.5 SAS 베이를 갖고 있지만, 3550 M2 에 기본으로 들어가있는 BR10i 컨트롤러는 RAID 0/1/1E만을 지원하고 있다. RAID 10/5/50 을 지원하기 위해서는 ServeRAID M5014(256M cache)나 M5015(512M)을 옵션으로 추가 하여야한다. 더불어 M5014는 6Gbps 대역폭의 지원하니, IBM 2.5" 6Gbps의 디스크를 장착하려면 M5014 이상으로 구매할 것. 일부 장비는 RAID 5를 지원하는 ServeRAID MR10i 를 추가로 장착하여 입고된 모델도 있었으나, MR10i 의 경우에는 SAS 3Gbps 까지 밖에 지원하지 않지만, 어쨌든 사용은 가능 하다.
Gainestown 은 CPU의 모델에 따라 QPI (Quick Path Interconnect)의 속도가 달라지게 되는데, 이번에 도입한 장비는 5.8GT/s(1066FSB)를 지원하는 2.26Ghz 클럭의 E5520 모델이다. 메모리는 4GB로 구성을 하였는데, 일반적으로 네할렘 플랫폼에서는 Triple Channel 의 메모리를 사용하기 때문에 2GB/1GB*2 개로 메모리 구성을 하게 되었다. QPI가 5.8GT라 반드시 세 개로 구성할 필요는 없었지만, BP에서 그냥 그렇게 주더라 -_- 실제 설치한 메모리 구성도 Dual Channel 로 구성했다 6.8GT/s를 사용하는 X5500 시리즈에서는 반드시 메모리 구성을 Triple로 하여야한다.
Tom's hardware 에서 가져온 이미지. Nehalem by AMD (Opteron)라고 신나게 까임당함
메모리는 Multi-bit ECC 가 지원되는 RDIMM(Registerd DIMM)과 UDIMM(Unbufferd DIMM or ECC)을 파트로 선택할 수 있으며, 네할렘 EP에 메모리 컨트롤러가 포함되어 있기 때문에, 기존 플랫폼과는 다르게 값비싼 Fully Buffered DIMM 외에 UDIMM 도 선택할 수 있게 되었다. 일반 데스크탑용 DDR3 DIMM 도 사용(혼용X)할 수 있지 않을까? 했는데, 아직 테스트는 못해봤다. 마이크론 2GB*1, 엘피다 1GB*1, 하이닉스 1GB*1 의 변태적인 메모리 구성 후에 조립을 완료하였다. CPU 0용 VRM은 메인보드에 포함되어있고, CPU1 용 VRM을 추가로 설치하였다. 그 외의 추가 파트는 EXP3000 스토리지 연결을 위한 IBM ServeRAID MR-10M SAS HBA. 양쪽 다 SFF 8088(miniSAS) 커넥터이다.
2. installing windows
동봉된 IBM ServerGuide 8.x 버전에서는 한글판 윈도우의 설치가 불가능하기 때문에, BR10i 드라이버를 3rd party 드라이버로 잡고 윈도우를 설치하여야 했다. intel chipset software 올리고, 이것저것 드라이버를 업데이트 하면 된다. 특이한 사항은 네트워크에 IBM USB Remote NDIS Network Device 추가된 것. 참고로 x3550 M2 부터는 UEFI BIOS 를 지원한다. 드디어 GPT Disk로 x64 Windows 부트가 가능.
HTT(Hyper Thread Technology)을 켜놓았기 때문에, 윈도우상에서는 CPU 카운트가 x16개로 인식을 한다. E5520 (QuadCore=4) x (HTT=x2) x (DualSocket=x2) = 총 16개, Turbo-Boost 기능도 활성화 해두었기 때문에, cpu load가 올라갈 때는 알아서 HTT나 QuadCore 의 사용 개수를 줄이고, 자동으로 클럭을 높인다고 한다. 헥사(x6)코어나 옥타(x8)코어 모델이 나오면 작업관리자 보기가 불편하지 않을까 싶다. -_- 스토리지 매니저로 LSI MegaRAID Storage Management (MSM) 프로그램이 제공 되지만, 왠지 모르게 불편한 느낌
3. trouble-shoot
어제 들어온 장비에 무슨 트러블이냐? 하겠지만은, 추가로 장착된 HBA+EXP3000에 Virtual Drive를 세팅하고 부터, 윈도우 OS가 올라오지 않았다. 보통은 BIOS 상의 Boot Sequence 부분을 설정해주면 되는 문제지만, HBA와 Internal RAID Contoller 의 우선 순위를 지정해주는 BIOS상의 메뉴를 못찾아서, 고생을 했다. 설치를 맡은 BP사 엔지니어도 x3550 M2의 납품 경험은 있지만, HBA를 추가해서 설치한 경험은 없었다고 한다. 그래서 결국은, 또 고객님이 나서서 IBM 웹사이트 가서 trouble retain 찾아서 해결했다. Boot Order 에서 Legacy Only, Hard Disk 0 만 남겨두고 설정하면 정상적으로 윈도우가 올라온다. 요건 OS가 2003일 경우. 2008 x64 에서는 Windows BootManager로만 해도 될 것 같다. 참고로 x3550 M2 에서는 부팅 가능한 디바이스를 찾지 못하면 Linux용 IBM DSA로 자동으로 부팅된다.
Local OS boot fails when external storage is attached - IBM System x3550 M2 / x3650 M2
4. etcs
실제로 어플리케이션을 사용하는 담당자 말로는 기존 시스템에 비교해서 많이 빨라졌다고는 하는데, 개인적으로 대충 살펴본 것에 의하면, 획기적(!)으로 빨라졌다. 충격적이다(!) 뭐 그런 느낌은 없는듯 하다. 생각지도 못한 장애에 급하게 서비스로 투입된 장비라 갖고 놀 시간도 없었고, 그냥 그렇다. 어차피, 내가 사용할 개인PC 아니면 아무 소용 없다는 진리를 깨우치는 중.
references
http://en.wikipedia.org/wiki/Xeon#5500-series_.22Gainestown.22
http://en.wikipedia.org/wiki/Serial_attached_SCSI
http://www-03.ibm.com/systems/x/hardware/rack/x3550m2/index.html
2011.05.20 추가
일반 PC용 Unbuffed DIMM, Non-ECC 메모리를 설치 할 경우 단면 메모리만 인식한다. 삼성 DDR3 4GB 모듈일 경우 양면 모델만 나오고 있는데, 2GB 단면을 구해서 설치하거나 다른 벤더의 메모리를 써야할 듯. 네할렘 기반의 머신들은 메모리 컨트롤러가 CPU가 포함하고 있기 때문에, 1 CPU일 경우 총 16 DIMM 중 8개만 사용이 가능하다. 16개의 DIMM SLOT을 모두 사용하고자 하면 2 CPU모델이어야 하며, 메모리의 설치 순서는 다음과 같다.
Microprocessor 1 Install the DIMMs in the following
sequence: 3, 6, 8, 2, 5, 7, 1, 4
Microprocessor 2 Install the DIMMs in the following
sequence: 11, 14, 16, 10, 13, 15, 9,12
매뉴얼에 기록된 호환 파트는 RDIMM 의 FRU 만 표기되어있는데, 실제로는 UDIMM(ECC,NON-ECC) 모두 사용 가능 했다. (단면 메모리의 제약이 있긴하지만) 따라서 시장에서 가장 쉽고 저렴하게 구성할 수 있는 최대 메모리는 2GB 단면 모듈 * 8 개, 총 16GB 이지만, 1번과 4번의 DIMM 을 채우면 부팅이 되지 않았다. 3/6/8/2/5/7 총 6개의 DIMM 을 구성하였고 인식한 메모리 용량은 총 12GB. 300만원 넘는 박스 사다 쓰면서, 돈 아낀다고 non-warranty PC용 메모리 꼽아쓰는게 잘하는 일인가 싶기도 하지만, 인간적으로 정품 파트 너무 비싸다. 앵간해야지 쓰지. ECC Memory 혹은 Registered ECC 메모리를 꼭 써야하는가에 대해서는 좀 더 생각 해봐야할 듯. 일반 DIMM 설치 후 별다른 큰 문제 없이 사용 되고 있고, DSA 에서는 ECC 메모리(Singlebit 보정)로 인식을 한다.
DRAM Errors in the Wild: A Large-Scale Field Study
1. overview
IBM x3550 M2 는 Rack mount type의 1U 서버로, x335/x336/x3550 의 뒤를 잇는 x86 기반의 entry급 서버이다. 벤더인 IBM 입장에서야 entry급이지, 실제로 온라인 게임서버를 운용하는 글쓴이의 입장에서는 mainframe급 서버이다. 주요 기능으로는 Intel Xeon 55xx(Gainestown)시리즈를 탑재한 네할렘(Nehalem) 기반의 플랫폼에, 16 Memory DIMM (FBDDR3 max 128GB), 기본 디스크 폼팩터 변경(3.5"->2.5"), blah blah 등등등. 외형적인 x3550과 M2의 차이는 디스크 폼팩터가 기존 SAS 3.5" 에서 2.5" 로 바뀌었고, 이와 더불어 디스크 베이도 2개에서 6개로 늘어났다. x3650 M2 의 경우에는 추가 백플레인 장착시 최대 12개까지 장착이 가능하게 되었으니, 웬만한 DAS Storage가 필요 없게 되었다. x3800 시리즈에서 사용하던 two-digit 타입의 Light Path Diagnostics 패널도 탑재. PSU도 x3650 M2와 동일한 파트를 사용해서 스페어 파트 운용이 좋아졌으며, 레이드 컨트롤러도 Adaptec OEM의 컨트롤러인 ServeRAID 8k 에서 LSI SAS 3000 1016E 기반의 ServeRAID BR10i 시리즈로 바뀌었다. (사실...8k 시리즈 초기에는 문제가 너무 많았다)
6개의 2.5 SAS 베이를 갖고 있지만, 3550 M2 에 기본으로 들어가있는 BR10i 컨트롤러는 RAID 0/1/1E만을 지원하고 있다. RAID 10/5/50 을 지원하기 위해서는 ServeRAID M5014(256M cache)나 M5015(512M)을 옵션으로 추가 하여야한다. 더불어 M5014는 6Gbps 대역폭의 지원하니, IBM 2.5" 6Gbps의 디스크를 장착하려면 M5014 이상으로 구매할 것. 일부 장비는 RAID 5를 지원하는 ServeRAID MR10i 를 추가로 장착하여 입고된 모델도 있었으나, MR10i 의 경우에는 SAS 3Gbps 까지 밖에 지원하지 않지만, 어쨌든 사용은 가능 하다.
Gainestown 은 CPU의 모델에 따라 QPI (Quick Path Interconnect)의 속도가 달라지게 되는데, 이번에 도입한 장비는 5.8GT/s(1066FSB)를 지원하는 2.26Ghz 클럭의 E5520 모델이다. 메모리는 4GB로 구성을 하였는데, 일반적으로 네할렘 플랫폼에서는 Triple Channel 의 메모리를 사용하기 때문에 2GB/1GB*2 개로 메모리 구성을 하게 되었다. QPI가 5.8GT라 반드시 세 개로 구성할 필요는 없었지만, BP에서 그냥 그렇게 주더라 -_- 실제 설치한 메모리 구성도 Dual Channel 로 구성했다 6.8GT/s를 사용하는 X5500 시리즈에서는 반드시 메모리 구성을 Triple로 하여야한다.
Tom's hardware 에서 가져온 이미지. Nehalem by AMD (Opteron)라고 신나게 까임당함
메모리는 Multi-bit ECC 가 지원되는 RDIMM(Registerd DIMM)과 UDIMM(Unbufferd DIMM or ECC)을 파트로 선택할 수 있으며, 네할렘 EP에 메모리 컨트롤러가 포함되어 있기 때문에, 기존 플랫폼과는 다르게 값비싼 Fully Buffered DIMM 외에 UDIMM 도 선택할 수 있게 되었다. 일반 데스크탑용 DDR3 DIMM 도 사용(혼용X)할 수 있지 않을까? 했는데, 아직 테스트는 못해봤다. 마이크론 2GB*1, 엘피다 1GB*1, 하이닉스 1GB*1 의 변태적인 메모리 구성 후에 조립을 완료하였다. CPU 0용 VRM은 메인보드에 포함되어있고, CPU1 용 VRM을 추가로 설치하였다. 그 외의 추가 파트는 EXP3000 스토리지 연결을 위한 IBM ServeRAID MR-10M SAS HBA. 양쪽 다 SFF 8088(miniSAS) 커넥터이다.
2. installing windows
동봉된 IBM ServerGuide 8.x 버전에서는 한글판 윈도우의 설치가 불가능하기 때문에, BR10i 드라이버를 3rd party 드라이버로 잡고 윈도우를 설치하여야 했다. intel chipset software 올리고, 이것저것 드라이버를 업데이트 하면 된다. 특이한 사항은 네트워크에 IBM USB Remote NDIS Network Device 추가된 것. 참고로 x3550 M2 부터는 UEFI BIOS 를 지원한다. 드디어 GPT Disk로 x64 Windows 부트가 가능.
HTT(Hyper Thread Technology)을 켜놓았기 때문에, 윈도우상에서는 CPU 카운트가 x16개로 인식을 한다. E5520 (QuadCore=4) x (HTT=x2) x (DualSocket=x2) = 총 16개, Turbo-Boost 기능도 활성화 해두었기 때문에, cpu load가 올라갈 때는 알아서 HTT나 QuadCore 의 사용 개수를 줄이고, 자동으로 클럭을 높인다고 한다. 헥사(x6)코어나 옥타(x8)코어 모델이 나오면 작업관리자 보기가 불편하지 않을까 싶다. -_- 스토리지 매니저로 LSI MegaRAID Storage Management (MSM) 프로그램이 제공 되지만, 왠지 모르게 불편한 느낌
3. trouble-shoot
어제 들어온 장비에 무슨 트러블이냐? 하겠지만은, 추가로 장착된 HBA+EXP3000에 Virtual Drive를 세팅하고 부터, 윈도우 OS가 올라오지 않았다. 보통은 BIOS 상의 Boot Sequence 부분을 설정해주면 되는 문제지만, HBA와 Internal RAID Contoller 의 우선 순위를 지정해주는 BIOS상의 메뉴를 못찾아서, 고생을 했다. 설치를 맡은 BP사 엔지니어도 x3550 M2의 납품 경험은 있지만, HBA를 추가해서 설치한 경험은 없었다고 한다. 그래서 결국은, 또 고객님이 나서서 IBM 웹사이트 가서 trouble retain 찾아서 해결했다. Boot Order 에서 Legacy Only, Hard Disk 0 만 남겨두고 설정하면 정상적으로 윈도우가 올라온다. 요건 OS가 2003일 경우. 2008 x64 에서는 Windows BootManager로만 해도 될 것 같다. 참고로 x3550 M2 에서는 부팅 가능한 디바이스를 찾지 못하면 Linux용 IBM DSA로 자동으로 부팅된다.
Local OS boot fails when external storage is attached - IBM System x3550 M2 / x3650 M2
4. etcs
실제로 어플리케이션을 사용하는 담당자 말로는 기존 시스템에 비교해서 많이 빨라졌다고는 하는데, 개인적으로 대충 살펴본 것에 의하면, 획기적(!)으로 빨라졌다. 충격적이다(!) 뭐 그런 느낌은 없는듯 하다. 생각지도 못한 장애에 급하게 서비스로 투입된 장비라 갖고 놀 시간도 없었고, 그냥 그렇다. 어차피, 내가 사용할 개인PC 아니면 아무 소용 없다는 진리를 깨우치는 중.
references
http://en.wikipedia.org/wiki/Xeon#5500-series_.22Gainestown.22
http://en.wikipedia.org/wiki/Serial_attached_SCSI
http://www-03.ibm.com/systems/x/hardware/rack/x3550m2/index.html
2011.05.20 추가
일반 PC용 Unbuffed DIMM, Non-ECC 메모리를 설치 할 경우 단면 메모리만 인식한다. 삼성 DDR3 4GB 모듈일 경우 양면 모델만 나오고 있는데, 2GB 단면을 구해서 설치하거나 다른 벤더의 메모리를 써야할 듯. 네할렘 기반의 머신들은 메모리 컨트롤러가 CPU가 포함하고 있기 때문에, 1 CPU일 경우 총 16 DIMM 중 8개만 사용이 가능하다. 16개의 DIMM SLOT을 모두 사용하고자 하면 2 CPU모델이어야 하며, 메모리의 설치 순서는 다음과 같다.
Microprocessor 1 Install the DIMMs in the following
sequence: 3, 6, 8, 2, 5, 7, 1, 4
Microprocessor 2 Install the DIMMs in the following
sequence: 11, 14, 16, 10, 13, 15, 9,12
매뉴얼에 기록된 호환 파트는 RDIMM 의 FRU 만 표기되어있는데, 실제로는 UDIMM(ECC,NON-ECC) 모두 사용 가능 했다. (단면 메모리의 제약이 있긴하지만) 따라서 시장에서 가장 쉽고 저렴하게 구성할 수 있는 최대 메모리는 2GB 단면 모듈 * 8 개, 총 16GB 이지만, 1번과 4번의 DIMM 을 채우면 부팅이 되지 않았다. 3/6/8/2/5/7 총 6개의 DIMM 을 구성하였고 인식한 메모리 용량은 총 12GB. 300만원 넘는 박스 사다 쓰면서, 돈 아낀다고 non-warranty PC용 메모리 꼽아쓰는게 잘하는 일인가 싶기도 하지만, 인간적으로 정품 파트 너무 비싸다. 앵간해야지 쓰지. ECC Memory 혹은 Registered ECC 메모리를 꼭 써야하는가에 대해서는 좀 더 생각 해봐야할 듯. 일반 DIMM 설치 후 별다른 큰 문제 없이 사용 되고 있고, DSA 에서는 ECC 메모리(Singlebit 보정)로 인식을 한다.
DRAM Errors in the Wild: A Large-Scale Field Study