36
POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION UNIT 2. THE OBJECT DATA MANAGER 유니원 아이앤씨(주) 시스템 기술 지원 팀 이 현 수 문서정보 과 목 명 Power Systems for AIX III: Advanced Administration and Problem Determination 단 원 명 Unit 2. The Object Data Manager 수강 장소 MIRHENGE 교육센터 수강 기간 2014-09-01 ~ 2014-09-05 작성일 2014-09-15 작 성 자 이 현 수 최종수정일 2014-10-14 재개정 이력 일자 내용 수정인 버전 문서배포 이력 발신자 수신자 배포목적 일자 비고

POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

  • Upload
    letruc

  • View
    222

  • Download
    0

Embed Size (px)

Citation preview

Page 1: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

POWER SYSTEMS FOR AIX III :

ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

유니원 아이앤씨(주)

시스템 기술 지원 팀

이 현 수

문서정보

과 목 명 Power Systems for AIX III: Advanced Administration and Problem Determination

단 원 명 Unit 2. The Object Data Manager

수강 장소 MIRHENGE 교육센터

수강 기간 2014-09-01 ~ 2014-09-05 작성일 2014-09-15

작 성 자 이 현 수 최종수정일 2014-10-14

재개정 이력

일자 내용 수정인 버전

문서배포 이력

발신자 수신자 배포목적 일자 비고

Page 2: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 2 / 36

Content

1. 개요 .............................................................................................................................................................................................. 5

1.1. 단원 설명 ...................................................................................................................................................................... 5

1.2. 단원 목표 ...................................................................................................................................................................... 5

1.2.1 이 단원의 중요성 .......................................................................................................................................... 5

2. ODM 이란? ............................................................................................................................................................................... 6

2.1. ODM 에 저장된 정보의 예 .................................................................................................................................. 6

2.2. ODM이 관리하는 시스템 데이터 ...................................................................................................................... 6

2.3. ODM이 관리하지 않는 데이터 ........................................................................................................................... 6

3. ODM 데이터베이스 파일들............................................................................................................................................... 7

3.1. 사전 정의된 장치 정보와 사용자 정의 장치 정보 .................................................................................. 7

4. 장치 구성 요약 ....................................................................................................................................................................... 8

4.1. cfgmgr과 Config_Rules ODM 객체 클래스의 역할 .................................................................................. 8

4.2. Config_Rules 객체 클래스의 중요성 ................................................................................................................ 8

5. ODM 저장소의 위치와 내용 ............................................................................................................................................ 9

5.1. 소개 ................................................................................................................................................................................. 9

5.1.1. /etc/objrepos .................................................................................................................................................. 9

5.1.2 /usr/lib/objrepos ............................................................................................................................................ 9

5.1.3 /usr/share/lib/objrepos ............................................................................................................................... 9

5.2. lslpp 옵션들 .............................................................................................................................................................. 10

5.3. ODM 저장소의 공유 ............................................................................................................................................. 10

6. ODM 클래스들의 상호작용............................................................................................................................................ 11

7. ODM 명령어들 ..................................................................................................................................................................... 12

7.1. ODM 클래스 작업 명령어 ................................................................................................................................. 12

7.1.1. 객체 클래스 생성 ...................................................................................................................................... 12

7.1.2. 객체 클래스 삭제 ...................................................................................................................................... 12

7.2. ODM 출력 명령어 ................................................................................................................................................. 12

7.3. ODM 객체 작업 명령어 ...................................................................................................................................... 12

7.4. ODMDIR 환경 변수 .............................................................................................................................................. 12

8. 속성 값 변경......................................................................................................................................................................... 13

8.1. odmadd, odmdelete 사용 .................................................................................................................................. 13

8.2. ODM 명령어 사용의 필요성 ............................................................................................................................ 13

8.3. 가능한 조회 .............................................................................................................................................................. 14

8.4. odmchange 사용 .................................................................................................................................................... 14

9. 소프트웨어 필수 제품 데이터(Software vital product data) .......................................................................... 15

Page 3: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 3 / 36

9.1. installp 명령어의 역할 ......................................................................................................................................... 15

9.2. SWVPD 항목 ............................................................................................................................................................. 15

9.3. SWVPD 클래스들 ................................................................................................................................................... 15

9.3.1. lpp ..................................................................................................................................................................... 15

9.3.2. inventory ........................................................................................................................................................ 16

9.3.3. product ........................................................................................................................................................... 16

9.3.4. history ............................................................................................................................................................. 17

10. 알아야 하는 소프트웨어 상태 ................................................................................................................................... 18

10.1. 적용(Applied)과 수락(Commit) 상태 ......................................................................................................... 18

10.1.1. 적용(Applied) ............................................................................................................................................ 18

10.1.2. 수락(Commit) ........................................................................................................................................... 18

10.2. 설치 중 문제 발생 상태 .................................................................................................................................. 18

10.3. 깨짐(broken) 상태 ............................................................................................................................................... 18

11. ODM의 클래스 내용 ....................................................................................................................................................... 19

11.1 사전 정의된 장치(지원 가능한 장치) ......................................................................................................... 19

11.1.1. type ................................................................................................................................................................ 19

11.1.2. class ............................................................................................................................................................... 19

11.1.3. subclass ........................................................................................................................................................ 19

11.1.4. prefix ............................................................................................................................................................. 20

11.1.5. base ............................................................................................................................................................... 20

11.1.6. detectable ................................................................................................................................................... 20

11.1.7. led .................................................................................................................................................................. 20

11.1.8. setno, msgno ............................................................................................................................................ 20

11.1.9. catalog.......................................................................................................................................................... 20

11.1.10. DvDr ............................................................................................................................................................ 20

11.1.11. Define ......................................................................................................................................................... 21

11.1.12. Configure .................................................................................................................................................. 21

11.1.13. Change ...................................................................................................................................................... 21

11.1.14. Unconfigure ............................................................................................................................................. 21

11.1.15. Undefine ................................................................................................................................................... 21

11.1.16. Start, stop ................................................................................................................................................. 21

11.1.17. uniquetype ............................................................................................................................................... 21

11.2. 사전 정의된 속성(디폴트 속성 값) ............................................................................................................. 22

11.2.1. uniquetype ................................................................................................................................................. 22

11.2.2. attribute ....................................................................................................................................................... 22

11.2.3. deflt ............................................................................................................................................................... 22

Page 4: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 4 / 36

11.2.4. values ............................................................................................................................................................ 23

11.3. 사용자 정의 장치 ................................................................................................................................................ 23

11.3.1. name ............................................................................................................................................................. 23

11.3.2. status............................................................................................................................................................. 23

11.3.3. chgstatus ..................................................................................................................................................... 24

11.3.4. ddins ............................................................................................................................................................. 24

11.3.5. location ........................................................................................................................................................ 24

11.3.6. parent ........................................................................................................................................................... 24

11.3.7. connwhere .................................................................................................................................................. 24

11.3.8. PdDvLn ......................................................................................................................................................... 24

11.4. 사용자 정의 속성(변경된 속성 값만 저장) ............................................................................................ 25

11.5. 추가 장치 객체 클래스 .................................................................................................................................... 25

11.5.1. PdCn .............................................................................................................................................................. 25

11.5.2. CuDep ........................................................................................................................................................... 26

11.5.3. CuDvDr ......................................................................................................................................................... 26

11.5.4. CuVPD .......................................................................................................................................................... 26

12. ODM & 높은 수준의 장치 명령어 .......................................................................................................................... 27

13. ODM 실습 ............................................................................................................................................................................ 29

13.1. 장치 속성의 디폴트 값 변경 ......................................................................................................................... 29

13.1.1. en1의 유효 속성을 검색 ..................................................................................................................... 29

13.1.2. 사용 가능한 속성값 확인 ................................................................................................................... 29

13.1.3. 속성 값 변경 ............................................................................................................................................ 29

13.1.4. remmtu의 디폴트 속성 값 확인 ..................................................................................................... 30

13.1.5. ODM 객체 클래스 백업 ...................................................................................................................... 30

13.1.6. CuDv에서 PdDvLn 확인 ....................................................................................................................... 30

13.1.7. PdAt 확인과 저장 ................................................................................................................................... 31

13.1.8. remmtu의 PdAt 수정 ............................................................................................................................ 31

13.1.9. ODM 변경 .................................................................................................................................................. 31

13.1.10. 변경된 remmtu 속성 값 확인 ....................................................................................................... 32

13.2. ODM 만들기 .......................................................................................................................................................... 32

13.2.1. 클래스 틀 생성 ........................................................................................................................................ 32

13.2.2. ODM 생성 .................................................................................................................................................. 33

13.2.3. 생성한 ODM에 데이터 넣기 ............................................................................................................ 33

13.2.4. 새로 생성한 ODM 내용 변경 .......................................................................................................... 35

13.2.5. 변경 내용 확인 ........................................................................................................................................ 36

13.3. ODM 삭제 ............................................................................................................................................................... 36

Page 5: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 5 / 36

1. 개요

1.1. 단원 설명

− Object Data Manager(ODM)의 구조 설명

− ODM 명령어 사용 및 ODM의 역할

− 가장 중요한 ODM 파일의 기능에 대한 구체적인 정보 제공

1.2. 단원 목표

− ODM 구조 설명

− ODM 명령 사용 가능

− ODM 역할 설명

− 가장 중요한 ODM 파일의 기능 설명

1.2.1 이 단원의 중요성

ODM은 AIX의 매우 중요한 요소이며, 다른 UNIX 시스템과 AIX를 구별하는 하나의 주요

기능이다. 이 단원은 ODM의 구조를 설명하고 ODM 명령 줄 인터페이스를 사용하여 ODM

파일을 작업하는 방법에 대하여 기술한다.

또한, AIX 시스템 관리자는 장치를 구성하는 동안 ODM의 역할을 이해하는 것도 중요하

다. 따라서 ODM의 역할을 설명하는 것 또한 주요한 목표라 할 수 있다.

Page 6: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 6 / 36

2. ODM 이란?

시스템 정보를 저장(/etc/objrepos에 저장)하는 DB 형태의 저장 공간이다.

물리 장치 정보와 논리 장치 정보는 관련된 특성을 지닌 오브젝트의 사용을 통해 저장되

고 유지된다.

Object Data Manager(ODM)은 데이터베이스 관리 시스템이며 IBM의 AIX 운영 시스템에 포

함된 장치 구성이다. ODM은 다른 UNIX 운영 시스템에는 없는 AIX의 유일한 요소이다. ODM에

의해 관리되는 데이터는 ODM에 의해 관리되는 데이터는 관련된 속성을 지닌 오브젝트로 저

장되고 유지된다. ODM과 C 프로그래밍 언어 어플리케이션의 상호작용은 어플리케이션 프로그

래밍 인터페이스(API) 라이브러리를 통해 수행된다(쉘 스크립트와 사용자는 ODM을 다루기 위

해서 odmshow, odmadd, odmchange, odmdelete 와 같은 명령을 사용한다.)

2.1. ODM 에 저장된 정보의 예

− 네트워크 구성

− 논리 볼륨 관리 구성

− 설치된 소프트웨어 정보

− 논리 장치 또는 소프트웨어 드라이버

− AIX에서 지원하는 장치 목록

− 설치된 물리적 하드웨어 장치와 구성

2.2. ODM이 관리하는 시스템 데이터

− 장치 구성 데이터

− Software Vital Product Data(SWVPD)

− System Resource Controller(SRC) 데이터

− TCP/IP 구성 데이터

− 에러로그와 덤프 정보

− Network Installation Manager(NIM) 정보

− SMIT 메뉴와 명령

2.3. ODM이 관리하지 않는 데이터

− 파일 시스템 정보 : /etc/filesystems 에서 관리

− 유저/보안 정보 : /etc/passwd, /etc/security/passwd, /etc/security/user 에서 관리

− 큐와 큐 디바이스 : /etc/qconfig 에서 관리

※ 보안상의 이유로 인해 ODM 데이터는 바이너리 형태로 저장됨(에디터 수정 불가, 명령어 사용)

Page 7: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 7 / 36

3. ODM 데이터베이스 파일들

사전 정의된 장치 정보

(Predefined device information) PdDv, PdAt, PdCn

사용자 정의 장치 정보

(Customized device information)

CuDv, CuAt, CuDep, CuDvDr, CuVPD,

Config_Rules

소프트웨어 필수 제품 데이터

(Software vital product data) history, inventory, lpp, product

SMIT 메뉴

(SMIT menus)

sm_menu_opt, sm_name_hdr, sm_cmd_hdr,

sm_cmd_opt

에러 로그, a로그, 덤프 정보

(Error log, alog, and dump information) SWservAt

시스템 자원 제어기

(System resource controller) SRCsubsys, SRCsubsvr, ...

네트워크 설치 관리자

(Network Installation Manager : NIM) nim_attr, nim_object, nim_pdattr

[표 3-1] AIX의 주요 ODM 파일 요약

3.1. 사전 정의된 장치 정보와 사용자 정의 장치 정보

− 사전 정의된 장치 정보 : 지원되는 모든 장치에 대한 정보

− 사용자 정의 장치 정보 : 현재 시스템에 접속되어서 사용하는 모든 장치 정보

Page 8: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 8 / 36

4. 장치 구성 요약

4.1. cfgmgr과 Config_Rules ODM

객체 클래스의 역할

AIX 시스템이 부팅될 때, 구성관리자

(Configuration Manager : cfgmgr)는 장치

구성을 담당한다. Config_Rules는 cfgmgr이

장치를 구성할 때 올바른 순서를 결정하기

위하여 사용하는 하나의 ODM 객체 클래

스이다. 또한 이 ODM 객체 클래스는 장치

관리를 위해 사용되는 다양한 방법의 파일

들에 대한 정보도 포함하고 있다.

4.2. Config_Rules 객체 클래스의 중요성

cfgmgr이 장치를 관리하는데(추가, 삭제, 변

경, 등) 좋긴 하지만, 사실은 실제 작동하는 사

전 정의 장치 클래스에 정의된 일종의 프로그

램이다. Config_Rules 객체 클래스는 cfgmgr이

연결된 장치들을 검색하는 순서를 정의한다.

[그림 4-1] 장치 구성 중 ODM 클래스 사용

[그림 4-2] 구성 관리

Page 9: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 9 / 36

5. ODM 저장소의 위치와 내용

5.1. 소개

원래 ODM의 세 부분은 디스크가 없고

데이터가 없는 다른 단말기를 지원하도록

설계되었다. ODM 객체 클래스들은 세 개

의 저장소에 들어있다. 다음은 각각의 저

장소들에 대한 설명이다.

5.1.1. /etc/objrepos

이 저장소의 목적은 장비마다 서로 공유할 수 없는 정보를 유지하는 것이다. 장비들 사

이에는 공유할 수 없는 제품의 일부가 포함되어 있다. 각각의 클라이언트는 자신의 복사본

을 가지고 있어야만 한다. 각각의 장비에 대한 별도의 사본이 필요한 소프트웨어의 대부분

은 장비나 제품의 구성과 관련되어 있다.

하나의 예는 사용자 정의된 장치 정보이다. 예를 들어, 장치의 위치 또는 디폴트 속성은

다를 수 있다.

저장소는 사용자 정의된 장치 클래스와 설치 소프트웨어 /(root) 부분의 소프트웨어 주요

제품 데이터베이스(Software Vital Product Database : SWVPD)에 의해 사용되는 4개의 클래

스를 포함한다. 소프트웨어의 root 부분은 대상 시스템에 설치되어 있어야만 하는 파일들을

포함하고 있다. 예를 들어, 프로그램에 의해 사용되는 어떤 구성 파일이라도 root에 들어

있어야 한다.

다른 디렉토리에 있는 정보에 접근하기 위해 이 디렉토리는 사전 정의된 장치 클래스의

기호 링크를 가지고 있어야 한다. 링크는 ODMDIR 변수가 오직 /etc/ovjrepos만 가리키기

때문에 필요하다.

5.1.2 /usr/lib/objrepos

이 저장소는 사전 정의된 장치 클래스, SMIT 메뉴 클래스, 설치 소프트웨어 /usr 부분의

SWVPD에 의해 사용되는 4개의 클래스를 포함한다. 이 저장소의 객체 클래스들은 /usr 클

라이언트와 데이터, 디스크가 없는 단말기에 의해 네트워크로 공유될 수 있다. /usr 부분에

설치된 소프트웨어는 호환 가능한 하드웨어 구조의 여러 장비들 사이에서 공유될 수 있다.

5.1.3 /usr/share/lib/objrepos

4개의 객체 클래스들은 설치 소프트웨어 /usr/share 부분의 SWVPD에 의해 사용된다. 소

프트웨어의 /usr/share 부분은 하드웨어와 독립적인 파일들을 포함한다. 또한 하드웨어 구

조가 다른 장비에서도 공유될 수 있다. 터미널 기능을 서술하는 terminfo 파일이 그 예이다.

많은 UNIX 시스템에서 terminfo가 사용되기 때문에 terminfo 파일들은 시스템의 /usr/share

[그림 5-1] ODM 저장소

Page 10: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 10 / 36

부분이라 할 수 있다.

5.2. lslpp 옵션들

lslpp 명령은 ODM에 기록된 소프트웨어 목록을 보여준다. –l(소문자 L)옵션과 함께 사용할

경우, 각각의 기록된 파일 집합을 찾을 수 있는 경로(/, /usr/lib, /usr/share/lib)가 출력된다. 이

차이를 이해하지 않으면 혼란스러울 수 있다. 그래서 그 대신에 lslpp -L을 사용하여 root, usr,

공유에 대한 차이를 만들지 않고 각 파일 집합을 한번만 출력할 수 있다.

5.3. ODM 저장소의 공유

디스크가 없거나 데이터가 없는 서버를 다룰 일이 거의 없기 때문에 디바이스 객체들의 차

이는 일반적으로 고려되지 않는다. 거의 모든 장비 내부에 3개의 저장소가 있다.

만약 워크로드 파티션 작업을 한다면, 다른 소프트웨어 클래스 저장소들이 주요 관심사가

될 것이다. 워크로드 파티션은 오직 개인적인 파일 시스템 안에 소프트웨어의 개인적인 root

부분만 가지고 있다. 소프트웨어의 다른 객체 저장소들은 모든 WPAR들 사이에 공유되는 글

로벌 환경 파일 시스템에서 읽기 전용으로 유지된다.

Page 11: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 11 / 36

6. ODM 클래스들의 상호작용

[그림 6-1] ODM 클래스의 작동

AIX에서 장치를 인식 시키기 위해서는 장치 타입이 ODM 클래스 PdDv에 정의되어 있어

야 한다.

장치는 cfgmgr(인식 가능한 장치일 경우), mkdev 명령으로 인식될 수 있다. 두 명령어는

ODM 클래스 CuDv에 인스턴스를 만든다. 구성 방법은 특별한 장치 드라이버를 올리고

/dev 디렉토리에 항목을 만든다.

PdDvLn은 CuDv에서 PdDv로 돌아가는 링크 경로이다.

이 시점에서는 PdAt에 오직 디폴트 속성값만 들어있다. 예를 들어 기가비트 이더넷 어댑

터의 경우 점보 프레임의 디폴트 값이 no 이기 때문에 점보 프레임을 사용할 수 없다.

만약 점보 프레임의 속성값을 yes로 바꾸면 CuAt에서 디폴트가 아닌 값을 볼 수 있다.

Page 12: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 12 / 36

7. ODM 명령어들

7.1. ODM 클래스 작업 명령어

7.1.1. 객체 클래스 생성

odmcreate 명령을 사용하여 ODM 클래스를 생성할 수 있다. 명령의 문법은 다음과 같

다 :

odmcreate descriptor_file.cre

descriptor_file.cre 파일은 ODM 클래스에 해당하는 클래스 정의를 포함한다. 일반적으로

이 파일은 .cre 접미사를 붙인다.

7.1.2. 객체 클래스 삭제

ODM 클래스를 지우려면 odmdrop 명령을 사용한다. odmdrop 명령의 문법은 다음과 같

다.:

odmdrop -o object_class_name

object_class_name은 삭제하려는 ODM 클래스의 이름이다. 이 명령을 사용할 경우 클래

스가 즉시 삭제되므로 주의해서 사용해야 한다.

7.2. ODM 출력 명령어

ODM 클래스의 내부 구조를 보려면 odmshow 명령을 사용한다. odmshow 명령의 문법은

다음과 같다. :

odmshow object_class_name

ODM 클래스 PdAt에서 추출된 내용이 보여진다.(uniquetype, attribute, deflt, values)

7.3. ODM 객체 작업 명령어

일반적으로 시스템 관리자는 ODM 객체로 작업한다. odmget 명령은 존재하는 클래스로부

터 객체 정보를 가져온다. 새로운 객체를 추가하려면 odmadd 명령을 사용한다. 객체를 지우

려면 odmdelete 명령을 사용한다. 객체를 변경할 때는 odmchange 명령을 사용한다.

7.4. ODMDIR 환경 변수

모든 ODM 명령어는 ODMDIR 환경 변수를 사용한다. 환경변수는 /etc/environment에 있다.

ODM의 디폴트 값은 /etc/objrepos 이다.

Page 13: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 13 / 36

8. 속성 값 변경

8.1. odmadd, odmdelete 사용

[그림 8-1] 속성 값 변경(odmadd, odmdelete 사용)

[그림 8-1]의 odmget 명령어는 PdAt 객체 클래스의 내용 중, uniquetype은 tape/scsi/scsd

이고 attribute는 block_size인 부분의 모든 기록을 가져온다. 이 경우, 오직 하나의 내용만 일

치한다. 그 내용은 에디터로 수정 가능한 파일 형태로 저장된다.

이 예는 block_size의 디폴트 속성값이 512로 변경되는 것을 보여준다.

ODM에 새로운 값이 512를 추가하기 전에 예전 객체(block_size가 공백으로 설정되어 있던)

를 지워야 한다. 그렇지 않으면 같은 데이터베이스 속성을 지닌 두 개의 객체가 만들어 진다.

첫 번째 객체가 발견되어 사용될 것이고, 그 결과는 꽤 혼란스러울 것이다. 이 때문에 변경된

기록을 추가하기 전에 기존 기록을 지워주는 것은 중요하다.

마지막 작업은 파일의 객체 정의를 ODM에 추가한 것이다.

8.2. ODM 명령어 사용의 필요성

ODM 객체는 바이너리 형태로 저장된다. 즉, 어떤 객체라도 조회하거나 변경하기 위한 작

업을 하려면 ODM 명령어가 필요하다는 것이다.

Page 14: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 14 / 36

8.3. 가능한 조회

데이터베이스와 마찬가지로, 특정 조건에 부합하는 기록들을 조회할 수 있다. 객체 정보 색

인 어구를 사용하여 테스트 할 수 있다. 많은 테스트가 가능하다 :

= 같다.

!= 같지 않다.

> 크다.

>= 크거나 같다.

< 작다.

<= 작거나 같다.

like 비슷하다; 문자열의 패턴을 찾는다.

[표 8-1] 논리 연산

예를 들어, lpp_name 속성값이 bosext1.로 시작하는 기록을 검색하려면, lpp_name like

bosext1.* 이라는 문법을 사용하면 된다.

테스트는 논리 연산과 함께 연결될 수 있다. 예를 들면 :

uniquetype=tape/scsi/scsd and attribute=block_size

8.4. odmchange 사용

[그림 8-2] 속성 값 변경(odmchange 사용)

[그림 8-2]는 odmadd와 odmdelete 대신 odmchange를 사용하여 속성값을 변경하는 과정

의 예를 보여준다.

Page 15: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 15 / 36

9. 소프트웨어 필수 제품 데이터(Software vital product data)

9.1. installp 명령어의 역할

AIX에 제품을 설치하거나 업데이트 할 때마다 installp 명령어는 소프트웨어 필수 제품 데

이터(Software vital product data : SWVPD)를 유지하기 위해 ODM을 사용한다.

9.2. SWVPD 항목

아래 정보는 SWVPD의 일부 설명이다.

− 소프트웨어 제품 이름(예를 들어 bos.rte.printers)

− 소프트웨어 제품의 버전, 릴리스, 변경, 수정레벨(예를 들어 6.1.5.2 또는 7.1.0.0)

− 제품에 구현된 수정 사항의 요약이 포함된 수정레벨

− 시스템에 설치된 프로그램 임시 수정 사항(program temporary fix : PTF)

− 소프트웨어 제품의 상태 :

Available(상태 = 1)

Applying(상태 = 2) → 에러 발생 상황

Applying(상태 = 3)

Committing(상태 = 4) → 에러 발생 상황

Committed(상태 = 5)

Rejecting(상태 = 6) → 에러 발생 상황

Broken(상태 = 7) → 에러 발생 상황

9.3. SWVPD 클래스들

9.3.1. lpp

[그림 9-1] lpp

lpp 객체 클래스는 설치된 소프트웨어 제품 정보와 현재 소프트웨어 제품 상태와 설명이

들어있다.

Page 16: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 16 / 36

9.3.2. inventory

[그림 9-2] inventory

inventory 객체 클래스는 소프트웨어 제품과 관련된 파일들의 정보가 들어있다. 소프트웨

어 설치 시 생성된 파일 경로를 알 수 있다.

[그림 9-3] lslpp -w

lslpp –w 명령을 사용할 경우, 파일이 어떤 파일 집합에 속하는지 확인할 수 있다. 반대

로 lslpp –f 명령은 파일 집합에 들어있는 파일들의 경로를 보여준다.(예 : lslpp –f

bos.rte.printers)

9.3.3. product

[그림 9-4] product

product 객체 클래스에는 소프트웨어 제품의 설치와 업데이트에 관한 정보가 들어있고

필수 사전 설치 항목을 알 수 있다.

Page 17: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 17 / 36

[그림 9-5] lslpp –L

상태 정보의 경우, lslpp –L 명령을 사용하면 좀 더 자세한 정보를 알 수 있다.

[그림 9-6] lslpp –L 코드 의미

lslpp –L 결과의 상태와 타입 코드가 의미하는 것은 [그림 9-6]과 같다.

9.3.4. history

[그림 9-7] history

history 객체 클래스는 소프트웨어 제품의 설치 및 업데이트의 이력에 관한 정보가 들어

있다.

Page 18: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 18 / 36

10. 알아야 하는 소프트웨어 상태

10.1. 적용(Applied)과 수락(Commit) 상태

프로그램 임시 수정(PTF) 또는 업데이트 패키지를 설치할 때, 소프트웨어를 적용(Applied)

상태로 설치할 수 있다. 적용된 상태의 소프트웨어는 새롭게 설치된 버전(활성)과 옛 버전(비

활성)의 백업을 갖고 있다. 따라서 이것은 새로운 소프트웨어를 테스트 할 수 있는 기회를 제

공해 준다. 적용 후, 이상이 없다면 소프트웨어를 수락(Commit)하여 옛 버전을 제거할 수 있

다. 만약, 적용 후 이상이 있다면, 적용된 소프트웨어를 거부(Reject) 하여 새로운 소프트웨어

는 제거하고 옛 버전을 복원시킬 수 있다.

설치 패키지의 경우에는 적용 상태가 없이 항상 수락 상태로 설치된다. 만약, 수락 후에 옛

버전으로 돌아가고 싶다면 현재 버전을 지우고 옛 버전을 재설치 해야 한다.

10.1.1. 적용(Applied)

오직 PTF나 업데이트만 적용 가능

/usr/lpp/Package_Name에 이전 버전 저장

업데이트를 취소할 경우 저장된 버전으로 복원

업데이트를 수락할 경우 이전 버전 삭제

10.1.2. 수락(Commit)

수락된 소프트웨어의 제거는 가능함

이전 버전으로 복원 불가능

10.2. 설치 중 문제 발생 상태

만약 설치 도중 전원이 꺼졌다던가 하는 이유에

의해 성공적으로 설치를 끝마치지 못했다면, 소프트

웨어의 상태는 적용 중(applying), 수락 중

(committing), 거부 중(rejecting), 제거 중

(deinstalling) 으로 나올 것이다. 이러한 실패를 복구

하기 위해서는 installp –C 명령을 사용하거나 smit

maintain_software 명령을 입력해서 SMIT을 실행한

후, Clean Up After Failed or Interrupted Installation

항목을 선택한다.

10.3. 깨짐(broken) 상태

실패한 설치의 정화 후, 소프트웨어의 깨짐(broken) 상태를 발견한다면, 복원할 수 있는 유

일한 방법은 소프트웨어 패키지를 제거한 후 재설치 하는 것이다.

[그림 10-1] SMIT 실행 화면

Page 19: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 19 / 36

11. ODM의 클래스 내용

11.1 사전 정의된 장치(지원 가능한 장치)

[그림 11-1] 사전 정의 장치 클래스의 예

사전 정의된 장치(predefined devices : PdDv) 객체 클래스에는 시스템에서 지원 가능한 모

든 장치에 대한 정보들이 들어 있다.

이 ODM 클래스에 없는 장치는 AIX 시스템에 구성될 수 없다.

11.1.1. type

예를 들면 8mm(테이프) 와 같은 제품 이름이나 모델 번호가 명시된다.

11.1.2. class

기능 클래스 이름이 명시된다. 기능 클래스란 높은 단계의 같은 기능을 공유하는 장치

그룹이다. 예를 들면, tape은 모든 테이프 장비를 대표하는 기능 클래스 이름이다.

11.1.3. subclass

장치 클래스들은 하위 클래스들로 묶인다. 하위 클래스 scsi는 SCSI 인터페이스로 붙을

수 있는 모든 테이프 장치들을 명시한다.

Page 20: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 20 / 36

11.1.4. prefix

장치 이름 및 /dev 이름을 생성하는데 사용되는 접두사를 지정한다. 예를 들면, rmt는 테

이프 장치의 이름 앞에 붙는 접두사 이다. 테이프 장치의 이름은 rmt0, rmt1, rmt2 형태로

생성된다.

11.1.5. base

장치가 베이스 장치인지 아닌지를 명시한다. 베이스 장치는 최소 베이스 시스템의 일부

를 형성하는 장치이다. 시스템이 부팅되는 동안 최소 베이스 시스템은 루트 볼륨 그룹

(rootvg)의 루트 파일 시스템에 접근이 허용되도록 설정된다. 예를 들어, 이 최소 베이스 시

스템은 기본 I/O 디스켓 어댑터와 SCSI 하드 드라이브를 포함할 수 있다.

11.1.6. detectable

장치가 발견될 수 있는지 없는지를 명시한다. 장치가 실질적으로 전원이 들어오고 시스

템에 붙어있을 때, cfmgr에 의해 존재 유무와 형태가 감지 된다면 장치가 발견될 수 있다

(detectable)고 말할 수 있다. 1이란 값의 의미는 장치가 발견될 수 있다는 것이고 0 값은

발견될 수 없다는 것이다(예를 들어 프린터나 터미널 등).

11.1.7. led

구성 방법이 실행되기 시작할 때 LED에 나타나는 값을 나타낸다. 10진수로 저장되지만

LED에 표시되는 값은 16진수 이다.

11.1.8. setno, msgno

각 장치는 lsdev 명령으로 확인할 수 있는 특별한 표현(예를 들어, SCSI Tape Drive)을 가

지고 있다. 이 두 가지 기술 어구는 메시지 카탈로그에서 표현을 찾는데 사용된다.

11.1.9. catalog

이것은 국제 언어 지원(national language support : NLS) 카탈로그의 파일이름을 식별한

다. 시스템 제어의 LANG 변수는 메시지를 보여주는데 사용된다. 예를 들어, 만약 LANG가

en_US로 설정되면, 카탈로그 파일 /usr/lib/nls/msg/en_US/devices.cat가 사용된다. LANG가

de_DE로 설정된다면 카탈로그 /usr/lib/nls/msg/de_DE/devices.cat가 사용된다.

11.1.10. DvDr

이것은 장치와 관련된 장치 드라이버의 이름을 식별한다. 일반적으로 장치 드라이버는

/usr/lib/drivers에 들어있다. 장치 드라이버는 장치가 사용 가능할 때, AIX 커널에 올려진다.

Page 21: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 21 / 36

11.1.11. Define

장치 타입과 관련된 정의 방법이다. 이 프로그램은 장치가 정의 상태일 때 호출된다.

11.1.12. Configure

장치 타입과 관련된 설정 방법이다. 이 프로그램은 장치가 사용가능 상태일 때 호출된다.

11.1.13. Change

장치 타입과 관련된 변경 방법이다. 이 프로그램은 장치 속성이 chdev 명령어를 통해 변

경될 때 호출된다.

11.1.14. Unconfigure

장치 타입과 관련된 설정 해제 방법이다. 이 프로그램은 장치가 rmdev –l에 의해 해제될

때 호출된다.

11.1.15. Undefine

장치 타입과 관련된 정의 해제 방법이다. 이 프로그램은 장치가 rmdev –l –d에 의해 해

제될 때 호출된다.

11.1.16. Start, stop

몇몇 장치는 정지 상태를 지원한다(오직 논리적 장치만). 정지 상태는 장치 드라이버가

올라왔지만, 응용프로그램이 장치에 접근할 수 없다는 것을 의미한다. 이 두 가지 속성은

장치의 시작이나 정지 방법을 말한다.

11.1.17. uniquetype

다른 객체 클래스에 의해 참조되는 경로이다. 객체들은 이 경로를 PdDv의 장치 표현으로

돌아가기 위한 포인터로 사용한다. 경로는 클래스, 하위 클래스, 유형 값의 연결이다.

Page 22: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 22 / 36

11.2. 사전 정의된 속성(디폴트 속성 값)

[그림 11-2] 사전 정의 속성 클래스의 예

사전 정의된 속성(Predefined Attribute : PdAt) 객체 클래스는 PdDv 클래스의 각 대표 장치

들에 대한 속성 목록들이 들어있다. 속성이란 우선순위, 버스 I/O 주소 범위, 보드 속도, 패리

티 설정, 블록 크기와 같은 장치에 의존적인 정보이다.

11.2.1. uniquetype

PdDv 객체 클래스에 정의된 장치로 돌아가기 위한 포인터로 사용된다.

11.2.2. attribute

속성의 이름이다. mkdev나 chdev 명령어에서 사용할 수 있는 이름이다. 예를 들어, tty0

의 디폴트 이름인 dumb를 ibm3151로 변경할 때, 다음과 같이 입력하면 된다 :

# chdev -l tty0 -a term=ibm3151

11.2.3. deflt

속성의 디폴트 값을 나타낸다. CuAt에는 디폴트가 아닌 값이 저장된다.

Page 23: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 23 / 36

11.2.4. values

속성 이름과 연관될 수 있는 값을 식별한다. 예를 들어, block_size 속성값의 범위는 0부

터 2147483648까지 이며, 1씩 증가한다.

11.3. 사용자 정의 장치

[그림 11-3] 사용자 정의 장치 클래스의 예

사용자 정의 장치(Customized Devices : CuDv) 객체 클래스는 시스템에 정의된 모든 장치들

을 포함한다. 이름에서도 알 수 있듯이, 정의된 장치 객체는 CuDv에서 정의 방법으로 만들어

진 객체이다. 정의된 장치 객체는 시스템에 실제로 붙어있는 해당 장치일 수도 있고 아닐 수

도 있다.

CuDv 클래스는 제공 장치와 연결 정보를 포함한다. 각 장치는 유일한 놀리 이름으로 구별

된다. 사용자 정의된 데이터베이스는 시스템이 부팅되는 동안 새 장치는 새롭게 정의하고, 정

의되지 않은 장치는 제거하며, 변경된 장치의 정보는 업데이트 하기 위해 두 번 갱신 된다.

11.3.1. name

장치의 사용자 정의 객체는 다른 장치들과 구별하기 위해 유일한 논리 이름이 할당된다.

[그림 11-3]은 두 개의 장치인 이더넷 어댑터 ent0과 디스크 드라이브 hdisk2를 보여준다.

11.3.2. status

장치의 현재 상태를 나타낸다.

status = 0 : 정의됨

Page 24: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 24 / 36

status = 1 : 사용 가능

status = 2 : 정지됨

11.3.3. chgstatus

시스템의 마지막 부팅 이후, 장치의 변화를 나타낸다. 진단 도구가 시스템 구성을 확인하

기 위해서도 사용한다.

chgstatus = 0 : 새 장치

chgstatus = 1 : 알 수 없음(감지하지 못함)

chgstatus = 2 : 변경 사항 없음

chgstatus = 3 : 장치가 사라짐(소프트웨어 상에서 삭제하지 않고 하드웨어를

제거 하여 ODM에 정보가 남아있는 상태)

11.3.4. ddins

일반적으로 사전 정의 장치(PdDv) 객체 클래스의 장치 드라이버 이름(Device Driver

Name)과 같은 값을 갖는다. AIX 커널에 올라온 장치 드라이버의 이름을 나타낸다.

11.3.5. location

장치의 AIX 위치 정보 이다. 위치 코드는 시스템 단위에서 장치까지 어댑터를 통한 경로

이다. 하드웨어에 문제가 발생 하여 기술 지원 시, 이 위치 코드를 이용하여 문제가 발생한

장치를 찾아낼 수 있다.

11.3.6. parent

상위 장치의 논리 이름을 나타낸다. 예를 들어, hdisk2의 상위 장치는 sas0이다.

11.3.7. connwhere

장치가 연결된 상위 장치에서 특정 위치를 식별한다. 예를 들어 hdisk2는 W_0 주소를 사

용한다.

11.3.8. PdDvLn

PdDv 객체 클래스의 uniquetype을 통해 사전 정의된 장치 정보의 링크를 제공한다.

Page 25: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 25 / 36

11.4. 사용자 정의 속성(변경된 속성 값만 저장)

[그림 11-4] 사용자 정의 속성 클래스의 예

사용자 정의 속성(Customized Attribute : CuAt) 객체 클래스는 특정 장치에서 사용자 정의

된 속성 정보를 포함한다.

사용자 정의 장치(CuDv) 클래스에서 대표되는 장치는 사전 정의 속성(PdAt) 클래스와 CuAt

클래스에서 설정된 속성 값을 갖는다. CuAt에는 사용자 정의 값을 갖는 속성의 항목들이 있

다. 속성의 디폴트 값은 PdAt 클래스에서 찾는다. 각 항목들은 속성의 현재 값을 나타낸다.

11.5. 추가 장치 객체 클래스

11.5.1. PdCn

사전 정의 연결(Predefined Connection :

PdCn) 객체 클래스는 어댑터의 연결 정보

를 포함한다. 이 객체는 또한 사전 정의된

종속 정보도 포함한다. 객체는 연결될 수

있는 장치의 하위 클래스들을 서술한다.

[그림 11-5]의 PdCn 객체에는 하위 클

래스 SCSI에 속하는 장치 모두가 붙을 수

있다.

[그림 11-5] PdCn 클래스의 예

Page 26: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 26 / 36

11.5.2. CuDep

사용자 정의 종속성(Customized Dependency : CuDep)

객체 클래스는 다른 장치에 의존적인 장치를 나타낸다. 이

객체 클래스는 논리적 장치와 물리적 장치의 링크 의존성

및 논리적 장치 사이의 의존성을 설명한다. 한 장치의 다

른 장치에 대한 의존성은 사용자 정의 장치(Customized

Devices : CuDv)객체 클래스에 기록된다.

11.5.3. CuDvDr

사용자 정의 장치 드라이버(Customized Device

Driver : CuDvDr) 객체 클래스는 /dev에 항목들을

만드는데 사용된다. 이러한 특정 파일들은 응용

프로그램이 AIX 커널의 일부인 장치 드라이버에

접근하는데 사용된다. value1 속성은 주요 번호

(major number)라고 불리며, 장치 드라이버의 유

일한 값이다. value2 속성은 장치 드라이버의 특

정 동작 모드를 나타내며 보조 번호(minor

number)라 불린다.

[그림 11-7]의 CuDvDr 객체는 디스크 드라이버 hdisk2 와 hdisk3의 장치 드라이버를 반

영한다. 주요 번호 23은 커널 드라이버를 나타낸다. 이 예에서, 보조 번호 0 또는 3은 같은

장치 드라이버를 사용하는 다른 2개의 디스크를 나타낸다. 사용중인 다른 장치들은 보조

번호가 다른 모드로 나타날 것이다. 예를 들어, 테이프 드라이버의 모드 0은 되감기, 모드

1는 되감기 안 함이 지정되어 있다.

11.5.4. CuVPD

[그림 11-8] CuVPD 클래스의 예

사용자 정의 필수 제품 데이터(Customized Vital Product Data : CuVPD) 객체 클래스는 기

술 지원에 유용한 필수 제품 데이터(장치 제조사, 엔지니어링 레벨, 부품 번호 등)들을 포함

한다. 특정 장치에서 오류가 발생하면, 필수 제품 데이터는 에러 로그에 기록된다.

[그림 11-6] CuDep 클래스의 예

[그림 11-7] CuDvDr 클래스의 예

Page 27: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 27 / 36

12. ODM & 높은 수준의 장치 명령어

사전 정의된 클래스와 사용자 정의 클래스의 객체 목록

- PdDv 객체 클래스 목록 :

# lsdev -P [-c <class>] [-s <subclass>] [-t <type>]

- CuDv 객체 클래스 목록 :

# lsdev -C [-l <device name>] [-c <class>] [-s <subclass>] [-t <type>]

디폴트와 유효한 속성 목록

- PdAt 객체 클래스의 디폴트 속성 목록

# lsattr -D -c <class> -s <subclass> -t <type> [-a <attribute>]

# lsattr -D -l <device name> [-a <attribute>]

- 허용되는 속성 값의 범위 또는 목록

# lsattr -R -l <device name> -a <attribute name>

- 유효한 속성 목록(PdAt와 CuAt)

# lsattr -E -l <device name> [-a <attribute>]

[표 12-1] 명령어 옵션의 종류

ODM 장치 데이터베이스의 대부분 정보는 고 레벨 명령어를 사용하여 접근하거나 관리된다.

객체 클래스와 객체 클래스의 역할을 이해하는 것은 명령어를 사용하는 것에 있어서 도움이 될

수 있다.

lsdev 명령은 ODM 객체 클래스를 나열하고 제어하는 옵션을 가지고 있다.

사전 정의 장치(Predefined Device : PdDv) 객체 클래스를 보기 위해서는 -P 옵션을 사용한다.

출력을 제어하기 위해서 3가지 표현 조합으로 명령에 추가적인 조건을 줄 수 있다. : class,

subclass, type

사용자 정의 장치(Customized Device : CuDv) 객체 클래스를 보기 원한다면 -C 옵션을 사용

한다. 출력을 제어하기 위해서 특정 장치를 명시(논리 장치 이름 사용)하거나 PdDv 클래스의

표현 조합을 사용할 수 있다.

특정 장치를 명시하는 예를 들면 다음과 같다.

# lsdev -l hdisk0

대부분의 일반적인 PdDv 표현 조건은 클래스이다. 따라서 명령을 입력하는 일반적인 방법은

다음과 같다.

# lsdev -Cc disk

# lsdev -Cc adapter

lsattr 명령은 또한 ODM 객체 클래스들을 제어하는 옵션을 가지고 있다. 사전정의 속성

(Predefined Attributes : PdAt)에 저장된 디폴트 속성 값을 보기 위해서는 -D 옵션을 사용한다.

그리고 다음 두 가지 방법으로 객체를 식별해야 한다.

객체의 클래스, 보조 클래스, 타입 명시

PdAt와 관련 있는 사용자 정의 장치의 논리 장치 이름 명시

Page 28: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 28 / 36

유효한 속성은 명시된 장치와 관련된 CuAt에 들어있는 속성이거나, (만약 CuAt에 저장된 값

이 없다면) 관련된 PdAt의 디폴트 속성 값이다. 또한 장치의 논리적 이름으로 특정 장치를 명

시해야만 한다.

chdev 명령을 사용하여 속성값을 변경할 때, 허용되는 속성값들이 있다. 명령은 서술어를 확

인함으로써 허용되는지 아닌지 알 수 있다. 이 정보는 -R 옵션을 사용한 lsattr 명령어로 확인할

수 있다. -R 옵션은 속성을 변경하려는 장치 논리 이름에 더하여 식별된 속성 이름을 요구한다.

[그림 12-1] lsattr 사용 예.

Page 29: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 29 / 36

13. ODM 실습

13.1. 장치 속성의 디폴트 값 변경

13.1.1. en1의 유효 속성을 검색

명령어를 사용하여 현재 설정되어 있는 en1의 속성을 확인한다.

[그림 13-1] lsattr을 사용하여 en1의 remmtu 확인

현재 en1의 remmtu 값이 576으로 설정되어 있는 것을 확인할 수 있다.

13.1.2. 사용 가능한 속성값 확인

현재 설정되어 있는 remmtu 값이 매우 낮다. 설정할 수 있는 범위 중, 가장 높은 값으로

변경해 보도록 한다. 다음과 같이 remmtu가 가질 수 있는 값의 범위를 명령어를 통하여

확인해 본다.

[그림 13-2] remmtu값 범위 확인

remmtu의 값으로 60 ~ 1500 값을 설정할 수 있다.

13.1.3. 속성 값 변경

명령어를 사용하여 remmtu의 값을 설정할 수 있다.

Page 30: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 30 / 36

[그림 13-3] remmtu값 변경

en1의 remmtu값이 변경되었다는 메시지를 볼 수 있다.

13.1.4. remmtu의 디폴트 속성 값 확인

이제 en1의 remmtu 디폴트 속성 값을 확인해 본다.

[그림 13-5] remmtu의 디폴트 속성값 확인

현재 변경하여 설정한 값이 1500이 디폴트 값으로 변경되지 않았음을 알 수 있다.

13.1.5. ODM 객체 클래스 백업

디폴트 속성값을 변경하게 되면 새로운 장치들은 자동으로 변경 값을 갖는다. 하지만 디

폴트 값을 변경하는 명령어는 없다. 우선 다음과 같이 변경하려는 ODM 객체 클래스를 백

업해 놓는다.

[그림 13-6] ODM 백업 방법 1.

또는

[그림 13-7] ODM 백업 방법 2.

13.1.6. CuDv에서 PdDvLn 확인

올바른 객체를 찾기 위해, 이더넷 인터페이스 장치와 관련된 클래스, 보조 클래서, 타입

의 값을 알아야 한다. en1의 ODM 사용자 정의 장치 객체에서 사전 정의된 장치 링크 표

현 값(PdDvLn)을 확인해 본다.

[그림 13-8] en1의 CuDv 확인

Page 31: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 31 / 36

PdDvLn 값이 “if/EN/en”으로 되어있는 것을 확인할 수 있다.

13.1.7. PdAt 확인과 저장

사전 정의 ODM 데이터베이스(PdAt)에서 해당하는 표현 값은 uniquetype이다. remmtu

의 attribute 표현 값과 uniquetype에 en1의 PdDvLn 표현을 사용하여 원격 MTU 속성에

대한 사전 정의 속성 을 확인할 수 있다.

[그림 13-9] 원격 MTU의 PdAt 확인

확인 되었으면 이제 이 내용을 파일로 저장한다(저장위치 : /tmp/remmtu-object).

[그림 13-10] PdAt 파일 내용 저장

13.1.8. remmtu의 PdAt 수정

이제 위에서 저장한 파일을 vi 에디터를 이용하여 수정하도록 한다.

[그림 13-11] vi 에디터 실행

그 다음, 디폴트 값을 설정 가능한 최대값으로 수정한다.

[그림 13-12] PdAt 수정

13.1.9. ODM 변경

ODM 검색과 같은 표현을 사용하여, 이번에는 ODM 객체를 편집한 파일로 교체한다.

Page 32: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 32 / 36

[그림 13-13] ODM 객체 변경

13.1.10. 변경된 remmtu 속성 값 확인

명령어를 사용하여 remmtu 디폴트 속성값이 변경되었는지 확인할 수 있다.

[그림 13-14] 변경된 remmtu 디폴트 속성 값 확인

디폴트 속성값이 1500으로 변경된 것을 확인할 수 있다.

en1의 현재 설정된 유효 속성 값도 확인해 본다.

[그림 13-15] 변경된 remmtu의 현재 유효 속성 설정 값 확인

마찬가지로 1500으로 변경된 것을 확인할 수 있다.

13.2. ODM 만들기

13.2.1. 클래스 틀 생성

우선 클래스 틀에 대한 정보를 담고 있는 파일을 저장할 디렉토리를 생성한 후, 그 디렉

토리로 이동한다(예를 들어, /tmp/odm).

[그림 13-16] 디렉토리 생성

그 다음, 파일을 하나 생성한다(예를 들어, parts.cre)

[그림 13-17] 파일 생성

파일 내용에 클래스 구조를 만든다.

[그림 13-17] 새로 만들 클래스 구조

Page 33: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 33 / 36

13.2.2. ODM 생성

명령어를 사용하여 ODM을 생성한다.

[그림 13-18] ODM 생성 및 확인

디렉토리에 새로운 파일이 만들어 진 것도 확인할 수 있다.

[그림 13-19] 새로운 파일 생성

ODMDIR 환경 변수를 변경하지 않았다면 parts 클래스는 /etc/objrepos 에 생성되었을

것이다.

13.2.3. 생성한 ODM에 데이터 넣기

다음 내용을 parts 클래스에 입력할 것이다.

Part Number Description Warehouse Contained In

10001 Wheel a12 50001

10003 Frame a19 50001

10005 Saddle a01 50001

10006 Front wheel brake a03 50001

10007 Rear wheel brake a03 50001

50001 City Bike Easy Rider x99

[표 13-1] parts 클래스 내용

vi 에디터를 이용하여 parts.add 라는 파일을 생성 후, 내용은 다음과 같이 넣는다.

Page 34: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 34 / 36

[그림 13-20] parts.add 파일 내용

이제 명령어를 이용하여 parts.add 내용을 parts 클래스에 입력한다.

[그림 13-21] ODM 데이터 추가

내용이 정상적으로 입력 되었는지 확인해 본다.

Page 35: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 35 / 36

[그림 13-22] parts 클래스 내용 확인

13.2.4. 새로 생성한 ODM 내용 변경

새로 생성한 ODM의 내용 중, Wheel의 Warehouse를 b10으로 변경하도록 하겠다. 우선

해당 Wheel의 내용을 part_change라는 파일로 저장한다.

[그림 13-23] Wheel 내용 저장

이제 이 파일을 vi에디터로 실행한다.

Page 36: POWER SYSTEMS FOR AIX III - unioneinc.co.krunioneinc.co.kr/upload/board/Unit2.TheObjectDataManager.pdf · POWER SYSTEMS FOR AIX III : ADVANCED ADMINISTRATION AND PROBLEM DETERMINATION

UNIT 2. THE OBJECT DATA MANAGER

작성자 : 이 현 수 최종수정일 : 2014-10-14

페이지 36 / 36

[그림 13-24] part_change 열기

수정 할 부분인 warehouse 값을 b10으로 변경해 준다.

[그림 13-25] part_change 내용 수정

변경된 내용을 ODM의 parts 클래스에 입력한다.(2가지 방법)

방법 1 : 삭제 후 추가하는 방법

[그림 13-26] ODM 클래스 내용 삭제 후 변경내용 추가

방법 2 : 명령어를 사용하여 변경하는 방법

[그림 13-26] 명령어를 사용하여 ODM 클래스 내용 변경

13.2.5. 변경 내용 확인

변경 되었는지 확인해 본다.

[그림 13-27] parts 클래스의 변경 내용 확인

13.3. ODM 삭제

위에서 만든 ODM 클래스를 지워보도록 한다. 다음과 같은 명령어를 입력하면 ODM 클래

스가 지워진다.

[그림 13-28] parts 클래스 삭제