Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

부록 B. iSCSI 디스크

Internet Small Computer System Interface(iSCSI)는 컴퓨터가 TCP/IP를 통해 전송되는 SCSI 요청/응답으로 스토리지 장치와 통신할 수 있도록 하는 프로토콜입니다. iSCSI가 표준 SCSI 프로토콜에 기반이기 때문에, SCSI에서 비롯된 용어를 많이 사용합니다. 요청이 전송되어 이러한 요청에 응답하는 SCSI 버스에 있는 장치는 대상(target)이라 하며, 요청을 하는 장치는 개시자(initiator)라 합니다. 다른 말로, iSCSI 디스크는 대상이며 SCSI 컨트롤러나 SCSI 호스트 버스 어댑터(HBA)에 해당하는 iSCSI 소프트웨어는 개시자입니다. 본 부록은 Linux가 iSCSI 개시자인 경우만을 다룹니다: 즉 어떻게 Linux가 iSCSI 디스크를 사용하는지만 다루고, Linux가 어떻게 iSCSI 디스크를 호스트하게 되는지는 다루지 않습니다.
Linux는 커널에 SCSI HBA의 자리를 차지하며, SCSI HBA 역할을 하는 iSCSI 개시자를 포함하고 있습니다. 따라서 Linux는 iSCSI 디스크를 사용할 수 있습니다. 하지만, iSCSI가 전적으로 네트워크에 기반한 프로토콜이기 때문에, iSCSI 개시자 지원은 네트워크를 통해 SCSI 패킷을 전송하는 능력 이상을 요구합니다. Linux가 iSCSI 대상을 사용할 수 있게 되기 전에, Linux는 네트워크에서 대상을 찾고 연결을 맺어야 합니다. 일부 경우 Linux는 해당 대상에 대한 액세스 권한을 얻기 위해서 인증 정보를 전송해야 할 수 도 있습니다. 또한 Linux는 네트워크 연결의 실패를 감지해서 새로운 연결을 맺어야 하며, 필요하다면 다시 로그인을 수행해야 합니다.
대상 발견, 연결, 로그인은 사용자 영역에서 iscsiadm 유틸리티에 의해 처리됩니다. 또한 오류 처리도 사용자 영역에서 iscsid 유틸리티에 의해 처리됩니다.
iscsiadmiscsid는 모두 e under Red Hat Enterprise Linux의 iscsi-initiator-utils 패키지의 일부입니다.

B.1. Anaconda의 iSCSI 디스크

Anaconda 설치 프로그램은 두 가지 방식으로 iSCSI 디스크를 검색 및 로그인할 수 있습니다:
  1. Anaconda 시작 시, 시스템의 BIOS나 추가 부트 ROM에서 iSCSI에서 부트할 수 있는 시스템에 대한 BIOS 확장인 iSCSI Boot Firmware Table(iBFT)를 지원하는지를 검사합니다. 만약 BIOS가 iBFT를 지원하면, Anaconda는 BIOS에서 설정된 부트 디스크 iSCSI 대상 정보를 읽고, 그 대상에 로그인 해서, 설치 대상으로 사용 가능하도록 만들 것입니다.
  2. Anaconda에 있는 그래픽 사용자 인터페이스에서 iSCSI 대상을 수동으로 검색 및 추가할 수 있습니다. 주 메뉴의 설치 개요 화면에서 설치 대상 옵션을 클릭합니다. 그 뒤 화면의 특수 디스크 & 네트워크 디스크 부분에 있는 디스크 추가를 클릭합니다. 탭이 있는 사용 가능한 스토리지 장치 목록이 나타납니다. 오른쪽 하단에 있는 iSCSI 대상 추가 버튼을 클릭하여 검색 프로세스를 진행합니다. 보다 자세한 내용은 6.11.1절. “저장소 장치 선택 화면”에서 참조하십시오.
Anacondaiscsiadm를 iSCSI 대상을 찾고 로그인 하기 위해 사용할 때, iscsiadm은 자동으로 이러한 대상에 대한 정보를 iscsiadm iSCSI 데이터베이스에 저장합니다. Anaconda는 그 후 그 데이터베이스를 설치된 시스템에 복사하고, /로 사용되지 않는 iSCSI 대상을 마크해서, 시스템이 시작시 해당 대상에 자동으로 로그인하는 것을 방지합니다. 만약 /가 iSCSI 대상에 있다면, initrd은 그 대상에 로그인 할 것이며, Anaconda는 이 대상을 시작 스크립트에서 제외해서 동일한 대상에 두번 로그인하는 것을 방지합니다.
만약 /이 iSCSI 대상에 위치한다면, AnacondaNetworkManager가 설치 프로세스에서 활성화되었던 모든 네트워크 인터페이스를 무시하도록 설정합니다. 이러한 인터페이스 또한 initrd에 의해 시스템 시작시 설정될 것입니다. 만약 NetworkManager가 이러한 인터페이스를 재설정하도록 한다면, 시스템이 /에 대한 연결을 잃게 될 것입니다.