Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.3.2. mdadm를 사용하여 멀티패스 장치 생성하기

In addition to creating RAID arrays, mdadm can also be used to take advantage of hardware supporting more than one I/O path to individual SCSI LUNs (disk drives). The goal of multipath storage is continued data availability in the event of hardware failure or individual path saturation. Because this configuration contains multiple paths (each acting as an independent virtual controller) accessing a common SCSI LUN (disk drive), the Linux kernel detects each shared drive once "through" each path. In other words, the SCSI LUN (disk drive) known as /dev/sda may also be accessible as /dev/sdb, /dev/sdc, and so on, depending on the specific configuration.
입/출력 경로에 문제가 생길 경우 계속적으로 액세스 가능한 장치를 제공하기 위하여 mdadmlevel 옵션에 추가 변수를 제공합니다. 이 multipath 변수는 입/출력 경로에 문제가 발생할 경우 리눅스 커널의 md 계층이 입/출력 요청을 한 경로에서 다른 경로로 방향 전환하여 전송하도록 지시합니다.
멀티패스 장치를 생성하시려면 /etc/mdadm.conf 파일에서 하드웨어 설정을 나타낼 수 있도록 DEVICE 값과 ARRAY 값을 정의하십시오.

참고

앞서 /etc/mdadm.conf 파일에 지정된 각 장치는 서로 다른 디스크 드라이브를 나타내었던 RAID 예시와는 달리 이 파일에서 각 장치는 동일한 디스크 드라이브를 지칭합니다.
멀티패스 장치를 생성하는데 사용되는 명령은 RAID 장치 생성에 사용한 명령과 유사합니다; 차이가 있다면 RAID 레벨 변수를 multipath 변수로 바꿔주시면 됩니다:
mdadm -C /dev/md0 --level=multipath --raid-devices=4 /dev/sda1 /dev/sdb1  
 /dev/sdc1 /dev/sdd1
Continue creating array? yes
mdadm: array /dev/md0 started.
Due to the length of the mdadm command line, it has been broken into two lines.
이 예시에서 한개의 SCSI LUN으로 구성된 하드웨어는 4개의 SCSI 장치로 나타내며, 각 장치는 다른 경로를 통하여 동일한 스토리지에 액세스합니다. 멀티패스 장치 /dev/md0가 생성되면, /dev/md0를 참조하는 모든 입/출력 작업이 (현재 사용 가능한 경로 여부에 따라서) /dev/sda1, /dev/sdb1, /dev/sdc1, 또는 /dev/sdd1으로 보내집니다.
/dev/md0 파일 설정 내용이 멀티패스 장치인지 여부는 mdadm --detail /dev/md0 명령을 사용하여 보다 주의깊게 살펴볼 수 있습니다:
/dev/md0:
Version : 00.90.00
Creation Time : Tue Mar  2 10:56:37 2004
Raid Level : multipath
Array Size : 3905408 (3.72 GiB 3.100 GB)
Raid Devices : 1
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue Mar  2 10:56:37 2004
State : dirty, no-errors
Active Devices : 1
Working Devices : 4
Failed Devices : 0
Spare Devices : 3

    Number   Major   Minor   RaidDevice State
       0       8       49        0      active sync   /dev/sdd1
       1       8       17        1      spare   /dev/sdb1
       2       8       33        2      spare   /dev/sdc1
       3       8        1        3      spare   /dev/sda1
           UUID : 4b564608:fa01c716:550bd8ff:735d92dc
         Events : 0.1
mdadm은 또한 장치 (RAID 어래이의 구성원 또는 멀티 패스 설정의 한 경로)를 운영 체제 설정에서 제거하는 기능을 제공합니다. 다음 예시는 /dev/sda1에 문제가 있는 것으로 플래그되어, 이 장치를 제거한 후 다시 설정에 추가하는 작업입니다. 멀티패스 설정시 이러한 작업을 수행한다고 해도 현재 진행되고 있는 입/출력 작업에는 아무런 영향을 미치지 않습니다:
# mdadm /dev/md0 -f /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0
# mdadm /dev/md0 -r /dev/sda1
mdadm: hot removed /dev/sda1
# mdadm /dev/md0 -a /dev/sda1
mdadm: hot added /dev/sda1
#