반응형

안녕하세요.


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


이를 하나로 묶어 사용할 수 있는 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 를 참조해주세요.

반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1509)
Profile (2)
Park's Life (600)
Smart Home (IoT) (1)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (250)
생활 정보 (13)
Pokemon GO (50)