ONTAP 스토리지를 사용하여 FCP 및 iSCSI를 위한 Ubuntu 20.04 구성
ONTAP 스토리지를 사용하여 FCP 및 iSCSI 프로토콜 작업에 대한 특정 매개변수와 설정을 사용하여 다중 경로를 사용하도록 Ubuntu 20.04를 구성합니다.
|
|
Linux Host Utilities 소프트웨어 패키지는 Ubuntu 운영 체제를 지원하지 않습니다. ONTAP LUN이 하이퍼바이저에 자동으로 매핑되므로 커널 기반 가상 머신(KVM) 설정을 수동으로 구성할 필요가 없습니다. |
1단계: 필요에 따라 SAN 부팅을 활성화합니다
SAN 부팅을 사용하도록 호스트를 구성하여 배포를 단순화하고 확장성을 개선할 수 있습니다.
를 사용하여 "상호 운용성 매트릭스 툴"Linux OS, 호스트 버스 어댑터(HBA), HBA 펌웨어, HBA 부팅 BIOS 및 ONTAP 버전이 SAN 부팅을 지원하는지 확인합니다.
-
SAN 부팅 LUN이 매핑되는 포트에 대해 서버 BIOS에서 SAN 부팅을 설정합니다.
HBA BIOS를 활성화하는 방법에 대한 자세한 내용은 공급업체별 설명서를 참조하십시오.
-
호스트를 재부팅하고 OS가 실행 중인지 확인하여 구성이 성공했는지 확인합니다.
2단계: 호스트에 대한 다중 경로 구성 확인
Ubuntu 20.04에서 멀티패스를 사용하여 ONTAP LUN을 관리할 수 있습니다.
호스트에 대한 다중 경로가 올바르게 구성되었는지 확인하려면 파일이 정의되었는지 /etc/multipath.conf, ONTAP LUN에 대해 NetApp 권장 설정이 구성되어 있는지 확인하십시오.
-
`/etc/multipath.conf`파일이 종료되는지 확인합니다. 파일이 없으면 0바이트 빈 파일을 만듭니다.
touch /etc/multipath.conf -
파일을 처음 생성할 때
multipath.conf권장 설정을 로드하려면 다중 경로 서비스를 활성화하고 시작해야 할 수 있습니다.systemctl enable multipathdsystemctl start multipathd -
호스트를 부팅할 때마다 빈 0바이트 파일이
/etc/multipath.confNetApp 권장 호스트 다중 경로 매개 변수를 기본 설정으로 자동으로 로드합니다. 운영 체제는 ONTAP LUN을 올바르게 인식하고 관리하는 다중 경로 매개 변수를 사용하여 컴파일되므로 호스트의 파일을 변경할 필요가 없습니다/etc/multipath.conf.다음 표는 ONTAP LUN에 대한 Linux 운영 체제 네이티브 컴파일 다중 경로 매개 변수 설정을 보여줍니다.
매개 변수 설정을 표시합니다
매개 변수 설정 detect_prio(사전 감지)
예
DEV_Loss_TMO
"무한대"
장애 복구
즉시
Fast_IO_FAIL_TMO
5
피처
"2 pg_init_retries 50"
Flush_on_last_del.(마지막 삭제 시 플러시
"예"
hardware_handler를 선택합니다
"0"
no_path_retry 를 선택합니다
대기열
path_checker를 선택합니다
"tur"
path_grouping_policy
"group_by_prio(그룹 기준/원시)"
경로 선택
"서비스 시간 0"
polling_interval입니다
5
프리오
"ONTAP"
제품
LUN입니다
Retain_attached_hw_handler 를 참조하십시오
예
RR_WEIGHT
"균일"
사용자_친화적_이름
아니요
공급업체
넷엡
-
ONTAP LUN의 매개 변수 설정 및 경로 상태를 확인합니다.
multipath -ll기본 다중 경로 매개변수는 ASA, AFF 및 FAS 구성을 지원합니다. 이러한 구성에서는 단일 ONTAP LUN에 4개 이상의 경로가 필요하지 않습니다. 경로가 4개 이상이면 저장소 오류 발생 시 문제가 발생할 수 있습니다.
다음 출력 예는 ASA, AFF 또는 FAS 구성에 있는 ONTAP LUN에 대한 올바른 매개 변수 설정 및 경로 상태를 보여줍니다.
ASA 구성ASA 구성은 지정된 LUN에 대한 모든 경로를 최적화하여 활성 상태를 유지합니다. 그 결과, 모든 경로를 통해 I/O 작업을 동시에 처리함으로써 성능이 향상됩니다.
예제 보기
# multipath -ll 3600a098038314559533f524d6c652f62 dm-24 NETAPP,LUN C-Mode size=10G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw `-+- policy='service-time 0' prio=50 status=active |- 11:0:1:13 sdm 8:192 active ready running |- 11:0:3:13 sdah 66:16 active ready running |- 12:0:1:13 sdbc 67:96 active ready running `- 12:0:3:13 sdbx 68:176 active ready running
AFF 또는 FAS 구성AFF 또는 FAS 구성에는 우선 순위가 높거나 낮은 두 개의 경로 그룹이 있어야 합니다. 우선 순위가 더 높은 활성/최적화 경로는 애그리게이트가 위치한 컨트롤러에서 제공합니다. 낮은 우선 순위 경로는 다른 컨트롤러에서 제공되기 때문에 활성 상태이지만 최적화되지 않습니다. 최적화되지 않은 경로는 최적화 경로를 사용할 수 없는 경우에만 사용됩니다.
다음 예에서는 활성/최적화 경로 2개와 활성/최적화되지 않은 경로 2개가 있는 ONTAP LUN에 대한 출력을 표시합니다.
예제 보기
# multipath -ll 3600a098038314837352453694b542f4a dm-0 NETAPP,LUN C-Mode size=160G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 alua' wp=rw |-+- policy='service-time 0' prio=50 status=active | |- 14:0:3:0 sdbk 67:224 active ready running | `- 15:0:2:0 sdbl 67:240 active ready running `-+- policy='service-time 0' prio=10 status=enabled |- 14:0:0:0 sda 8:0 active ready running `- 15:0:1:0 sdv 65:80 active ready running
3단계: 호스트의 iSCSI 구성을 확인합니다
호스트에 iSCSI가 올바르게 구성되어 있는지 확인하십시오.
iSCSI 호스트에서 다음 단계를 수행합니다.
-
iSCSI 이니시에이터 패키지(open-iscsi)가 설치되어 있는지 확인합니다.
$apt list |grep open-iscsi다음 예와 비슷한 출력이 표시되어야 합니다.
open-iscsi/noble-updates,noble-updates,now 2.1.9-3ubuntu5.4 amd64
-
/etc/iscsi/initiatorname.iscsi파일에 있는 iSCSI 이니시에이터 노드 이름을 확인하십시오.InitiatorName=iqn.YYYY-MM.com.<vendor>:<host_name> -
/etc/iscsi/iscsid.conf파일에 있는 iSCSI 세션 시간 초과 매개변수를 구성합니다.node.session.timeo.replacement_timeout = 5iSCSI
replacement_timeout파라미터는 iSCSI 계층이 시간 초과된 경로 또는 세션이 다시 설정될 때까지 기다리는 시간을 제어하며, 이 시간이 지나면 해당 경로 또는 세션에 대한 명령이 실패 처리됩니다. iSCSI 구성 파일에서 `replacement_timeout`의 값을 5로 설정해야 합니다. -
iSCSI 서비스 활성화:
$systemctl enable iscsid -
iSCSI 서비스를 시작합니다.
$systemctl start iscsid -
iSCSI 서비스가 실행 중인지 확인하십시오.
$systemctl status iscsid예제 보기
●iscsid.service - iSCSI initiator daemon (iscsid) Loaded: loaded (/usr/lib/systemd/system/iscsid.service; enabled; preset: disabled) Active: active (running) since Mon 2026-01-12 12:53:18 IST; 2 days ago TriggeredBy: ● iscsid.socket Docs: man:iscsid(8) Main PID: 1127419 (iscsid) Tasks: 2 (limit: 76557) Memory: 4.3M (peak: 8.8M) CPU: 1.657s CGroup: /system.slice/iscsid.service ├─1127418 /usr/sbin/iscsid └─1127419 /usr/sbin/iscsid -
iSCSI 타겟을 검색합니다.
$iscsiadm --mode discovery --op update --type sendtargets --portal <target_IP>예제 표시
iscsiadm --mode discovery --op update --type sendtargets --portal 192.168.166.70 192.168.166.70:3260,1042 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 192.168.165.71:3260,1045 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 192.168.165.70:3260,1044 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 192.168.166.71:3260,1043 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5
-
타겟에 로그인합니다.
$iscsiadm --mode node -l all -
호스트 부팅 시 iSCSI가 자동으로 로그인하도록 설정합니다.
$iscsiadm --mode node -T <target_name> -p <ip:port> -o update -n node.startup -v automatic`<target_name>`을(를) 호스트 부팅 시 자동으로 로그인할 대상 이름으로 바꾸십시오. `<ip:port>`을(를) 대상의 IP 주소와 포트 번호로 바꾸십시오. 예를 들면 다음과 같습니다.
iscsiadm --mode node -T iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 -p 192.168.166.70:3260 -o update -n node.startup -v automatic -
iSCSI 세션을 확인합니다.
$iscsiadm --mode session예제 보기
iscsiadm --mode session tcp: [1] 192.168.166.71:3260,1043 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 (non-flash) tcp: [2] 192.168.165.71:3260,1045 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 (non-flash) tcp: [3] 192.168.165.70:3260,1044 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 (non-flash) tcp: [4] 192.168.166.70:3260,1042 iqn.1992-08.com.netapp:sn.c770be5d934811f0b624d039eac809ba:vs.5 (non-flash)
4단계: 필요에 따라 경로 다중화에서 디바이스를 제외합니다
필요한 경우 원치 않는 디바이스의 WWID를 파일의 "블랙리스트" 스탠자에 추가하여 디바이스를 경로 다중화에서 제외할 수 multipath.conf 있습니다.
-
WWID 확인:
/lib/udev/scsi_id -gud /dev/sda"sda"는 블랙리스트에 추가할 로컬 SCSI 디스크입니다.
WWID의 예는 `360030057024d0730239134810c0cb833`입니다.
-
WWID를 "블랙리스트" 스탠자에 추가합니다.
blacklist { wwid 360030057024d0730239134810c0cb833 devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^hd[a-z]" devnode "^cciss.*" }
5단계: ONTAP LUN에 대한 다중 경로 매개 변수를 사용자 지정합니다
호스트가 다른 벤더의 LUN에 연결되어 있고 다중 경로 파라미터 설정이 재정의된 경우, 기존 스탠자를 수정하거나 ONTAP LUN에 특화된 새 스탠자를 multipath.conf 파일에 추가하여 설정을 수정해야 합니다. 파일에서 아래로 스크롤하여 호스트에 적용되는 변경 사항을 확인하십시오. 파라미터를 수정하지 않으면 ONTAP LUN이 예상대로 작동하지 않을 수 있습니다.
`/etc/multipath.conf`파일, 특히 기본값 섹션에서 을<<multipath-parameter-settings,다중 경로 매개 변수에 대한 기본 설정입니다>>(를) 무시할 수 있는 설정을 확인하십시오.
|
|
ONTAP LUN에 대해 권장되는 매개 변수 설정을 재정의해서는 안 됩니다. 이러한 설정은 호스트 구성의 성능을 최적화하는 데 필요합니다. 자세한 내용은 NetApp 지원, OS 공급업체 또는 둘 다에 문의하십시오. |
다음 예제에서는 재정의된 기본값을 수정하는 방법을 보여 줍니다. 이 예제에서는 multipath.conf ONTAP LUN과 호환되지 않는 및 no_path_retry 의 값을 정의하고 path_checker ONTAP 스토리지 배열이 호스트에 계속 연결되어 있으므로 이러한 매개 변수를 제거할 수 없습니다. 대신 ONTAP LUN에 특별히 적용되는 파일에 디바이스 스탠자를 추가하여 multipath.conf 및 no_path_retry 의 값을 path_checker 수정합니다.
예제 보기
defaults {
path_checker readsector0
no_path_retry fail
}
devices {
device {
vendor "NETAPP"
product "LUN"
no_path_retry queue
path_checker tur
}
}
6단계: 알려진 문제를 검토합니다
알려진 문제가 없습니다.
다음 단계
-
Ubuntu Linux 가상화(KVM)에 대해 알아보세요.
Ubuntu Linux는 KVM 호스트 역할을 할 수 있습니다. 이를 통해 Linux 커널 기반 가상 머신(KVM) 기술을 사용하여 단일 물리적 서버에서 여러 가상 머신을 실행할 수 있습니다. KVM 호스트는 ONTAP LUN에 대한 명시적인 호스트 구성 설정이 필요하지 않습니다.