TrueNAS Intel X520-DA2 설치하기(HP 560SFP+)

안녕하세요. 제가 최근에 Intel X520-DA2(HP 560SFP+) 모델을 구입하여 TrueNAS에 설치했는데 인식이 안되는 현상이 있었습니다.

지금은 해당 문제를 해결하여 해결 방법을 공유하고자 합니다.

 

PCI 리스트 확인하기

lspci

TrueNAS shell에서 해당 명령어를 입력해 주세요. 설치된 pci 장치들을 보여줍니다.

01:00.0 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Network Connection (rev 01)
01:00.1 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Network Connection (rev 01)

출력 화면에 위와 같이 10 Gigabit Dual Port Network Connection이 없다면 인식되지 않은 것입니다. 랜카드 자체에 문제가 있는 것일 수도 있으나, 카드에는 문제가 없고 랜카드 드라이버가 설치되지 않았다고 가정하고 진행하겠습니다.

 

커널 모듈 확인하기

TrueNAS는 부팅시 커널단에서 드라이버를 불러옵니다. 윈도우나 리눅스와 다르게 TrueNAS는 appliance이기 때문에 차이가 나는 것이지요. 그래서 윈도우나 리눅스처럼 단순히 드라이버를 설치할 수 없는 이유가 이것 때문입니다.

먼저, X520 드라이버가 커널 모듈에 포함되어 있는지 확인해야 합니다. TrueNAS root shell에서 실행해 주세요(jail 내부 X)

cd /boot/kernel
ls -l | grep if_ix

위의 명령어를 실행했을 때 아무것도 뜨지 않는다면 TrueNAS 커널에 X520 드라이버가 설치되지 않은 것입니다. 만약 명령어를 실행하였을 때 if_ix.ko라는 파일이 존재한다면 해당 글 뒤쪽에 있는 loader 수정하기로 넘어가주세요.

커널 모듈에 드라이버가 없다고 가정하고, 먼저 드라이버를 컴파일 하도록 하겠습니다.

 

드라이버 만들기

먼저, 드라이버를 만들기 위한 jail을 만들어야 합니다. TrueNAS root shell에서 무언가 하는 것은 보안적으로나 시스템 측면에서나 좋지 못한 생각입니다. 어차피 드라이버를 만들면 jail을 삭제해도 되니, 드라이버를 만들기 위한 jail을 만들어 주세요.

저의 경우 test라는 jail을 만들었습니다. 곧 지울 jail이니 네트워크 설정 등은 적당히 해주세요.

iocage console test

만든 jail 내부로 들어가 줍니다.

pkg update && pkg upgrade
pkg install wget git gcc

pkg를 업데이트 해주고 필요한 패키지를 설치해 줍니다.

git clone https://github.com/freebsd/freebsd-src.git /usr/src

Freebsd src를 clone합니다. 컴파일 과정에서 필요한 소스 파일들을 한번에 다운받습니다. 모든 소스 파일을 다운받다 보니 시간이 조금 걸립니다.

mkdir /home && cd /home

드라이버 파일을 다운로드 할 디렉토리를 만들었습니다.

wget https://downloadmirror.intel.com/822712/ix-3.3.38.tar.gz

Intel 홈페이지로부터 Freebsd용 10 Gigabit Network Driver을 다운로드 받습니다. 이 글을 작성한 시점보다 최신 드라이버가 존재할 수도 있으니 확인해 주세요.

tar xfz ix-3.3.38.tar.gz

다운로드한 파일의 압축을 풀어줍니다.

cd ix-3.3.38/src

src 폴더로 이동해주세요.

make
ls -l

드라이버를 컴파일 해줍니다. 그러면 if_ix.ko라는 파일이 만들어진 것을 확인할 수 있습니다.

 

커널에 드라이버 집어넣기

exit

test jail에서 로그아웃 해 주세요. 이제부터는 TrueNAS root shell에서 진행합니다.

cd /mnt/(시스템 pool 이름)/iocage/jails/test/root/home/ix-3.3.38/src

아까 드라이버를 컴파일했던 디렉토리로 이동해 주세요.

cp if_ix.ko /boot/kernel

커널 폴더에 방금 컴파일한 드라이버를 복사합니다.

chmod 555 /boot/kernel/if_ix.ko

드라이버의 권한을 읽고 실행 가능 하도록(r_x) 설정해 줍니다.

 

Loader 수정하기

TrueNAS는 부팅 과정에서 loader를 이용해 드라이버 모듈 등을 불러옵니다. Loader가 방금 만든 드라이버를 불러올 수 있도록 설정하겠습니다.

TrueNAS WEBUI-System-Tunables로 이동해주세요.

ADD를 눌러 새로운 설정을 만듭니다.

  • Variable은 if_ix_load
  • Value는 YES
  • Type은 loader
  • Enabled 체크

라고 설정하시고 SUBMIT을 눌러 저장해줍니다.

 

마무리하며

이렇게 드라이버를 새롭게 컴파일하고, 커널에 적용해보았습니다. 컴퓨터를 완전히 종료하셨다가 다시 부팅하시면 X520 랜카드가 적용된 것을 확인할 수 있습니다. WEBUI에 뜨지 않는다면 위 과정을 다시 해보시거나, 컴퓨터를 여러번 리부팅 해주세요.

또한, X520은 상당히 뜨거운 친구니 쿨링팬을 다시는 것을 추천드립니다.

답글 남기기