HBA 카드 교체 작업 :: LSI 9217-8i를 IT 모드로: 크로스플래싱부터 부팅까지, 실패 없이 끝내기

2026.08.13

·

HPE ProLiant DL360 Gen9의 온보드 P440ar RAID 컨트롤러를 LSI 9217-8i HBA로 교체하면서, 카드를 IT 모드로 크로스플래싱하고 부트 ROM과 UEFI 드라이버까지 얹어 실제로 부팅시키기까지의 전 과정을 정리했습니다. UEFI Shell의 sas2flash.efi 하나로 끝내는 방법이며, 명령을 그대로 따라 하다 카드를 벽돌로 만들지 않도록 각 단계가 왜 필요한지에 초점을 맞췄습니다.


왜 IT 모드인가

ZFS나 Ceph 같은 소프트웨어 정의 스토리지는 디스크를 있는 그대로 넘겨받아야 합니다. 체크섬, 재동기화, 배드섹터 관리를 파일시스템/스토리지 계층이 직접 하기 때문에, 그 아래에서 RAID 컨트롤러가 캐싱·재배열·논리 볼륨 추상화를 하면 오히려 방해가 됩니다. 최악의 경우 컨트롤러 캐시와 ZFS의 무결성 가정이 충돌해 데이터가 조용히 깨질 수 있습니다.

그래서 이런 환경에서는 HBA(Host Bus Adapter)를 씁니다. HBA는 디스크를 그대로 OS에 노출하는 “멍청한” 컨트롤러입니다. LSI SAS2308 칩 기반 카드는 펌웨어에 따라 두 가지 성격을 가집니다.

Sponsored

  • IR (Integrated RAID): 간단한 RAID 0/1을 지원하는 모드. 제품명으로는 9217-8i.
  • IT (Initiator Target): 순수 패스스루 HBA 모드. 제품명으로는 9207-8i.

하드웨어는 동일하고 펌웨어만 다릅니다. 그래서 9217-8i에 9207-8i용 IT 펌웨어를 구우면 IT 모드 HBA가 됩니다. 이 작업을 크로스플래싱(crossflashing)이라고 부릅니다.


먼저 개념 세 가지를 분리하자

크로스플래싱이 헷갈리는 이유는 서로 다른 세 가지를 한 번에 다루기 때문입니다. 카드의 플래시 영역에는 독립적인 세 조각이 들어갑니다.

구성 요소파일역할없으면
펌웨어9207-8.bin카드의 동작 모드(IT/IR)와 기본 기능을 결정카드가 동작 불능
Legacy 부트 ROMmptsas2.rom레거시 BIOS 부팅 시 카드에 연결된 디스크로 부팅Legacy 모드에서 이 카드의 디스크로 부팅 불가
UEFI 드라이버 (BSD)x64sas2.romUEFI 부팅 시 카드에 연결된 디스크로 부팅UEFI 모드에서 이 카드의 디스크로 부팅 불가
LSI 9217-8i 플래시 영역 구성 다이어그램 — 펌웨어·Legacy 부트 ROM·UEFI 드라이버·SAS Address와 대응 파일
LSI 9217-8i 카드의 플래시 영역 구성 — 펌웨어·Legacy 부트 ROM·UEFI 드라이버·SAS Address와 각 파일/옵션

여기에 하나 더, SAS Address가 있습니다. 카드의 고유 주소로, 플래시를 완전히 지우면 함께 날아갈 수 있습니다. 그래서 작업 전 반드시 기록해둡니다.

핵심을 정리하면:

  • 부트 ROM이 없어도 디스크는 OS에서 정상적으로 보입니다. 부트 ROM은 오직 “이 카드에 물린 디스크로 부팅할 때”만 필요합니다. OS가 별도 NVMe 등에 있고 이 카드는 데이터 디스크만 담당한다면 부트 ROM은 없어도 됩니다.
  • mptsas2.romx64sas2.rom은 별개 영역이라 공존합니다. 둘 다 구우면 Legacy/UEFI 어느 모드로 부팅하든 이 카드의 디스크로 부팅할 수 있습니다.

이 표만 이해하면 나머지는 절차입니다.


준비물

USB 구성

FAT32로 포맷하고 UEFI Shell로 부팅 가능한 USB에 다음 파일을 루트에 둡니다.

sas2flash.efi     # 플래싱 도구 (UEFI EBC 버전)
9207-8.bin        # IT 펌웨어
mptsas2.rom       # Legacy 부트 ROM
x64sas2.rom       # UEFI 드라이버

부팅 가능한 UEFI Shell은 서버 펌웨어에 내장된 것을 쓰거나(HPE Gen9은 부트 메뉴에서 UEFI Shell 진입 가능), ShellX64.efi를 USB에 함께 넣어 씁니다.

파일 어디서 받나

Broadcom(구 LSI/Avago) 사이트는 단종 제품 페이지를 정리하면서 제품 페이지 접근 시 Contact Sales로 리다이렉트되는 경우가 있습니다. curl이나 wget으로 직접 받으면 실제 파일 대신 HTML 페이지가 내려오는 일도 흔합니다. 받은 뒤에는 반드시 확인합니다.

file 받은파일.zip
# "Zip archive data ..." → 정상
# "HTML document ..."    → 리다이렉트에 막힌 것

펌웨어와 Legacy 부트 ROM(9207-8.bin, mptsas2.rom)은 9207-8i_Package_P20_IR_IT_Firmware_BIOS_for_MSDOS_Windows 패키지 안에 들어 있습니다.

UEFI 드라이버(x64sas2.rom)는 별도의 UEFI_BSD_P20 패키지에 들어 있습니다. 압축 안에 일반 버전과 Signed(SecureBoot 대응) 버전이 함께 들어 있으며, SecureBoot 환경까지 고려하면 Signed 버전을 쓰는 편이 안전합니다.

unzip UEFI_BSD_P20.zip -d uefi
find uefi -iname "x64sas2.rom"
# .../uefi_bsd_rel/x64sas2.rom          (일반)
# .../uefi_bsd_rel/Signed/x64sas2.rom   (Signed) ← 이걸 사용

주의
반드시 신뢰할 수 있는 출처(공식 또는 알려진 미러)에서 받고, 가능하면 체크섬을 확인하세요. 잘못된 펌웨어 이미지를 구우면 카드가 복구 불가능해질 수 있습니다.


실전 플래싱

전 과정을 UEFI Shell에서 진행합니다. 부팅 메뉴에서 UEFI Shell 또는 USB로 진입한 뒤, 파일이 있는 파일시스템으로 이동합니다.

Shell> map -r          # 파일시스템 목록 확인
Shell> fs2:            # USB가 잡힌 번호로 이동 (fs0, fs1 ... 환경마다 다름)
FS2:> dir             # 파일 4개가 보이는지 확인

1단계 — 현재 상태 확인 및 SAS Address 백업

FS2:> sas2flash.efi -list

출력에서 다음을 확인합니다.

  • Firmware Product ID0x2714 (IR)이면 IR 모드, 0x2214 (IT)이면 이미 IT 모드
  • SAS Address반드시 메모해둡니다 (예: 500605B-0-1A2B-3C4D)
  • BIOS Version, UEFI BSD Version — 부트 ROM/UEFI 드라이버 존재 여부
sas2flash.efi -list 출력, IR 모드 0x2714 (SAS 주소·보드 시리얼 모자이크)
sas2flash.efi -list — 현재 IR 모드(0x2714 (IR))·SAS Address 확인 (SAS 주소·보드 시리얼 모자이크)

2단계 — 플래시 지우기

IR 펌웨어가 올라가 있는 상태에서는 IT 펌웨어를 바로 덮어쓸 수 없습니다. 시도하면 다음 에러가 납니다.

ERROR: Cannot Flash IT Firmware over IR Firmware!
Firmware Image Validation Failed!

그래서 먼저 플래시를 지웁니다.

FS2:> sas2flash.efi -o -e 6
  • -o알파벳 소문자 o (advanced mode)입니다. 숫자 0을 넣으면 Invalid command 에러가 납니다.
  • -e 6은 플래시 영역을 지우는 명령입니다.

⚠️ 이 시점부터 카드는 펌웨어가 없는 빈 상태입니다. 절대 재부팅하거나 전원을 끊지 말고 곧바로 다음 단계로 진행하세요.
여기서 전원이 나가면 카드가 벽돌이 됩니다.

Erase Flash Operation Successful!가 나오면 성공입니다. 이 직후 Failed Reconnecting the EFI Driver (Not Found) 같은 메시지가 보이는데, 펌웨어를 지웠으니 EFI 드라이버가 사라진 것이 당연합니다. 정상입니다.

3단계 — IT 펌웨어 + Legacy 부트 ROM

지운 직후 곧바로 펌웨어와 부트 ROM을 함께 굽습니다.

FS2:> sas2flash.efi -o -f 9207-8.bin -b mptsas2.rom
  • -f 9207-8.bin — IT 펌웨어
  • -b mptsas2.rom — Legacy 부트 ROM

정상이라면 다음과 같은 흐름이 이어집니다.

Firmware Download Successful.
Adapter Successfully Reset.
Flash BIOS Image Successful.
Finished Processing Commands Successfully.

4단계 — UEFI 드라이버 추가

UEFI 모드에서도 이 카드의 디스크로 부팅해야 한다면 UEFI 드라이버를 추가로 굽습니다.

FS2:> sas2flash.efi -o -b x64sas2.rom

5단계 — 검증

FS2:> sas2flash.efi -list

목표 상태는 다음과 같습니다.

Firmware Product ID : 0x2214 (IT)          ← IT 모드로 전환됨
Firmware Version    : 20.00.07.00          ← IT 펌웨어 (P20)
BIOS Version        : 07.39.02.00          ← Legacy 부트 ROM
UEFI BSD Version    : 07.27.01.01          ← UEFI 드라이버
SAS Address         : 500605B-0-1A2B-3C4D  ← 백업해둔 주소와 동일한지 확인

SAS Address0이거나 백업값과 다르면 복원합니다.

FS2:> sas2flash.efi -o -sasadd 500605B01A2B3C4D
sas2flash.efi -list 출력, IT 모드 0x2214 (SAS 주소·보드 시리얼 모자이크)
플래싱 후 sas2flash.efi -list — IT 모드(0x2214 (IT))·BIOS·UEFI BSD 버전 확인 (SAS 주소·보드 시리얼 모자이크)

여기까지 오면 카드 작업은 끝입니다. 재부팅하면 POST 단계에서 LSI 부트 ROM이 로드되며 카드에 연결된 디스크 목록이 표시됩니다.

POST 화면 LSI MPT SAS2 BIOS 디스크 목록
재부팅 후 POST — LSI MPT SAS2 BIOS가 로드되며 연결된 디스크 목록 표시

함정 모음 — 이 메시지가 나오면 이런 뜻이다

실제로 마주치기 쉬운 메시지들을 정리합니다.

  • ERROR: Cannot Flash IT Firmware over IR Firmware!
    IR 펌웨어 위에 IT 펌웨어를 덮으려 했습니다. -o -e 6으로 먼저 지워야 합니다.
  • ERROR: Invalid command -0
    -oo를 숫자 0으로 입력했습니다. 알파벳 소문자 o가 맞습니다.
  • sas2flash.efi -listall을 쳤는데 아무것도 안 나온다
    드라이브/컨트롤러 인식 문제이거나 출력이 스크롤로 넘어간 경우입니다. map -r로 파일시스템을 다시 확인하고, pci -b로 카드가 PCI 목록에 잡히는지(LSI는 Vendor ID 1000) 봅니다.
  • Controller is not operational. A firmware download is required.
    카드가 FAULT 상태입니다. 이 프롬프트에서 펌웨어 파일명을 입력하면 카드를 되살릴 수 있습니다. 즉 완전히 죽은 게 아니라 펌웨어 복구가 필요한 상태입니다.
  • 플래싱 후 UEFI BSD VersionN/A인데 UEFI로 부팅이 안 된다
    x64sas2.rom을 굽지 않았습니다. 4단계를 수행합니다. 반대로 BIOS VersionN/Amptsas2.rom을 굽지 않은 것이며, 이 경우 Legacy 부팅이 안 됩니다.

부팅 모드: Legacy냐 UEFI냐

플래싱을 마쳤다고 끝이 아닙니다. 카드에 부트 ROM이 있는 것과, OS가 그 부트 경로로 실제 부팅되는 것은 별개입니다.

카드에는 Legacy용(mptsas2.rom)과 UEFI용(x64sas2.rom) 부트 경로가 모두 들어갈 수 있지만, 실제 부팅은 서버의 부팅 모드OS가 설치된 부팅 방식이 맞아야 합니다.

  • OS가 Legacy(BIOS/MBR)로 설치되어 있다면, 서버도 Legacy 부팅 모드여야 하고 카드에 mptsas2.rom이 있어야 합니다.
  • OS가 UEFI로 설치되어 있다면, 서버도 UEFI 부팅 모드여야 하고 카드에 x64sas2.rom이 있어야 합니다.

카드에 UEFI 드라이버가 있어도 OS 디스크에 UEFI 부트로더가 없으면 UEFI로 부팅되지 않습니다. 이 둘을 혼동하면 “분명히 x64sas2.rom을 구웠는데 UEFI로 안 뜬다”는 상황에 빠집니다.

교훈 한 가지 — ZFS-on-root의 부팅 모드 전환은 함정이 있다.
Proxmox를 ZFS 루트 + Legacy로 설치한 시스템을 나중에 UEFI로 바꾸려면, 부팅 중인 상태에서 proxmox-boot-tool이나 grub-install로는 잘 되지 않습니다. GRUB이 ZFS 루트 파일시스템을 인식하지 못해 알 수 없는 파일 시스템(unknown filesystem) 에러로 멈추기 때문입니다. proxmox-boot-tool은 현재 부팅 모드를 따라가므로, Legacy로 부팅 중이면 UEFI 부트로더를 설치하지 못하는 순환에 빠집니다. 부팅 모드를 정말 바꿔야 한다면 설치 ISO로 해당 모드(UEFI) rescue 부팅을 한 뒤 부트로더를 다시 설치하는 것이 정석입니다. 그럴 필요가 없다면, 이미 잘 부팅되는 Legacy 구성을 굳이 건드리지 않는 편이 안전합니다. 노드마다 부팅 모드가 조금 달라도 기능상 손해는 없습니다.


정리

크로스플래싱의 요지는 결국 세 가지를 구분하는 것입니다. 펌웨어(IT/IR 성격), Legacy 부트 ROM, UEFI 드라이버 — 이들은 카드의 서로 다른 영역이며 독립적으로 존재합니다. 순서는 언제나 “지우고, 펌웨어와 부트 ROM을 굽고, 필요하면 UEFI 드라이버를 얹고, 검증한다”입니다. -e 6 이후에는 전원을 건드리지 않는다는 것, SAS Address를 미리 백업한다는 것, 그리고 부트 ROM의 존재와 실제 부팅 성공은 별개라는 것 — 이 세 가지만 기억하면 9217-8i의 IT 모드 전환은 어렵지 않습니다.


스크린샷 속 SAS Address·보드 시리얼(Tracer Number) 등 하드웨어 식별값은 모자이크 처리했으며, 본문의 SAS Address(500605B-0-1A2B-3C4D)는 예시 값입니다. 실제 작업 시 sas2flash.efi -list로 확인한 본인 카드의 값을 사용하세요.


MORE POSTS

다른 글 보기

테크 랩

에이전틱 개발 파이프라인 – 05. AI가 짠 코드, 어떻게 믿나: 검증 게이트 설계

AI 코드를 완전 위임하지 않고 다층 검증 게이트(셀프체크·CI·AI리뷰·사람 최종판정)로 신뢰를 확보하는 파이프라인 설계.
2026.08.21
테크 랩

에이전틱 개발 파이프라인 – 04. Claude Code로 MSA 설계·구현하기

AI에게 마이크로서비스 경계를 그리게 하는 프롬프트 패턴과, 설계 판단은 사람이 하는 오케스트레이션 방식.
2026.08.20
테크 랩

에이전틱 개발 파이프라인 – 03. Claude Code 실전 세팅: 설치부터 CLAUDE.md 컨텍스트 설계까지

Claude Code 설치·인증과, 반복 지시 없이 일관된 결과를 내는 CLAUDE.md 컨텍스트 설계·에이전틱 워크플로 습관.
2026.08.19

프로젝트 문의 환영합니다

기획부터 개발, 운영까지 함께 만들어 드립니다.

무료 3분 자가진단

우리 회사, 자체 클라우드가 답일까?

AWS vs 자체 인프라 · 11개 항목 3분 체크