소개
이 문서에서는 일반적인 운영 체제용 Cisco UCS(Unified Computing System)에 장치 드라이버를 설치하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco UCS Manager
- CIMC(Cisco Integrated Management Controller)
- VMware(Virtual Machine-ware), Windows Server 또는 Linux OS(Operating Systems)
사용되는 구성 요소
이 문서의 정보는 다음 하드웨어 플랫폼을 기반으로 합니다.
"이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 네트워크가 가동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다."
배경 정보
드라이버 정의
장치 드라이버는 OS와 하드웨어 간의 인터페이스인 소프트웨어입니다. 디바이스 드라이버는 일반적인 OS 명령을 특정 디바이스에 대한 특수 명령으로 변환하므로 OS가 하드웨어 디바이스와 통신할 수 있습니다.
드라이버가 필요한 장치
장치 드라이버가 필요한 하드웨어 장치 목록은 다음과 같습니다.
- 이더넷 네트워크 인터페이스 카드(ENIC)
- 파이버 채널 FNIC(Network Interface Card)
- RAID(Redundant Array of Independent Disk) 컨트롤러
- 마더보드 칩셋
- 비디오 카드
- TPM(Trusted Platform Module)
드라이버와 펌웨어 비교
장치 드라이버는 펌웨어와 다릅니다. 장치 드라이버 소프트웨어는 OS에 설치되는 반면 펌웨어는 하드웨어 장치에 설치되는 하위 레벨 코드입니다. 펌웨어는 ROM, EPROM(Erasable Programmable ROM), 플래시 메모리 등의 비휘발성 메모리에 저장된다.
펌웨어에 대한 드라이버 의존
장치 드라이버는 장치 펌웨어에 대한 의존도가 높습니다. 장치 드라이버는 하드웨어 장치의 펌웨어 수준과 호환되어야 서로 제대로 통신할 수 있습니다. 올바른 작동을 위해서는 드라이버와 펌웨어 기능이 일치해야 합니다.
드라이버를 설치하고 업데이트해야 하는 경우
장치 드라이버는 운영 체제(예: Cisco OEM VMware ESXi 이미지)와 함께 사전 설치되거나 OS 설치 후 수동으로 설치할 수 있습니다.
장치 드라이버는 일반적으로 다음 절차를 수행한 후 업데이트해야 합니다.
- UCS 펌웨어 업그레이드
- 주요 OS 업그레이드/패치
필요한 드라이버 버전
UCS 하드웨어 및 소프트웨어 상호 운용성 매트릭스는 특정 OS, 장치 및 펌웨어 조합에 필요한 드라이버 버전을 간략하게 설명합니다.
경고: 매트릭스에 나열된 드라이버 버전은 Cisco Engineering Quality Assurance 팀에서 테스트하고 검증했으며, 올바른 드라이버를 설치해야 합니다. 그렇지 않으면 예기치 않은 동작으로 인해 네트워크가 중단될 수 있습니다.
이 예에서는 UCS Release 3.2.2에서 ESXi 6.0 U3을 실행하는 VIC(Virtual Interface Card) 1240이 포함된 B200 M4에 FNIC 드라이버 버전 1.6.0.36이 필요하다는 것을 보여 줍니다.
드라이버 번들 다운로드
드라이버 번들을 다운로드하려면 다음 단계를 완료하십시오.
- 웹 브라우저에서 https://www.cisco.com으로 이동합니다.
- Support(지원) 아래에서 Download Software(소프트웨어 다운로드)를 클릭합니다.
- Unified Computing and Servers를 클릭합니다.
- 서버를 선택합니다. Cisco UCS 드라이버는 Cisco UCS B-Series Blade Server와 Cisco UCS C-Series Rack-Mount에 모두 사용할 수 있습니다.
- UCS(Unified Computing System) Drivers를 클릭합니다.
- 다운로드할 번들을 선택하고 Download Now(지금 다운로드)를 클릭합니다.
팁: 다운로드할 드라이버 번들을 선택할 때 서버 펌웨어 릴리스와 가장 유사한 드라이버 번들 버전을 선택하는 것이 중요합니다. 예를 들어 UCS-B Release 3.2(2b)를 실행하는 경우 VMware 드라이버 번들 ucs-bxxx-drivers-vmware.3.2.iso가 필요합니다.
팁: 대부분의 VMware ESXi 드라이버는 VM Ware에서 직접 다운로드되며, 드라이버 버전을 검색합니다. 이는 전체 드라이버 번들을 다운로드하는 것보다 빠른 경우가 많습니다.
서버 하드웨어 확인
올바른 드라이버를 선택하기 전에 서버에 설치된 하드웨어 장치를 식별해야 합니다. 이 섹션에서는 UCS Manager 및 CIMC에 있는 디바이스를 찾는 방법에 대해 설명합니다.
UCS B 시리즈
이 예에서는 UCS Manager에서 서버 인벤토리를 찾는 방법을 보여 줍니다. 서버 1/1에는 VIC 1240이라는 두 개의 어댑터 모델이 설치되어 있습니다.
UCS C 시리즈
이 예에서는 CIMC에서 서버 하드웨어 디바이스를 찾는 방법을 보여 줍니다. 서버에 Cisco12G ModularSAS HBA RAID 컨트롤러가 설치되어 있습니다.
UCS 펌웨어 릴리스 확인
올바른 드라이버 버전을 선택하기 전에 UCS 릴리스를 식별해야 합니다. 이 섹션에서는 서버에 설치된 현재 UCS 릴리스를 식별하는 방법에 대해 설명합니다.
UCS B 시리즈
이 예에서 UCS B Series는 UCS Release 4.1(3h)을 실행합니다
UCS C 시리즈
이 예에서 UCS C Series는 UCS Release 4.1(2f)을 실행합니다.
OS 세부 사항
이 섹션에서는 드라이버 버전을 확인하는 방법과 공통 OS에 드라이버를 설치하는 방법에 대해 설명합니다.
VMware ESXi
현재 드라이버 버전 및 VMware 빌드를 확인하려면 다음 명령을 사용합니다.
팁: 이 명령은 ESXi CLI에서 실행됩니다. SSH(Secure Shell)를 활성화해야 SSH 세션을 시작할 수 있습니다.
명령을 사용합니다 |
설명 |
vmware -vl |
VMware 빌드 및 패치 수준을 표시합니다. |
esxcli 소프트웨어 프로파일 가져오기 |
설치 ISO 버전을 표시합니다. |
esxcfg-scsidevs -a |
호스트 HBA 및 관련 드라이버 이름 나열 |
esxcfg-nics -l |
호스트 vmnic 및 NIC(Network Interface Card) 모델 나열 |
ethtool -i vmnicX |
지정된 vmnic에서 사용하는 이더넷 드라이버를 표시합니다. |
esxcli 네트워크 nic get -n vmnicX |
ESXi 6.5의 지정된 vmnic에서 사용하는 이더넷 드라이버를 표시합니다. |
vmkload_mod -s fnic |
Cisco VIC의 HBA(Host Bus Adapter) 드라이버 버전을 표시합니다 |
vmkload_mod -s enic |
Cisco VIC의 이더넷 드라이버 버전을 표시합니다 |
vmkload_mod -s nenic |
ESXi 6.5 이상 릴리스용 Cisco VIC의 이더넷 드라이버 버전을 표시합니다 |
vmkload_mod -s megaraid_sas |
LSI MegaRAID 드라이버 버전을 표시합니다 |
vmkload_mod -s lsi_mr3 |
LSI lsi_mr3 드라이버 버전(ESXi 6.7의 기본 드라이버)을 표시합니다. |
vmkload_mod -s driver_name |
지정된 드라이버의 드라이버 버전을 표시합니다. |
다음 예는 vmnic2가 Cisco VIC 및 드라이버 버전 1.4.2.15a를 사용함을 보여줍니다.
이 예에서는 Qlogic HBA(Host Bus Adapter)가 드라이버 qla2xxx 버전 901.1k.1-14vmw를 사용함을 보여 줍니다.
드라이버 설치
드라이버를 설치하려면 다음 단계를 완료하십시오.
- 드라이버 zip 파일의 내용을 추출하고 *.vib 파일을 식별합니다.
- *.vib 파일을 ESXi 호스트 데이터 저장소에 업로드하려면 데이터 저장소 브라우저를 사용합니다.
- 호스트를 유지 관리 모드로 전환합니다.
- 드라이버를 설치합니다.
ESXi 5.x/6.x
ESXi 릴리스 5.x/6.x에 드라이버를 설치하려면 다음 명령을 사용합니다.
esxcli software vib install –v /path/async-driver.vib
참고: 드라이버에 서명 확인이 필요한 경우 —no-sig-check 스위치에서 이 명령을 실행합니다. 파일의 전체 경로를 사용해야 합니다.
ESXi 4.x
ESXi Release 4.x에 드라이버를 설치하려면 다음 명령을 사용합니다.
esxupdate --bundle=offline-bundle.zip update
설치 완료
앞서 언급한 명령 중 하나로 드라이버를 설치한 후 유지 관리 모드를 종료하고 호스트를 재부팅합니다. 드라이버 설치 방법에 대한 자세한 내용은 이 문서의 끝에 있는 관련 정보 섹션을 참조하십시오.
유용한 VMware CLI 명령
다음은 드라이버를 설치할 때 사용할 수 있는 몇 가지 기타 유용한 VMware 명령입니다.
유지 관리 모드 상태 확인
vim-cmd hostsvc/hostsummary | grep -i maintenace
전원이 켜진 VM 확인
vim-cmd vmsvc/getallvms
VM 전원 끄기
vim-cmd vmsvc/power.off <vm id>
유지 보수 모드 시작
vim-cmd hostsvc/maintenace_mode_enter
유지 관리 모드 종료
vim-cmd hostsvc/maintenace_mode_exit
Microsoft Windows 서버
이 섹션에서는 Microsoft Windows 서버에 드라이버를 설치하는 방법에 대해 설명합니다.
현재 드라이버 버전 확인
Microsoft Windows에서 장치 드라이버를 확인하려면 제어판에 있는 장치 관리자를 사용합니다.
현재 드라이버 버전 CLI 확인
Windows Server Core의 경우 PnP(Plug-and-Play) 유틸리티(PNPUtil.exe)를 사용하여 드라이버 버전을 확인합니다.
누락된 드라이버
누락된 드라이버가 있는 하드웨어 장치는 장치 관리자에 노란색 물음표와 함께 표시됩니다. 예기치 않은 동작을 방지하려면 이러한 디바이스를 올바른 드라이버로 업데이트해야 합니다.
드라이버 설치
Microsoft Windows에서 드라이버를 설치하거나 업데이트하려면 장치를 마우스 오른쪽 단추로 클릭하고 드라이버 설치/업데이트를 선택하여 설치 마법사를 시작합니다.
CLI에서 드라이버 설치
PNPUtil 툴은 CLI에서 드라이버를 설치하는 데에도 사용할 수 있습니다. 드라이버 ISO 번들은 UCS KVM Console Virtual Media를 통해 마운트할 수 있습니다.
유용한 Windows CLI 명령
명령을 사용합니다 |
설명 |
pnputil.exe -e |
설치된 모든 타사 드라이버 나열 |
pnputil.exe -a <INF 이름> |
드라이버 설치 |
pnputil.exe -d <INF 이름> |
드라이버 삭제 |
pnputil.exe -f -d <INF 이름> |
드라이버 강제 삭제 |
|
|
Red Hat 및 SUSE Linux
이 섹션에서는 RHEL(Red Hat Enterprise Linux) 및 SLES(SUSE Linux Enterprise Server)에서 드라이버를 설치하고 검증하는 방법에 대해 설명합니다.
SUSE 배경 정보
SLES 12 SP1부터 Cisco eNIC 및 usNIC 드라이버는 단일 RPM으로 함께 번들로 제공됩니다(다른 Linux 배포판에서와 같이 별도의 RPM으로 패키지되는 것과 다름). 커널 모듈 종속성이 SLES 12 SP1 이상에서 관리되는 방식 때문에 두 드라이버를 단일 RPM으로 번들링해야 합니다. Cisco usNIC 기능을 사용하지 않는 경우(예: UCSM/CIMC에서 usNIC 디바이스를 프로비저닝하지 않은 경우) usNIC 드라이버는 사실상 무시됩니다.
eNIC 및 usNIC 드라이버에는 고유한 버전 번호가 있습니다. SLES 12 SP 1 이상에 cisco-enic-usnic RPM을 설치하는 경우(예: 재부팅을 통해) 이러한 드라이버가 실행 중인 커널에 로드되면 cat /sys/module/enic/version 및 cat /sys/module/usnic_verbs/version을 사용하여 해당 버전 번호를 확인합니다. cisco-enic-usnic RPM에는 고유한 버전 번호도 있습니다. eNIC 및 usNIC 드라이버의 패키징을 나타내므로 RPM 버전 번호는 비슷하게 보이지만 두 드라이버의 특정 버전을 반영하지는 않습니다.
정확한 드라이버 버전 쿼리에 대한 자세한 내용은 RPM 설명 섹션을 참조하십시오. 쿼리는 아래 예와 유사합니다.
# rpm -qip cisco-enic-usnic-kmp-default-
.x86_64.rpm
Name : cisco-enic-usnic-kmp-default Relocations: (not relocatable)
...
Summary : Cisco VIC Ethernet NIC drivers
Description :
This RPM contains both the Cisco VIC Linux Ethernet driver (enic.ko, version
) and
the Cisco Userspace NIC (usNIC) Linux Ethernet driver (usnic_verbs.ko, version
).
Some Linux distros require both kernel modules to be in the same RPM in order to properly test for
symbol compatibility (because usnic_verbs.ko depends on enic.ko) when installing into post-GA
upgrade kernels.
현재 드라이버 버전 및 OS 릴리스 확인
다음은 현재 드라이버 버전 및 OS 릴리스를 확인하는 데 사용되는 명령 목록입니다.
명령을 사용합니다 |
설명 |
modinfo 드라이버 이름 |
다음 재부팅 시 기본적으로 로드되는 지정된 드라이버의 드라이버 버전을 표시합니다 |
모디포 /path/to/driver_name.ko |
지정한 드라이버 커널 개체 파일의 드라이버 버전을 표시합니다. |
cat /sys/module/enic/version |
Cisco VIC 어댑터용 실행 중인 Linux 커널에 현재 로드된 이더넷 드라이버 버전을 표시합니다 |
cat /sys/module/fnic/version |
Cisco VIC 어댑터용 실행 중인 Linux 커널에 현재 로드된 FC NIC 드라이버 버전을 표시합니다 |
cat /sys/module/megaraid_sas/version |
실행 중인 Linux 커널에 현재 로드된 LSI MegaRAID 드라이버 버전을 표시합니다 |
lsmod -l |
커널에 현재 로드된 드라이버를 나열합니다. |
cat/etc/redhat-release |
RHEL 릴리스(RHEL 6.x 이하)를 표시합니다. |
cat /etc/SuSE-릴리스 |
SUSE 릴리스를 표시합니다(SLES 11 SP3 이전 버전용). |
cat/etc/os 릴리스 |
RHEL 릴리스(RHEL 7.x 이상 및 SLES 11 SP4 이상)를 표시합니다. |
uname -a |
커널 관련 정보를 표시합니다. |
참고: modinfo [ driver name ] 명령은 다음 재부팅 시 로드되는 드라이버에 대한 모듈 정보를 표시합니다. 이는 실행 중인 커널에 현재 로드된 드라이버 버전과 반드시 동일할 필요는 없습니다. cat/sys/module/DRIVER_NAME/version을 검토하여 현재 실행 중인 커널에 로드된 드라이버 버전을 검증하거나 modinfo [ /path/to/driver.ko ] 명령을 사용하여 특정 드라이버 커널 개체 파일에 대한 모듈 정보를 검증합니다.
팁: 다른 일반적인 드라이버 이름의 예는 부록에 있는 드라이버 이름 참조 표를 참조하십시오.
이 예에서는 cisco-enic-usnic RPM 패키지 3.2.272.23에 번들로 포함된 3.2.210.18-738.12의 ENIC 드라이버 버전이 SLES 15 GA에 설치되어 있음을 보여 줍니다.
# cat /etc/os-release
NAME="SLES"
VERSION="15"
VERSION_ID="15"
PRETTY_NAME="SUSE Linux Enterprise Server 15"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15"
# rpm -qa | grep enic
cisco-enic-usnic-kmp-default-3.2.272.23_k4.12.14_23-738.12.x86_64
# modinfo enic | grep ^version
version: 3.2.210.18-738.12
# cat /sys/module/enic/version
3.2.210.18-738.12
드라이버 설치
RHEL 및 SLES의 드라이버는 Redhat Package Manager(RPM)를 사용하여 설치됩니다. 드라이버를 설치하려면 다음 명령을 사용합니다.
# rpm -ihv RPM_filename.x86_64.rpm
팁: Linux에서 드라이버를 설치할 때 드라이버와 관련된 README 파일이 있으면 검토하십시오. RPM의 내용을 보고 관련 README 파일이 설치된 위치를 확인할 수 있습니다( rpm -qp kmod-enic). 일부 RPM 드라이버 패키지는 다른 모듈에 종속되어 있으며 추가 RPM 패키지를 설치해야 합니다. README 파일에는 드라이버 파일 설치 방법에 대한 전체 지침이 들어 있습니다.
부록
드라이버 이름 참조 테이블
이 표에는 공통 드라이버의 드라이버 이름 또는 접두사가 나와 있습니다.
명령을 사용합니다 |
설명 |
위생 |
Cisco VIC 이더넷 NIC |
fnic |
Cisco VIC FC NIC |
qle 또는 qla |
Qlogic 어댑터 |
lpfc |
Emulex HBA(라이트 펄스) |
be2net |
Emulex 이더넷 NIC |
igb 또는 ixgbe |
Intel NIC |
소금물 |
Broadcom 어댑터 |
메가라이드 |
LSI MegaRAID |
메가소르 |
임베디드 SW RAID |
논쟁 |
ESXi 6.5용 Cisco VIC 이더넷 NIC |
관련 정보