22.3.2. mdadm을 사용하여 Multipath 장치 만들기
RAID 어레이를 만드는 것 외에도 mdadm 을 사용하여 개별 SCSI LUN(디스크 드라이브)에 두 개 이상의 I/O 경로를 지원하는 하드웨어를 활용할 수도 있습니다. 다중 경로 스토리지의 목표는 하드웨어 장애 또는 개별 경로 포화 상황이 발생할 경우 지속적인 데이터 가용성입니다. 이 구성에는 일반적인 SCSI LUN(디스크 드라이브)에 액세스하는 여러 경로(독립 가상 컨트롤러의 역할을 함)가 포함되어 있으므로 Linux 커널은 각 경로를 "through"한 후 각 공유 드라이브를 감지합니다. 즉,
/dev/sda
라고도 하는 SCSI LUN(디스크 드라이브)은 특정 구성에 따라 /dev/sdb
,/dev/sdc
등으로 액세스할 수도 있습니다.
I/O 경로가 실패하거나 포화 상태가 되면 액세스할 수 있는 단일 장치를 제공하기 위해 mdadm 에는
수준
옵션에 대한 추가 매개 변수가 포함됩니다. 이 매개변수 다중 경로
는 I/O 경로가 실패하는 경우 하나의 path에서 다른 path로 I/O 요청을 다시 라우팅하도록 Linux 커널의 md 계층을 지시합니다.
다중 경로 장치를 생성하려면
/etc/mdadm.conf
파일을 편집하여 하드웨어 구성을 반영하는 DEVICE
및 ARRAY
행의 값을 정의합니다.
참고
이전 RAID 예제와 달리 (
/etc/mdadm.conf
에 지정된 각 장치는 서로 다른 물리적 디스크 드라이브를 나타내야 함) 이 파일의 각 장치는 동일한 공유 디스크 드라이브를 나타냅니다.
다중 경로 장치 생성에 사용되는 명령은 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.
mdadm 명령줄의 길이로 인해 두 줄로 구분되었습니다.
이 예에서 하드웨어는 4개의 SCSI 장치로 표시되는 하나의 SCSI LUN으로 구성되며 각각 다른 path에 의해 동일한 스토리지에 액세스합니다. 다중 경로 장치
/dev/md0
이 생성되면 /dev/md0을 참조하는 모든 I/O 작업은 /dev/sda1
,/dev/sdb1
,/dev/sdc1
또는 /dev/sdd1(
현재 활성 및 운영 중인 경로에 따라)로 이동합니다.
실제로 다중 경로 장치를 확인하기 위해 mdadm --detail
/dev/md0
명령을 사용하여 /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 의 또 다른 기능은 장치(RAAD 어레이의 멤버 또는 다중 경로 구성의 경로)를 운영 구성에서 제거하는 기능입니다. 다음 예에서
/dev/sda1
은 결함이 있는 것으로 플래그가 지정되고, 제거되고, 마지막으로 구성에 다시 추가됩니다. 다중 경로 구성의 경우 이러한 작업이 당시 발생한 I/O 활동에 영향을 미치지 않습니다.
# 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 #