Top Banner
UniONE I&C 시스템 기술지원팀 AIX MPIO (Multipath I/O) 소개
34

AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

Oct 20, 2018

Download

Documents

ngotruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

㈜ UniONE I&C

시스템 기술지원팀

AIX MPIO (Multipath I/O) 소개

Page 2: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

목차1. MPIO란?

2. MPIO device driver overview

3. MPIO concepts

4. Detecting an MPIO capable device

5. ODM changes for MPIO device

6. Path management

7. Device management

8. SMIT panel을 통한 MPIO 관리

9. The iostat command enhancements

Page 3: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

1. MPIO란?

AIX 5L Version 5.2에서는 하나의 디바이스(디스크, LUN)로 하여금 서로 다른어댑터를 통한 복수개의 경로를 가질 수 있는 Multipath I/O (MPIO) 기능을제공한다. 이러한 path는 단일 시스템 또는 단일 logical partition 내에서만존재한다. 하나의 디바이스에 복수개의 시스템이 연결되는 경우에는 MPIO가 아닌clustering 이란 이름을 사용한다.

MPIO를 사용하는 3가지 이유는 다음과 같다.

‘성능향상’‘신뢰성, 가용성 향상’‘보다 쉬운 관리’

MPIO는 base kernel에 포함되어 있다.

Page 4: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

2. MPIO device driver overview

이러한 path상에 존재하는 디바이스의 감지, 구성, 관리를 위해 디바이스 드라이브와 device method 가 변경되었다. Path 관리 기능은 크게 커널 extension (PCMKE)과 run-time loadable configuration module (PCMRTL)로 이루어져 있다. PCMKE는 사전 정의된 인터페이스를 지원하기위해 수정된 디바이스 드라이버에게 path control 관리기능을 제공한다. Runtime loadable configuration module 은 device method로 하여금 PCMKE가 Multipath I/O 서브시스템에서 초기화될 때 필요로 하는 ODM attribute를 access하기 위한 부가적인 기능을 제공한다.

PCMKE routing은 path를 감지하고 해당 정보를 디바이스 드라이버와 공유하기 위해 디바이스구성을 참조한다. 모든 MPIO가 가능한 디바이스 드라이버들은 그들의 직속 parent에 해당하는디바이스에 path를 추가한다. I/O요청이 해당 디바이스에 보내졌을 때 디바이스 드라이버는 어느path를 사용할 것인지를 결정해야 한다. 서로 다른 경로를 통한 I/O의 관리 및 스케줄링은 PCMKE에의해 제공되며 이는 MPIO 가 가능한 모든 디바이스 드라이버에 의해 공유된다. PCMKE 모듈은사용자 선택이 가능한 라우팅 알고리즘을 제공한다. PCMKE는 I/O 처리를 위한 최적의 path를 결정하는데 필요로 하는 정보를 수집하도록 도와주는데이때 load balancing, connection speed, connection failure 등의 주요 항목을 고려하여 최적의path를 결정하도록 도와준다. 실제로 path를 관리하고 command를 보낼 path를 결정하는 일은디바이스 드라이버가 책임을 진다.

초기의 MPIO는 SCSI scsd 만을 지원하며 기타 다른 디바이스들은 향후에 추가될 계획이다. path 관리를 위한 책임은 디바이스 드라이버에 있으나 MPIO 디자인은 이러한 기능을 떼어내서 PCMKE가하도록 한다. 따라서 디바이스 드라이버가 이를 지원하도록 작성되지 않을 경우 path 관리 기능을내부적으로 직접 수행할 수 있어야 한다. PCMKE로 하여금 이와 같은 기능을 수행하게 함으로서 EMC, IBM Storage group 과 같은 업체가 쉽게 AIX MPIO 솔루션을 채용할 수 있게 해준다.

Page 5: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

3. MPIO Concepts

이미 MPIO 없이도 vendor 모듈을 사용하여 하나의 디바이스를 복수개의 어댑터를 통해 access 하는것이 가능하다.ESS (IBM storage)의 subsystem device driver (SDD)가 그 예이다. 이 경우 각 path 별로 hdisk가생성되며 SDD가 path 관리를 총 책임진다.

이때의 단점은 다음과 같다.:_ firmware에 의존적이다._ 각각의 시스템은 별도로 관리되어야 한다._ 각각의 path 는 ODM에 논리적인 디바이스로 입력된다._ 해당 volume group을 관리하기 위해 전용 명령어를 사용해야만 한다.

다음은 MPIO가 지원되지 않는 하나의 디스크를 세 개의 어댑터를 통해 바라보았을 경우를 나타낸다.

<Figure 1> MPIO 기능이 없이 세 개의 어댑터가 하나의 디바이스에 연결되어있는 경우

Page 6: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

MPIO에서의 가장 큰 차이점은 하나의 MPIO 디바이스 또는 hdisk 는 ODM 여러 개의 path를 가질 수있지만 ODM상에는 단 한번만 기록된다는 것이다. 또한 관리를 위해 일반적인 AIX 명령어를 그대로사용할 수 있다는 것이다. 이러한 기능을 위해 AIX의 디바이스 드라이버가 변경되었다.

다음그림은 MPIO 지원 하에서 하나의 디스크와 세 개의 어댑터가 어떻게 인식되는지를 보여준다.

3. MPIO Concepts(계속)

<Figure 2> MPIO 환경에서 세 개의 어댑터가 하나의 디바이스에 연결되어있는 경우

MPIO 가 어떻게 구동하는지를 알기 위해서는 다음의 두 가지 개념을 이해해야 한다._ unique device identifier (UDID)_ MPIO 의 reservation policy

Page 7: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

3. MPIO Concepts(계속)

Unique device identifier

모든 MPIO 지원 디바이스는 시스템상의 다른 디바이스와 구분되기 위한 unique identifier를제공하는데 이를 unique device ID, 또는 줄여서 UDID 라고 부른다. UDID 값은 device configuration database에 해당 디바이스의 하나의 attribute로 저장된다. UDID 는 단지 서로 비교하기 위한 목적이외의 다른 의미는 내포하지 않는다.

UDID 는 어느 디바이스로부터 UDID를 획득했느냐에 따라 서로 다른 포맷을 가지게 된다.cfgmgr 명령어 또는 parent 디바이스를 구성하는 작업을 수행하면 child에 대한 UDID를 요청하게된다. 이때 해당 UDID는 ODM내의 UDID와 비교되어 다음과 같은 작업을 수행하게 된다. :

⊙ 새롭게 발견된 디바이스인 경우 시스템에 정의되어야 한다.⊙ 이미 존재하는 디바이스인 경우 단지 새로운 path 만 정의된다.

MPIO의 첫번째 release에서는 scsi subclass에 해당하는 디바이스만이 지원된다. 이때 각각의디바이스 subclass들은 서로 다른 UDID 포맷을 가지게 된다.

Device reservation policycv

단일 디바이스에서 MPIO는 다음의 네 가지 reservation policy를 관리한다.

Page 8: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

3. MPIO Concepts(계속)

Device reservation policycv

NO_RESERVE 이 모드에서 MPIO의 path 알고리즘은 single path(fail_over mode)에서의 I/O 와 multiple paths(load balance mode)에 걸친 분산된 I/O를 지원한다. 이러한 설정은 HACMP concurrent mode cluster 또는이와 유사한 locking 기능을 가진 third party product에 유용하게 사용될 수 있다.

클러스터링 소프트웨어가 없는 클러스터 환경에서 사용할 경우 target 디바이스에 대한 reservation 보호가 없으며 또한 multi-node 환경에서 사용할 경우 데이터 corruption dl 일어날 가능성이 매우높다.

SINGLE_PATH 이 모드에서 MPIO 의 path 알고리즘은 single path(fail_over mode)에서의 I/O를 지원한다. 이 설정은대상 디바이스가 클러스터 환경에서 하나의 노드에서만 사용되어지며 장애 시 다른 노드로 넘어가야하는 경우 유용하게 사용될 수 있다. 이 경우 MPIO는 어댑터나 connectivity 장애에 대비한 보다향상된 안정성을 제공할 수 있으며 성능면에서의 향상은 없다.

Page 9: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

PR_EXCLUSIVE 이 모드에서 MPIO 의 path 알고리즘은 single path(fail_over mode)에서의 I/O 와 multiple paths(load balance mode)에 걸친 분산된 I/O를 지원한다. 이 설정은 대상 디바이스가 클러스터 환경에서 하나의노드에서만 사용되어지며 장애 시 다른 노드로 넘어가야 하는 경우 유용하게 사용될 수 있다. 만약MPIO 의 path 알고리즘이 load balance mode로 설정되었을 경우 I/O는 복수개의 path에 걸쳐일어나므로 성능향상을 얻을 수 있으며 만약 MPIO 의 path 알고리즘이 fail_over mode로 설정되었을경우에는 모든 I/O 는 하나의 path를 통해서만 일어나며 앞의 SINGLE_PATH 설정 시와 동일한 결과가나오게 된다.

PR_SHARED 이 모드에서 MPIO 의 path 알고리즘은 single path(fail_over mode)에서의 I/O 와 multiple paths(load balance mode)에 걸친 분산된 I/O를 지원한다. 이 설정은 대상 디바이스가 클러스터 환경에서 하나또는 그 이상의 노드에 의해 사용되어지는 경우에 유용하게 사용될 수 있다. 만약 MPIO 의 path 알고리즘이 load balance mode로 설정되었을 경우 호스트로부터의 I/O는 여러 개의 path에 걸쳐일어나므로 성능향상을 얻을 수 있으며 만약 MPIO 의 path 알고리즘이 fail_over mode로 설정되었을경우에는 모든 I/O 는 하나의 path를 통해서만 일어나며 앞의 reservation policy 경우와 동일한결과가 나오게 된다.

3. MPIO Concepts(계속)

Device reservation policycv

Page 10: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

SCSI 디바이스로 하여금 MPIO 가능 디바이스로 감지되기 위해서는 별도의 PdAt ODM attribute 가디바이스 predefine에 추가되어야 한다. 모든 MPIO 가능한 디바이스는 UDID ODM attribute를필요로 한다.부가적으로 PCM ODM attribute 또한 디바이스 PdAt ODM predefine에 추가되어야 한다. PCM

ODM attribute 는 ODM friend를 point 하게 되며 이것이 MPIO 가능 디바이스 드라이버를 위해 path 관리 기능을 제공하는 PCMKE 모듈을 정의한다. PCM ODM attribute 는 vendor 또는 AIX에서제공하는 PCMKE의 이름을 포함한다.

다음은 MPIO를 지원하는 하나의 path를 가지는 SCSI를 보여주는 예이다.

4. Detecting an MPIO capable device

위의 예에서 unique_id 와 /pcm/aixdisk/scsd AIX driver를 가리키고 있는 PCM field를 확인할 수 있다.

Page 11: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

MPIO를 사용하기 위해서는 새로운 ODM entry 값들을 필요로 하게 된다.

5. ODM changes for MPIO device

New CuPath classCuPath ODM class 는 각 path에 대한 정의를 가진다.이 class는 CuDv class와 거의 비슷한데CuPath는 path를 정의하고 CuDv는 디바이스를 정의한다. CuPath object는 해당 path를 정의하기위한 모든 정보를 가지고 있다. 여기서 정보란 target 디바이스의 이름, parent 디바이스의 이름, parent 디바이스와의 connection point 등을 말한다.

New PdPathAt classPdPathAt ODM class 는 각 path에 적용되는 사전 적용되는 attribute를 정의한다. 만일 어떤디바이스가 특정 path에만 속하는 attribute를 가진다면 해당 attribute를 정의하기 위한 PdPathAtattribute가 있어야 한다. PdPathAt 가 정의되어 있지 않은 상태에서는 특정 path 고유의 attribute는생성할 수 없다. PdPathAt class는 PdAt class와 거의 비슷하다.

Page 12: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

MPIO를 사용하기 위해서는 새로운 ODM entry 값들을 필요로 하게 된다.

5. ODM changes for MPIO device(계속)

New CuPathAt classCuPathAt ODM class 는 특정 path에 적용되는 attribute를 정의한다. 이 class 는 CuAt class와 거의비슷하다. CuAt object와 CuDv object 의 관계처럼 CuPathAt attribute가 적용되는 CuPath class에path object 가 없는 경우 CuPathAt class에 object를 생성할 수 없다. 나아가 CuAt와 PdAtattribute사이의 관계처럼 특정 attribute에 대한 정보를 제공하기 위해서는 PdPathAt object가 반드시있어야 한다.

PdAt class change모든 MPIO 기능을 지원하는 모든 SCSI , 그리고 Fiber Channel 디바이스들에 필요한 세가지 새로운PdAt attribute에는 unique_id, PCM, 그리고 reserve_policy가 있다. PCMKE 모듈에 대한 path를가지는 PCM ODM attribute들이 ODM에 의해 참조된다.

EMC, HDS, LSI와 같은 디바이스 vendor들이 그들의 디스크 서브시스템 들을 MPIO 가능한 장비로변환할 경우 수정된 ODM predifine 들을 제공해야 한다.

Page 13: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

AIX 5L Version 5.2 부터 디바이스 path 관리를 위해 4개의 새로운 명령어가 추가되었다.

6. Path management

• mkpath command

존재하지 않는 새로운 path를 만들기 위해 mkpath 명령어를 사용할 때에는 path를 이루는 모든요소가 제공되어야 한다. target device, parent device, parent와의 connection 이 그것이다. 주의할점은 mkdev 명령어를 이용하여 정의할 수 없는 모든 디바이스들은 마찬가지로 mkpath 명령어를이용하여 path를 정의할 수 없다. 이러한 제약사항은 path정보가 각 디바이스에 저장되는 방법 때문에발생한다. Fibre Channel 디바이스가 여기에 해당한다.

이미 정의되어 있는 경로를 mkpath 명령으로 구성하는 경우에는 path를 이루는 모든 요소가필요하지는 않다. 이미 path가 존재하므로 path의 구성요소 일부가 없어도 상관없다.

mkpath 명령어에 대한 syntax는 다음과 같다. :mkpath [ -l Name ] [ -p Parent ] [ -w Connection ] [ -d ]또는mkpath -h

자주 사용되는 mkpath 명령어의 flag에는 다음과 같은 것이 있다.

Page 14: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

6. Path management(계속)

Flags Description

-l Is the name of the device.

-p The name of the parent adapter.

-w Is the connection information associated with the path to be added.

-d Define a new path to the device by adding a path definition to the system.

-h Indicate the mkpath command syntax.

<Table 1> mkpath command flags

다음의 예는 기존의 path가 disabled에서 enabled로 바뀌는 것을 보여준다.

# > lspath -l hdisk9Enabled hdisk9 scsi1Defined hdisk9 scsi2[root@kenmore] /# > mkpath -l hdisk9 -pscsi2paths Available[root@kenmore] /# > lspath -l hdisk9Enabled hdisk9 scsi1Enabled hdisk9 scsi2

Page 15: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

• rmpath command

rmpath 명령어는 특정 target 디바이스에 존재하는 하나 또는 그 이상의 path를 unconfigure, undefined, 또는 동시에 unconfigure, undefined 하는 경우 사용된다. rmpath 명령어에서는 target 디바이스만 지정해주면 된다.

rmpath 명령어를 이용하여 target 디바이스의 유일한 path를 없애는 것은 불가능하다. 이때에는 해당디바이스 자체를 unconfigure 또는 undefined 해주는 방법 밖에는 없다. (예를 들어 rmdev 명령을사용하여)

rmpath 명령어의 syntax는 다음과 같다 :rmpath [ -l Name ] [ -p Parent ] [ -w Connection ] [ -d ] [ -p ] 또는,rmpath -h

자주 사용되는 rmpath 명령어의 flag에는 다음과 같은 것이 있다.

6. Path management(계속)

Flags Description

-l Is the name of the device.

-p The name of the parent adapter.

-w Is the connection information associated with the path to be added.

-d Delete the path from ODM.

-h Indicate the mkpath command syntax.

Page 16: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

다음의 예는 hdisk9의 두개의 path scsi1과scsi2를 보여준다.

#lspath -l hdisk9Enabled hdisk9 scsi1Enabled hdisk9 scsi2

이중 scsi2로부터 생성된 path를 ODM에서 삭제하기 위해서는 다음의 명령을 사용한다.

#rmpath -l hdisk9 -p scsi2 -dpath deleted

lspath 명령어를 사용하여 현재 hdisk9가 하나의 path만을 가지고 있음을 확인할 수 있다.

#lspath -l hdisk9Enabled hdisk9 scsi1

scsi2 어댑터로부터 hdisk3로의 path를 재생성하기 위해서는 다음의 명령을 사용한다.

#cfgmgr -l scsi2

hdisk9 디바이스가 scsi2로부터 두 번째 path를 다시 생성했음을 다음 명령을 통해 확인할 수 있다.

#lspath -l hdisk9Enabled hdisk9 scsi1Enabled hdisk9 scsi2

6. Path management(계속)

Page 17: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

6. Path management(계속)

• lspath command

lspath 명령어를 이용하여 MPIO 가능한 디바이스의 path에 대한 정보 중 다음 두 가지를 확인할 수있다. 특정 디바이스에 대한 하나 또는 그 이상의 path에 대한 운영상황을 보여주거나 아니면 특정MPIO 가능 디바이스의 하나의 path에 대한 하나 또는 그 이상의 attribute를 보여준다.

lspath 명령어의 syntax에는 다음과 같은 것이 있다.:lspath [ -F Format ] [ -H ] [ -l Name ] [ -p Parent ] [ -s Status ] [ -w Connection ]또는lspath -A -l Name -p Parent [ -w Connection ] {-D [ -O ] | -E [ -O ] | -F Format } [ -a Attribute ] ...[ -f File ] [ -h ] [ -H ]lspath -A -l Name -p Parent [ -w Connection ] { -D [ -O ] | -F Format } [ -a Attribute ] ... [ -f File ] [ -h ] [ -H ]lspath -A -l Name -p Parent [ -w Connection ] -R -a Attribute [ -f File ] [ -h ] [ -H ]

또는

lspath -h

자주 사용되는 lspath 명령어의 flag에는 다음과 같은 것이 있다.

Page 18: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

Flags Description

-a Identifies the specific attribute to list.

-A List the attributes for a specific path.

-D List the default values, descriptions and attribute names of a path.

-E List current values, descriptions and attribute names of a path.

-FDisplays the output of path attribute in a user-specified format, where the format parameter is a quoted list of column names such as parent connection path_id separated by non-alphanumeric characters or white space.

-H Displays headers above the column output.

-ODisplays all attribute names separated by colons and, on the second line, displays all the corresponding attribute values separated by colons.

-R Displays the legal values for an attribute name.

-f Reads the flags from a File parameters.

-l Is the name of the device.

-p Is the name of the parent adapter.

-w Is the connection information associated with the path to be added.

6. Path management(계속)

<Table 3> lspath command flags

Page 19: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

lspath 명령어를 사용하여 path 의 현재 status를 확인할 수 있는데 이때 다음과 같은 값을 볼 수 있다. :

enabled : 현재 path 가 구성되어 있으며 작동중임을 나타낸다. 해당 path는 I/O를 위해 선택가능하다.

disabled : path 는 구성되어 있으나 현재 작동하지 않는 상태를 나타낸다. 사용자에 의해 disabled 상태로 바뀐 것이며 이 상태에서는 I/O를 위해 선택할 수 없다.

failed : path 가 구성되어 있으나 I/O failure 가 발생하여 현재 해당 path가 I/O를 위해 사용될 수없음을 나타낸다.

defined : 해당 path 가 디바이스 드라이버에 구성되어 있음을 나타낸다.missing : 마지막 부팅 시 path 가 define 되어 있었으나 최근 부팅 시 발견되지 않은 것을 나타낸다.detected : 가장 최근 시스템 부팅 시 path 가 발견되었으나 어떠한 이유로 인해 구성되어 있지 않음을

나타낸다. 이러한 상태는 부팅 시에만 나타나는 것으로 lspath 명령어를 통해 확인되는것은 아니다.

6. Path management(계속)

Page 20: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

시스템에 정의되어 있는 모든 path를 보여주는 명령어는 다음과 같다.#lspathdefined 상태의 path를 보여주는 명령의 예이다.# > lspath -s definedDefined hdisk8 scsi2Defined hdisk9 scsi2

디바이스의 path에 대한 우선순위를 확인하는 예이다. # > lspath -AEH -l hdisk9 -p scsi2attribute value description user_settablepriority 1 Priority True

디바이스의 이름, parent, path_id, connection, 디바이스 path의 status 등을 한번에 보여주는명령어의 예이다.# > lspath -l hdisk9 -H -p scsi2 -F "device parent path_id connection status"device parent path_id connection statushdisk9 scsi2 1 14,0 Enabled

path attribute 의 값, 이 경우 priority를 보여주는 명령의 예이다.# > lspath -A -l hdisk9 -p scsi2 -R -a priority1...255 (+1)

6. Path management(계속)

Page 21: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

• chpath command

chpath 명령어는 특정 path에 대해 두 가지 변경작업을 할 때 사용된다. 하나는 path의 운영상태를변경시킬 때이고 또 하나는 path 와 연관된 tunable attribute를 변경할 때이다. chpath 명령으로 두가지를 동시에 수행할 수는 없다.path 의 운영 상태란 해당 path 가 IO를 위해 선택될 수 있는지를 나타내는 단순한 flag일 뿐이다. 만약 path 가 disabled 상태인 경우에는 path 선택 시 사용될 수 없다. 반대로 path 가 enabled 상태라면 path 선택 시 사용될 수 있음을 나타낸다. path 는 구성되는 순간 자동으로 enabled 상태로바뀌게 된다.path 고유의 tunable attribute를 변경할 때에 사용되는 chpath 명령어는 chdev 명령어와 매우유사하다.

사용되는 syntax는 다음과 같다.:chpath -l Name -s OpStatus [ -p Parent ] [ -w Connection ]또는chpath -l Name -p Parent [ -w Connection ] [ -P ] -a attribute=Value [ -a attribute=Value ... ]또는chpath -h

자주 사용되는 chpath 명령어의 flag 에는 다음과 같은 것이 있다.

6. Path management(계속)

Page 22: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

Flags Description

-l Is the name of the device.

-p Is the name of the parent adapter.

-w Is the connection information associated with the path to be added.

-s Is the status of the path.

-a Is the attribute of the path.

-h Indicate the chpath command syntax.

6. Path management(계속)

<Table 4> clpath command flags

chpath 명령어를 이용하여 시스템에 정의되어 있는 path를 enable 또는 disable 시킬 수 있다.또한 path 의 attribute, 예를 들어 1에서 255까지의 priority를 변경할 수 있다. 처음 path 가 생성될 때기본값은 가장 우선순위가 높은 1로 설정된다. 만약 디바이스가 여러 개의 path를 가지고 있다면 시스템에서수행되는 IO 순서에 의해 우선순위가 결정된다.

Page 23: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

두 가지 경우에 대해서 살펴보도록 하자. 두개의 시나리오 모두 세 개의 path를 가지는 하나의디바이스가 있다고 가정하자. path1 은 priority 1, path2 는 priority 100, 그리고 path3는 priority 10 을 가지고 있다.

- 만약 디바이스가 fail_over 알고리즘으로 설정되어 있다면 모든 I/O는 가장 높은 우선순위를 가지는path1 을 통하게 된다. 만약 해당 path 가 장애가 날 경우 모든 I/O는 그 다음 우선순위를 가지는path3로 옮겨지게 된다. - round_robin 알고리즘으로 설정되어 있는 디바이스인 경우에는 path1 의 I/O의 합은 path3 의 I/O의합에 10을 곱한 것 만큼이 되며 또한 path2 의 I/O의 합에는 100을 곱한 것만큼 된다. 이때 만약하나의 path에 장애가 발생할 경우 시스템은 나머지 path끼리의 priority를 비교하여 계산하게 된다.

다음은 path의 priority를 변경하는 명령어의 예이다.:chpath -l hdisk9 -pscsi2 -a priority=10

6. Path management(계속)

Page 24: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

MPIO를 지원하는 디바이스는 두개의 중요한 attribute 로 관리되어진다._ multipath I/O 알고리즘_ reserve policy

multipath 알고리즘은 디바이스의 path에 어떻게 I/O가 분산되는지를 결정한다.fail_over 알고리즘은 해당 path에 장애가 발생하기 전까지 모든 I/O를 하나의 path에 집중시키는 반면round_robin 알고리즘은 각 path의 priority에 따라 전체 I/O를 모든 path에 걸쳐 분산시킨다.디바이스 attribute를 확인하기 위해서는 lsattr 명령어를 사용한다.

다음의 예는 round_robin 알고리즘과 no_reserve policy로 설정되어 있는 hdisk9의 attribute를 보여준다

7. Device management

# > lsattr -El hdisk9pvid none Physical volume identifier Falsequeue_depth 3 Queue DEPTH Falsesize_in_mb 9100 Size in Megabytes Falsemax_transfer 0x40000 Maximum TRANSFER Size Trueunique_id 23084DYET6800CDDYS-T09170M03IBM scsi Unique device identifier FalsePR_key_value none Size in Megabytes Truereserve_policy no_reserve Size in Megabytes TruePCM pcm/aixdisk/scsd Target NAME Truedvc_support Device Support Falsealgorithm round_robin Algorithm True# >

다음의 명령어는 hdisk9의 알고리즘을 fail_over로 설정하는 방법을 보여준다.chdev -l hdisk9 -a algorithm=fail_over

Page 25: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

8. SMIT Panel을 통한 MPIO관리

<Figure 3> hdisk9의 특성을 표시.

Page 26: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

8. SMIT Panel을 통한 MPIO관리

<Figure 4> parent 선택 창

parent 아래에 붙어 있는 모든 디바이스를 보기위해 먼저 아래 그림에서처럼 scsi2를 parent로선택한다.

Page 27: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

8. SMIT Panel을 통한 MPIO관리

<Figure 5> 해당 parent 밑에 존재하는 보든 디바이스 리스트

그리고 나면 해당 디바이스들을 다음과 같이 보여준다.

Page 28: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

8. SMIT Panel을 통한 MPIO관리

<Figure 6 > 디바이스 선택 (이 경우 hdisk9)

MPIO 디바이스의 모든 parent를 보기위해서는 먼저 해당 디바이스 hdisk9을 선택한다.

Page 29: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

8. SMIT Panel을 통한 MPIO관리

<Figure 7> hdisk9의 parent 표시

그리고 나면 다음과 같이 해당 디바이스의 parent를 보여주게 된다.

MPIO 디바이스를 지원하기 위해 기존의 AIX 명령어들도 일부 변경되었다. mkdev, rmdev, 그리고 bootlist 명령어들이 바로 그것이다.:

Page 30: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

8. SMIT Panel을 통한 MPIO관리

_ mkdev 명령어를 이용하여 MPIO를 지원하는 디바이스를 구성할 때 관련된 디바이스 드라이버로하여금 해당 디바이스에 알려져 있는 모든 path를 구성하도록 한다. 만약 모든 path가 사용 가능한경우라면 결과값으로 예전과 동일한 hdisk9 Available 을 보여줄 것이며 만약 모든 path 가 구성되지못했다면 그 결과로 다음과 같이 보여질 것이다. hdisk9 Available; some paths are not available

_ rmdev -R 명령어를 이용하여 MPIO 디바이스를 unconfigure 하고자 하는데 만약 해당 디바이스의path 가 또 다른 parent 디바이스와 연결되어있는 경우 rmdev 명령은 대상 디바이스와 그에 대응하는parent 디바이스 사이의 path에 대해서만 unconfigure 또는 undefine 작업을 수행한다. 따라서 모든디바이스가 unconfigure 또는 undefine 되지는 않는다. 이 경우 결과값으로 다음과 같이 보여지게 된다.hdisk9 Available; some paths are not available

_ bootlist 명령어는 AIX로 하여금 시스템 부팅을 위해 어떠한 디바이스 firmware를 사용해야 되는지에대한 정보를 NVRAM에 저장하도록 한다. 이 정보는 시스템 버스로부터 시작하여 해당 디바이스에어느 firmware path를 통해 연결되어야 하는지 등을 포함하고 있다. 이 명령은 NVRAM 상의 boot list 영역에서 MPIO 지원 디바이스들이 복수 개 보여질 수 있도록 변경되었다. (예를 들어 여러 개의 hdisk0) bootlist 상에 update 된 순서는 ODM 입력 순을 따른다.

Note: bootlist 명령어는 자동으로 수행되는 것이 아닌 관계로 만약 새로운 path 가 boot device에등록되었을 경우 시스템 관리자는 bootlist 명령어를 이용하여 새로운 path를 bootlist에 등록시켜야한다.

MPIO 디바이스를 관리하기 위해 error log 입력 값과 maintenance package도 함께 향상되었다.

Page 31: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

9. The iostat command enhancements

보다 알기 쉬운 리포트를 보여주기 위해 iostat 명령어에 새로운 parameter들이 추가되었다. –s flag는 시스템의 모든 작업에 대한 결과를 나타내는 각각의 통계 데이터의 header 부분에 새로운라인을 추가한다.

# iostat -s 1 3System: server1.itsc.austin.ibm.comKbps tps Kb_read Kb_wrtn9405.3 2351.3 28216 0

Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk0 46.7 4693.3 1173.3 14080 0hdisk1 24.0 2356.0 588.7 7068 0hdisk2 0.0 0.0 0.0 0 0hdisk3 24.3 2356.0 589.3 7068 0hdisk4 0.0 0.0 0.0 0 0cd0 0.0 0.0 0.0 0 0

–a flag는 –s flag와 유사한 결과를 보여주나 차이점은 각 어댑터별로 작업결과를 보여준다는 점이다. 어댑터별 다음에는 각 디스크별로 결과를 보여준다.

Page 32: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

9. The iostat command enhancements

# iostat -a 1 3tty: tin tout avg-cpu: % user % sys % idle % iowait

0.0 923.7 13.2 41.6 30.9 14.2

Adapter: Kbps tps Kb_read Kb_wrtnscsi0 7030.4 1757.6 7048 0

Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk0 43.9 4684.3 1171.1 4696 0hdisk1 24.9 2346.1 586.5 2352 0hdisk2 0.0 0.0 0.0 0 0cd0 0.0 0.0 0.0 0 0

Adapter: Kbps tps Kb_read Kb_wrtnscsi1 2346.1 585.5 2352 0

Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk3 19.0 2346.1 585.5 2352 0hdisk4 0.0 0.0 0.0 0 0

Page 33: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

AIX MPIO (Multipath I/O) 소개AIX Tips

-m option은 hdisk 와 연관된 path의 통계치를 보여준다.

For hdisk1 in fail_over mode: hdisk1 이 fail_over 모드일 때 :Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.4 3.7 0.5 212080 2041650Paths: % tm_act Kbps tps Kb_read Kb_wrtnPath0 0.4 3.7 0.5 21208 2041650Path1 0.0 0.0 0.0 0 0

For hdisk1 in round_robin mode: hdisk1이 round_robin 모드일 때 :Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk1 0.4 3.7 0.5 202080 2041650Paths: % tm_act Kbps tps Kb_read Kb_wrtnPath0 0.4 3.7 0.5 101040 1020825Path1 0.4 3.7 0.5 101040 1020825

ESS 장비에서 vpath를 MPIO로 migration할 때 –m flag는 vpath에 대한 상태뿐만 아니라 MPIO도 함께보여준다. 다음은 vpath에 대한 iostat 명령어의 한 예이다. :Disks: Kbps tps Kb_read Kb_wrtnvpath0 0.6 0.1 10405 35956Paths: % tm_act Kbps tps Kb_read Kb_wrtnhdisk0 0.0 0.6 0.1 10405 35956hdisk1 0.0 0.0 0.0 0 0

9. The iostat command enhancements

Page 34: AIX MPIO (Multipath I/O) 소개 - unioneinc.co.kr„¤명자료.pdf · 명령어또는parent 디바이스를구성하는작업을수행하면child에대한UDID를요청하게 ...

3434

End of Document