개요
헤놀로지, TrueNAS등 NAS를 빌드할 때 부족한 SATA포트를 보충하기 위해서 SAS2008이나 SAS3008칩셋 계열의 HBA카드를 사용합니다.
중국산 SATA확장카드보다 더 신뢰성이 높고, SAS하드도 사용할 수 있으며, 서버실에서 나오는 중고들을 비교적 저렴한 값에 구할 수 있기 때문입니다.
이들 대부분은 하드웨어 레이드 펌웨어(IR Mode) 동작 상태로 장터에 나오게 됩니다.
한편, 소프트웨어 레이드를 사용하는 DSM(헤놀로지), TrueNAS들은 디스크에 원시적 접근 권한을 필요로 하기 때문에 이 카드들을 그대로 사용할 순 없고, 패스스루(passthrough) 모드인 IT 펌웨어를 입혀 동작시켜야 합니다.
이번 글에서는, SAS3008계열 카드(AOC-S3008L)의 펌웨어를 IR에서 IT로 크로스플래싱(Cross-flashing)을 해보겠습니다.
파일 준비
SAS3_FW_Phase16.0-16.00.12.00_Firmware_all.zip
drive.google.com
우선, USB드라이브에 sas3flash.efi, mptsas3.rom, mpt3x64.rom 3개의 파일을 옮겨담아주세요.
그 후, 위의 폴더 목록 중에서 보유한 카드의 종류에 따라 필요한 파일을 찾습니다. 제가 사용하고자 하는 카드는 내부 SAS 포트 2개로, 9300-8i입니다.
(글 최상단 오른쪽 사진처럼 9300-16i일 경우도 있으니 본인 환경에 맞는 파일을 사용하셔야 합니다.)
최종적으로 아래 사진과 같이 파일 4개가 있어야 합니다.
재부팅 후, UEFI 쉘로 진입합니다. 부팅 시 부팅메뉴 팝업 혹은 UEFI Firmware 진입 후 부팅메뉴에서 UEFI 쉘을 선택하면 됩니다.
메인보드에 따라, UEFI쉘이 내장되어 있지 않은 경우도 있습니다. 그런 분들의 경우, 아래 압축파일을 받아 USB에 /boot/efi/BOOTX64.efi 로 넣어주세요.
IT 펌웨어 플래싱
UEFI 쉘에서 USB드라이브 찾기
맨 처음 UEFI쉘 진입 시, 연결된 장치 리스트가 빠르게 지나가버려 USB드라이브를 찾기 힘듭니다.
아래 명령어를 이용하면 리스트가 한 화면 단위로 끊어져 출력되어 알아보기 쉬워집니다.
map -b
USB파티션이 fs2로 잡혀있습니다. q→Enter입력으로 빠져나온 뒤 쉘에 아래 명령어를 차례로 입력합니다.
그러면 사진처럼 조금 전 담아놓은 파일 4개를 확인할 수 있습니다.
(제 USB가 DOS겸용이라 다른 파일이 들어있습니다 ㅠㅠ. 4개만 들어있으면 됩니다.)
fs2:
dir
장착된 카드 확인하기
펌웨어 플래싱 전 항상 장착된 카드를 먼저 확인해야 합니다.
아래 명령어를 입력하여 장착된 카드를 모두 불러옵니다.
sas3flash.efi -listall
그러면, 아래 사진처럼 장착된 카드가 리스트 형태로 표현됩니다. 제 경우 9300-8i 카드를 2장 꽃았기 때문에 2장이 나타납니다.
반면, 4포트짜리 9300-16i는 한 장의 카드만 장착해도 2장의 카드처럼 출력됩니다. 그래서 플래싱할 때, 두 번의 과정이 필요한데, 그런 경우까지 같이 설명해보겠습니다.
리스트 맨 왼쪽 Num이 각 카드의 숫자가 됩니다.
아래 명령어를 통해 각각 카드의 세부 정보를 확인할 수 있습니다.
- 카드가 두 장인 경우(4포트 한 장인 경우 포함)
sas3flash.efi -c 0 -list
sas3flash.efi -c 1 -list
- 카드가 한 장인 경우
sas3flash.efi -list
카드 정보가 표시되었다면, 최우선적으로 SAS Address 주소를 적어둔 뒤, 다음 과정으로 넘어갑니다.
기존 펌웨어 지우기
IR→IT 를 크로스플래싱(Cross-flashing)이라고 합니다. 원래 IR 펌웨어로 사용하는 기기(ex. 9311-8i)와 IT 펌웨어(ex. 9300-8i)로 사용하는 기기가 다르기 때문입니다.
기기는 다르지만, 베이스가 동일하기 때문에 이기종간 펌웨어 플래싱이 가능하고, 그렇기 때문에 크로스플래싱이라고 합니다.
우선, 기존 펌웨어를 날려주어야 하므로, 아래 명령어를 진행해 줍니다.
(SAS Address 주소를 필히 적어두세요)
- 카드가 두 장인 경우(4포트 한 장인 경우 포함)
sas3flash.efi -c 0 -o -e 7
sas3flash.efi -c 1 -o -e 7
- 카드가 한 장인 경우
sas3flash.efi -o -e 7
제대로 입력했다면, 아래 사진처럼 펌웨어를 성공적으로 날릴 수 있게 됩니다.
여기까지 완료했을 경우, 절대 컴퓨터를 끄시면 안됩니다. 이 단계에서 종료할 경우, 해당 카드는 벽돌이 되어 접근할 수 없습니다.
(펌웨어 erase 없이 바로 플래싱 하려고 하면 아래 사진처럼 에러만 출력되므로, 꼭 해주셔야 합니다.)
IT 펌웨어 플래싱하기
이제 IT 펌웨어를 입히는 과정입니다. 아래 명령어를 입력해 주세요.
- 카드가 두 장인 경우(4포트 한 장인 경우 포함)
sas3flash.efi -c 0 -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom
sas3flash.efi -c 1 -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom
- 카드가 한 장인 경우
sas3flash.efi -f SAS9300_8i_IT.bin -b mptsas3.rom -b mpt3x64.rom
쉘 버전에 따라 매개변수 3개 동시 입력이 안되는 경우도 있습니다. 그럴 경우 아래처럼 나눠서 입력해주세요.
sas3flash.efi -f SAS9300_8i_IT.bin
sas3flash.efi -b mptsas3.rom
sas3flash.efi b mpt3x64.rom
그러면, 아래처럼 펌웨어 과정이 진행됩니다.
SAS2008, SAS3008칩셋 모두 가장 최신 펌웨어는 16.00.12.00입니다.
별다른 오류 없이 플래싱을 완료했다면, 조금 전 적어둔 SAS Address를 다시 입력해줄 차례입니다.
아래 명령어를 입력하되, ‘address’ 부분은 개별 환경에 맞춰 적어주세요.
- 카드가 두 장인 경우(4포트 한 장인 경우 포함)
sas3flash.efi -c 0 -o -sasadd 'address'
sas3flash.efi -c 1 -o -sasadd 'address'
- 카드가 한 장인 경우
sas3flash.efi -o -sasadd 'address'
펌웨어 최종 확인
- 카드가 두 장인 경우(4포트 한 장인 경우 포함)
sas3flash.efi -c 0 -list
sas3flash.efi -c 1 -list
- 카드가 한 장인 경우
sas3flash.efi -list
사진처럼 IT펌웨어와 Firmware Version 16.00.12.00을 확인할 수 있어야 합니다. 또, SAS Address가 제대로 입혀졌는지도 확인하셔야 합니다.
문제가 있을 경우 과정을 처음부터 하셔야 합니다.
이제 이 카드를 TrueNAS 혹은 Xpenology(헤놀로지) 등에 사용하시면 됩니다.
여담
참고로 sas3flash.efi(sas2flash.efi 포함)는 리눅스에서도 동작시킬 수 있습니다.
DOS의 경우 sas3flsh.exe, 리눅스의 경우 sas3flash.efi, 그 외 윈도우에서도 작동시킬 수 있습니다.
그러나, 리눅스나 윈도우의 경우, 드라이버가 사용중일 경우, 연결이 정상적으로 종료되지 않는 경우가 많아 펌웨어 erase, flashing 과정에서 벽돌이 되는 경우를 레딧에서 종종 찾아볼 수 있고
DOS의 경우 사양에 따라 과정이 너무 오래 걸리는 경우가 있어,
UEFI 쉘이 가장 무난하고 좋은 방법인 것 같습니다.
크로스플래싱이 아닌, IT → IT펌웨어 업그레이드 같은 정도의 작업은 리눅스에서 라이브로 가능하기도 합니다.
관련 글
2025.01.23 - [ETC] - SAS2008(9211-8i 등) IT펌웨어 플래싱하기
SAS2008(9211-8i 등) IT펌웨어 플래싱하기
개요SAS2008칩셋계열 카드는 가정용 NAS나 홈서버를 구성할 때 많이 사용됩니다. 호랑이 담배피던 시절에 은퇴했지만, 가정에서 사용하기에는 충분히 차고 넘치는 성능이기도 하고, 오랜 시간 사
worklazy.net