출처 : http://www.solanara.net/solanara/hardware
하드웨어 호환 목록(HCL) - 윈디하나의 솔라나라
|
목차
하드웨어 호환성
솔라리스의 하드웨어 지원
오라클과 후지쯔에서 판매하는 모든 Sparc 및 x86 시스템은 솔라리스를 매우 잘 지원한다. 적어도 이들 시스템에서는 하드웨어와 관련된 이슈가 없다. 아래의 내용은 모두 x86에 해당되는 내용이다.- CPU
- AMD와 Intel CPU 및 32Bit, 64Bit를 잘 지원한다. Via는 지원을 보장하지 않는다.
- AMD의 PowerNow!, Intel의 Speedstep은 Solaris 10 x86 5/08 부터 지원한다.
- Sun xVM을 제대로 지원하기 위해서는 AMD 옵테론 리비전 F 이상, VT확장이 지원되는 인텔 CPU가 필요하다. 2008년 여름 이후에 리비전되어 나온 CPU는 모두 이를 지원한다.
- VGA
- nVIDIA칩을 사용한 그래픽 카드는 최신 그래픽 카드까지, 3D(OpenGL)까지 잘 지원해준다. nVidia 유닉스 드라이버에서 드라이버를 받을 수 있다. 최신 GPU를 사용하는 경우 솔라리스에 번들된 드라이버보다 좋으니 반드시 설치하자.
- Intel칩셋을 사용한 IGP는 최신 버전까지 잘 지원해 준다.
- 2011.09 현재 샌디브릿지CPU에 있는 내장 그래픽 시스템을 지원하지 못한다.
- ATI칩을 사용한 그래픽 카드는 Radeon HD 이전의 그래픽 카드까지만 잘 지원해준다. Radeon HD 그래픽 카드라면, 화면이 나오는 정도다.
- 그 이외의 VGA 카드는 화면이 나오는 정도다. (가속기능을 사용 못한다)
- Storage
- 표준 ATA및 SATA장치와, Adaptec, LSI Logic, Intel 의 SCSI, SAS, RAID 장치는 (저가형 어댑터를 제외하고) 대부분 지원한다. 벤더 홈페이지에 별도의 드라이버를 등록해 놓고 있다.
- 솔라리스 10 5/08 이상부터는 Intel ICH6/7/8/9, VIA vt8251의 SATA AHCI와 NCQ를 지원한다. ICH10의 AHCI는 솔라리스 10 9/10부터 지원한다. 솔라리스 10 8/11 부터는 AMD 칩셋을 포함해 대부분의 AHCI 드라이버를 지원한다. 자세한 사항은 ahci(7D)를 읽어보자.
- 솔라리스는 하드웨어에서 디스크 스케줄링이 지원되어야 성능이 좋아진다. IDE 컨트롤러와 SATA HDD 보다는, AHCI 컨트롤러와 SATA HDD가 훨씬 좋다는 의미다. 물론 SAN이나 SCSI기반 장치를 사용하면 더욱 좋다.
- NIC
- Intel과 BroadCom, 3Com, Realtek의 NIC이면 대부분 지원된다. 그렇지만 마더보드에 임베드되어 나오는 것은 간혹 지원되지 않는 경우가 있다.
- 네트워크 가상화를 위해서는 GLDv3(Generic LAN Driver v3)와 호환되는 NIC가 필요하다. 드라이버 이름이 bge, e1000g, xge, nge, rge이면 지원될 것이다.
bge: BroadCom 기가비트 이더넷 장치
e1000g, igb: Intel의 기가비트 이더넷 장치
xge: Neterion의 10기가비트 이더넷 장치
nge: nVIDIA의 기가비트 이더넷 장치
rge: Realtek의 기가비트 이더넷 장치
이외에도 최근에 나온 솔라리스 설치본에 번들된 드라이버는 대부분 GLDv3를 지원한다. 각각의 드라이버에 대해서는 man페이지를 참고하자. - Wi-Fi는 솔라리스 11부터 지원한다. NIC지원만 놓고 본다면 솔라리스 11이 더 많은 장치를 지원한다.
- 솔라리스에 번들되지 않은 NIC는 Free NIC drivers for Solaris에 방문해보자. 대부분의 마더보드 내장 NIC를 지원해준다.
- Audio
- 솔라리스 10 이하에서는 오디오 지원이 거의 전무하다. AC 97, Intel High Definition Audio 호환 사운드카드라면 지원 하는 경우도 있다. 그냥 바이오스에서 끄는 것이 좋다고 생각한다.
- 솔라리스 10 이하에서 반드시 필요하다면 Open Sound System드라이버를 사용하는 것을 고려해보자.
- 솔라리스 11부터 Open Sound System 4 가 번들되어있다. 따라서 대부분의 오디오 기기를 지원한다.
- Printers
- Lexmark는 자사가 제조한 대부분의 프린터에 대해 솔라리스 프린터 드라이버를 제공하고 있다.
- Xerox 의 비즈니스 프린터라면 대부분 잘 지원해준다.
- HP 의 경우 JetDirect 및 PostScript Driver를 이용해 네트워크로 연결할 수 있다. 솔라리스용 JetDirect 드라이버를 HP홈페이지에서 구할 수 있다.
- 윈도우에서 공유중인 프린터가 PostScript 명령을 해석할 수 있으면 연결할 수 있다.
- 솔라리스 11부터 CUPS(The Common UNIX Printing System)를 지원한다. 솔라리스 10까지 사용되었던 LP 프린팅 시스템을 대체할 것이다. CUPS는 대부분의 네트워크 프린터에서 지원되기 때문에, 프린터 사용에 문제가 없을 것으로 본다.
- 서버 제조사별
- 당연하지만, 오라클(썬 마이크로 시스템즈)에서 판매하는 x86서버는 솔라리스를 지원한다.
- HP 나 IBM 에서 판매하는 x86서버도 대부분 솔라리스를 지원한다. 벤더에 확인해보라.
- HP의 경우 Oracle Solaris Supported Matrix에서 각 서버의 지원 사항을 확인할 수 있다.
HCL(Hardware Compatibility List)
Solaris SPARC/x86 에서 호환되는 장치에 대해 Oracle Solaris OS: Hardware Compatibility Lists에 가서 검색해볼 수 있다. 사용자가 직접 올린 코멘트도 볼 수 있다.Solaris for x86 Device Support (추천)
Solaris on x86 Platforms Device Support에서는 솔라리스 버전및 릴리즈 별로 호환되는 장치의 목록에 대해 볼 수 있다.시스템의 장치와 솔라리스와의 호환성 알아내기
Oracle Device Detection Tool
Oracle Device Detection Tool페이지에서 Oracle Device Detection Tool(sddtool_23.jnlp)을 다운로드 받는다. 자바로 되어있는 프로그램이라 자바 1.4.2 이상 지원되는 운영체제라면 모두 사용할 수 있다. 현재 사용하고 있는 시스템에서 솔라리스가 지원되는지 지원되지 않는지, 드라이버는 어디서 받을 수 있는지 알려준다.솔라리스: prtconf -pv > hcl.txt 리눅스: lspci -vv -n > hcl.txt 윈도우: reg query hklm\system\currentcontrolset\enum\pci /s > hcl.txt와 같은 커맨드를 실행시키면 hcl.txt가 생성된다. 이를 Oracle Device Detection Tool의 [파일 → 가져오기...] 에서 읽으면 아래와 비슷한 결과를 얻을 수 있다.
※ [atge]장치가 지원되지 않는 것으로 나와있으나, 아래의 주를 보면, 서드파티 드라이버를 다운로드 할 수 있는 주소가 나와있다.
PCI ID
※ PCIDatabase.com이나 The PCI ID Repository에 가서 PCI 장치ID값을 입력하면 장치의 제조사와 종류및 이름을 알려 준다. 대부분의 PCI장치는 등록되어있기 때문에, 거의 확실하게 알 수 있다. PCI장치 아이디(벤더ID와 장치ID)는 바이오스에서 부팅시 알려주며, 다음과 같이 알아낼 수 있다.* 솔라리스 x86, x64
root@wl ~ # /usr/X11/bin/scanpci ... pci bus 0x0002 cardnum 0x05 function 0x00: vendor 0x10b7 device 0x1700 3Com Corporation 3c940 10/100/1000Base-T [Marvell] ... root@wl ~ #* 리눅스
root@wllinux ~ # /sbin/lspci ... 00:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) ... root@wllinux ~ # /sbin/lspci -n ... 00:07.0 0200: 10ec:8139 (rev 10) ... root@wllinux ~ #※ 솔라리스x86에서 각각의 PCI장치에 대해 붙어있는 드라이버의 이름을 보려면 아래와 같이 한다.
root@wl ~ # prtconf -D ... pci10b7,9055, instance #0 (driver name: elxl) pci8086,70, instance #0 (driver name: iprb) ... root@wl ~ #
장치보기
sysdef
시스템의 모든 장치(Pseudo장치 포함)에 대해 알려준다. 주로 -d옵션과 같이 사용된다.root@wl ~ # sysdef -d Node 'i86pc', unit #-1 Node 'scsi_vhci', unit #0 Node 'isa', unit #0 Node 'i8042', unit #0 Node 'keyboard', unit #0 Node 'mouse', unit #0 Node 'fdc', unit #0 Node 'fd', unit #0 Node 'lp', unit #0 Node 'pci', unit #0 Node 'pci8086,1237', unit #-1 (no driver) Node 'pci8086,7000', unit #-1 (no driver) Node 'pci-ide', unit #0 Node 'ide', unit #0 Node 'cmdk', unit #0 Node 'ide', unit #1 Node 'sd', unit #0 Node 'display', unit #0 Node 'pci8086,1e', unit #0 Node 'pci80ee,cafe', unit #0 Node 'pci8086,0', unit #-1 (no driver) Node 'pci106b,3f', unit #0 Node 'pci8086,7113', unit #-1 (no driver) Node 'pci8086,265c', unit #0 Node 'pci1000,8000', unit #0 Node 'sd', unit #10 Node 'sd', unit #9 Node 'iscsi', unit #0 Node 'pseudo', unit #0 Node 'zconsnex', unit #1 ... Node 'llc2', unit #0 Node 'options', unit #0 Node 'agpgart', unit #0 Node 'objmgr', unit #0 Node 'xsvc', unit #0 Node 'acpi', unit #-1 (no driver) Node 'used-resources', unit #-1 (no driver) Node 'cpus', unit #0 Node 'cpu', unit #-1 (no driver) root@wl ~ #
prtconf
시스템 설정 사항을 출력해준다.root@wl ~ # prtconf System Configuration: Sun Microsystems i86pc Memory size: 768 Megabytes System Peripherals (Software Nodes): i86pc scsi_vhci, instance #0 isa, instance #0 i8042, instance #0 keyboard, instance #0 mouse, instance #0 fdc, instance #0 fd, instance #0 lp, instance #0 pci, instance #0 pci8086,1237 (driver not attached) pci8086,7000 (driver not attached) pci-ide, instance #0 ide, instance #0 cmdk, instance #0 ide, instance #1 sd, instance #0 display, instance #0 pci8086,1e, instance #0 pci80ee,cafe, instance #0 pci8086,0 (driver not attached) pci106b,3f, instance #0 pci8086,7113 (driver not attached) pci8086,265c, instance #0 pci1000,8000, instance #0 sd, instance #10 sd, instance #9 iscsi, instance #0 pseudo, instance #0 options, instance #0 agpgart, instance #0 objmgr, instance #0 xsvc, instance #0 acpi (driver not attached) used-resources (driver not attached) cpus, instance #0 cpu (driver not attached) root@wl ~ #
prtdiag
시스템을 분석해 출력한다. x86보다는 스팍에서, 대형 서버에서 더 잘 출력해준다.root@wl ~ # prtdiag -v 시스템 구성: Sun Microsystems sun4u Sun Ultra 45 Workstation 시스템 클록 주파수: 200 MHz 메모리 크기: 1GB ==================================== CPUs ==================================== E$ CPU CPU CPU Freq Size Implementation Mask Status Location --- -------- ---------- --------------------- ----- ------ -------- 0 1600 MHz 1MB SUNW,UltraSPARC-IIIi 3.4 on-line MB/0 ================================= IO 장치 ================================= ============================== 메모리 구성 ============================== 세그먼트 테이블: ----------------------------------------------------------------------- 기본 주소 크기 인터리브 계수 포함 ----------------------------------------------------------------------- 0x200000000 1GB 1 BankIDs 0 뱅크 테이블: ----------------------------------------------------------- 물리적 위치 ID ControllerID GroupID 크기 인터리브 방식 ----------------------------------------------------------- 0 0 1 1GB 0 메모리 모듈 그룹: -------------------------------------------------- ControllerID GroupID Labels Status -------------------------------------------------- 0 1 MB/DIMM2 0 1 MB/DIMM0 =============================== usb 장치 =============================== Name Port# ------------ ----- mouse 1 keyboard 2 =============================== usb 장치 =============================== Name Port# ------------ ----- hub 7 =============================== 환경 상태 =============================== 팬 상태: ------------------------------------------- Location Sensor Status ------------------------------------------- F0 cpu0-fan okay F2 pci-fan okay F3 system-fan3 okay F4 system-fan4 okay 온도 센서: ----------------------------------------- Location Sensor Status ----------------------------------------- MB/0 cpu0-sensor okay MB mb-sensor okay MB adt7462-sensor okay MB lm95221-sensor okay MB fire-sensor okay MB lsi1064-sensor okay FIOB front_panel-sensor okay MB psu-sensor okay ================================= HW 개정 ================================= ASIC Revisions: ------------------------------------------------------------------- Path Device Status Revision ------------------------------------------------------------------- /pci@1e,600000 pciex108e,80f0 okay 3 /pci@1f,700000 pciex108e,80f0 okay 3 시스템 PROM 개정: ---------------------- OBP 4.21.6 2006/03/31 15:02 Sun Ultra 45 Workstation POST 4.21.6 2006/03/31 15:24 root@wl ~ #
dmidecode
x86 시스템의 DMI영역을 디코드해 보여주는 유틸리티다. 리눅스 배포판에는 기본으로 포함되어있지만, 솔라리스에서도 설치해 사용할 수 있다. dmidecoderoot@wl ~/src # wget http://download.savannah.gnu.org/releases/dmidecode/dmidecode-2.11.tar.bz2 root@wl ~/src # tar xvfj dmidecode-2.11.tar.bz2 root@wl ~/src # cd dmidecode-2.11 root@wl ~/src/dmidecode-2.11 # vi Makefile CC = /usr/sfw/bin/gcc root@wl ~/src/dmidecode-2.11 # /usr/sfw/bin/gmake root@wl ~/src/dmidecode-2.11 # cp dmidecode /usr/local/bin root@wl ~/src/dmidecode-2.11 # dmidecode # dmidecode 2.11 SMBIOS 2.4 present. 60 structures occupying 1782 bytes. Table at 0x000F0000. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: Phoenix Technologies, LTD Version: ASUS M2A-VM HDMI ACPI BIOS Revision 5001 Release Date: 02/04/2010 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 1024 kB ... End Of Table
팁
CPU 마이크로 코드 업데이트
※ 인텔 프로세서 마이크로 코드 데이터 파일 업데이트마이크로 업데이트특별한 문제가 없다면 굳이 마이크로 코드를 업데이트 할 필요 없다. 솔라리스에서도 기본적으로 제공해준다.
우선 인텔 다운로드 사이트에서 Processor Microcode Data File로 검색해 최신의 마이크로 코드 파일(microcode-*.tgz)을 다운로드 받는다.root@wl ~ # tar xvfz microcode-20110915.tgz root@wl ~ # mv microcode.dat /platform/i86pc/ucode/intel-ucode.txt root@wl ~ # ucodeadm -i /platform/i86pc/ucode/intel-ucode.txt root@wl ~ # ucodeadm -u /platform/i86pc/ucode/intel-ucode.txt root@wl ~ # reboot
※ AMD 프로세서 마이크로 코드 데이터 파일 업데이트
우선 AMD 다운로드 사이트(OSRC: Microcode)에서 최신의 마이크로 코드 파일(amd-ucode-latest.tar)을 받는다.root@wl ~ # tar xvf amd-ucode-latest.tar root@wl ~ # cd amd-ucode-2011-01-11 root@wl ~/amd-ucode-2011-01-11 # mv microcode_amd.bin /platform/i86pc/ucode/amd-ucode.bin root@wl ~/amd-ucode-2011-01-11 # ucodeadm -i /platform/i86pc/ucode/amd-ucode.bin root@wl ~/amd-ucode-2011-01-11 # ucodeadm -u /platform/i86pc/ucode/amd-ucode.bin root@wl ~/amd-ucode-2011-01-11 # reboot
IRQ 충돌 확인
부팅 도중 아래와 같은 메시지가 나오는 경우가 있다.root@wl ~ # cat /var/adm/messages ... Nov 14 xx:xx:xx wl unix: [ID 954099 kern.info] NOTICE: IRQ19 is being shared by drivers with different interrupt levels. Nov 14 xx:xx:xx wl This may result in reduced system performance. ...
IRQ가 충돌된다는 의미다. 그리고 시스템 성능을 낮추는 결과를 가져온다. 필요 없는 장치를 제거하거나, BIOS에서 IRQ를 수동으로 조절해 해결할 수 있다.
솔라리스의 IRQ 할당 내역은 아래와 같이 확인할 수 있다. 솔라리스의 APIC테이블을 조회해서 알아온다.root@wl ~ # mdb -k Loading modules: [ ... ] > ::interrupts IRQ Vector IPL Bus Type CPU Share APIC/INT# ISR(s) ... 19 0x83 9 PCI Fixed 0 2 0x0/0x13 uhci_intr, ata_intr ... > Ctrl+D root@wl ~ #
uhci(7D)는 USB 1.x 컨트롤러 드라이버고, ata(7D)는 ATA/SATA 하드디스크 드라이버의 이름이다. uhci, ata 와같은 단어의 의미는 man페이지를 참조하면 된다. 만약 이런 시스템에서 USB장치와 하드디스크를 동시에 사용하면 시스템 성능이 느려질 수 있다. IRQ 충돌 해결은 서버의 바이오스에서 해결해 줘야 한다. IRQ를 강제로 할당할 수 있는 마더보드라면 시도해볼 수 있다.
SPARC 에서는 이런 문제가 없다.
링크
HCL 관련
- Oracle Device Detection Tool
- Tested Third-party Solaris Device Driver Reference List
- Device and Third-party Solaris Device Driver Reference Lists
서드파티 드라이버 관련
- nVidia: Unix Drivers Portal Page
- Solaris device drivers: Wacom USB Graphire 2 tablet, Epson USB Scanner, ...
- Free NIC drivers for Solaris
Copyright © 2004-2013 Jo HoSeok. All rights reserved. |
'리눅스 서버에 대해서 > 솔라리스(UNIX) 관련' 카테고리의 다른 글
솔라리스 장비 관련 (0) | 2013.05.06 |
---|---|
[Network] Link 상태 확인 후 IP 셋팅 (0) | 2013.05.06 |
메일 전송시 att00001.bin 이 딸려 들러갈때 처리법 (0) | 2013.04.01 |
솔라리스 장비 스펙 확인 하는 방법 (0) | 2013.03.27 |
[솔라리스] tar와 gzip를 한번에 하기 (0) | 2013.02.01 |