Menu Close

장치 매퍼 다중 경로 구성

Red Hat Enterprise Linux 9

장치 매퍼 Multipath 기능 사용

초록

이 문서 컬렉션은 Red Hat Enterprise Linux 9에서 DM-Multipath(Device Mapper Multipath) 기능을 구성하고 관리하는 방법에 대한 지침을 제공합니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견을 보내 주십시오. Red Hat이 어떻게 이를 개선할 수 있는지 알려 주십시오.

  • 특정 문구에 대한 간단한 의견 작성 방법은 다음과 같습니다.

    1. 문서가 Multi-page HTML 형식으로 표시되는지 확인합니다. 또한 문서 오른쪽 상단에 피드백 버튼이 있는지 확인합니다.
    2. 마우스 커서를 사용하여 주석 처리하려는 텍스트 부분을 강조 표시합니다.
    3. 강조 표시된 텍스트 아래에 표시되는 피드백 추가 팝업을 클릭합니다.
    4. 표시된 지침을 따릅니다.
  • Bugzilla를 통해 피드백을 제출하려면 새 티켓을 생성합니다.

    1. Bugzilla 웹 사이트로 이동합니다.
    2. 구성 요소로 문서를 사용합니다.
    3. 설명 필드에 문서 개선을 위한 제안 사항을 기입하십시오. 관련된 문서의 해당 부분 링크를 알려주십시오.
    4. 버그 제출을 클릭합니다.

1장. 장치 매퍼 다중 경로 개요

장치 매퍼 다중 경로(DM Multipath)를 사용하면 서버 노드와 스토리지 어레이 간의 여러 I/O 경로를 단일 장치로 구성할 수 있습니다. 이러한 I/O 경로는 별도의 케이블, 스위치 및 컨트롤러를 포함할 수 있는 물리적 SAN(Storage Area Network) 연결입니다. 다중 경로에서는 I/O 경로를 집계하고 집계된 경로로 구성된 새 장치를 생성합니다.

DM Multipath가 다음을 제공합니다.

redundancy
DM Multipath는 활성/수동 구성에서 장애 조치를 제공할 수 있습니다. 활성/수동 구성에서는 I/O에 대해 경로 절반만 사용됩니다. 케이블, 스위치 또는 컨트롤러와 같은 I/O 경로의 요소가 실패하면 DM Multipath가 대체 경로로 전환됩니다.
성능 개선
DM Multipath는 라운드 로빈 방식으로 경로를 통해 I/O가 분산되는 활성/활성 모드로 구성할 수 있습니다. 일부 구성에서 DM Multipath는 I/O 경로에서 로드를 감지하고 부하를 동적으로 리밸런스할 수 있습니다.

1.1. 하나의 RAID 장치가 있는 Active/Passive 다중 경로 구성

이 구성에는 서버에 두 개의 호스트 버스 어댑터(HBA)와 두 개의 RAID 컨트롤러가 있습니다. 다음은 이 구성에서 발생할 수 있는 오류입니다.

  • HBA 실패
  • 파이버 채널 케이블 오류
  • SAN 전환 실패
  • 배열 컨트롤러 포트 실패

DM Multipath가 구성된 경우 이러한 포인트 중 하나라도 실패하면 DM Multipath가 대체 I/O 경로로 전환합니다. 다음 이미지는 서버에서 RAID 장치로의 I/O 경로가 두 개 있는 구성을 설명합니다. 여기에 hba1,SAN1cntrlr1 을 통과하는 하나의 I/O 경로가 있으며 hba2,SAN2cntrlr2 를 통과하는 두 번째 I/O 경로가 있습니다.

그림 1.1. 하나의 RAID 장치가 있는 Active/Passive 다중 경로 구성

하나의 RAID 장치가 있는 Active/Passive 다중 경로 구성

1.2. 두 개의 RAID 장치가 있는 active/Passive 다중 경로 구성

이 구성에는 서버에 두 개의 HBA, SAN 스위치 두 개, RAID 컨트롤러가 각각 두 개의 RAID 장치가 있습니다. DM Multipath가 구성된 경우 RAID 장치에 대한 I/O 경로 중 하나에서 오류가 발생하면 DM Multipath가 해당 장치의 대체 I/O 경로로 전환합니다. 다음 이미지는 각 RAID 장치에 대한 두 개의 I/O 경로가 있는 구성을 설명합니다. 여기에서 각 RAID 장치에 대한 두 개의 I/O 경로가 있습니다.

그림 1.2. 두 개의 RAID 장치가 있는 Active/Passive 다중 경로 구성

두 개의 RAID 장치가 있는 Active/Passive 다중 경로 구성

1.3. 하나의 RAID 장치가 있는 Active/Active 다중 경로 구성

이 구성에는 서버에 두 개의 HBA, SAN 스위치 2개, RAID 컨트롤러 두 개가 있습니다. 다음 이미지는 서버에서 스토리지 장치로의 두 개의 I/O 경로가 있는 구성을 설명합니다. 여기에서 I/O를 이 두 경로에 분산할 수 있습니다.

그림 1.3. 하나의 RAID 장치가 있는 Active/Active 다중 경로 구성

하나의 RAID 장치가 있는 Active/Active 다중 경로 구성

1.4. DM Multipath 구성 요소

다음 표에서는 DM Multipath 구성 요소에 대해 설명합니다.

표 1.1. DM Multipath 구성 요소

구성 요소

설명

dm_multipath 커널 모듈

경로 및 경로 그룹에 대해 I/O를 다시 라우팅하고 장애 조치를 지원합니다.

mpathconf 유틸리티

장치 매퍼 다중 경로를 구성하고 활성화합니다.

다중 경로 명령

다중 경로 장치를 나열하고 구성합니다. 또한 블록 장치를 추가할 때마다 udev 에 의해 실행되어 장치가 다중 경로 장치의 일부인지 아닌지를 확인합니다.

multipathd 데몬

다중 경로 장치를 자동으로 생성 및 제거하고 경로를 모니터링합니다. 경로가 실패하고 돌아올 때 다중 경로 장치를 업데이트할 수 있습니다. 다중 경로 장치에 대한 대화형 변경 가능. /etc/multipath.conf 파일에 변경 사항이 있는 경우 서비스를 다시 로드합니다.

kpartx 명령

장치에 있는 파티션에 대한 장치 매퍼 장치를 생성합니다. 이 명령은 다중 경로 장치를 생성하기 위해 다중 경로 장치를 생성할 때 udev 에 의해 자동으로 실행됩니다. kpartx 명령은 자체 패키지로 제공되지만 device-mapper-multipath 패키지는 이 패키지에 따라 다릅니다.

mpathpersist

다중 경로 장치에 SCSI-3 영구 예약을 설정합니다. 이 명령은 sg_persist 가 다중 경로가 아닌 SCSI 장치에서 작동하는 방식과 유사하게 작동하지만 다중 경로 장치의 모든 경로에서 영구 예약을 처리합니다. multipathd 와 조정하여 나중에 추가된 경로에 예약이 올바르게 설정되었는지 확인합니다. 이 기능을 사용하려면 reservation_key 특성을 /etc/multipath.conf 파일에 정의해야 합니다. 그렇지 않으면 multipathd 데몬은 새로 검색된 경로 또는 복원 경로에 대한 영구 예약을 확인하지 않습니다.

1.5. 다중 경로 명령

multipath 명령은 여러 경로를 감지하여 장치로 결합하는 데 사용됩니다. 다중 경로 장치를 관리하는 데 사용할 수 있는 다양한 옵션을 제공합니다.

다음 표에서는 유용할 수 있는 다중 경로 명령의 몇 가지 옵션에 대해 설명합니다.

표 1.2. 유용한 다중 경로 명령 옵션

옵션설명

-l

sysfs 및 장치 매퍼에서 수집한 현재 다중 경로 구성을 표시합니다.

-ll

sysfs, 장치 매퍼 및 시스템의 사용 가능한 기타 모든 구성 요소에서 수집한 현재 다중 경로 구성을 표시합니다.

-F 장치

이름이 지정된 다중 경로 장치를 제거합니다.

-F

사용되지 않는 모든 다중 경로 장치를 제거합니다.

-W 장치

지정된 장치의 wwidwwids 파일에서 제거합니다.

-W

현재 다중 경로 장치만 포함하도록 wwids 파일을 재설정합니다.

1.6. 다중 경로 명령 출력

다중 경로 장치를 생성, 수정 또는 나열하면 현재 장치 설정이 표시됩니다. 형식은 다음과 같습니다.

  • 각 다중 경로 장치에 대해 다음을 수행합니다.
action_if_any: alias (wwid_if_different_from_alias) dm_device_name_if_known vendor,product size=size features='features' hwhandler='hardware_handler' wp=write_permission_if_known
  • 각 경로 그룹에 대해:
-+- policy='scheduling_policy' prio=prio_if_known status=path_group_status_if_known
  • 각 경로에 대해:
 `- host:channel:id:lun devnode major:minor dm_status_if_known path_status online_status

예를 들어, 다중 경로 명령의 출력은 다음과 같이 표시될 수 있습니다.

3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running

경로가 작동되어 I/O에 대한 준비가 되면 경로의 상태가 준비 되거나 유령으로 지정됩니다. 경로가 다운되면 상태에 문제가 있거나 shaky 표시됩니다. 경로 상태는 /etc/multipath.conf 파일에 정의된 폴링 간격을 기반으로 multipathd 데몬에 의해 주기적으로 업데이트됩니다.

가능한 추가 경로 상태 값은 다음과 같습니다.

  • I /o 보류 중: 검사자가 이 경로를 적극적으로 확인하고 있으며 상태는 곧 업데이트될 예정입니다.
  • I /O 시간 제한: 이는 결함이 있는 것과 동일합니다. 이를 통해 사용자는 검사자가 시간 초과 전에 성공 또는 실패를 반환하지 않았음을 알 수 있습니다.
  • Removed: 시스템에서 경로가 제거되었으며 곧 다중 경로 장치에서 제거됩니다. 그것은 결함이있는 것과 동일하게 취급됩니다.
  • wild:multipathd 는 내부 오류 또는 구성 문제로 인해 경로 검사기를 실행할 수 없었습니다. 이는 경로의 여러 작업을 건너뛰는 경우를 제외하고 결함이 있는 것과 거의 동일합니다.
  • unchecked: 경로 검사기가 방금 검색되었거나, 할당된 경로 검사기가 없거나 경로 검사기에 오류가 발생했기 때문에 이 경로에서 실행되지 않았습니다. 이는 와일드카드 와 동일하게 취급됩니다.
  • delayed: 경로 검사기가 경로가 up임을 반환하지만 경로가 최근에 실패한 경로가 여러 번 실패했으며 이 경우 멀티패스가 지연되도록 구성되어 있기 때문에 다중 경로가 경로의 reinstatement를 지연하고 있습니다.

커널 측면에서 dm 상태는 경로 상태와 비슷합니다. active dm 상태는 준비유령 경로 상태를 다룹니다. 보류 중인 경로 상태에는 동일한 dm 상태가 없습니다. 다른 모든 경로 상태는 실패한 dm 상태에 매핑됩니다. dm 상태는 경로 검사기가 완료될 때까지 현재 상태를 유지합니다.

online_status 에 사용 가능한 값이 실행 중이고 오프라인 상태입니다. 오프라인 상태는 이 SCSI 장치가 비활성화되었음을 나타냅니다.

참고

다중 경로 장치를 생성하거나 수정하면 다중 경로가 장치 구성을 출력합니다. 그러나 일부 기능은 쓰기 권한 및 기타 기능 정보를 알 수 없습니다. 출력 및 생성 또는 수정 중에 선택한 기능에 차이가 있을 수 있습니다. 이것은 정상적인 행동입니다. 올바른 상태를 보려면 생성 후 장치를 나열합니다.

1.7. 다중 경로 구성 표시

-lmultipath 명령을 사용하여 현재 다중 경로 구성을 표시할 수 있습니다. l 옵션은 sysfs 의 정보 및 장치 매퍼에서 수집한 다중 경로 토폴로지를 표시합니다. ll 옵션은 시스템의 다른 모든 사용 가능한 구성 요소와 함께 -l 옵션을 표시하는 정보를 표시합니다.

다중 경로 구성을 표시하는 경우 다중 경로 명령의 -v 옵션을 사용하여 상세 정보 표시 수준을 지정할 수 있습니다. -v0 을 지정하면 출력이 표시되지 않습니다. -v1 을 지정하면 생성된 또는 업데이트된 다중 경로 이름만 출력하므로 kpartx 와 같은 다른 툴에 피드를 제공할 수 있습니다. v2 를 지정하면 탐지된 모든 경로, 다중 경로 및 장치 맵이 출력됩니다. 보다 자세한 정보는 -v3, -v4 또는 -v5 도 지정할 수 있습니다.

다음 예제에서는 multipath -l 명령의 출력을 보여줍니다.

# multipath -l
3600d0230000000000e13955cc3757800 dm-1 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-- policy='round-robin 0' prio=1 status=active
| `- 6:0:0:0 sdb 8:16  active ready  running
`-- policy='round-robin 0' prio=1 status=enabled
  `- 7:0:0:0 sdf 8:80  active ready  running

다음 예제에서는 multipath -ll 명령의 출력을 보여줍니다.

# multipath -ll
3600d0230000000000e13955cc3757801 dm-10 WINSYS,SF2372
size=269G features='0' hwhandler='0' wp=rw
|-- policy='round-robin 0' prio=1 status=enabled
| `- 19:0:0:1 sdc 8:32  active ready  running
`-- policy='round-robin 0' prio=1 status=enabled
  `- 18:0:0:1 sdh 8:112 active ready  running
3600d0230000000000e13955cc3757803 dm-2 WINSYS,SF2372
size=125G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 19:0:0:3 sde 8:64  active ready  running
  `- 18:0:0:3 sdj 8:144 active ready  running

1.8. 추가 리소스

  • multipath(8)multipathd(8) 매뉴얼 페이지
  • /etc/multipath.conf 파일

2장. 다중 경로 장치

DM Multipath는 기본 장치 상단에 단일 다중 경로 장치를 생성하여 I/O 경로를 논리적으로 구성하는 방법을 제공합니다. DM Multipath가 없으면 I/O 경로가 동일한 스토리지 컨트롤러에 동일한 서버 노드를 연결하는 경우에도 서버 노드의 각 경로를 별도의 장치로 처리합니다.

2.1. 다중 경로 장치 식별자

새 장치가 DM Multipath가 제어되면 이러한 장치는 /dev/mapper//dev/ 디렉토리에 생성됩니다.

참고

/dev/dm-X 형식의 모든 장치는 내부용으로만 사용되며 관리자가 직접 사용해서는 안 됩니다.

다음은 다중 경로 장치 이름을 설명합니다.

  • user_friendly_names 구성 옵션이 no 로 설정되어 있으면 다중 경로 장치의 이름은 WWID(WWID)로 설정됩니다. 기본적으로 다중 경로 장치의 이름은 WWID로 설정됩니다. 장치 이름은 /dev/mapper/WWID 입니다. 또한 /dev/ 디렉터리에 /dev/dm-X 라는 이름으로 생성됩니다.
  • 또는 /etc/multipath.conf 파일에서 user_friendly_names 옵션을 yes 로 설정할 수 있습니다. 이를 통해 다중 경로 섹션의 별칭mpathN 형식의 노드 고유 이름으로 설정합니다. 장치 이름은 /dev/mapper/mpathN/dev/dm-X 입니다. 그러나 다중 경로 장치를 사용하는 모든 노드에서 장치 이름이 같을 수는 없습니다. 마찬가지로 /etc/multipath.conf 파일에서 alias 옵션을 설정하면 클러스터의 모든 노드에서 이름이 자동으로 일치하지 않습니다.
참고

이 경우 LVM을 사용하여 다중 경로 장치에서 논리 장치를 생성하는 경우 문제가 발생하지 않습니다. 다중 경로 장치 이름을 모든 노드에서 일관되게 유지하려면 user_friendly_names 옵션을 비활성화하는 것이 좋습니다.

예를 들어 단일 영역의 FC 스위치를 통해 두 개의 포트가 있는 스토리지 컨트롤러에 연결된 노드는 /dev/sda,/dev/sdb,/dev/sdc, /dev/sddd 의 네 가지 장치를 확인할 수 있습니다. DM Multipath는 다중 경로 구성에 따라 I/O를 기본 장치 4개로 라우팅하는 고유한 WWID를 사용하여 단일 장치를 생성합니다.

다중 경로 장치에는 user_friendly_names별칭 옵션 외에 다른 속성도 있습니다. /etc/multipath.conf 파일의 multipaths 섹션에 해당 장치의 항목을 생성하여 특정 다중 경로 장치에 대한 이러한 속성을 수정할 수 있습니다.

추가 리소스

2.2. 논리 볼륨의 다중 경로 장치

다중 경로 장치를 생성한 후 논리 볼륨 관리자(LVM) 물리 볼륨을 생성할 때 물리 장치 이름을 사용하는 것처럼 다중 경로 장치 이름을 사용할 수 있습니다. 예를 들어 /dev/mapper/mpatha 가 다중 경로 장치의 이름인 경우 pvcreate /dev/mapper/mpatha 명령은 /dev/mapper/mpatha 를 물리 볼륨으로 표시합니다.

다른 LVM 물리 장치를 사용하는 것처럼 LVM 볼륨 그룹을 만들 때 결과 LVM 물리 장치를 사용할 수 있습니다.

/etc/lvm/lvm.conf 파일의 모든 sd 장치를 필터링하려면 파일의 devices 섹션에 필터 = [ "r/block/", "r/disk/", "r/sd./", "a/./" ] 필터를 추가하십시오.

참고

파티션을 구성한 전체 장치에 LVM 물리 볼륨을 생성하려고 하면 pvcreate 명령이 실패합니다. 모든 블록 장치에 대해 달리 지정하지 않는 경우 Anaconda 및 Kickstart 설치 프로그램은 빈 파티션 테이블을 만듭니다. 파티션을 생성하는 대신 전체 장치를 사용하려면 장치에서 기존 파티션을 제거합니다. kpartx -d device 명령 및 metadata 유틸리티를 사용하여 기존 파티션을 제거할 수 있습니다. 시스템에 2Tb보다 큰 블록 장치가 있는 경우 parted 유틸리티를 사용하여 파티션을 제거합니다.

활성/수동 다중 경로 배열을 기본 물리 장치로 사용하는 LVM 논리 볼륨을 생성할 때 선택적으로 /etc/lvm/lvm.conf 파일에 필터를 포함하여 다중 경로 장치가 있는 디스크를 제외할 수 있습니다. 배열이 I/O를 수신할 때 수동 경로를 자동으로 변경하면 이러한 장치가 필터링되지 않는 경우 LVM에서 수동 경로를 스캔할 때마다 다중 경로 장애 조치 및 failback이기 때문입니다.

커널은 사용할 올바른 하드웨어 핸들러를 자동으로 탐지하여 활성/수동 상태를 변경합니다. 상태를 변경하기 위해 개입이 필요한 활성/수동 경로의 경우 다중 경로는 필요에 따라 이 하드웨어 처리기를 자동으로 사용합니다. 커널이 사용할 올바른 하드웨어 핸들러를 자동으로 감지하지 않으면 "hardware_handler" 옵션으로 multipath.conf 파일에 사용할 하드웨어 처리기를 구성할 수 있습니다. 패시브 경로를 활성화하는 명령이 필요한 활성/ 수동 배열의 경우 LVM은 이 문제가 발생할 때 경고 메시지를 출력합니다.

구성에 따라 LVM에서 다음 메시지를 출력할 수 있습니다.

  • LUN이 준비되지 않음:

    end_request: I/O error, dev sdc, sector 0
    sd 0:0:0:3: Device not ready: <6>: Current: sense key: Not Ready
        Add. Sense: Logical unit not ready, manual intervention required
  • 읽기 실패:

    /dev/sde: read failed after 0 of 4096 at 0: Input/output error

언급된 오류의 원인은 다음과 같습니다.

  • 다중 경로는 시스템에 활성/수동 경로를 제공하는 스토리지 장치에 설정되지 않습니다.
  • 경로는 다중 경로 장치를 통해 직접 액세스할 수 있습니다.

추가 리소스

3장. DM Multipath 구성

mpathconf 유틸리티를 사용하여 DM Multipath를 설정할 수 있습니다. 이 유틸리티는 다음 시나리오에 따라 /etc/multipath.conf 다중 경로 구성 파일을 생성하거나 편집합니다.

  • /etc/multipath.conf 파일이 이미 있으면 mpathconf 유틸리티에서 편집합니다.
  • /etc/multipath.conf 파일이 없으면 mpathconf 유틸리티에서 /etc/multipath.conf 파일을 처음부터 생성합니다.

3.1. device-mapper-multipath 패키지 확인

시스템에서 DM Multipath를 설정하기 전에 시스템이 최신 버전이며 device-mapper-multipath 패키지가 포함되어 있는지 확인합니다.

절차

  1. 시스템에 device-mapper-multipath 패키지가 포함되어 있는지 확인합니다.

    # rpm -q device-mapper-multipath
    device-mapper-multipath-current-package-version

    시스템에 패키지가 포함되어 있지 않으면 다음이 출력됩니다.

    package device-mapper-multipath is not installed
  2. 시스템에 패키지가 포함되어 있지 않으면 다음 명령을 실행하여 설치합니다.

    # {PackageManager} install device-mapper-multipath

3.2. 기본 장애 조치 구성에 대해 DM Multipath 설정

multipathd 데몬을 시작하기 전에 /etc/multipath.conf 파일을 편집해야 하는 경우 기본 장애 조치 구성에 대해 DM Multipath를 설정하려면 다음 절차를 사용하십시오.

절차

  1. 다중 경로 구성 파일을 활성화합니다.

    # mpathconf --enable
  2. 필요한 경우 /etc/multipath.conf 파일을 편집합니다. DM Multipath의 기본 설정은 시스템으로 컴파일되며 /etc/multipath.conf 파일에 명시적으로 설정할 필요가 없습니다.

    path_grouping_policy 의 기본값은 failover 로 설정되어 있으므로 이 예제에서는 /etc/multipath.conf 파일을 편집할 필요가 없습니다.

    구성 파일의 초기 defaults 섹션에서는 다중 경로 장치의 이름이 /dev/mapper/mpathn 형식이어야 합니다. 이 설정이 없으면 다중 경로 장치의 이름은 장치의 WWID에 별칭이 됩니다. 사용자 친숙한 이름을 사용하지 않으려면 다음 명령을 입력합니다.

    # mpathconf --enable --user_friendly_names n

    다중 경로 데몬을 시작한 후 다중 경로 구성 파일을 편집해야 하는 경우 변경 사항을 적용하려면 systemctl reload multipathd.service 명령을 실행해야 합니다.

  3. 구성 파일을 저장하고 필요한 경우 편집기를 종료합니다.
  4. 다중 경로 데몬을 시작하고 다중 경로 장치를 생성합니다.

    # systemctl start multipathd.service
참고

device-mapper-multipath 패키지를 제거하는 경우 해당 디렉토리에 현재 나열된 파일만 포함될 수 있으므로 /etc/multipath.conf 파일이나 /etc/multipath 디렉터리의 모든 파일이 제거되지 않습니다. 나중에 device-mapper-multipath 패키지를 설치할 때 해당 파일을 수동으로 제거해야 할 수 있습니다.

3.3. 다중 경로 장치를 생성할 때 로컬 디스크 무시

일부 시스템에는 내부 디스크에 대한 로컬 SCSI 카드가 있으며 이러한 장치에는 DM Multipath를 사용하지 않는 것이 좋습니다. find_multipaths 구성 매개변수를 의 로 설정하는 경우 이러한 장치에서 다중 경로를 비활성화할 필요가 없습니다.

find_multipaths 구성 매개변수를 의 로 설정하지 않으면 다음 절차에 따라 DM Multipath 구성 파일을 수정하여 다중 경로를 구성할 때 로컬 디스크를 무시할 수 있습니다.

절차

  1. 내부 디스크인 디스크를 확인합니다. 이 예에서 /dev/sda 는 내부 디스크입니다.

    • 기존 다중 경로 장치를 표시합니다.

      # multipath -v2 -l
      
      SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 dm-2 WINSYS,SF2372
      size=33 GB features="0" hwhandler="0" wp=rw
      `-+- policy='round-robin 0' prio=0 status=active
        |- 0:0:0:0 sda 8:0 active undef running
    • DM Multipath가 생성할 수 있는 추가 다중 경로 장치를 표시합니다.

      # multipath -v2 -d
      
      : SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1 undef WINSYS,SF2372
      size=33 GB features="0" hwhandler="0" wp=undef
      `-+- policy='round-robin 0' prio=1 status=undef
        |- 0:0:0:0 sda 8:0  undef ready running
  2. 이 장치를 포함하도록 /etc/multipath.conf 파일의 blacklist 섹션을 편집합니다.

    WWID 특성을 사용하여 장치를 식별합니다. devnode 유형을 사용하여 sda 장치를 식별할 수는 있지만 재부팅 시 /dev/sda 가 동일할 수 없기 때문에 안전한 절차가 아닐 수 있습니다.

    이전 예에서 /dev/sda 장치의 WWID는 SIBM-ESXSST3367LC___F3ET0Q000072428B1 입니다. 이 장치를 무시하려면 /etc/multipath.conf 파일에 다음을 포함합니다.

    blacklist {
          wwid SIBM-ESXSST336732LC____F3ET0EP0Q000072428BX1
    }
  3. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  4. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

추가 리소스

  • multipath.conf(5) 매뉴얼 페이지

3.4. 추가 스토리지 장치 구성

기본적으로 DM Multipath에는 DM Multipath를 지원하는 가장 일반적인 스토리지 어레이 지원이 포함됩니다.

절차

  • 지원되는 장치를 포함하여 기본 구성 값을 확인합니다.

    # multipathd show config
    # multipath -t
  • 선택 사항: 기본적으로 알려진 다중 경로 장치로 지원되지 않는 스토리지 장치를 추가하려면 /etc/multipath.conf 파일을 편집하고 적절한 장치 정보를 삽입합니다.

    다음 예제에서는 HP Open-V 시리즈에 대한 정보를 추가하는 방법을 설명합니다. 이렇게 하면 모든 경로가 실패한 후 재시도당 1분 또는 12번 재시도 횟수 5초 동안 장치를 큐로 설정합니다.

    devices {
            device {
                    vendor "HP"
                    product "OPEN-V"
                    no_path_retry 12
            }
    }

3.5. initramfs 파일 시스템에서 다중 경로 설정

initramfs 파일 시스템에서 다중 경로를 설정할 수 있습니다. 부팅 후 initramfs 파일 시스템을 남겨 둘 때까지 다중 경로를 원하는 장치를 사용하지 않는 경우 설정할 필요가 없습니다.

사전 요구 사항

  • 시스템에서 DM 다중 경로를 구성했습니다.

절차

  • 다음 명령을 실행하여 다중 경로 구성 파일로 initramfs 파일 시스템을 다시 빌드합니다.

    # dracut --force --add multipath

    initramfs 파일 시스템에서 다중 경로를 실행하고 다중 경로 구성 파일을 변경한 경우 변경 사항을 적용하려면 initramfs 파일 시스템을 다시 빌드해야 합니다. 루트 장치에서 다중 경로를 사용하는 경우 dracut 명령을 실행하면 initramfs 에 multipath 모듈이 자동으로 추가됩니다.

  • 선택 사항: initramfs에서 실행 중인 다중 경로가 필요하지만 다중 경로 루트 장치를 설정하지 않는 경우 다음을 실행합니다.

    # echo add_dracutmodules+=\"multipath\" > /etc/dracut.conf.d/multipath.conf
    # dracut --force
참고

dracut 명령에는 다중 경로가 더 이상 필요하지 않은 경우에도 initramfs 에 다중 경로가 포함됩니다. 다중 경로 포함을 중지하려면 다음을 실행합니다.

# rm /etc/dracut.conf.d/multipath.conf
# dracut --force

4장. NVMe 장치에서 멀티패스 활성화

파이버 채널(FC)과 같은 패브릭 전송을 통해 시스템에 연결된 NVMe 장치를 다중 경로 지정할 수 있습니다. 다중 경로 솔루션 중에서 선택할 수 있습니다.

4.1. 네이티브 NVMe 다중 경로 및 DM Multipath

NVMe 장치는 기본 다중 경로 기능을 지원합니다. NVMe에서 멀티패스를 구성할 때 표준 DM Multipath 프레임워크와 기본 NVMe 다중 경로 중에서 선택할 수 있습니다.

DM Multipath 및 기본 NVMe 다중 경로 모두 NVMe 장치의 ANA(Asymmetric Namespace Access) 다중 경로 체계를 지원합니다. ANA는 대상과 이니시에이터 간의 최적화된 경로를 식별하고 성능을 향상시킵니다.

네이티브 NVMe 멀티패스가 활성화되면 모든 NVMe 장치에 전역적으로 적용됩니다. 향상된 성능을 제공할 수 있지만 DM Multipath에서 제공하는 모든 기능이 포함되어 있지는 않습니다. 예를 들어 네이티브 NVMe 다중 경로에서는 장애 조치( failover ) 및 라운드 로빈 경로 선택 방법만 지원합니다.

기본적으로 NVMe 멀티패스는 Red Hat Enterprise Linux 9에서 활성화되며 권장되는 다중 경로 솔루션입니다.

4.2. 기본 NVMe 다중 경로 활성화

이 절차에서는 네이티브 NVMe 다중 경로 솔루션을 사용하여 연결된 NVMe 장치에서 다중 경로를 활성화합니다.

사전 요구 사항

  • NVMe 장치가 시스템에 연결됩니다.

    패브릭 전송을 통해 NVMe를 연결하는 방법에 대한 자세한 내용은 패브릭 장치를 통한 NVMe 개요 를 참조하십시오.

절차

  1. 커널에서 네이티브 NVMe 멀티패스가 활성화되어 있는지 확인합니다.

    # cat /sys/module/nvme_core/parameters/multipath

    명령은 다음 중 하나를 표시합니다.

    N
    네이티브 NVMe 멀티패스가 비활성화되어 있습니다.
    Y
    네이티브 NVMe 다중 경로가 활성화되어 있습니다.
  2. 네이티브 NVMe 멀티패스가 비활성화된 경우 다음 방법 중 하나를 사용하여 활성화합니다.

    • 커널 옵션 사용:

      1. 커널 명령줄에 nvme_core.multipath=Y 옵션을 추가합니다.

        # grubby --update-kernel=ALL --args="nvme_core.multipath=Y"
      2. 64비트 IBM Z 아키텍처에서 부팅 메뉴를 업데이트합니다.

        # zipl
      3. 시스템을 재부팅합니다.
    • 커널 모듈 구성 파일 사용:

      1. 다음 콘텐츠를 사용하여 /etc/modprobe.d/nvme_core.conf 구성 파일을 생성합니다.

        options nvme_core multipath=Y
      2. initramfs 파일 시스템을 백업합니다.

        # cp /boot/initramfs-$(uname -r).img \
             /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
      3. initramfs 파일 시스템을 다시 빌드합니다.

        # dracut --force --verbose
      4. 시스템을 재부팅합니다.
  3. 선택 사항: 실행 중인 시스템에서 NVMe 장치에서 I/O 정책을 변경하여 사용 가능한 모든 경로에 I/O를 배포합니다.

    # echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
  4. 선택 사항: udev 규칙을 사용하여 I/O 정책을 영구적으로 설정합니다. 다음 콘텐츠를 사용하여 /etc/udev/rules.d/71-nvme-io-policy.rules 파일을 생성합니다.

    ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"

검증

  1. 시스템이 NVMe 장치를 인식하는지 확인합니다.

    # nvme list
    
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme0n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
  2. 연결된 NVMe 하위 시스템을 모두 나열합니다.

    # nvme list-subsys
    
    nvme-subsys0 - NQN=testnqn
    \
     +- nvme0 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme1 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme2 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live
     +- nvme3 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live

    활성 전송 유형을 확인합니다. 예를 들어 nvme0 fc 은 장치가 파이버 채널 전송을 통해 연결되고 nvme tcp 는 장치가 TCP를 통해 연결됨을 나타냅니다.

  3. 커널 옵션을 편집한 경우 커널 명령줄에서 네이티브 NVMe 멀티패스가 활성화되어 있는지 확인합니다.

    # cat /proc/cmdline
    
    BOOT_IMAGE=[...] nvme_core.multipath=Y
  4. DM Multipath가 NVMe 네임스페이스를 nvme0c0n1 에서 nvme0c3n1 을 통해 보고하는지 확인합니다. 예를 들면 nvme0n1 ~ nvme3n 1:

    # multipath -e -ll | grep -i nvme
    
    uuid.8ef20f70-f7d3-4f67-8d84-1bb16b2bfe03 [nvme]:nvme0n1 NVMe,Linux,4.18.0-2
    | `- 0:0:1    nvme0c0n1 0:0     n/a   optimized live
    | `- 0:1:1    nvme0c1n1 0:0     n/a   optimized live
    | `- 0:2:1    nvme0c2n1 0:0     n/a   optimized live
      `- 0:3:1    nvme0c3n1 0:0     n/a   optimized live
    
    uuid.44c782b4-4e72-4d9e-bc39-c7be0a409f22 [nvme]:nvme0n2 NVMe,Linux,4.18.0-2
    | `- 0:0:1    nvme0c0n1 0:0     n/a   optimized live
    | `- 0:1:1    nvme0c1n1 0:0     n/a   optimized live
    | `- 0:2:1    nvme0c2n1 0:0     n/a   optimized live
      `- 0:3:1    nvme0c3n1 0:0     n/a   optimized live
  5. I/O 정책을 변경한 경우 round-robin 이 NVMe 장치의 활성 I/O 정책인지 확인합니다.

    # cat /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
    
    round-robin

4.3. NVMe 장치에서 DM Multipath 활성화

이 절차에서는 DM Multipath 솔루션을 사용하여 연결된 NVMe 장치에서 멀티패스를 활성화합니다.

사전 요구 사항

  • NVMe 장치가 시스템에 연결됩니다.

    패브릭 전송을 통해 NVMe를 연결하는 방법에 대한 자세한 내용은 패브릭 장치를 통한 NVMe 개요 를 참조하십시오.

절차

  1. 네이티브 NVMe 다중 경로가 비활성화되어 있는지 확인합니다.

    # cat /sys/module/nvme_core/parameters/multipath

    명령은 다음 중 하나를 표시합니다.

    N
    네이티브 NVMe 멀티패스가 비활성화되어 있습니다.
    Y
    네이티브 NVMe 다중 경로가 활성화되어 있습니다.
  2. 네이티브 NVMe 멀티패스가 활성화된 경우 비활성화합니다.

    1. 커널 명령줄에서 nvme_core.multipath=Y 옵션을 제거합니다.

      # grubby --update-kernel=ALL --remove-args="nvme_core.multipath=Y"
    2. 64비트 IBM Z 아키텍처에서 부팅 메뉴를 업데이트합니다.

      # zipl
    3. /etc/modprobe.d/ nvme_core.conf 파일에서 nvme_core multipath=Y 행을 제거합니다.
    4. 시스템을 재부팅합니다.
  3. DM Multipath가 활성화되어 있는지 확인합니다.

    # systemctl enable --now multipathd.service
  4. 모든 사용 가능한 경로에 I/O 배포. /etc/multipath.conf 파일에 다음 내용을 추가합니다.

    device {
      vendor "NVME"
      product ".*"
      path_grouping_policy    group_by_prio
    }
    참고

    DM Multipath가 NVMe 장치를 관리할 때 /sys/class/nvme-subsystem/nvme-subsys0/iopolicy 구성 파일은 I/O 배포에 영향을 미치지 않습니다.

  5. multipathd 서비스를 다시 로드하여 구성 변경 사항을 적용합니다.

    # multipath -r
  6. initramfs 파일 시스템을 백업합니다.

    # cp /boot/initramfs-$(uname -r).img \
         /boot/initramfs-$(uname -r).bak.$(date +%m-%d-%H%M%S).img
  7. initramfs 파일 시스템을 다시 빌드합니다.

    # dracut --force --verbose

검증

  1. 시스템이 NVMe 장치를 인식하는지 확인합니다.

    # nvme list
    
    Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
    ---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
    /dev/nvme0n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme0n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme1n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme1n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme2n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme2n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme3n1     a34c4f3a0d6f5cec     Linux                                    1         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
    /dev/nvme3n2     a34c4f3a0d6f5cec     Linux                                    2         250.06  GB / 250.06  GB    512   B +  0 B   4.18.0-2
  2. 연결된 NVMe 하위 시스템을 모두 나열합니다. 명령이 nvme0n1 에서 nvme3n2 를 통해 nvme3n2를 통해 보고하는지, 예를 들어 nvme0c0n1 에서 nvme0c3n1 을 통해 보고하지 않는지 확인합니다.

    # nvme list-subsys
    
    nvme-subsys0 - NQN=testnqn
    \
     +- nvme0 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme1 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1dd:pn-0x10000090fac7e1dd live
     +- nvme2 fc traddr=nn-0x20000090fadd5979:pn-0x10000090fadd5979 host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live
     +- nvme3 fc traddr=nn-0x20000090fadd597a:pn-0x10000090fadd597a host_traddr=nn-0x20000090fac7e1de:pn-0x10000090fac7e1de live
    # multipath -ll
    
    mpathae (uuid.8ef20f70-f7d3-4f67-8d84-1bb16b2bfe03) dm-36 NVME,Linux
    size=233G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=50 status=active
      |- 0:1:1:1  nvme0n1 259:0   active ready running
      |- 1:2:1:1  nvme1n1 259:2   active ready running
      |- 2:3:1:1  nvme2n1 259:4   active ready running
      `- 3:4:1:1  nvme3n1 259:6   active ready running
    
    mpathaf (uuid.44c782b4-4e72-4d9e-bc39-c7be0a409f22) dm-39 NVME,Linux
    size=233G features='1 queue_if_no_path' hwhandler='0' wp=rw
    `-+- policy='service-time 0' prio=50 status=active
      |- 0:1:2:2  nvme0n2 259:1   active ready running
      |- 1:2:2:2  nvme1n2 259:3   active ready running
      |- 2:3:2:2  nvme2n2 259:5   active ready running
      `- 3:4:2:2  nvme3n2 259:7   active ready running

5장. DM-Multipath 구성 파일 수정

기본적으로 DM Multipath는 다중 경로의 가장 일반적인 사용에 대한 구성 값을 제공합니다. 또한 DM Multipath에는 DM Multipath를 자체적으로 지원하는 가장 일반적인 스토리지 어레이 지원이 포함됩니다. /etc/multipath.conf 구성 파일을 편집하여 DM Multipath의 기본 구성 값을 덮어쓸 수 있습니다. 필요한 경우 기본 스토리지 어레이에서 지원되지 않는 스토리지를 구성 파일에 추가할 수도 있습니다.

지원되는 장치를 포함한 기본 구성 값에 대한 자세한 내용은 다음 명령 중 하나를 실행합니다.

# multipathd show config
# multipath -t
참고

initramfs 파일 시스템에서 다중 경로를 실행하고 다중 경로 구성 파일을 변경한 경우 initramfs 파일 시스템을 다시 빌드하여 변경 사항을 적용해야 합니다.

다중 경로 구성 파일에서 구성에 필요한 섹션만 지정하거나 기본값에서 변경하려는 경우에만 지정해야 합니다. 환경과 관련이 없거나 기본값을 재정의할 필요가 없는 파일의 섹션이 있는 경우 초기 파일에 있으므로 주석 처리된 상태로 둘 수 있습니다.

구성 파일은 정규식 설명 구문을 허용합니다.

5.1. 구성 파일 개요

다중 경로 구성 파일은 다음 섹션으로 나뉩니다.

blacklist
다중 경로로 간주되지 않는 특정 장치 목록입니다.
blacklist_exceptions
blacklist 섹션의 매개변수에 따라 무시되는 다중 경로 장치 목록입니다.
defaults
DM Multipath의 일반적인 기본 설정입니다.
다중 경로
개별 다중 경로 장치의 특성에 대한 설정입니다. 이러한 값은 구성 파일 의 덮어쓰기,장치defaults 섹션에 지정된 항목을 덮어씁니다.
장치
개별 스토리지 컨트롤러에 대한 설정입니다. 이러한 값은 구성 파일의 defaults 섹션에 지정된 항목을 덮어씁니다. 기본적으로 지원되지 않는 스토리지 어레이를 사용하는 경우 배열의 devices 하위 섹션을 생성해야 할 수 있습니다.
덮어쓰기
모든 장치에 적용되는 설정입니다. 이러한 값은 장치 및 구성 파일의 defaults 섹션에 지정된 항목을 덮어씁니다.

시스템에서 다중 경로 장치의 속성을 결정할 때 다음 순서로 multipath.conf 파일의 별도의 섹션 설정을 확인합니다.

  1. multipaths 섹션
  2. overrides 섹션
  3. devices 섹션
  4. defaults 섹션

5.2. 장치 시간 초과의 DM Multipath 덮어쓰기

recovery_tmo sysfs 옵션은 특정 iSCSI 장치의 시간 제한을 제어합니다. 다음 옵션은 recovery_tmo 값을 전역적으로 덮어씁니다.

  • replacement_timeout 구성 옵션은 모든 iSCSI 장치의 recovery_tmo 값을 전역적으로 덮어씁니다.
  • DM Multipath에서 관리하는 모든 iSCSI 장치의 경우 DM Multipath의 fast_io_fail_tmo 옵션은 recovery_tmo 값을 전체적으로 덮어씁니다.

    DM Multipath의 fast_io_fail_tmo 옵션은 파이버 채널 장치의 fast_io_fail_tmo 옵션도 덮어씁니다.

DM Multipath fast_io_fail_tmo 옵션이 replacement_timeout 보다 우선합니다. DM Multipath는 multipathd 서비스가 다시 로드될 때 항상 recovery_tmo 를 재설정하므로 replacement_timeout 을 사용하여 DM Multipath에서 관리하는 장치에서 recovery_tmo 를 덮어쓰는 것을 권장하지 않습니다.

5.3. 다중 경로 구성 파일 기본값 수정

/etc/multipath.conf 구성 파일에는 다음과 같이 user_friendly_names 매개변수를 yes 로 설정하는 defaults 섹션이 포함되어 있습니다.

defaults {
        user_friendly_names yes
}

이는 user_friendly_names 매개변수의 기본값을 덮어씁니다. multipath.conf 파일 의 defaults 섹션에 설정된 기본값은 DM Multipath에서 장치, multipath 또는 overrides 섹션에 지정된 속성으로 덮어 쓰지 않는 한 사용합니다.

절차

  1. 구성 기본값 템플릿을 포함하는 /etc/multipath.conf 구성 파일을 확인합니다.

    #defaults {
    #       polling_interval        10
    #       path_selector           "round-robin 0"
    #       path_grouping_policy    multibus
    #       uid_attribute           ID_SERIAL
    #       prio                    alua
    #       path_checker            readsector0
    #       rr_min_io               100
    #       max_fds                 8192
    #       rr_weight               priorities
    #       failback                immediate
    #       no_path_retry           fail
    #       user_friendly_names     yes
    #}
  2. 구성 매개변수의 기본값을 덮어씁니다. 이 템플릿의 관련 행을 defaults 섹션에 복사하고 주석 처리를 해제할 수 있습니다.

    예를 들어, path_grouping_policy 매개변수를 기본 장애 조치 값 대신 multibus 로 덮어쓰려면 템플릿에서 구성 파일의 초기 defaults 섹션으로 적절한 행을 복사하고 다음과 같이 주석을 제거합니다.

    defaults {
            user_friendly_names     yes
            path_grouping_policy    multibus
    }
  3. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  4. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

추가 리소스

  • multipath.conf(5)multipathd(8) 매뉴얼 페이지

5.4. 특정 장치의 다중 경로 설정 수정

multipath.conf 구성 파일의 multipaths 섹션에서 필수 WWID 매개변수에서 참조하는 개별 다중 경로 장치에 고유한 구성을 추가할 수 있습니다.

이러한 기본값은 multipath.conf 파일의 overrides,defaultsdevices 섹션에 설정된 DM Multipath 및 override 속성에서 사용합니다. multipaths 섹션에는 여러 multipath 하위 섹션이 있을 수 있습니다.

절차

  1. 특정 다중 경로 장치의 multipaths 섹션을 수정합니다. 다음 예제에서는 두 개의 특정 다중 경로 장치에 대한 구성 파일에 지정된 다중 경로 속성을 보여줍니다.

    • 첫 번째 장치에는 WWID가 3600508b4000156d70001200000b0000 이고 노란색 이라는 심볼릭 이름이 있습니다.
    • 예제의 두 번째 다중 경로 장치에는 WWID가 1DEC_321816758474 이고 심볼릭 이름은 빨간색 입니다.

    이 예제에서는 rr_weight 특성이 우선순위 로 설정됩니다.

    multipaths {
           multipath {
                  wwid                  3600508b4000156d70001200000b0000
                  alias                 yellow
                  path_grouping_policy  multibus
                  path_selector         "round-robin 0"
                  failback              manual
                  rr_weight             priorities
                  no_path_retry         5
           }
           multipath {
                  wwid                  1DEC_321816758474
                  alias                 red
                  rr_weight             priorities
            }
    }
  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

추가 리소스

  • multipath.conf(5) 매뉴얼 페이지

5.5. 프로토콜을 사용하여 특정 장치의 다중 경로 구성 수정

전송 프로토콜을 기반으로 다중 경로 장치 경로를 구성할 수 있습니다. /etc/multipath.conf 파일에서 overrides 섹션의 protocol 하위 섹션을 사용하면 특정 경로에서 다중 경로 구성 설정을 재정의할 수 있습니다. 이를 통해 파이버 채널(FC) 또는 iSCSI(Internet Small Computer Systems Interface)와 같은 여러 전송 프로토콜을 통해 다중 경로 장치에 액세스할 수 있습니다.

프로토콜 하위 섹션에 설정된 옵션은 덮어쓰기,장치기본값 섹션의 값을 재정의합니다. 이러한 옵션은 하위 섹션의 type 매개 변수와 일치하는 전송 프로토콜을 사용하는 장치에만 적용됩니다.

사전 요구 사항

  • 시스템에서 장치 매퍼(DM) 다중 경로를 구성했습니다.
  • 모든 경로가 동일한 전송 프로토콜을 사용하는 것은 아닌 다중 경로 장치가 있습니다.

절차

  1. 다음을 실행하여 특정 경로 프로토콜을 확인합니다.

    # multipathd show paths format "%d %P"
    dev protocol
    sda scsi:ata
    sdb scsi:fcp
    sdc scsi:fcp
  2. 각 다중 경로 유형에 protocol 하위 섹션을 추가하여 /etc/multipath.conf 파일의 overrides 섹션을 편집합니다.

    • scsi:fcp 프로토콜을 사용하는 경로 장치에 대한 설정:

      overrides {
              dev_loss_tmo 60
              fast_io_fail_tmo 8
              protocol {
                      type "scsi:fcp"
                      dev_loss_tmo 70
                      fast_io_fail_tmo 10
                      eh_deadline 360
              }
    • scsi:iscsi 프로토콜을 사용하는 경로 장치에 대한 설정:

      overrides {
              dev_loss_tmo 60
              fast_io_fail_tmo 8
              protocol {
                      type "scsi:iscsi"
                      dev_loss_tmo 60
                      fast_io_fail_tmo 120
              }
    • 다른 모든 프로토콜을 사용하는 경로 장치의 설정:

      overrides {
              dev_loss_tmo 60
              fast_io_fail_tmo 8
              protocol {
                      type "<type of protocol>"
                      dev_loss_tmo 60
                      fast_io_fail_tmo 8
              }

overrides 섹션에는 여러 프로토콜 하위 섹션이 포함될 수 있습니다.

중요

protocol 하위 섹션에는 type 매개 변수가 포함되어야 합니다. 그러면 일치하는 type 매개 변수가 있는 모든 경로의 구성이 protocol 하위 섹션에 나열된 나머지 매개 변수로 업데이트됩니다.

추가 리소스

  • multipath.conf(5) 매뉴얼 페이지

5.6. 스토리지 컨트롤러의 다중 경로 설정 수정

multipath.conf 구성 파일의 devices 섹션에서는 개별 스토리지 장치에 대한 속성을 설정합니다. DM Multipath는 해당 장치가 장치가 포함된 경로에 대해 multipath.conf 파일 multipath.conf 파일에 지정된 속성으로 덮어쓰거나 재정의하지 않는 한 이러한 속성을 사용합니다. 이러한 속성은 multipath.conf 파일의 defaults 섹션에 설정된 속성을 재정의합니다.

절차

  1. 지원되는 장치를 포함하여 기본 구성 값에 대한 정보를 확인합니다.

    # multipathd show config
    # multipath -t

    다중 경로를 지원하는 대부분의 장치는 기본적으로 다중 경로 구성에 포함됩니다.

  2. 선택 사항: 기본 구성 값을 수정해야 하는 경우 해당 값을 덮어쓰는 장치의 구성 파일에 항목을 포함하여 기본값을 덮어쓸 수 있습니다. multipathd show config 명령에서 표시하는 장치의 장치 구성 기본값을 복사하고 변경하려는 값을 덮어쓸 수 있습니다.
  3. vendorproduct 매개 변수를 설정하여 기본적으로 구성 파일의 devices 섹션에 자동으로 구성되지 않은 장치를 추가합니다. 다음 예와 같이 /sys/block/ device_name /device/vendor/sys/block/device_name/device/model 파일을 열어 이러한 값을 찾습니다. 여기서 device_name은 다중 경로 지정 장치입니다.

    # cat /sys/block/sda/device/vendor
    WINSYS
    # cat /sys/block/sda/device/model
    SF2372
  4. 선택 사항: 특정 장치에 따라 추가 매개변수를 지정합니다.

    활성/활성 장치
    일반적으로 이 경우 추가 매개변수를 설정할 필요가 없습니다. 필요한 경우 path_grouping_policymultibus 로 설정할 수 있습니다. 설정해야 할 다른 매개변수는 no_path_retryrr_min_io 입니다.
    활성/수동 장치
    I/O의 경로를 수동 경로로 자동 전환하면 Checker 함수를 작동 중인지 테스트할 경로에 I/O를 보내지 않고, 그렇지 않으면 장치가 계속 장애를 유지합니다. 즉, 테스트 단위 Ready 명령을 지원하는 모든 SCSI 장치에 대해 path_checkertur 로 설정해야 합니다.

    장치에 경로를 전환하기 위해 특수 명령이 필요한 경우 다중 경로를 위해 이 장치를 구성하려면 하드웨어 처리기 커널 모듈이 필요합니다. 사용 가능한 현재 하드웨어 처리기가 emc 입니다. 장치에 충분하지 않은 경우 다중 경로의 장치를 구성하지 못할 수 있습니다.

    다음 예는 다중 경로 구성 파일의 장치 항목을 보여줍니다.

    #	}
    #	device {
    #		vendor			"COMPAQ  "
    #		product			"MSA1000         "
    #		path_grouping_policy	multibus
    #		path_checker		tur
    #		rr_weight		priorities
    #	}
    #}
  5. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  6. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

추가 리소스

  • multipath.conf(5)multipathd(8) 매뉴얼 페이지

5.7. 모든 장치에 대한 다중 경로 값 설정

multipath.conf 구성 파일의 overrides 섹션을 사용하여 모든 장치에 대한 구성 값을 설정할 수 있습니다. 이 섹션에서는 multipath.conf 구성 파일의 devicesdefaults 섹션에서 모두 지원하는 모든 속성을 지원합니다. 이 속성은 vendor,product, revision 을 제외한 모든 devices 섹션 특성에 해당합니다.

DM Multipath는 장치가 포함된 경로에 대해 multipath.conf 파일의 multipaths 섹션에 지정된 속성으로 덮어쓰지 않는 한 모든 장치에 대해 이러한 속성을 사용합니다. 이러한 속성은 devices 에 설정된 속성과 multipath.conf 파일의 defaults 섹션을 재정의합니다.

절차

  1. 장치별 설정을 재정의합니다. 예를 들어 모든 장치가 no_path_retry실패 하도록 설정할 수 있습니다. 모든 경로가 실패한 경우 다음 명령을 사용하여 큐를 끄십시오. 이렇게 하면 모든 장치별 설정이 재정의됩니다.

    overrides {
            no_path_retry fail
    }
  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

추가 리소스

  • multipath.conf(5) 매뉴얼 페이지

6장. 장치가 다중 경로 방지

다중 경로 장치를 구성할 때 선택한 장치를 무시하도록 DM Multipath를 구성할 수 있습니다. DM Multipath는 이러한 무시된 장치를 다중 경로 장치로 그룹화하지 않습니다.

6.1. DM Multipath가 경로에 대한 다중 경로 장치를 생성하는 경우의 조건

DM Multipath에는 경로에 대한 다중 경로 장치를 생성할지 또는 경로를 무시할지 여부를 결정하는 기본 규칙 세트가 있습니다. 동작을 구성할 수 있습니다.

find_multipaths 구성 매개변수를 off 로 설정하면 다중 경로가 명시적으로 비활성화되지 않은 모든 경로에 대해 다중 경로 장치를 생성하려고 합니다. find_multipaths 구성 매개 변수가 on 의 로 설정된 경우 다음 조건 중 하나가 충족되는 경우에만 다중 경로가 장치를 생성합니다.

  • 비활성화되지 않은 WWID(WWide Identification)가 동일한 두 개 이상의 경로가 있습니다.
  • 다중 경로 명령으로 장치를 지정하여 장치 생성을 수동으로 강제 적용합니다.
  • 경로(WWID)는 해당 다중 경로 장치가 현재 존재하지 않는 경우에도 이전에 생성된 다중 경로 장치와 동일한 WWID입니다. 다중 경로 장치가 생성될 때마다 다중 경로가 장치의 WWID를 기억하여 장치의 WWID가 자동으로 생성되므로 해당 WWID가 있는 경로가 표시되는 즉시 장치를 다시 생성합니다. 이를 통해 다른 장치에서 멀티패스를 비활성화하지 않고도 다중 경로 장치에 올바른 경로를 자동으로 선택할 수 있습니다.

이전에 find_multipaths 매개변수를 사용하지 않고 다중 경로 장치를 생성한 다음 나중에 매개 변수를 으로 설정하면 /etc/multipath/wwids 파일에서 다중 경로 장치로 생성되지 않는 모든 장치의 WWID를 제거해야 할 수 있습니다. 다음 예제는 샘플 /etc/multipath/wwids 파일을 보여줍니다. WWID는 슬래시(/)로 묶어야 합니다.

# Multipath wwids, Version : 1.0
# NOTE: This file is automatically maintained by multipath and multipathd.
# You should not need to edit this file in normal circumstances.
#
# Valid WWIDs:
/3600d0230000000000e13955cc3757802/
/3600d0230000000000e13955cc3757801/
/3600d0230000000000e13955cc3757800/
/3600d02300069c9ce09d41c31f29d4c00/
/SWINSYS  SF2372         0E13955CC3757802/
/3600d0230000000000e13955cc3757803/

onoff 뿐만 아니라 find_multipaths 를 다음 값으로 설정할 수도 있습니다.

strict
다중 경로는 이전에 다중 경로가 아닌 경로를 허용하지 않으므로 /etc/multipath/wwids 파일에 없습니다.
smart
다중 경로에서는 항상 udev 에서 비활성화되지 않은 장치를 표시 즉시 허용합니다. multipathdfind_multipaths_timeout 매개변수로 설정된 시간 내에 장치를 생성하지 않으면 장치에서 해당 클레임을 해제합니다.

find_multipaths 의 기본값은 해제 되어 있습니다. 그러나 mpathconf 에서 생성한 기본 multipath.conf 파일은 find_multipaths 값을 의 설정합니다.

find_multipaths 매개변수가 on;의 로 설정된 경우 다중 경로인 여러 경로가 있는 장치에서만 다중 경로를 비활성화합니다. 이로 인해 일반적으로 장치에서 멀티패스를 비활성화할 필요가 없습니다.

이전에 생성된 다중 경로 장치를 추가하여 블랙리스트에 추가된 경우 -w 옵션을 사용하여 /etc/multipath/wwids 파일에서 해당 장치의 WWID를 제거하면 다른 프로그램의 문제가 발생하지 않을 수 있습니다. 예를 들어, /etc /multipath/ wwids 파일에서 WWID 3600d0230000000000e13954ed5f89300 ed5f89300 장치를 제거하려면 다음 방법 중 하나를 사용할 수 있습니다.

  • 장치 이름을 사용하여 다중 경로 장치 제거.

    #multipath -w /dev/sdb
    wwid '3600d0230000000000e13954ed5f89300' removed
  • 장치의 WWID를 사용하여 다중 경로 장치 제거.

    #multipath -w 3600d0230000000000e13954ed5f89300
    wwid '3600d0230000000000e13954ed5f89300' removed

또한 -W 옵션을 사용하여 /etc/multipath/wwids 파일을 업데이트할 수도 있습니다. 이렇게 하면 현재 다중 경로 장치의 WWID만 포함하도록 /etc/multipath/wwids 파일이 재설정됩니다. 파일을 재설정하려면 다음을 실행합니다.

#multipath -W
successfully reset wwids

추가 리소스

  • multipath.conf(5) 매뉴얼 페이지

6.2. 특정 장치에서 멀티패스를 비활성화하는 기준

다음 기준 중 하나를 사용하여 장치에서 다중 경로를 비활성화할 수 있습니다.

  • WWID
  • 장치 이름
  • 장치 유형
  • 속성
  • 프로토콜

모든 장치에 대해 DM Multipath는 다음 순서로 이러한 기준을 평가합니다.

  1. 속성
  2. devnode
  3. device
  4. 프로토콜
  5. wwid

장치가 언급된 기준에 따라 비활성화되는 경우 DM Multipath는 다중 경로 의 처리에서 해당 장치를 제외하고 이후 기준을 평가하지 않습니다. 각 조건에 대해 장치가 둘 다 일치하면 비활성화된 장치 목록보다 예외 목록이 우선합니다.

참고

구성 파일의 초기 블랙리스트 섹션을 주석 처리한 후에도 다양한 장치 유형이 비활성화되어 있습니다.

6.3. WWID를 통한 다중 경로 비활성화

WWID(WWide Identification)를 통해 개별 장치에서 다중 경로를 비활성화할 수 있습니다.

절차

  1. wwid 항목을 사용하여 /etc/multipath.conf 구성 파일에서 장치를 비활성화합니다.

    다음 예제에서는 DM Multipath 구성 파일에서 WWID가 26353900f02796769 인 장치를 비활성화하는 행을 보여줍니다.

    blacklist {
           wwid 26353900f02796769
    }
  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

6.4. 장치 이름으로 다중 경로 비활성화

DM Multipath가 다중 경로 장치로 그룹화하지 않도록 장치 유형별로 다중 경로를 비활성화할 수 있습니다.

절차

  1. devnode 항목을 사용하여 /etc/multipath.conf 구성 파일에서 장치를 비활성화합니다.

    다음 예제에서는 모든 sd* 장치를 비활성화하기 때문에 모든 SCSI 장치를 비활성화하는 DM Multipath 구성 파일의 행을 보여줍니다.

    blacklist {
           devnode "^sd[a-z]"
    }

    devnode 항목을 사용하여 특정 유형의 모든 장치가 아닌 개별 장치를 비활성화할 수 있습니다. 그러나 udev 규칙에 의해 정적으로 매핑되지 않는 한 특정 장치의 이름이 재부팅 시 동일한 것이라는 보장이 없기 때문에 이 방법은 사용하지 않는 것이 좋습니다. 예를 들어 장치 이름이 재부팅 시 /dev/sda 에서 /dev/sdb 로 변경될 수 있습니다.

    기본적으로 DM Multipath는 다음 devnode 항목을 사용하여 SCSI, NVMe 또는 DASD가 아닌 모든 장치를 비활성화합니다.

    blacklist {
           devnode "!^(sd[a-z]|dasd[a-z]|nvme[0-9])"
    }

    이 항목을 비활성화하는 장치는 일반적으로 DM Multipath를 지원하지 않습니다.

  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

6.5. 장치 유형별 다중 경로 비활성화

device 섹션을 사용하여 장치에서 멀티패스를 비활성화할 수 있습니다.

절차

  1. device 섹션을 사용하여 /etc/multipath.conf 구성 파일에서 장치를 비활성화합니다.

    다음 예제에서는 모든 IBM DS4200 및 HP 장치에서 멀티패스를 비활성화합니다.

    blacklist {
           device {
                   vendor  "IBM"
                   product "3S42"       #DS4200 Product 10
           }
           device {
                   vendor  "HP"
                   product ".*"
           }
    }
  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

6.6. udev 속성의 다중 경로 비활성화

udev property 매개변수를 통해 장치에서 멀티패스를 비활성화할 수 있습니다.

절차

  1. property 매개 변수를 사용하여 /etc/multipath.conf 구성 파일에서 장치를 비활성화합니다. 이 매개변수는 장치의 udev 환경 변수 이름과 일치하는 정규식 문자열입니다.

    다음 예제에서는 udev 속성 ID_ATA 를 사용하여 모든 장치에서 다중 경로를 비활성화합니다.

    blacklist {
            property "ID_ATA"
    }
  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

6.7. 장치 프로토콜별 다중 경로 비활성화

장치 프로토콜을 사용하여 장치에서 다중 경로를 비활성화할 수 있습니다.

절차

  1. 선택 사항: 경로가 사용 중인 프로토콜을 확인합니다.

    # multipathd show paths format "%d %P"
  2. protocol 섹션을 사용하여 /etc/multipath.conf 구성 파일에서 장치를 비활성화합니다.

    다음 예제에서는 정의되지 않은 프로토콜 또는 알 수 없는 SCSI 전송 유형이 있는 모든 장치에서 다중 경로를 비활성화합니다.

    blacklist {
            protocol "scsi:unspec"
            protocol "undef"
    }

    DM Multipath는 다음 프로토콜 문자열을 인식합니다.

    • scsi:fcp
    • scsi:spi
    • scsi:ssa
    • scsi:sbp
    • scsi:srp
    • scsi:iscsi
    • scsi:sas
    • scsi:adt
    • scsi:ata
    • scsi:unspec
    • ccw
    • cciss
    • nvme
    • undef
  3. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  4. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

6.8. 다중 경로가 비활성화된 장치에 대한 예외 추가

현재 다중 경로가 비활성화된 장치에 예외를 추가하여 다중 경로를 활성화할 수 있습니다.

사전 요구 사항

  • 특정 장치에서 멀티패스가 비활성화됩니다.

절차

  1. /etc/multipath.conf 구성 파일의 blacklist_exceptions 섹션을 사용하여 장치에서 다중 경로를 활성화합니다.

    구성 파일의 blacklist_exceptions 섹션에 장치를 지정할 때 블랙리스트 섹션에 지정된 것과 동일한 기준을 사용하여 예외를 지정해야 합니다. 예를 들어, WWID 예외는 비활성화 된 장치가 해당 WWID와 연결된 경우에도 devnode 항목에 의해 비활성화 된 장치에 적용되지 않습니다. 마찬가지로 devnode 예외는 devnode 항목에만 적용되며 장치 예외는 장치 항목에만 적용됩니다.

    예 6.1. WWID의 예외

    많은 장치가 있으며 WWID가 3600d0230000000000e13955cc3757803 을 사용하여 하나의 다중 경로만 배치하려는 경우 원하는 모든 장치를 개별적으로 비활성화하는 대신 모든 장치를 비활성화한 다음 /etc/multipath.conf 파일에 다음 행만 추가하여 활성화할 수 있습니다.

    blacklist {
            wwid ".*"
    }
    
    blacklist_exceptions {
            wwid "3600d0230000000000e13955cc3757803"
    }

    또는 느낌표(!)를 사용하여 블랙리스트 항목을 반전하여 지정된 WWID를 제외한 모든 장치를 비활성화할 수 있습니다.

    blacklist {
            wwid "!3600d0230000000000e13955cc3757803"
    }

    예 6.2. udev 속성의 예외

    property 매개변수는 다른 blacklist_exception 매개변수와 다르게 작동합니다. property 매개변수 값은 udev 데이터베이스의 변수 이름과 일치해야 합니다. 그렇지 않으면 장치가 비활성화되어 있습니다. 이 매개 변수를 사용하면 USB 고정 및 로컬 하드 드라이브와 같은 특정 SCSI 장치에서 다중 경로를 비활성화할 수 있습니다.

    다중 경로 지정될 수 있는 SCSI 장치에서만 멀티패스를 활성화하려면 다음 예와 같이 이 매개변수를 (SCSI_IDENT_|ID_WWN) 로 설정합니다.

    blacklist_exceptions {
            property "(SCSI_IDENT_|ID_WWN)"
    }
  2. 다음 명령 중 하나를 실행하여 다중 경로 구성 파일을 수정한 후 /etc/multipath.conf 파일을 확인합니다.

    • 구성 오류를 표시하려면 다음을 실행합니다.

      # multipath -t > /dev/null
    • 변경 사항이 추가된 새 구성을 표시하려면 다음을 실행합니다.

      # multipath -t
  3. /etc/multipath.conf 파일을 다시 로드하고 변경 사항을 적용하려면 multipathd 데몬을 재구성하십시오.

    # service multipathd reload

7장. 다중 경로 볼륨 관리

다음은 다중 경로 볼륨을 관리하는 데 사용할 수 있는 DM Multipath에서 제공하는 몇 가지 명령입니다.

  • multipath
  • dmsetup
  • multipathd

7.1. 온라인 다중 경로 장치 크기 조정

온라인 다중 경로 장치의 크기를 조정해야 하는 경우 다음 절차를 사용하십시오.

절차

  1. 물리적 장치의 크기를 조정합니다.
  2. 다음 명령을 실행하여 논리 장치 번호(LUN)의 경로를 찾습니다.

    # multipath -l
  3. 경로 크기 조정. SCSI 장치의 경우 장치의 다시 스캔 파일에 1을 저장하면 다음 명령과 같이 SCSI 드라이버가 다시 스캔됩니다.

    # echo 1 > /sys/block/path_device/device/rescan

    각 경로 장치에 대해 이 명령을 실행해야 합니다. 예를 들어 경로 장치가 sda,sdb,sdesdf 인 경우 다음 명령을 실행합니다.

    # echo 1 > /sys/block/sda/device/rescan
    # echo 1 > /sys/block/sdb/device/rescan
    # echo 1 > /sys/block/sde/device/rescan
    # echo 1 > /sys/block/sdf/device/rescan
  4. 다중 경로 장치 크기 조정:

    # multipathd resize map multipath_device
  5. 파일 시스템의 크기 조정( LVM 또는 DOS 파티션이 사용되지 않는 것으로 가정).

    # resize2fs /dev/mapper/mpatha

7.2. 루트 파일 시스템을 단일 경로 장치에서 다중 경로 장치로 이동

시스템을 단일 경로 장치에 설치하고 나중에 루트 파일 시스템에 다른 경로를 추가하는 경우 루트 파일 시스템을 다중 경로 장치로 이동해야 합니다. 단일 경로에서 다중 경로 장치로 이동하려면 다음 절차를 참조하십시오.

사전 요구 사항

  • device-mapper-multipath 패키지가 설치되어 있습니다.

절차

  1. /etc/multipath.conf 구성 파일을 생성하고 multipath 모듈을 로드하고, multipathd systemd 서비스를 활성화합니다.

    # yum install device-mapper-multipath

절차

  1. 다음 명령을 실행하여 /etc/multipath.conf 구성 파일을 생성하고, multipath 모듈을 로드하고, multipathdchkconfigon:으로 설정합니다.
  2. find_multipaths 구성 매개변수가 yes 로 설정되지 않은 경우 멀티패스에서 장치 방지 에 설명된 대로 /etc/multipath.conf 파일의 blacklistblacklist_exceptions 섹션을 편집합니다.
  3. 루트 장치가 검색되면 다중 경로 장치를 빌드하려면 루트 장치 상단에 다중 경로 장치를 빌드하려면 다음 명령을 입력합니다. 또한 이 명령은 path만 있어도 find_multipaths 에서 장치를 허용합니다.

    # multipath -a root_devname

    예를 들어 루트 장치가 /dev/sdb 인 경우 다음 명령을 입력합니다.

    # multipath -a /dev/sdb
    wwid '3600d02300069c9ce09d41c4ac9c53200' added
  4. 다중 경로 명령을 실행하여 구성 파일이 올바르게 설정되었는지 확인하고 다음 형식의 한 줄에 대한 출력을 검색합니다. 이는 명령이 다중 경로 장치를 생성하지 못했음을 나타냅니다.

    date  wwid: ignoring map

    예를 들어 장치의 WWID가 3600d02300069c9ce09d41c4ac9c53200 이면 다음과 같은 출력이 표시됩니다.

    # multipath
    Oct 21 09:37:19 | 3600d02300069c9ce09d41c4ac9c53200: ignoring map
  5. 다중 경로 를 사용하여 initramfs 파일 시스템을 다시 빌드합니다.

    # dracut --force -H --add multipath
  6. 머신을 종료합니다.
  7. 시스템을 부팅합니다.
  8. 다른 경로를 시스템에서 볼 수 있도록 합니다.

검증 단계

  • 다음 명령을 실행하여 다중 경로 장치가 생성되었는지 확인합니다.

    # multipath -l | grep 3600d02300069c9ce09d41c4ac9c53200
    mpatha (3600d02300069c9ce09d41c4ac9c53200) dm-0 3PARdata,VV

7.3. 스왑 파일 시스템을 단일 경로 장치에서 다중 경로 장치로 이동

기본적으로 스왑 장치는 논리 볼륨으로 설정됩니다. 이 경우 논리 볼륨 그룹을 구성하는 물리 볼륨에 다중 경로를 설정하는 한 다중 경로 장치로 구성하는 특수 프로시저가 필요하지 않습니다. 그러나 스왑 장치가 LVM 볼륨이 아니며 장치 이름으로 마운트된 경우 /etc/fstab 파일을 편집하여 적절한 다중 경로 장치 이름으로 전환해야 할 수 있습니다.

절차

  1. 장치의 WWID를 /etc/multipath/wwids 파일에 추가합니다.

    # multipath -a swap_devname

    예를 들어 루트 장치가 /dev/sdb 인 경우 다음 명령을 입력합니다.

    # multipath -a /dev/sdb
    wwid '3600d02300069c9ce09d41c4ac9c53200' added
  2. 다중 경로 명령을 실행하여 구성 파일이 올바르게 설정되었는지 확인하고 다음 형식의 행을 검색합니다.

    date  wwid: ignoring map

    이는 명령이 다중 경로 장치를 생성하지 못했음을 나타냅니다.

    예를 들어 장치의 WWID가 3600d02300069c9ce09d41c4ac9c53200인 경우 출력에 다음과 같은 행이 표시됩니다.

    # multipath
    Oct 21 09:37:19 | 3600d02300069c9ce09d41c4ac9c53200: ignoring map
  3. /etc/multipath.conf 파일에서 스왑 장치의 별칭을 설정합니다.

    multipaths {
        multipath {
            wwid WWID_of_swap_device
            alias swapdev
        }
    }
  4. /etc/fstab 파일을 편집하고 루트 장치의 이전 장치 경로를 다중 경로 장치로 교체합니다.

    예를 들어 /etc/fstab 파일에 다음 항목이 있는 경우 다음을 수행합니다.

    /dev/sdb2 swap                    swap    defaults        0 0

    항목을 다음으로 변경합니다.

    /dev/mapper/swapdev swap          swap    defaults        0 0
  5. 다중 경로를 사용하여 initramfs 파일 시스템을 다시 빌드합니다.

    # dracut --force -H --add multipath
  6. 머신을 종료합니다.
  7. 시스템을 부팅합니다.
  8. 다른 경로를 시스템에서 볼 수 있도록 합니다.

검증 단계

  • 스왑 장치가 다중 경로 장치에 있는지 확인합니다.

    # swapon -s

    예를 들어 다음과 같습니다.

    # swapon -s
    
    Filename                Type          Size Used    Priority
    /dev/dm-3               partition     4169724 0    -2

    파일 이름은 다중 경로 스왑 장치와 일치해야 합니다.

    # readlink -f /dev/mapper/swapdev
    /dev/dm-3

7.4. dmsetup 명령을 사용하여 장치 매퍼 항목 확인

dmsetup 명령을 사용하여 다중 경로 장치와 일치하는 장치 매퍼 항목을 확인할 수 있습니다.

절차

  • 모든 장치 매퍼 장치와 해당 주요 번호와 마이너 번호를 표시합니다. 마이너 번호는 dm 장치의 이름을 결정합니다. 예를 들어 마이너 수 3은 다중 경로 장치 /dev/dm-3 에 해당합니다.

    # dmsetup ls
    mpathd  (253:4)
    mpathep1        (253:12)
    mpathfp1        (253:11)
    mpathb  (253:3)
    mpathgp1        (253:14)
    mpathhp1        (253:13)
    mpatha  (253:2)
    mpathh  (253:9)
    mpathg  (253:8)
    VolGroup00-LogVol01     (253:1)
    mpathf  (253:7)
    VolGroup00-LogVol00     (253:0)
    mpathe  (253:6)
    mpathbp1        (253:10)
    mpathd  (253:5)

7.5. 다중 경로 데몬 관리

multipathd 명령을 사용하여 multipathd 데몬을 관리할 수 있습니다.

절차

  • multipathd show map 명령의 출력의 표준 기본 형식을 확인합니다.

    # multipathd show maps
    name sysfs uuid
    mpathc dm-0 360a98000324669436c2b45666c567942
  • 일부 multipathd 명령에는 format 옵션과 와일드카드가 포함됩니다. 다음 명령을 사용하여 사용 가능한 와일드카드 목록을 표시합니다.

    # multipathd show wildcards
  • 다중 경로 와일드카드가 있는 형식 문자열을 일반 및 원시 형식으로 사용하여 multipathd 가 모니터링되는 다중 경로 장치를 표시합니다.

    list|show maps|multipaths format $format
    list|show maps|multipaths raw format $format

    multipathd 명령은 다중 경로 장치 및 경로의 상태를 "raw" 형식 버전에서 표시하는 형식 명령을 지원합니다. 원시 형식에서 헤더가 인쇄되지 않으며 필드는 헤더와 열을 정렬하지 않습니다. 대신 필드는 형식 문자열에 지정된 대로 정확하게 인쇄됩니다. 그러면 이 출력을 스크립팅에 더 쉽게 사용할 수 있습니다. multipathd show wildcards 명령을 사용하여 format 문자열에 사용된 와일드카드를 표시할 수 있습니다.

  • 다중 경로 와일드카드가 있는 형식 문자열을 일반 및 원시 형식으로 사용하여 다중 경로 모니터링 경로를 표시합니다.

    list|show paths format $format
    list|show paths raw format $format
  • multipathd show 맵 의 non-raw와 raw 형식 간의 차이점을 표시합니다. 원시 형식에는 헤더가 없고 열 사이에 단일 공간만 있습니다.

    # multipathd show maps format "%n %w %d %s"
    name   uuid                              sysfs vend/prod/rev
    mpathc 360a98000324669436c2b45666c567942 dm-0  NETAPP,LUN
    
    # multipathd show maps raw format "%n %w %d %s"
    mpathc 360a98000324669436c2b45666c567942 dm-0 NETAPP,LUN

추가 리소스

  • multipathd(8) 매뉴얼 페이지

8장. 스토리지 장치 제거

실행 중인 시스템에서 스토리지 장치를 안전하게 제거하여 시스템 메모리 과부하 및 데이터 손실을 방지할 수 있습니다.

사전 요구 사항

  • 스토리지 장치를 제거하기 전에 I/O 플러시 중에 시스템 메모리가 증가하여 사용 가능한 시스템 메모리가 충분히 있는지 확인해야 합니다. 다음 명령을 사용하여 시스템의 현재 메모리 부하 및 사용 가능한 메모리를 확인합니다.

    # vmstat 1 100
    # free
  • Red Hat은 다음과 같은 경우 시스템에서 스토리지 장치를 제거하는 것을 권장하지 않습니다.

    • 사용 가능한 메모리는 100개당 10개 이상의 샘플에서 총 메모리의 5% 미만입니다.
    • 스와핑이 활성 상태입니다( vmstat 명령 출력의 0이 아닌 siso 열).

8.1. 안전한 스토리지 장치 제거

실행 중인 시스템에서 안전하게 스토리지 장치를 제거하려면 top-to-bottom 접근 방식이 필요합니다. 일반적으로 애플리케이션 또는 파일 시스템인 최상위 계층에서 시작하여 물리적 장치인 맨 아래 계층으로 시작합니다.

스토리지 장치를 여러 가지 방법으로 사용할 수 있으며 물리적 장치에 따라 다양한 가상 구성을 사용할 수 있습니다. 예를 들어 장치의 여러 인스턴스를 다중 경로 장치로 그룹화하거나 RAID의 일부로 설정하거나 LVM 그룹의 일부로 만들 수 있습니다. 또한 파일 시스템을 통해 장치에 액세스하거나 "raw" 장치와 같이 직접 액세스할 수 있습니다.

top-to-bottom 접근 방식을 사용하는 동안 다음을 확인해야 합니다.

  • 삭제하려는 장치를 사용하지 않음
  • 장치에 대한 모든 보류 중인 I/O가 플러시됩니다.
  • 운영 체제가 스토리지 장치를 참조하지 않음

8.2. 블록 장치 제거

실행 중인 시스템에서 블록 장치를 안전하게 제거하여 시스템 메모리 과부하 및 데이터 손실을 방지할 수 있습니다.

주의

여기에 설명된 절차에 따라 I/O 시간 초과, 장치가 예기치 않게 제거되거나 데이터 손실으로 인한 지연을 초래하지 않고 SCSI 버스를 다시 스캔하거나 운영 체제의 상태를 변경하는 다른 작업을 수행할 수 있습니다.

사전 요구 사항

  • 다중 경로 장치를 제거하려면 경로 장치에 액세스할 수 없는 경우 다중 경로 장치의 대기열을 비활성화합니다.

    # multipathd disablequeueing map multipath-device

    이를 통해 장치의 I/O가 실패하여 장치를 사용하는 애플리케이션을 종료할 수 있습니다.

  • 제거하려는 장치를 사용하지 않는 다른 애플리케이션 또는 서비스가 없는지 확인합니다.
  • 제거할 장치에서 데이터를 백업했는지 확인합니다.

절차

  1. unmount 명령을 사용하여 장치에 마운트된 모든 파일 시스템을 마운트 해제합니다.
  2. 모든 MD RAID 배열 또는 자신이 속한 LVM 볼륨에서 장치를 제거합니다. 장치 유형에 따라 다음 단계 중 하나를 실행합니다.

    • 장치가 LVM 그룹의 멤버이고 다중 경로 장치인 경우 다음을 수행합니다.

      1. 데이터를 다른 장치로 이동합니다.

        # pvmove -b /dev/mapper/from-multipath-device /dev/mapper/to-multipath-device
      2. 볼륨 그룹에서 장치를 제거합니다.

        # vgreduce volume-group /dev/mapper/from-multipath-device
      3. 선택사항: 물리 장치에서 LVM 메타데이터를 제거합니다.

        # pvremove /dev/mapper/from-multipath-device
    • 다중 경로 장치를 제거하는 경우 다음 명령을 실행합니다.

      1. 장치에 대한 모든 경로를 표시합니다.

        # multipath -l

        이 명령의 출력은 이후 단계에서 필요합니다.

      2. I/O를 플러시하고 다중 경로 장치를 제거합니다.

        # multipath -f multipath-device
    • 장치가 다중 경로 장치로 구성되지 않았거나 장치가 다중 경로 장치로 구성되어 있고 이전에 I/O를 개별 경로에 전달한 경우 사용되는 모든 장치 경로에 뛰어난 I/O를 플러시합니다.

      # blockdev --flushbufs device

      이는 NoExecute 또는 vgreduce 명령이 I/O를 플러시하지 않는 경우 직접 액세스하는 장치에 중요합니다.

    • SCSI 장치를 제거하는 경우 다음 명령을 실행합니다.

      1. /dev/sd, /dev/disk/by-path, 또는 시스템의 애플리케이션, 스크립트 또는 유틸리티에서 장치의 경로 기반 이름에 대한 참조를 제거합니다. 이렇게 하면 나중에 추가된 다른 장치가 현재 장치에 대해 잘못되지 않습니다.
      2. SCSI 하위 시스템에서 장치로의 각 경로를 제거합니다.

        # echo 1 > /sys/block/device-name/device/delete

        장치가 이전에 다중 경로 장치로 사용된 경우 multipath -l 명령의 출력에서 device-name 을 검색합니다.

  3. 실행 중인 시스템에서 물리적 장치를 제거합니다. 다른 장치의 I/O는 이 장치를 제거할 때 중지되지 않습니다.

추가 리소스

  • multipath(8), pvPolicies(8), vgreduce(8), blockdev(8)umount(8) 도움말 페이지.

9장. DM Multipath 문제 해결

다중 경로 구성을 구현하는 데 문제가 있는 경우 확인할 수 있는 다양한 문제가 있습니다. 다음 문제로 인해 다중 경로 구성이 느려지거나 작동하지 않을 수 있습니다.

다중 경로 데몬이 실행되지 않음
다중 경로 구성을 구현하는 데 문제가 있는 경우 DM Multipath 설정에 설명된 대로 multipathd 데몬이 실행 중인지 확인합니다. 다중 경로 장치를 사용하려면 multipathd 데몬이 실행 중이어야 합니다.
queue_if_no_path 기능 문제
"1 queue_if_no_path" 기능으로 다중 경로 장치가 구성된 경우 하나 이상의 경로가 복원될 때까지 I/O가 중단되는 프로세스를 실행합니다.

9.1. queue_if_no_path 기능 문제 해결

"1 queue_if_no_path" 기능으로 다중 경로 장치가 구성된 경우 하나 이상의 경로가 복원될 때까지 I/O가 중단되는 프로세스를 실행합니다. 이를 방지하려면 /etc/multipath.conf 파일에서 no_path_retry N 매개변수를 설정합니다. 여기서 N 은 시스템이 경로를 다시 시도해야 하는 횟수입니다.

"1 queue_if_no_path" 기능 및 여기에 언급된 문제가 발생하는 경우 모든 경로를 사용할 수 없는 특정 LUN의 런타임 시 큐링 정책을 비활성화할 수 있습니다.

절차

  • 특정 장치에 대한 대기열을 비활성화합니다.

    # multipathd disablequeueing map device
  • 모든 장치에 대해 대기열을 비활성화합니다.

    # multipathd disablequeueing maps

장치에 대한 대기열을 비활성화한 후에는 multipathd 를 다시 시작하거나 다시 로드할 때까지 또는 다음 명령 중 하나를 실행할 때까지는 비활성화됩니다.

  • 특정 장치의 이전 값으로 큐잉을 재설정합니다.

    # multipathd restorequeueing map device
  • 모든 장치의 이전 값으로 큐잉을 재설정합니다.

    # multipathd restorequeueing maps

9.2. 다중 경로 대화식 콘솔을 사용하여 문제 해결

multipathd -k 명령은 다중 경로 데몬의 대화식 인터페이스입니다. 이 명령을 입력하면 대화식 다중 경로 콘솔이 표시됩니다. 이 명령을 실행한 후 도움말 을 입력하여 사용 가능한 명령 목록을 가져오고 Ctrl+D 종료할 수 있습니다.

multipathd 대화형 콘솔을 사용하여 시스템과 관련된 문제를 해결합니다.

절차

  • 콘솔을 종료하기 전에 기본값을 포함하여 다중 경로 구성을 표시합니다.

    # multipathd -k
    multipathd> show config
    multipathd> Ctrl+D
  • 다중 경로가 multipath.conf 파일의 변경 사항을 선택했는지 확인합니다.

    # multipathd -k
    multipathd> reconfigure
    multipathd> Ctrl+D
  • 경로 검사기가 제대로 작동하는지 확인합니다.

    # multipathd -k
    multipathd> show paths
    multipathd> Ctrl+D
  • 대화형 콘솔을 시작하지 않고 명령줄에서 직접 단일 multipathd 대화형 명령을 실행할 수도 있습니다. 예를 들어 다중 경로가 multipath.conf 파일의 변경 사항을 선택했는지 확인하려면 다음을 실행합니다.

    # multipathd reconfigure

10장. eh_deadline으로 스토리지 오류 복구의 최대 시간 구성

실패한 SCSI 장치를 복구할 수 있는 최대 허용 시간을 구성할 수 있습니다. 이 구성을 사용하면 오류로 인해 스토리지 하드웨어가 응답하지 않는 경우에도 I/O 응답 시간을 보장합니다.

10.1. eh_deadline 매개변수

SCSI 오류 처리(EH) 메커니즘은 실패한 SCSI 장치에서 오류 복구를 수행하려고 합니다. SCSI 호스트 오브젝트 eh_deadline 매개변수를 사용하면 복구 시간을 최대로 구성할 수 있습니다. 구성된 시간이 만료되면 SCSI EH가 중지되고 전체 HBA(호스트 버스 어댑터)를 재설정합니다.

eh_deadline 을 사용하면 시간을 줄일 수 있습니다.

  • 실패한 경로를 종료하려면,
  • 경로를 전환하려면 또는
  • RAID 슬라이스를 비활성화하려면 다음을 수행합니다.
주의

eh_deadline 이 만료되면 SCSI EH는 HBA를 재설정하여 해당 HBA의 모든 대상 경로뿐만 아니라 실패한 대상 경로에 영향을 미칩니다. 일부 중복 경로를 다른 이유로 사용할 수 없는 경우 I/O 오류가 발생할 수 있습니다. 모든 대상에 완전히 중복된 다중 경로 구성이 있는 경우에만 eh_deadline 을 활성화합니다.

eh_deadline 매개변수 값은 초 단위로 지정됩니다. 기본 설정은 해제 되어 시간 제한을 비활성화하고 모든 오류 복구를 수행할 수 있습니다.

eh_deadline이 유용한 시나리오

대부분의 시나리오에서는 eh_deadline 을 활성화할 필요가 없습니다. eh_deadline 사용은 특정 시나리오에서 유용할 수 있습니다. 예를 들어 파이버 채널(FC) 스위치와 대상 포트 간에 링크 손실이 발생하고 HBA에서 등록된 State Change Notifications(RSCN)를 수신하지 않는 경우. 이러한 경우 오류가 발생하지 않고 항상 I/O 요청 및 오류 복구 명령이 실행됩니다. 이 환경에서 eh_deadline 을 설정하면 복구 시간에 상한이 됩니다. 따라서 실패한 I/O가 DM Multipath에서 사용 가능한 다른 경로에서 재시도할 수 있습니다.

다음 조건에서 eh_deadline 매개변수는 I/O 및 오류 복구 명령이 즉시 실패하여 DM Multipath를 다시 시도할 수 있기 때문에 추가적인 이점이 없습니다.

  • RSCN이 활성화된 경우
  • HBA에서 링크를 등록할 수 없는 경우

10.2. eh_deadline 매개변수 설정

이 절차에서는 최대 SCSI 복구 시간을 제한하도록 eh_deadline 매개변수 값을 구성합니다.

절차

  • 다음 방법 중 하나를 사용하여 eh_deadline 을 구성할 수 있습니다.

    • multpath.conf 파일의 defaults 섹션

      multpath.conf 파일의 defaults 섹션에서 eh_deadline 매개변수를 필요한 초로 설정합니다.

      # eh_deadline 300
      참고

      RHEL 8.4에서 multpath.conf 파일의 defaults 섹션을 사용하여 eh_deadline 매개변수를 설정하는 것이 좋습니다.

      이 방법을 사용하여 eh_deadline 매개변수를 끄려면 eh_deadlineoff 로 설정합니다.

    • sysfs

      /sys/class/scsi_host/host<host-number>/eh_deadline 파일에 시간 (초)을 작성합니다. 예를 들어 SCSI 호스트 6의 sysfs 를 통해 eh_deadline 매개변수를 설정하려면 다음을 수행합니다.

      # echo 300 > /sys/class/scsi_host/host6/eh_deadline

      이 방법으로 eh_deadline 매개변수를 끄려면 echo off 를 사용합니다.

    • 커널 매개변수

      scsi_mod.eh_deadline 커널 매개변수를 사용하여 모든 SCSI HBA의 기본값을 설정합니다.

      # echo 300 > /sys/module/scsi_mod/parameters/eh_deadline

      이 방법으로 eh_deadline 매개변수를 끄려면 echo -1 을 사용합니다.