본문 바로가기
IT/리눅스

리눅스의 스토리지 MULTIPATH 설정 방법

by JGSHIN 2025. 2. 15.
SMALL

스토리지에서 볼륨을 할당한 후, 리눅스 서버에서 Multipath(다중 경로) 를 설정하는 절차를 정리하겠습니다.

 

1️⃣ WWID(World Wide Identifier) 조회

WWID는 스토리지 볼륨의 고유 식별자입니다. FC(Fibre Channel) HBA 포트 정보를 확인하여 WWID를 조회합니다.

 
# for i in 0 1 2 3 4 5 6 7; do cat /sys/class/scsi_host/host$i/device/fc_host/host$i/port_name; done

출력 예시

 
0x21000024ff7a8dfc

📌 설명

  • 위 명령을 실행하면 FC 포트별 WWID를 확인할 수 있음
  • 0 1 2 3 4 5 6 7 → FC 포트 번호(시스템 환경에 따라 다를 수 있음)

2️⃣ LUN(볼륨) 재검색 (리스캔)

스토리지에서 새로운 볼륨을 할당받은 후, LUN을 검색하여 추가된 디스크를 인식해야 합니다.

 
# echo "- - -" > /sys/class/scsi_host/host<num>/scan

📌 설명

  • <num> → host 번호 입력
  • 위 명령어를 실행하면 새로운 LUN을 검색하여 디스크 목록에 추가

리눅스 7에서 LUN 스캔

 
# lsscsi

FC 스캔이 안될 경우

 
# echo "- - -" > /sys/class/fc_host/host1/scan

3️⃣ 디스크 및 볼륨 확인

🔹 디바이스 용량 스캔

 
# lvmdiskscan

🔹 볼륨 확인

 
# fdisk -l

출력 예시

 
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders

📌 설명

  • 새롭게 할당된 볼륨 /dev/sdb 등의 장치를 확인

4️⃣ 멀티패스(Multipath) 패키지 설치 및 설정

멀티패스는 하나의 LUN에 대해 여러 개의 경로(Path)를 관리하는 기능입니다.

🔹 1) Multipath 패키지 설치

 
# yum install *mapper*

🔹 2) Multipath 서비스 활성화

RHEL 6 (SysVinit)

 
# service multipathd start
# chkconfig --level 35 multipathd on

RHEL 7 (Systemd)

 
# systemctl start multipathd
# systemctl enable multipathd

🔹 3) 정상 설치 확인

 
# multipath -l

출력 예시

 

mpath1 (360060160b7e0120087e6d32149e73d11) dm-3 EMC,RAID 5 size=500G


5️⃣ Multipath 설정 파일 구성

Multipath 설정을 위해 multipath.conf 파일을 생성 및 편집합니다.

🔹 1) 기본 설정 파일 복사

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

🔹 2) 디스크의 WWID 확인

 
# lib/udev/scsi_id --whitelisted --device=/dev/sdb --replace-whitespace
# lib/udev/scsi_id --whitelisted --device=/dev/sdc --replace-whitespace
# lib/udev/scsi_id --whitelisted --device=/dev/sdd --replace-whitespace

📌 출력 예시

 
360060160b7e0120087e6d32149e73d11
  • 위 출력된 WWID를 적어둡니다.

🔹 3) multipath.conf 설정

 
# vi /etc/multipath.conf

설정 예시

 

defaults {
    user_friendly_names yes
}

blacklist {
    devnode "^ram|^loop|^fd|^md|^sr|^scd|^dm-"
}

multipaths {
    multipath {
        wwid    360060160b7e0120087e6d32149e73d11
        alias   mpath1
        mode    0600
    }
    multipath {
        wwid    360060160b7e0120087e6d32149e73d12
        alias   mpath2
        mode    0600
    }
}

 

 

📌 설명

  • wwid → 앞서 확인한 디스크의 WWID 입력
  • alias → 논리적 이름(자동으로 mpathX가 설정되지만, 별도로 지정 가능)
  • mode → 파일 접근 권한 설정

 

6️⃣ Multipath 서비스 재시작 및 LUN 확인

🔹 1) 서비스 재시작

 
# service multipathd restart # RHEL 6
# systemctl restart multipathd # RHEL 7

🔹 2) Multipath LUN 확인

 
# multipath -ll

출력 예시

 
mpath1 (360060160b7e0120087e6d32149e73d11) dm-3 EMC,RAID 5
size=500G
policy=round-robin 0
status=active

📌 설명

  • mpath1 → 할당된 스토리지 볼륨
  • size=500G → 디스크 크기
  • policy=round-robin → I/O 분산 정책
  • status=active → 정상 동작 여부

7️⃣ 파일시스템 생성 및 포맷

스토리지 볼륨을 정상적으로 인식하면, 파일시스템을 생성하고 포맷합니다.

 
# mkfs.ext4 /dev/mapper/mpath1p1
# mkfs.ext4 /dev/mapper/mpath2p1

📌 설명

  • mpath1p1 → mpath1 디스크의 첫 번째 파티션

📌 최종 정리

WWID 조회

 
# for i in 0 1 2 3 4 5 6 7; do cat /sys/class/scsi_host/host$i/device/fc_host/host$i/port_name; done

LUN 스캔 및 볼륨 확인

 
# echo "- - -" > /sys/class/scsi_host/host<num>/scan # fdisk -l

Multipath 패키지 설치 및 서비스 시작

 
# yum install *mapper*
# systemctl start multipathd
# systemctl enable multipathd

Multipath 설정 파일 수정

 
# vi /etc/multipath.conf

Multipath 서비스 재시작 및 LUN 확인

 
# systemctl restart multipathd # multipath -ll
 

파일시스템 생성 및 포맷

 
# mkfs.ext4 /dev/mapper/mpath1p1
LIST
📧 이메일 문의
by @ 2025 JGSHIN