ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LINUX NIC 및 HBA(WWPN) 위치 확인 하는 방법
    System of Infra/Linux System 2021. 3. 25. 23:36
    반응형

    리눅스로고이미지

    LINUX NIC 및 HBA(WWPN) 위치 확인하는 방법

    [root@linux:/]# lshw -c network -businfo
    Bus info          Device         Class          Description
    ===========================================================
    pci@0000:08:00.0  ens3f0         network        I350 Gigabit Network Connection
    pci@0000:08:00.1  ens3f1         network        I350 Gigabit Network Connection
    pci@0000:0b:00.0                 network        Ethernet Connection X722
    pci@0000:5c:00.0  ens1f0         network        I350 Gigabit Network Connection
    pci@0000:5c:00.1  ens1f1         network        I350 Gigabit Network Connection
                      bond0          network        Ethernet interface
                      virbr0-nic     network        Ethernet interface
                      virbr0         network        Ethernet interface

    -> 현재 리눅스의 시스템에서 NIC 네트워크 카드를 사용하는 PCI 슬롯을 찾기 위해서 lshw의 명령어를 통해서 확인할 수 있습니다. 위의 출력 결과는 현재 I350 Gigabit Network를 두 개 사용하고 있고 한 NIC 카드 슬롯당 2 port를 사용할 수 있는 정보를 확인할 수 있습니다.

    [root@linux:/]# lspci | grep -i Ethernet
    08:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
    08:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
    0b:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 (rev 09)
    5c:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
    5c:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

    -> lshw는 하드웨어의 정보를 바탕으로 네트워크 카드의 사용을 확인 할 수 있는 부분과 같은 맥락으로 lspci의 명령어를 통해서 현재 인터페이스의 이더넷 정보를 확인할 수 있습니다. 현재 08:00.0과 5c:00.0가 사용되는 것으로 확인됩니다. 

    [root@linux:/]# lshw -c bus -businfo
    Bus info          Device         Class          Description
    ===========================================================
                                     bus            -[7X06CTO1WW]-
    pci@0000:00:14.0                 bus            C620 Series Chipset Family USB 3.0 xHCI Controller
    usb@1             usb1           bus            xHCI Host Controller
    usb@1:1                          bus            Emulex Pilot4 HighSpeed HUB
    usb@2             usb2           bus            xHCI Host Controller
    pci@0000:00:1f.4                 bus            C620 Series Chipset Family SMBus
    pci@0000:00:1f.5                 bus            C620 Series Chipset Family SPI Controller
    pci@0000:5b:00.0                 bus            LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter
    pci@0000:ae:00.0  scsi16         bus            LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter

    -> 현재 리눅스의 시스템에서 HBA 어댑터 카드를 사용하고 있는 PCI 슬롯을 찾기 위해서 네트워크와 만차가지로 bus로 설정을 하여 호출하게 되면 현재 사용되고 있는 PCI 슬롯의 HBA 카드를 확인할 수 있습니다. 현재는 16Gb/32Gb Fibre Channel Adapter를 두 개 사용하고 있는 것으로 확인할 수 있습니다.

    [root@linux:/]# lspci | grep -i Fibre
    5b:00.0 Fibre Channel: Emulex Corporation LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter (rev 01)
    ae:00.0 Fibre Channel: Emulex Corporation LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter (rev 01)

    -> HBA 어댑터 카드만 확인을 하고 싶을 경우는 위와 같은 명령어로 호출을 하면 Fibre Channel Adapter만 확인을 할 수 있습니다.

    [root@linux:/]# dmidecode -t slot | more
    # dmidecode 3.2
    Getting SMBIOS data from sysfs.
    SMBIOS 3.2.1 present.
    # SMBIOS implementations newer than version 3.2.0 are not
    # fully supported by this version of dmidecode.
    
    Handle 0x00D6, DMI type 9, 17 bytes
    System Slot Information
            Designation: Slot 1
            Type: x8 PCI Express 3 x16
            Current Usage: In Use
            Length: Short
            ID: 1
            Characteristics:
                    3.3 V is provided
                    PME signal is supported
                    SMBus signal is supported
            Bus Address: 0000:5c:00.0
    
    Handle 0x00D7, DMI type 9, 17 bytes
    System Slot Information
            Designation: Slot 2
            Type: x8 PCI Express 3 x16
            Current Usage: In Use
            Length: Short
            ID: 2
            Characteristics:
                    3.3 V is provided
                    PME signal is supported
                    SMBus signal is supported
            Bus Address: 0000:5b:00.0
    
    Handle 0x00D8, DMI type 9, 17 bytes
    System Slot Information
            Designation: Slot 3
            Type: x8 PCI Express 3 x16
            Current Usage: In Use
            Length: Short
            ID: 3
            Characteristics:
                    3.3 V is provided
                    PME signal is supported
                    SMBus signal is supported
            Bus Address: 0000:08:00.0
    
    Handle 0x00D9, DMI type 9, 17 bytes
    System Slot Information
            Designation: Slot 4
            Type: x8 PCI Express 3 x16
            Current Usage: In Use
            Length: Short
            ID: 4
            Characteristics:
                    3.3 V is provided
                    PME signal is supported
                    SMBus signal is supported
            Bus Address: 0000:ae:00.0
    
    Handle 0x00DA, DMI type 9, 17 bytes
    System Slot Information
            Designation: Slot 7 RAID
            Type: x8 PCI Express 3
            Current Usage: In Use

    -> dmidcode의 명령어를 통해서 현재 Linux를 탑재하고있는 NT 서버에 PCI 슬롯을 확인할 수 있는 명령어입니다. 현재 1번~4번 그리고 7번의 슬롯이 있는 것을 확인할 수 있습니다.(이 슬롯을 확인하고 슬롯에 맞는 정보를 확인 가능)

    [root@linux:/]# lspci | grep -i Fibre
    5b:00.0 Fibre Channel: Emulex Corporation LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter (rev 01)
    ae:00.0 Fibre Channel: Emulex Corporation LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter (rev 01)

    -> 위에서 설명한 것과 같이 HBA 카드의 정보를 출력한 기반으로 WWPN의 정보를 알아보도록 하겠습니다.

    [root@linux:/sys/class/scsi_host]# ls -al
    total 0
    drwxr-xr-x  2 root root 0 Mar 25 16:28 .
    drwxr-xr-x 65 root root 0 Mar 25 16:28 ..
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host0 -> ../../devices/pci0000:ad/0000:ad:02.0/0000:af:00.0/host0/scsi_host/host0
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host1 -> ../../devices/pci0000:00/0000:00:11.5/ata1/host1/scsi_host/host1
    ...(생략)
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host13 -> ../../devices/pci0000:00/0000:00:17.0/ata13/host13/scsi_host/host13
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host14 -> ../../devices/pci0000:00/0000:00:17.0/ata14/host14/scsi_host/host14
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host15 ->../../devices/pci0000:5a/0000:5a:00.0/0000:5b:00.0/host15/scsi_host/host15
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host16 -> ../../devices/pci0000:ad/0000:ad:00.0/0000:ae:00.0/host16/scsi_host/host16
    ...(생략)
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host2 -> ../../devices/pci0000:00/0000:00:11.5/ata2/host2/scsi_host/host2
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host3 -> ../../devices/pci0000:00/0000:00:11.5/ata3/host3/scsi_host/host3
    lrwxrwxrwx  1 root root 0 Mar 25 15:09 host4 -> ../../devices/pci0000:00/0000:00:11.5/ata4/host4/scsi_host/host4

    -> /sys/class/scsi_host의 경로의 항목들을 보게 되면 host별로 할당된 Bus info의 아이디와 함께 볼 수 있습니다. 이것을 바탕으로 5a:00.0 과 ad:00.0 Fibre Channel Adapter를 확인할 수 있습니다. 

    [root@linux:/sys/class/scsi_host/host15/device/fc_host/host15]#cat port_name
    0x100000109b9cef98
    [root@linux:/sys/class/scsi_host/host16/device/fc_host/host16]# cat port_name
    0x100000109b9cf03e

    -> /sys/class/scsi_host/host16/device/fc_host의 경로에 들어가게 되면 위에서 출력되었던 부분에서 찾았던 host의 번호 15,16를 port_name으로 잡게 되면 각각의 HBA 카드의 WWPN을 확인 할 수 있습니다. 이를 바탕으로 스토리지와 맵핑하여 LUN을 할당할 수 있습니다.

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    댓글

Designed by Tistory.