4.3. 설정 파일 기본값

/etc/multipath.conf 설정 파일에는 다음과 같이 user_friendly_names 매개 변수가 yes로 설정된 defaults 부분이 포함되어 있습니다.
defaults {
        user_friendly_names yes
}
이는 user_friendly_names 매개 변수의 기본값을 덮어쓰기합니다.
설정 파일에는 설정 기본값 템플릿이 들어 있습니다. 다음과 같이 이 부분에 주석을 답니다.
#defaults {
#       udev_dir                /dev
#       polling_interval        5
#       path_selector           "round-robin 0"
#       path_grouping_policy    failover
#       getuid_callout          "/lib/dev/scsi_id --whitelisted --device=/dev/%n"
#	prio			const
#	path_checker		directio
#	rr_min_io		1000
#	rr_weight		uniform
#	failback		manual
#	no_path_retry		fail
#	user_friendly_names	no
#}
설정 매개변수에 해당하는 기본값을 덮어쓰기하려면, 해당하는 행을 템플릿에서 defaults 부분으로 복사하여 주석 해제 처리를 합니다. 예를 들어, path_grouping_policy 매개 변수를 덮어쓰기하려면 이는 failover 기본값이 아닌 multibus이어야 하며, 해당 행을 템플릿에서 설정 파일의 초기 defaults 부분으로 복사한 후, 다음과 같이 주석 해제 처리합니다.
defaults {
        user_friendly_names     yes
        path_grouping_policy    multibus
}
표 4.1. “멀티패스 설정 기본값 ”에서는 multipath.conf 설정 파일의 defaults 부분에 설정된 속성을 설명합니다. multipath.conf 파일의 devicesmultipaths 부분에 지정된 속성에 의해 덮어쓰기되지 않을 경우, 이러한 값은 DM-Multipath에 의해 사용됩니다.

참고

Red Hat Enterprise Linux 6.0 릴리즈에서 mode, uid, gid 매개 변수는 사용 권장되지 않습니다. 장치 매퍼 장치의 권한 (멀티패스 맵핑 포함)은 udev 규칙에 의해 설정됩니다. /usr/share/doc/device-mapper-version12-dm-permissions.rules라는 템플릿 파일이 있습니다. 이를 사용하여 /etc/udev/rules.d 디렉토리에 배치하면 활성화됩니다.

표 4.1. 멀티패스 설정 기본값

속성 설명
polling_interval 두 경로 간의 확인 간격을 초 단위로 지정합니다. 제대로 작동하는 경우 확인 간격은 (4 * polling_interval)까지 서서히 증가하게 됩니다. 기본값은 5입니다.
udev_dir udev 장치 노드가 생성된 디렉토리입니다. 기본값은 /dev입니다.
multipath_dir 동적 공유 객체가 저장된 디렉토리입니다. 기본값은 시스템 종속적이며 일반적으로 /lib/multipath입니다.
find_multipaths
멀티패스 장치를 설정하기 위한 모드를 정의합니다. 매개 변수가 yes로 설정되어 있는 경우, 멀티패스는 블랙리스트되지 않은 모든 경로에 대해 장치를 생성하지 않게 됩니다. 대신 멀티패스는 다음 중 하나의 조건을 충족할 경우에만 장치를 생성하게 됩니다:
- 동일한 WWID를 갖는 최소 두 개의 블랙리스트되지 않은 경로가 있습니다.
- 사용자는 multipath 명령으로 장치를 지정하여 수동으로 장치 생성을 강제합니다.
- 경로는 이전에 생성된 멀티패스 장치와 동일한 WWID를 갖습니다. find_multipaths 설정으로 멀티패스 장치를 생성할 때 마다 멀티패스는 장치의 WWID를 기억하기 때문에 WWID에 있는 경로를 확인하는 즉시 자동으로 장치를 다시 생성하게 됩니다. 따라서 멀티패스 블랙리스트를 편집하지 않고 멀티패스 장치로 만들기 위해 멀티패스는 자동으로 올바른 경로를 선택하게 합니다. find_multipaths 매개 변수가 설정되지 않았을 때 이전에 생성된 멀티패스 장치가 있을 경우 따라야 할 절차에 대한 내용은 4.2절. “설정 파일 블랙리스트 ”에서 확인하십시오.
기본값은 no입니다.
verbosity 기본값 상세 정보입니다. 값이 높을 수록 상세 정보 레벨이 증가합니다. 유효한 레벨은 0과 6 사이입니다. 기본값은2입니다.
path_selector
다음 I/O 실행에 어떤 경로를 사용할 지를 결정하는데 사용할 기본값 알고리즘을 지정합니다. 가능한 값은 다음과 같습니다:
round-robin 0: 경로 그룹에 있는 모든 경로를 통해 루프하여, 동일한 I/O 양을 보냅니다.
queue-length 0: 처리되지 않은 I/O 요청 수가 가장 적을 경로에 다음 I/O 제품군을 보냅니다.
service-time 0: 각 경로에 대해 처리되지 않은 I/O 전체 크기를 상대 처리량에 의해 분할하여 지정되는 서비스 시간이 가장 짧은 경로로 다음의 I/O 제품군을 보냅니다.
기본값은 round-robin 0입니다.
path_grouping_policy
미지정된 멀티패스에 적용할 기본값 경로 그룹 정책을 지정합니다. 가능한 값은 다음과 같습니다:
failover: 우선 순위 그룹 당 1 개의 경로
multibus: 1 개의 우선 순위 그룹에 있는 유효한 모든 경로
group_by_serial: 검색된 시리얼 번호 당 1 개의 우선 순위 그룹
group_by_prio: 경로 우선 순위 값 마다 1 개의 우선 순위 그룹. 우선 순위는 글로벌 (global), 제어기 마다 (per-controller), 멀티패스 옵션마다 (per-multipath options) 콜아웃 프로그램에 의해 지정됩니다.
group_by_node_name: 대상 노드 이름 마다 1 개의 우선 순위 그룹. 대상 노드 이름은 /sys/class/fc_transport/target*/node_name에 불러옵니다.
기본값은 failover입니다.
getuid_callout
고유한 경로 식별자를 얻기위해 호출할 기본값 프로그램 및 매개 변수를 지정합니다. 완전 경로가 필요합니다.
기본값은 /lib/udev/scsi_id --whitelisted --device=/dev/%n입니다.
prio
경로 우선 순위 값을 얻기 위해 호출할 기본값 함수를 지정합니다. 예를 들어, SPC-3에서의 ALUA 비트는 prio 값을 제공합니다. 가능한 값은 다음과 같습니다:
const: 모든 경로에 우선 순위 1을 설정합니다.
emc: EMC 어레이에 대한 경로 우선 순위를 생성합니다.
alua: SCSI-3 ALUA 설정에 기반하여 경로 우선 순위를 생성합니다.
tpg_pref: 선호하는 포트 비트를 사용하여 SCSI-3 ALUA 설정에 기반한 경로 우선 순위를 생성합니다.
ontap: NetApp 어레이에 대한 경로 우선 순위를 생성합니다.
rdac: LSI/Engenio RDAC 제어기에 대한 경로 우선 순위를 생성합니다.
hp_sw: 활성/대기 모드에서 Compaq/HP 제어기에 대한 경로 우선 순위를 생성합니다.
hds: Hitachi HDS 모듈러 스토리지 어레이에 대한 경로 우선 순위를 생성합니다.
기본값은 const입니다.
features 멀티패스 장치의 추가 기능입니다. 기존하는 기능은 queue_if_no_path로 이는 no_path_retryqueue로 설정하는 것과 동일합니다. 이러한 기능을 사용할 때 발생할 수 있는 문제에 관한 내용은 5.6절. “queue_if_no_path 기능의 문제 ”에서 확인하시기 바랍니다.
path_checker
경로 상태를 결정하기 위해 사용되는 디폴트 방식을 지정합니다. 가능한 값은 다음과 같습니다:
readsector0: 장치의 첫 번째 섹터를 읽습니다.
tur: 장치에 TEST UNIT READY를 실행합니다.
emc_clariion: 경로를 결정하기 위해 EMC Clariion 관련 EVPD 페이지 0xC0을 쿼리합니다.
hp_sw: 활성/대기 펌웨어로 HP 스토리지 어레이의 경로 상태를 확인합니다.
rdac: LSI/Engenio RDAC 스토리지 제어기에 대한 경로 상태를 확인합니다.
directio: 직접 I/O를 갖는 첫번째 섹터를 읽습니다.
기본값은 directio입니다.
failback
경로 그룹 장애 복구를 관리합니다.
immediate 값은 활성 경로가 포함된 가장 높은 우선 순위를 갖는 경로 그룹에 즉각적 장애 조치를 지정합니다.
manual 값은 즉각적인 장애 조치가 실행되지 않지만 실행자의 개입이 있을 경우에만 장애 조치가 실행되도록 지정합니다.
followover 값은 경로 그룹의 첫 번째 경로가 활성화될 때 자동 장애 조치가 실행되도록 지정합니다. 이는 다른 노드가 장애 조치를 요청할 경우 노드가 자동으로 장애 조치되지 않게 합니다.
0 보다 큰 숫자 값을 지정하여 초 단위로 지연 장애 복구가 되도록 합니다.
기본값은 manual입니다.
rr_min_io 현재 경로 그룹에서 다음 경로로 전환하기 전 경로로 라우팅하기 위해 I/O 요청 수를 지정합니다. 이 설정은 2.6.31 이전의 커널을 실행하는 시스템에만 유효합니다. 새로운 시스템은 rr_min_io_rq를 사용해야 합니다. 기본값은 1000입니다.
rr_min_io_rq 현재 경로 그룹에서 다음 경로로 전환하기 전 요청 기반 device-mapper-multipath를 사용하여 경로로 라운팅하기 위해 I/O 요청 수를 지정합니다. 이 설정은 현재 커널을 실행하고 있는 시스템에서 사용해야 합니다. 2.6.31 이전의 커널을 실행하고 있는 시스템에서는 rr_min_io를 사용합니다. 기본값은 1입니다.
rr_weight priorities로 설정되어 있을 경우, 다음 경로를 선택하기 위해 path_selector를 호출하기 전 경로로 rr_min_io 요청을 보내는 대신, prio 함수에 의해 지정되듯이, 보낼 요청 수를 경로 우선 순위인 rr_min_io번으로 지정합니다. uniform으로 설정되어 있을 경우 모든 경로는 동일한 우선 순위를 갖습니다. 기본값은 uniform입니다.
no_path_retry
이러한 속성에 해당하는 숫자 값을 지정하여 대기 상태를 비활성화시키기 전 시스템이 장애 발생 경로를 사용하도록 할 횟수를 정합니다.
fail 값은 대기 상태 없이 즉시 장애가 발생함을 나타냅니다.
queue 값은 경로가 수정될 때 까지 대기 상태가 계속됨을 나타냅니다.
기본값은 0입니다.
user_friendly_names yes로 설정되어 있을 경우, 시스템이 /etc/multipath/bindings 파일을 사용하여 mpathn 형식으로 멀티패스에 지속적이고 고유한 별칭을 지정해야 합니다. no로 설정되어 있을 경우, 시스템에 멀티패스에 대한 별칭으로 WWID 사용을 지정합니다. 두 경우 모두, 여기서 지정된 것은 설정 파일의 multipaths 부분에서 지정한 특정 장치 별칭에 의해 덮어쓰기될 수 있습니다. 기본값은 no 입니다.
queue_without_daemon no로 설정하면 multipathd 데몬은 종료 시 모든 장치의 대기열을 비활성화합니다. 기본값은 no입니다.
flush_on_last_del yes로 설정되어 있을 경우, 장치로의 마지막 경로가 삭제될 때 multipathd 데몬은 대기열을 비활성화하게 됩니다. 기본값은 no입니다.
max_fds 멀티패스 및 multipathd 데몬으로 열 수 있는 오픈 파일 디스크립터의 최대 수를 설정합니다. 이는 ulimit -n 명령에 해당합니다. Red Hat Enterprise Linux 6.3 릴리즈에서 기본값은 max이고 이를 /proc/sys/fs/nr_open에서 시스템 한계로 설정합니다. 이전 릴리즈의 경우 이 수가 설정되어 있지 않을 경우 최대 오픈 파일 디스크립터 수는 호출 프로세스에서 가져왔습니다. 이는 일반적으로 1024입니다. 이 수가 1024를 초과하는 경우 안전을 위해 경로의 최대 수에 32를 더한 값으로 설정하는 것이 좋습니다.
checker_timeout 명시적 시간 제한으로 SCSI 명령을 실행하는 경로 검사기를 사용하기 위한 시간 제한 (초) 입니다. 기본값은 sys/block/sdx/device/timeout에서 가져옵니다.
fast_io_fail_tmo FC 원격 포트에서 문제를 발견한 후 그 원격 포트에서 장치로 I/O 실패 전 까지의 SCSI 레이어의 대기 시간 (초)입니다. 이 값은 dev_loss_tmo 값 보다 작아야 합니다. 이를 off로 설정하면 시간 제한이 비활성화됩니다. 기본값은 OS에 따라 결정됩니다.
dev_loss_tmo FC 원격 포트에서 문제를 발견한 후 시스템에서 제거하기 전 까지 SCSI 레이어의 대기 시간 (초)입니다. 이를 무한으로 설정하려면 2147483647 초 또는 68 년으로 설정합니다. 기본값은 OS에 따라 결정됩니다.
hwtable_regex_match
(Red Hat Enterprise Linux Release 6.3 이상) 내장된 장치 설정을 사용하여 멀티패스가 설정 파일의 devices 섹션에서 장치 설정을 통합하는 방법을 제어합니다.
multipath.conf 파일의 devices 섹션에서 각 장치 설정은 자신의 장치 설정을 생성하거나 내장된 장치 설정 중 하나를 수정합니다. Red Hat Enterprise Linux 6.3 이전에는 사용자의 장치 설정의 벤더, 제품, 버전 문자열이 내장된 장치 설정에 있는 문자열과 정확히 일치하는 경우 내장된 설정은 사용자 설정에 있는 옵션으로 수정했습니다. 그렇지 않은 경우 사용자의 장치 설정은 새 설정으로 처리되었습니다.
hwtable_regex_matchyes로 설정되면 대신 정규 표현식 일치를 사용합니다. 벤더, 제품, 버전 문자열은 모두 정규 표현식입니다. 이러한 옵션의 사용자 장치 설정 값은 내장된 장치 설정 값과 일치합니다. 이러한 일치는 실제 장치의 벤더 제품과 버전 문자열이 장치 설정의 문자열과 일치하는 것과 동일한 방식으로 작동하고 어떤 설정이 장치에 사용되는지를 확인합니다. 사용자의 장치 설정이 일치하는 경우 내장된 설정이 사용자의 설정에 있는 옵션에 의해 수정됩니다. 그렇지 않은 경우 사용자의 장치 설정은 새로운 설정으로 처리됩니다.
retain_attached_hw_handler (Red Hat Enterprise Linux Release 6.4 이상) 매개 변수가 yes로 설정되어 있고 scsi 레이어가 경로 장치에 하드웨어 처리기를 부착한 경우 멀티패스는 mutipath.conf 파일에 의해 지정된 hardware_handler를 사용하기 위해 장치를 강제하지 않습니다. scsi 레이어가 하드웨어 처리기에 부착되지 않은 경우 멀티패스는 정상적으로 설정된 하드웨어 처리기를 계속 사용하게 됩니다. 기본값은 no입니다.
detect_prio (Red Hat Enterprise Linux Release 6.4 이상) 이것이 yes로 설정되어 있는 경우, 먼저 멀티패스는 장치가 ALUA를 지원하는지를 확인합니다. 지원하는 경우 장치를 alua prioritizer에 할당합니다. 장치가 ALUA를 지원하지 않는 경우 통상대로 prioritizer를 지정합니다. 기본값은 no입니다.