저는 최근 매우 저렴한 가격에 Mellanox ConnectX-2 10GBit NIC 2개를 구입했습니다. 나는 이것을 인식하기 위해 pfSense 상자를 얻으려고 노력하고 있습니다. BIOS는 문제 없이 네트워크 카드를 인식합니다. 그러나 pfSense는 확실히 그렇지 않습니다. 전혀 나타나지 않았습니다.
드라이버를 직접 설치하거나 적어도 마법의 땅콩버터를 어딘가에 던져 넣으면 이 문제를 해결할 수 있다고 들었습니다. 슬프게도 내가 가진 유일한 증거는FreeNAS에 관한 이 기사. 하지만 내 설치에서는 작동하지 않습니다. 나도 찾아냈어NAS4Free에 대한 게시물, 그러나 게시물에 언급된 ISO나 해당 ISO가 기반으로 하는 BSD 버전을 찾을 수 없습니다. NAS4Free 웹사이트에서 뭔가를 놓쳤을 수도 있지만 거기에는 없습니다.
몇 가지 스냅샷과 현재 2.2.6 공식 버전을 사용해 보았습니다. 불운.
누구든지 올바른 방향으로 나를 가리킬 수 있습니까?
답변1
편집&FreeNAS-9.10-STABLE-201605240427 주의!
최근에 최신 FreeNAS-9.10-STABLE-201605240427
버전으로 업그레이드했는데 재부팅 시 mlxen 모듈을 참조하는 커널 패닉이 발생했습니다. 내 [제한된 지식] 추측으로는 mlx 드라이버가 이제 FreeBSD 빌드에 포함되어 있으므로 이러한 단계가 더 이상 필요하지 않습니다.
따라서 커널 패닉이 발생하는 경우:
- 재부팅하고 GRUB 프롬프트에서 "e"를 눌러 부팅 설정을 편집하세요.
- 그러면 간단한 편집기가 열리고
mlx
드라이버 로딩을 참조하는 줄을 찾아#
. F10
시작하려면 계속을 누르세요.- 시스템 튜너블에서 모듈 로더 문을 제거합니다.
@Lildirt의 솔루션은 FreeNAS(FreeNAS-9.10-STABLE-201605021851)에서도 작동합니다. 간단히 말해서 FreeNAS와 ESXi를 실행하는 다른 서버 간에 iSCSI를 수행할 수 있도록 카드 2개 팩과 직접 연결 케이블에 50달러를 썼습니다. ESXi 태그는 괜찮습니다. OP의 pfsense처럼 FreeBSD는 그것이 무엇인지 모릅니다.
내 단계의 차이점은 다음과 같습니다.
- 작업할 FreeBSD 감옥을 만들었습니다.
- gcc 설치됨(
pkg install gcc
) - 언급된 tar(
wget http://www.mellanox.com/downloads/Drivers/MLNX_OFED_FREEBSD_V2.1.6.tar.gz
) 를 다운로드했습니다. - 압축을 푼다
- makefile이 포함된 디렉토리로 이동합니다(
mlx4
그리고 매번mlxen
). make && make install
이것은 다음 위치에 설치됩니다./boot/kernel
감옥의 뿌리에 대하여(따라서 제 경우에는 실제 경로는 입니다/mnt/zfspoolname/jails/mytempjail/boot/kernel
.) (또한 매번 두 개의 모듈에 대해)- 이제 두 개의 .ko 파일(모듈)을 FreeNAS에 복사합니다
/boot/kernel
(감옥에서 나가야 한다는 것을 기억하세요, 말도 안되는 소리입니다). - FreeNAS 웹 UI를 통해 모듈 로더 명령문을 추가합니다(시스템 -> 튜너블 -> 튜너블 추가).
/boot/loader.conf.local
- FreeNAS 다시 시작
- 이제 내 이름이 붙은 새 네트워크 인터페이스를 추가할 수 있습니다.
mlxen0
답변2
괜찮은. 이것을 알아내는 데 시간이 걸렸습니다.
Mellanox는 본질적으로 이 카드에 대한 모든 지원을 중단한 것으로 나타났습니다. 그러나 모든 것이 손실되는 것은 아닙니다. 이전 버전의 ConnectX-3을 사용하여 실제로 NIC를 사용할 수 있습니다(또는 다운로드한 드라이버의 릴리스 노트에 나와 있음). 드라이버 웹 페이지를 찾을 수 있습니다여기, 실제 드라이버 다운로드가 정확합니다.여기. ConnectX-3 -> Archive Versions -> 2.1 -> FreeBSD -> All -> All
실제 드라이버 사이트 아래에 있습니다 .
다행히 드라이버 설치 방법에 대한 지침이 함께 제공됩니다. pfSense는 적합한 컴파일 환경을 제공하지 않기 때문에 컴파일을 위해서는 별도의 머신을 설정해야 합니다. FreeBSD 10.3을 설치했습니다(소스 코드와 함께 제공됩니다. 이는 설치 프로그램의 옵션입니다.) 내 pfSense 버전이 사용하는 것과 동일한 버전인 가상 머신에 있습니다. pfSense 상자에 사용되는 것과 동일한 버전의 FreeBSD를 사용하십시오. 그렇게 하지 않으면 문제가 발생할 수 있습니다.
을 사용하여 gcc를 설치했습니다 pkg install gcc
. 아쉽게도 현재로서는 Mellanox 홈페이지에서 다운로드한 위의 드라이버를 실제로 사용할 수 없습니다. 그러나 FreeBSD는 여전히 드라이버를 지원하지만 기본적으로 활성화되어 있지 않습니다.드라이버를 빌드할 때 오류를 발견한 경우, 컴파일해야 하는 두 개의 모듈을 찾을 수 있습니다 /usr/src/sys/modules
. 두 개의 관심 디렉토리가 있을 것 mlxen
입니다 mlx4
. Makefile
두 디렉토리 모두에 하나가 있습니다. make && make install
다른 운전자와 동일한 일반 절차를 수행합니다. 필요한 모듈이 제거됩니다 /boot/kernel
. 모듈 이름은 mlx4.ko
및 입니다 mlxen.ko
. 이 두 모듈을 pfSense 상자(동일한 디렉터리: )에 복사하세요 /boot/kernel
. 그런 다음 파일에 다음 두 줄을 추가할 수 있습니다 /boot/loader.conf
.
mlx4_load="YES"
mlxen_load="YES"
파일을 저장하고 pfSense 시스템을 다시 시작하십시오.
나에게는 이제 NIC가 나타나서 LAN 인터페이스로 구성될 수 있게 되었습니다.