Computer System/Linux

[Linux] Device-Mapper multipath 설치, 설정 (multipathd, multipath.conf)

해리팍 2017. 12. 18. 16:17
반응형

안녕하세요.


리눅스에서는 클라이언트 (노드)에서 스토리지 (서버)로 여러 네트워크 구성으로 접속을 하고,


이를 하나로 묶어 사용할 수 있는 multipath 라는 기술이 있습니다.


클라이언트에서 스토리지로 다양한 형태로 접속을 하더라도, scsi ID는 동일하기 때문에


multipath를 사용하면 이 디바이스 들을 하나의 디바이스처럼 묶어서 사용할 수 있습니다.


아직 저도 기본 설정만 해봤지만, 도움이 될 것 같아 공유해봅니다.



* 설정 과정은 CentOS 6에서 진행하였습니다.


* multipath는 클라이언트 쪽에서만 진행해주시면 됩니다.


* 저는 4개의 스토리지 노드에서 iSCSI 이미지를 생성하여 테스트를 진행하였습니다. 각 스토리지 노드에서 WWN를 통일 시켜주고, 클라이언트에서는 이 4개의 노드에 동시 접속을 해 주었습니다. 그리고 multipath를 통해 하나로 묶어주었습니다.




1. multipath 설치


다음의 명령어로 쉽게 설치 가능합니다.


# yum install device-mapper-multipath



부팅 시 자동 실행하기 위해서는 다음의 명령어를 사용하면 됩니다.


# chkconfig multipathd on



서비스 실행은 multipath.conf 파일 설정 후 진행합니다.


2. multipath 설정 (multipath.conf 파일)


multipath.conf 파일의 샘플이 다음 위치에 있습니다.


/usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf


해당 파일을 다음 명령어로 /etc/ 디렉토리에 위치합니다.


# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc



multipath.conf 파일의 설정 방법은 다양하게 있습니다.


저는 iSCSI 사용 시의 설정을 예로 적어보겠습니다.


defaults {

        polling_interval        2

        path_selector           "round-robin 0"

        path_grouping_policy    multibus

        getuid_callout          "/lib/udev/scsi_id --whitelisted --device=/dev/%n"

        path_checker            readsector0

        rr_min_io               100

        max_fds                 8192

        rr_weight               priorities

        failback                immediate

        no_path_retry           fail

        user_friendly_names     yes

}


devices {

        device {

                vendor               "LIO-ORG"

                user_friendly_names  "yes"      # names like mpatha

                path_grouping_policy "failover" # one path per group

                path_selector        "round-robin 0"

                failback             immediate

                path_checker         "tur"

                prio                 "const"

                rr_weight            "uniform"

        }


multipath.conf 파일 설정 후 다음의 명령어로 서비스를 시작해 줍니다.


# service multipathd start



3. 동작 확인


다음의 명령어로 multipath로 묶인 디바이스 확인이 가능합니다.


# multipath -ll


위 명령어를 사용하시면 다음과 같이 나타납니다.


# multipath -ll

mpathe (3600140591f14de7a17a49e488be431de) dm-3 LIO-ORG,rdma

size=520G features='0' hwhandler='0' wp=rw

|-+- policy='round-robin 0' prio=1 status=active

| `- 10:0:0:2 sdd     8:48  active ready running

|-+- policy='round-robin 0' prio=1 status=enabled

| `- 11:0:0:2 sdg     8:96  active ready running

|-+- policy='round-robin 0' prio=1 status=enabled

| `- 12:0:0:2 sdj     8:144 active ready running

`-+- policy='round-robin 0' prio=1 status=enabled

  `- 13:0:0:2 sdm     8:192 active ready running


총 4개의 디바이스 /dev/sdd, sdg, sdj, sdm 이 묶여있는 것을 확인이 가능합니다.


multipath 로 묶여있는 장치는 /dev/mapper/mpathX 의 형태로 사용할 수 있습니다.


설정 파일에 대한 좀 더 자세한 내용은 http://harryp.tistory.com/780 를 참조해주세요.

반응형