Posted on 2013/07/09 11:50
Filed Under 리눅스기술문서/서버관련 조회수: view 22869


발췌글 : http://cafe.daum.net/redhat/DK8U/26?docid=1HjQ8DK8U2620091116163647


Multipath 구성하기
물론 이는 클라이언트 10.0.0.10에서 작업되어야 한다.


step 0>
 fdisk로 san disk의 볼륨의 확인한후 같은 디스크인지 확인한다.
 scsi_id -g -u -s /block/sdc
 scsi_id -g -u -s /block/sdb
위의 디스크 이름은 임의적으로 변경필요함. 붙은 명칭을 넣을 것.


step1>패키지 확인
 # rpm -qa | grep device-mapper-multipath
 device-mapper-multipath-0.4.7-17.el5
 패키지가 없는 경우 설치 명령
 # yum install device-mapper-multipath
 
step2>multipath.conf 설정
/etc/multipath.conf 에서 아래의 설정을 한다.
아래의 세개의 단락의 주석을 제거한다.
## Use user friendly names, instead of using WWIDs as names.
defaults {
        user_friendly_names yes
}


defaults {
        udev_dir                /dev
        polling_interval        10
        selector                "round-robin 0"
        path_grouping_policy    failover
        getuid_callout          "/sbin/scsi_id -g -u -s /block/%n"
        prio_callout            /bin/true
        path_checker            readsector0
        rr_min_io               100
        max_fds                 8192
        rr_weight               priorities
        failback                immediate
        no_path_retry           fail
        user_friendly_names     yes
}


blacklist {
        #wwid 26353900f02796769
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
 devnode "^sda*"
}


만약 스토리지가 위의 defaults 파트로 인식되지 않는 경우 아래의 파일을 참고하여 스토리지별 설정을 확인한 후
아래에 기술되어 있는 설정을 복사하여 /etc/multipath.conf 파일에 defaults 대신 기술한다.
/usr/share/doc/device-mappermultipathd-xxxx/multipath.conf.annotated
아래의 url을 참고
How do I configure device-mapper-multipath with an EMC Clariion SAN?
http://kbase.redhat.com/faq/docs/DOC-3968
 
 
step3>서비스 시작 및 시작시 기동여부설정
chkconfig multipathd on
[root@localhost ~]# service multipathd restart
Device /dev/sda2 not found
Command failed
Stopping multipathd daemon:                                [FAILED]
Starting multipathd daemon:                                [  OK  ]
 
step4 >서비스 여부 확인
[root@localhost ~]# ls -al /dev/mapper/
total 0
drwxr-xr-x  2 root root      80 Nov 16 05:01 .
drwxr-xr-x 12 root root    4400 Nov 16 05:01 ..
crw-------  1 root root  10, 63 Nov 16 04:39 control
brw-rw----  1 root disk 253,  0 Nov 16 05:01 mpath0


[root@localhost ~]# multipath -v2
create: mpath0 (S_beaf11)  IET,VIRTUAL-DISK
[size=102M][features=0][hwhandler=0][n/a]
\_ round-robin 0 [prio=0][undef]
 \_ 3:0:0:1 sdb 8:16  [undef][ready]
\_ round-robin 0 [prio=0][undef]
 \_ 4:0:0:1 sdc 8:32  [undef][ready]
 
 
[root@localhost ~]# multipath -ll
mpath0 (S_beaf11) dm-0 IET,VIRTUAL-DISK
[size=102M][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=0][active]
 \_ 3:0:0:1 sdb 8:16  [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 4:0:0:1 sdc 8:32  [active][ready]
 
step5 >mount 후 os에서 사용
format 후 multipath 장치를 사용
mkfs.ext3 /dev/mapper/mpath#  (#은 0,1,2...)
또는
kpartx -a /dev/mapper/mpath#  (#은 0,1,2...)


fdisk는 multipath devices에 사용될 수 없습니다.파티션을 만들기 위해서는 기본이 되는 디스크에 사용하십시요.( 예) /dev/sdc)
device-mapper-multipath가 파티션에 대해서  /dev/mapper/mpath# 장치를 만들기 위해서 장치를 매핑할때 위의 명령을 실행하세요
 


mount를 위한 수정
[root@localhost /]# vi /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/mapper/mpath0      /mnt                    ext3    defaults        1 2


setp6> 이중화 TEST
클라이언트에서 multipath 상태를 확인
 watch --interval=2 multipath -ll
 
 mpath0 (S_beaf11) dm-0 IET,VIRTUAL-DISK
 [size=102M][features=0][hwhandler=0][rw]
 \_ round-robin 0 [prio=0][active]
  \_ 3:0:0:1 sdb 8:16  [active][ready]
 \_ round-robin 0 [prio=0][enabled]
  \_ 4:0:0:1 sdc 8:32  [active][ready]
 
서버측에서 ifdown eth1  (10.0.0.52) 을 내리는 경우 아래와 같이  4:0:0:1 sdc 8:32  [failed][faulty] 가 나타난다.
이는 iscsi target볼륨을 마운트할때 각각 ip로 마운트 했기 때문에 10.0.0.52에 해당하는 ip로의 LUN path를 잃었기 때문이다.
클라이언트 에서 확인
 watch --interval=2 multipath -ll
 
 mpath0 (S_beaf11) dm-0 IET,VIRTUAL-DISK
 [size=102M][features=0][hwhandler=0][rw]
 \_ round-robin 0 [prio=0][active]
  \_ 3:0:0:1 sdb 8:16  [active][ready]
 \_ round-robin 0 [prio=0][enabled]
  \_ 4:0:0:1 sdc 8:32  [active][faulty]
실제 테스트에서는  fc케이블을 빼본다.
 
 
기타(lvm으로 사용할때..)
 lvm으로 만들경우 /dev/mapper/mpath0등을 각각 pvcreate시에 하나의 물리적디스크로 사용하여 lvm을 구성할 것.
 
< 참고 >
 How do I install Red Hat Enterprise Linux 5 to boot from SAN using device-mapper-multipath?
 http://kbase.redhat.com/faq/docs/DOC-17644
 How do I make device mapper multipath ignore my local disks when generating the multipath maps in Red Hat Enterprise Linux 4?
 http://kbase.redhat.com/faq/docs/DOC-4042


 How do I setup device-mapper multipathing in Red Hat Enterprise Linux 4?
 http://kbase.redhat.com/faq/docs/DOC-3691


 How do I find the FC ID (WWN) of a disk/LUN on Red Hat Enterprise Linux 5?
 http://kbase.redhat.com/faq/docs/DOC-19446


 What is the output of "multipath -ll" command?
 http://kbase.redhat.com/faq/docs/DOC-2644
Writer profile
author image
-아랑 -
2013/07/09 11:50 2013/07/09 11:50

트랙백 주소 : 이 글에는 트랙백을 보낼 수 없습니다

About

by 서진우
Twitter :@muchunalang

Counter

• Total
: 3904403
• Today
: 656
• Yesterday
: 711