부록 B. ISCSI 디스크

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

B.1. 아나콘다의 iSCSI디스크

아나콘다는 두 가지 방식으로 iSCSI 디스크를 발견할 수(또한 로그인할 수) 있습니다:
  1. 아나콘다 시작 시, 시스템의 BIOS나 추가 부트 ROM에서 iSCSI에서 부트할 수 있는 시스템을 위한 BIOS 확장인 iSCSI Boot Firmware Table(iBFT)를 지원하는지를 검사합니다. 만약 BIOS가 iBFT를 지원하면, 아나콘다는 BIOS에서 설정된 부트 디스크 iSCSI 타겟 정보를 읽고, 그 타겟에 로그인 해서, 설치 타겟으로 사용 가능하도록 만들 것입니다.
  2. 만약 특별한 저장소 장치 옵션을 설치시 선택한다면, 저장소 선택 화면이 고급 타겟 버튼을 표시할 것입니다. 이 버튼을 클릭하면 발견 IP주소와 같은 iSCSI 타겟 정보를 입력하고, Anaconda는 주어진 주소를 감지해서 찾아지는 타겟에 로그인할 것입니다. 9.6.1.1절. “고급 저장 옵션”에서 iSCSI 타겟에 대해 지정할 수 있는 상세 정보를 보십시오.
anacondaiscsiadm를 iSCSI 타겟을 찾고 로그인 하기 위해 사용할 때, iscsiadm은 자동으로 이러한 타겟에 대한 정보를 iscsiadm iSCSI 데이터베이스에 저장합니다. Anaconda는 그 후 그 데이터베이스를 설치된 시스템에 복사하고, /로 사용되지 않는 iSCSI 타겟을 마크해서, 시스템이 시작시 해당 타겟에 자동으로 로그인하는 것을 방지합니다. 만약 /가 iSCSI 타겟에 있다면, initrd은 그 타겟에 로그인 할 것이며, anaconda은 이 타겟을 시작 스크립트에서 제외해서 동일한 타겟에 두번 로그인하는 것을 방지합니다.
만약 /이 iSCSI 타겟에 위치한다면, 아나콘다NetworkManager이 설치 프로세스에서 활성화 되었던 모든 네트워크 인터페이스를 무시하도록 설정합니다. 이러한 인터페이스 또한 initrd에 의해 시스템 시작시 설정될 것입니다. 만약 NetworkManager가 이러한 인터페이스를 재설정하도록 한다면, 시스템이 /에 대한 연결을 잃게 될 것입니다.