Linux 호스트에 대한 설정

장애 복구 시나리오에서 경로 복구를 확인하기 위해서는 시스템에 Linux 호스트를 첨부하기 위한 특정 DMMP(Device Mapper Multipath) 설정 및 udev 규칙을 권장합니다. 해당 설정은 IBM® System x, 모든 Intel 또는 AMD 기반 서버 및 Power® 플랫폼에 유효합니다.

다음 두 단계를 완료하고 나면 호스트를 다시 시작해야 합니다.
  • /etc/multipath.conf에서 다중 경로 설정 편집
  • SCSI 명령 제한시간에 대한 udev 규칙 편집

각 Linux 배포 및 배포 내의 릴리스에 대해서는 Red Hat의 경우 [/usr/share/doc/device-mapper-multipath.*] 및 Novell SuSE의 경우 [/usr/share/doc/packages/multipath-tools] 아래에 있는 기본 설정을 참조하십시오. multipath.conf에 추가된 항목이 필수 Linux 배포에 대한 형식 및 구문과 일치하는지 확인하십시오. 관련 배포 및 릴리스에서만 multipath.conf를 사용하십시오. multipath.conf 파일을 한 배포 또는 릴리스에서 다른 배포 또는 릴리스로 복사하지 마십시오.

일부 운영 체제 레벨에서는 polling_interval장치 설정 대신에 기본값 아래에 있어야 합니다. polling_interval이 장치 절에 있는 경우에는 # 키를 사용하여 polling_interval을 주석 처리하십시오.

예를 들면, 다음과 같습니다.
Under Device Section
# 		polling_interval 30,

Under Defaults Section
defaults {
		user_friendly_names yes
		polling_interval  30
}

특정 Linux 배포 및 릴리스에 대한 다중 경로 설정

다음 매개변수를 사용하여 /etc/multipath.conf를 편집하고 다음을 사용하여 변경사항을 확인하십시오.
multipathd -k
multipathd> show config
Red Hat Linux versions 5.x, 6.0, and 6.1
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0"
     prio_callout "/sbin/mpath_prio_alua /dev/%n" #Used by Red Hat 5.x
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io 1000
     dev_loss_tmo 120
Red Hat Linux 버전 6.2 이상
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0" # Used by Red Hat 6.2
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120
Red Hat Linux 버전 7.x
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" # Used by Red Hat 7.x
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120
SUSE Linux 버전 10.x 및 11.0 및 11 SP1
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0"
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io 1000
     dev_loss_tmo 120
SUSE Linux 버전 11 SP2
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "round-robin 0" # Used by SLES 11 SP2
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120
SUSE Linux 버전 11 SP3+
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" # Used by SLES 11 SP3+
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5
     rr_weight uniform
     rr_min_io_rq "1"
     dev_loss_tmo 120
SUSE Linux 버전 12+
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" 
     prio "alua"
     path_checker "tur"
     failback "immediate"
     retain_attached_hw_handler "yes"
     no_path_retry 5 # or no_path_retry "fail"
     fast_io_fail_tmo        5
     rr_min_io 1000
     rr_min_io_rq 1
     rr_weight "uniform"	
Ubuntu
     vendor "IBM"
     product "2145"
     path_grouping_policy "group_by_prio"
     path_selector "service-time 0" 
     prio "alua"
     path_checker "tur"
     failback "immediate"
     no_path_retry 5 # or no_path_retry "fail"
     retain_attached_hw_handler "yes"
     fast_io_fail_tmo        5
     rr_min_io 1000
     rr_min_io_rq 1
     rr_weight "uniform"	

udev 규칙 SCSI 명령 제한시간 변경사항

SCSI 명령 제한시간에 대한 udev 규칙을 설정하십시오.

SCSI 명령 제한시간을 120초로 설정하십시오.이는 Linux의 모든 버전에 권장되는 설정입니다.

udev 규칙 파일 작성

시스템의 SCSI 명령 제한시간을 늘리려면 다음 udev 규칙을 작성하십시오.
udev rules file
cat /etc/udev/rules.d/99-ibm-2145.rules

# Set SCSI command timeout to 120s (default == 30 or 60) for IBM 2145 devices
SUBSYSTEM=="block", ACTION=="add", ENV{ID_VENDOR}=="IBM",ENV{ID_MODEL}=="2145", RUN+="/bin/sh -c 'echo 120 >/sys/block/%k/device/timeout'"

볼륨을 설정한 후에 120초로 설정되었는지 확인하십시오. 명령행에서 multipath -ll | grep sd를 실행하여 블록 장치 경로를 찾으십시오. 그런 다음 cat /sys/block/sdX/device/timeout을 실행하십시오(여기서 X는 각 2145 블록 장치의 경로임).