아래의 url에서 다운로드하여 실행하면 port 및 사용 프로그램 정보가 나옴니다.

운영체계가 윈도우즈라는 제한이 있긴 하지만, 불필요하게 접속된 network port를 감지하는데 간단하게 사용할 수 있습니다.

unix, linux등에서는 lsof로 파일을 포드에 대한 점유자를 확인할 수 있습니다.

E:\DOWNLOAD\fport\Fport-2.0>fport FPort v2.0 - TCP/IP Process to Port Mapper Copyright 2000 by Foundstone, Inc. http://www.foundstone.com Pid Process Port Proto Path 588 sshd -> 22 TCP C:\Program Files\OpenSSH\usr\sbin\sshd.exe 1412 -> 135 TCP 4 System -> 139 TCP 4 System -> 445 TCP 588 sshd -> 1026 TCP C:\Program Files\OpenSSH\usr\sbin\sshd.exe 832 WSPMonitor -> 1028 TCP C:\Program Files\Scope\WormSaverAgent\WSPMonitor.exe 2380 -> 1029 TCP 3300 AgentMonitor -> 1030 TCP C:\Program Files\Scope\WormSaverAgent\AgentMonitor.exe 3604 msnmsgr -> 1397 TCP C:\Program Files\Windows Live\Messenger\msnmsgr.exe 3604 msnmsgr -> 1401 TCP C:\Program Files\Windows Live\Messenger\msnmsgr.exe 3604 msnmsgr -> 1404 TCP C:\Program Files\Windows Live\Messenger\msnmsgr.exe 1344 cvsservice -> 2401 TCP C:\Program Files\CVSNT\cvsservice.exe 1328 cvslock -> 2402 TCP C:\Program Files\CVSNT\cvslock.exe 2704 ttermpro -> 3429 TCP E:\UTIL\TTERMPRO\ttermpro.exe [출처] Fport 2.0 사용(포트 모니터링)|작성자 징기스칸


여기서는 IIS MMC에 있는 "기본 SMTP 가상서버"로 메일을 발송하려고 하였으나 여러가지 이유로 인해서 메일 발송이 되지 않을 경우 살펴보아야 할 몇가지를 제시해 보려고 합니다.

Windows에서 기본적으로 제공하는 "기본 SMTP 가상서버"를 활용하여 메일을 발송하는 경우는 대부분 ASP 또는 ASP.NET 프로그램일 것이다.

자. 그럼 왜 발송이 안되는지 알아보기 전에 "기본 SMTP 가상서버"에 대해서 알아보자.
"기본 SMTP 가상서버"를 사용하기 위해서는 IIS 웹 서버를 설치하면서 SMTP를 함께 설치해 줘야한다.
default로 설치하면 mailroot 경로는 C:\inetpub\mailroot 로 셋팅되어져 있다.


SMTP를 통해 메일을 발송하게 되면 우선 Pickup 폴더에 발송할 메일이 들어오고 (SMTP를 중지시킨 상태에서 메일을 발송하는 프로그램을 실행시키면 Pickup 폴더에 발송할 메일이 들어 있는것을 확인할 수 있다.) 여기서 받는 사람의 메일서버로 발송하게 된다. 그런데 1차시도시 메일발송에 실패하게 되면 Queue 폴더에 메일이 쌓이게 되며 Queue 폴더에 있는 메일들은 "기본 SMTP 가상서버"의 배달 탭에 설정되어 있는 "다시 시도 간격"과 만료시간에 의해 처리된다.

여러가지 이유로 메일 발송에 실패했을 경우 보내는 사람 메일 주소로 배달하지 못한 이유를 발송하게 되는데 이 배달못함 보고서(NDR)를 보내는 사람 메일주소로 발송하지 못하였을 경우 Badmail 폴더에 쌓이게 된다. Badmail에 메시지가 많이 쌓이면 SMTP의 성능이 저하될 수 있으므로 주기적으로 Badmail 폴더의 파일들을 삭제해 주는 것이 좋다.
또한 메일 형식이 잘못된 경우에는 Drop 폴더에 메일이 쌓이게 된다.

정리해 보면 다음과 같다.
  • Badmail : 받는사람에게 발송 실패 후 보내는 사람에게도 발송을 실패한 메세지가 보관되는 폴더
  • Drop      : 메일 형식이 잘못된 메세지가 보관되는 폴더
  • Pickup   : 처음 발송 시도될 메세지가 보관되는 폴더
  • Queue   : 1차 시도 실패시 다음 발송을 위해 대기중인 메세지가 보관되는 폴더

이제 메일이 발송되지 않았을 경우에 살펴보아야 할 것들을 살펴보자.

1. 프로그램 에러는 없는지 확인해야 한다.
   뭐 프로그램에 에러가 있을 경우 에러메세지를 뿌려주니 이미 이 부분은 해결하고 이 글을 보게 되겠죠? ^^

2. 받는사람의 메일주소가 올바른지 확인한다.
   이런경우 Drop 폴더에 메세지가 있을 확률이 많다.

3. "기본 SMTP 가상서버" 가 제대로 작동하고 있는지 확인한다.
   우선 "기본 SMTP 가상서버" 가 중지되어 있지 않은지 확인하고 SMTP는 25번 포트를 사용하므로 25번 포트가 
    Listening 상태인지 확인해야 한다. Netstat -na 명령어로 25번 포트의 상태를 확인할 수 있고
    Telnet localhost 25 명령을 통해 수동으로 메일을 발송해 봄으로써 정상작동 여부를 확인 할 수 있다.
    
명령 프롬프트에서 다음과 같은 순서로 수동메일을 발송할 수 있다.
Telnet localhost 25 (Enter)
helo (Enter)
mail from:email@domain.com (Enter)            <= 정상적인 메일 주소를 입력해야 합니다.
rcpt to:youremail@yourdomain.com (Enter)    <= 받을 사람의 정상적인메일 주소를 입력해야 합니다.
data (Enter)
subject:Test Mail (Enter)(Enter)                     <= 메일 제목 입력 (엔터를 2번)

테스트내용입니다.                                         <= 여기서 부터 내용을 입력합니다.
두번째줄입니다.
. (Enter)                                                       <= 내용을 다 입력했으면 마침표(.)를 입력 후 엔터
quit (Enter)     

     혹시 rcpt to입력 후 "500 5.7.1 Unable to relay for youremail@yourdomain.com" 에러가 발생한다면 
     "기본 SMTP 가상서버"의 속성에서 액세스 탭의 릴레이 제한을 확인해 보아야 한다.
     수동발송에 대한 더 자세한 내용은 http://support.microsoft.com/default.aspx?scid=kb;ko;286421 를 참고하자.

4. DNS가 올바로 셋팅 되어 있는지 확인한다.
    서버에 설정된 DNS가 잘못되어 받는사람의 메일서버를 찾을 수 없어서 메일발송에 실패하는 경우도 있다.
    혹시 서버에 DNS서버가 설치되어 있다면 중지시키거나 제거해야만 한다.   
    그리고 외부에 공개되지 않은 내부 DNS로 잡혀져 있는 경우도 있을 수 있다.
    (외부 도메인에 대한 IP를 알수 없어 발송실패함)
    DNS를 간단하게 확인 할 수 있는 방법은 명령프롬프트에서 ping 명령어로 확인해 볼 수있다.
       
5. mailroot 폴더의 권한 설정을 확인한다.
    mailroot 폴더의 권한설정이 변경되면서 메일이 발송되지 않는 경우도 있다. Windows 2000에서는 기본적으로 시스템
    드라이브(대부분 C)에 Everyone이 모든 권한을 가지고 있다. 이 취약한 권한을 수정하기 위해 시스템 드라이브의
    권한을 변경하게 되면 메일이 발송되지 않는 경우도 생긴다. 이럴경우 mailroot 폴더에 대해서는 Everyone의 접근
    권한을 적절히 조절하여 부여해 준다.

6. 방화벽 셋팅을 확인한다.
    3번과 연관된 내용으로 방화벽에서 서버에서 발송되는 25번 포트의 패킷을 차단하고 있는지 확인한다.

7. Relay설정을 확인한다.
    "기본 SMTP 가상서버" 의 Relay설정이 열려져 있다면 스팸메일의 Relay서버로 악용될 소지가 많다.
    그리고 이로 인해서 서버의 성능이 저하되는 원인이 되기도 하며 악의적인 스팸메일을 발송하느라고 정작 발송하고자
    하는 메일은 계속 뒤로 밀리면서 발송이 되지 않는 경우가 발생할 수도 있다.
    그러므로 "기본 SMTP 가상서버"의 속성에서 액세스 탭의 릴레이 제한에서 아래 그림과 같이 "아래 목록만"을 선택하고
    localhost의 IP인 127.0.0.1을 등록하거나 해당서버의 IP만 등록하여 다른 서버에서는 접근하지 못하도록 차단한다.


8. 포탈 메일에서만 받지 못하는 경우
    일반 회사메일이나 다른 메일들을 잘 발송되고 있는데 유독 포탈 사이트들에서만 받지 못하는 경우가 많다.
    각 포탈 사이트들에서는 각기 다른 스팸메일 정책을 가지고 있고 점점 강화되고 있는 추세다.
    대부분의 포탈에서는 한 IP에서 대랑의 메일이 발송될 경우 해당 IP를 스팸메일 발송 서버로 등록하여 자동 차단해
    버린다. 이 문제를 해결하기 위해서는 "화이트 도메인 등록제"를 활용하면 된다.
    한국정보보보진흥원에서 운영하고 있는 실시간 스팸차단리스트(https://www.kisarbl.or.kr/) 사이트에 메일을 발송할
    도메인을 화이트도메인으로 등록하면 된다. 이미 스팸 IP로 차단되어 있다면 해제신청도 할 수 있다.
    화이트도메인으로 등록되면 참여한 포털사이트(https://www.kisarbl.or.kr/whiteip/whiteip_tutorial.jsp)에는 특별한
    조치 없이도 메일을 정상적으로 발송 할 수 있다.

9. 그래도 발송이 안될경우
    SMTP 로그와 이벤트 뷰어를 확인해보면 메일이 발송되지 못하는 이유가 로그에 남게 된다.
    이렇한 로그를 보고 원인을 찾아 해결해야 한다.


1.개요
Freeware인 lynx를 이용하여 Web Check 모니터링 시스템을 구축하는 간단한 방법을 소개

2.Web Check 모니터링 시스템
서비스 모니터링 시 O/S의 프로세스를 모니터링 하는 것이 중요하지만
프로세스가 정상임에도 불구하고 정상 접속이 되지 않는 경우가 있음
이런 경우를 대비하여 Web Check 모니터링을 수행함

3.lynx 란?
텍스트 브라우저
웹 페이지에서 이미지를 제외하고 텍스트만 다운로드 받아 웹 서핑을 할 수 있는 브라우저
일종의 고퍼(Gopher)

4.lynx 설치
lynx RPM 을 다운로드 받고 설치

    다운로드 위치
        (IBM)
            http://www.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
        (HP)
            http://hpux.connect.org.uk
        (Sun)
            http://www.sunfreeware.com

    설치 명령
        # rpm -i lynx-2.8.4-2.aix5.1.ppc.rpm

5.Web Check 수행
① lynx 를 이용하여 Web Check하고자 하는 웹 페이지의 소스를 다운로드
   이 때 Connect Timeout을 주어 응답 시간을 제어해 줄 것
   lynx -connect_timeout=10 -source http://www.google.com

② 다운로드 받은 소스를 이용하여 웹 페이지의 정상 여부를 결정


1. 지원 기간 정책은 무엇입니까?
Microsoft지원 기간 (Microsoft Support Lifecycle)정책은 비즈니스와 개발 제품 그리고 소비자, 하드웨어, 멀티미디어, Microsoft Dynamics (이전의 Microsoft 비즈니스 솔루션) 제품에 대한 지원 정책을 표준화합니다. 이 지원 기간 정책은 2002년 10월 15일부터 시행되었습니다. 지원 기간 정책 업데이트는 2004년 6월 1일 까지 유효했습니다. 이 지원 기간 정책 업데이트는 2004년 6월 1일자 일반 지원에 포함되는 대부분의 비즈니스와 개발 제품과 미래의 제품 버전에 적용됩니다. 새로운 지원 기간 정책에는 다음과 같은 내용이 들어 있습니다.
  • 비즈니스 및 개발 제품
    Microsoft는 비즈니스 및 개발 제품에 대해 최소 10년의 지원을 제공할 것입니다. 비즈니스와 개발 제품에 대한 일반 지원은 5년 혹은 다음 제품 (N+1)이 릴리스 된 이후 2년 중에 긴 기간으로 제공됩니다. Microsoft는 일반 지원 이후 5년간 혹은 두 번째 후속 제품 (N+2)이 릴리스 된 이후 2년 중에 긴 기간으로 해서 연장 지원을 제공할 것입니다. 마지막으로, 대부분의 비즈니스와 개발 제품에 대해서는 적어도 10년 이상의 온라인 셀프 지원이 제공됩니다.

  • 소비자, 하드웨어, 멀티미디어, Microsoft Dynamics (이전의 Microsoft 비즈니스 솔루션) 제품
    Microsoft는 제품이 출시된 날로부터 최소 5년 또는 다음 후속 제품(N+1)이 릴리스 된 이후 2년 중에 긴 기간으로 일반 지원을 제공할 것입니다. 연장 지원은 소비자, 하드웨어, 멀티미디어, Microsoft Dynamics 제품에 대해서는 제공하지 않습니다. 하지만 매년 새 버전이 출시되는 Microsoft Money, Microsoft Encarta, Microsoft Picture It!, Microsoft Streets & Trips 등의 제품에 대해서는 제품이 출시된 날로부터 최소 3년 동안 일반 지원이 제공될 것입니다. 또한 대부분의 제품에는 최소 8년 이상의 온라인 셀프 지원 제공될 것입니다. 현재 Microsoft Xbox 게임은 제품 지원 기간 정책에는 포함되지 않습니다.

    제품에 대한 지원 기간을 알아보기 위해서는 지원 기간 제품 선택 사이트(제품 군별로 정리된 제품 목록) 또는 제품 지원 날짜 검색 사이트를 방문해 주십시오.

2. 이 정책은 미국 고객만 적용됩니까, 아니면 전세계 고객에게 적용됩니까?
Microsoft 지원 기간 정책은 전세계적으로 적용되는 정책이지만 지역과 산업 분야마다 법률, 시장 조건 및 지원 요구 사항이 차이가 있을 수 있으므로 Microsoft는 연장 지원 기간 이상의 고객 지원을 제공할 수 있습니다. 고객과 파트너는 계정 팀이나 해당 지역 Microsoft 담당자에게 자세한 내용을 문의해야 합니다.

3. 일반 지원, 연장 지원 및 온라인 셀프 지원 간의 차이점은 무엇입니까?

제공되는 지원

일반 지원

연장 지원

유료 문제 해결 지원 (문제(incident) 단위, 시간 단위, 기타)

X

X

보안 업데이트 지원

X

X

보안과는 관련 없는 핫픽스 지원

X

일반 지원 기간이 끝난 후 90일 이내에 추가 비용을 지불하여 연장 핫픽스 지원 계약 체결이 요구됨

무료 문제 해결 지원

X

 

일반 지원(Warranty) 주장

X

 

디자인 변경과 새 기능 요청

X

 

온라인 기술 자료(KB)에서 이용 가능한 제품 상세 정보

X

X

기술 질문에 대한 답변을 위한 Microsoft 고객 지원 사이트에서 이용 가능한 제품 상세 정보

X

X

참고: 핫픽스는 특정한 중요 문제를 해결하기 위해 Microsoft의 상용 제품 소프트웨어 코드를 변경한 것입니다.

4. Microsoft는 연장 지원 기간이 경과해도 지원을 제공합니까?
Microsoft는 해당 지역의 법률, 시장 조건 및 지원 요구 사항이 지역과 업종마다 차이가 있다는 것을 이해하고 있습니다. 이를 위해 Microsoft는 연장 지원 기간이 경과해도 고객 지원을 제공합니다. 이러한 고객 지원 관계는 보조 지원과 핫픽스 수준 지원을 포함할 수 있습니다. Microsoft의 전략적 파트너도 연장 지원 기간 이상으로 지원을 제공할 수 있습니다. 자세한 내용은 Microsoft 계정 팀 담당자, 해당 지역 Microsoft 담당자 또는 적절한 Microsoft 파트너 담당자에게 문의하십시오.

5. 만약 사용하고 있는 프로그램이 지원 기간 정책에 의해 지원되지만, 운영 체재(OS)에 대해서는 더 이상 지원 되지 않는다면 그 프로그램에 대해 여전히 지원 받을 수 있습니까? 예를 들어서 Microsoft Windows 98에서 실행되는 Microsoft Office 2000에 대한 지원을 받을 수 있습니까?
만약에 문제가 프로그램 자체에 대한 것이라면 Microsoft는 지원을 제공할 것입니다. 만약에 문제가 운영 체재(OS)와 프로그램의 조합에 의한 것이라면, 그 특정 문제에 대해서 Microsoft는 지원하지 않을 것입니다.

6. 지원 기간 정책을 정의하는 이유는 무엇입니까?
고객은 Microsoft에 일관성 있고 예측 가능한 지원 기간 정책을 요구해 왔습니다. 지원 기간 정책은 제품 지원 기간에 대한 명확하고 예측 가능한 정책을 수립하고, 고객 및 파트너가 지원 요구를 관리하도록 지원하고, Microsoft 제품의 지원 기간을 기반으로 제품 및 정보 기술을 조직 내에서 계획할 수 있게 설계되었습니다.

7. 지원 기간 정책은 어떻게 개발되었습니까?
Microsoft는 명확하고 일관성 있는 정책을 결정하기 위해 Microsoft 제품 팀, 고객, 파트너, 분석 전문가 및 리서치 회사와 긴밀하게 협조했습니다.

8. 새로운 지원 기간 정책을 적용할 제품은 무엇이며 언제 적용됩니까?
이 지원 기간 정책은 2002년 10월 15일부터 시행되며 정품 구매 또는 볼륨 라이센스를 통해 현재 사용 가능한 대부분의 제품 및 앞으로 출시될 대부분의 제품에 적용됩니다. 지원 기간 종료와 연장 지원 옵션*에 관한 정보는 제품 지원 기간 웹 사이트에서 모든 제품에 대해 온라인으로 제공됩니다. (특정 제품의 지원 일정은 국가별로 다를 수 있습니다.)

* 연장 지원은 일반 사용자, 하드웨어, 멀티미디어 제품 또는 Microsoft 온라인 서비스를 제공하지 않습니다.

9. 2004년 6월 1일 Microsoft 지원 기간에 대한 정책 수정은 제품 라이선스 사용 가능성에 어떤 영향이 있습니까?
Microsoft 지원 기간 정책과 관련된 라이선스 사용 가능성에 대한 계획은 변경이 없습니다. 현재의 모든 라이선스 이용가능성 날짜는 여전히 유효합니다.

10. 여러 Microsoft 제품이 있을 경우 모두 동일한 지원 기간 일정이 적용됩니까?
Microsoft의 지원 기간 일정은 새 제품과 앞으로 출시될 제품에서 제품 패밀리에 따라 일관성 있게 적용됩니다. 그러나 기존 버전과 이전 버전의 Microsoft 제품에서는 기간 일정이 다르게 적용됩니다. 이런 이유로 제품 지원 기간 웹 사이트에 게시된 정확한 제품 지원 날짜를 항상 확인하는 것이 중요합니다. (특정 제품의 지원 일정은 국가별로 다를 수 있습니다.)

11. 연장 기간에는 누가 지원을 받을 수 있습니까?
연장 지원은 모든 고객*이 사용할 수 있습니다. 연장 지원에는 시간 단위로 요금이 청구되는 지원과 유료 핫픽스 지원이 포함됩니다. 핫픽스 지원을 받으려면 일반 지원 기간이 끝난 후 90일 이내에 추가 비용을 지불하여 연장 핫픽스 지원 계약을 체결해야 합니다. Microsoft는 연장 기간 중에 보증 지원, 디자인 변경 또는 새 기능에 대한 요청을 승인하지 않을 것입니다.

* 연장 지원은 일반 사용자, 하드웨어, 멀티미디어 제품 또는 Microsoft 온라인 서비스를 제공하지 않습니다.

12. Microsoft의 도움과 유료 지원 제공이 종료 된 후, 지속적으로 지원을 받고자 한다면 어떤 옵션이 있습니까?
Microsoft는 Microsoft로 부터 더 이상의 도움 지원을 받을 수 없는 Microsoft 제품에 대한 지원 옵션에 대해 웹 사이트를 제작했습니다. 상세 정보를 위해서 만료된 제품 지원 옵션 웹 사이트를 방문하십시오.

13. 지원 기간 정책은 지원 계약인 Alliance, Premier(프리미어) 및 Authorized Premier에서 어떻게 적용됩니까?
일반 지원 단계에서 고객은 추가 계약 없이 현재 제공되는 것과 동일한 지원을 받게 됩니다. 연장 지원 기간에 핫픽스 지원을 받으려면 연장 핫픽스 지원 계약이 필요합니다. 기존 지원 계약을 체결한 고객은 기술 계정 관리자(TAM)와의 협의를 통해 특정 환경에 사용할 수 있는 옵션을 결정해야 합니다. 관리되지 않는 계정(지원 계약을 체결하지 않은 고객)은 핫픽스를 요청하도록 최소한의 계정 관리를 제공하는 연장 핫픽스 지원 계약을 체결하는 옵션을 갖습니다.

14. Alliance, Premier(프리미어) 또는 Authorized Contract가 없는 고객은 핫픽스에 대한 연장 지원 계약을 어떻게 체결할 수 있습니까?
고객이 해당 지역의 (주)Microsoft에 연락하면 됩니다. 연장 핫픽스 지원 계약 체결에 대한 자세한 내용은 http://www.microsoft.com/usa/offices 웹 사이트를 방문하십시오. 해당 지역의 프리미어(Premier) 지원 영업 관리자에게 문의하십시오.

15. 연장 지원 기간 동안 핫픽스 지원은 필요하지 않고 전화 지원만 필요합니다. 연장 지원 계약을 체결해야 합니까?
예. 필요하면 연장 지원 기간 동안 전화 지원 계약을 체결할 수 있습니다.

16. 지원 기간이 개인 지원(가정 사용자와 재택 근무하는 고객의 요구를 만족시키도록 사용자 지정된 전화 및 웹 지원 옵션)에 어떤 영향을 미칩니까?
일반 지원 기간 동안 고객 지원 옵션은 현재와 동일하게 유지됩니다. 고객은 사용 중인 제품의 연장 지원 옵션에 대한 제품 기간 정보를 제품 지원 기간 웹 사이트에서 확인할 수 있습니다. (특정 제품의 지원 일정은 국가별로 다를 수 있습니다.) 연장 지원을 사용할 수 있는 경우 고객은 핫픽스 지원에 대해 연장 지원 또는 전화 전용 지원 계약을 체결할 수 있습니다.

17. 보안 패치 정책은 무엇입니까?
Microsoft는 보안 패치 정책을 변경하지 않았습니다.

  • 비즈니스 및 개발 소프트웨어
    대부분의 제품에서 추가 비용을 들이지 않고도 지원 기간(일반 지원 기간 5년 + 연장 지원 기간 5년)이 끝날 때까지 보안 패치를 사용할 수 있습니다. 보안 업데이트는 일반 지원 기간과 연장 지원 기간 동안Microsoft Update 사이트에 게시될 것입니다.

  • 고객/하드웨어/멀티미디어/비즈니스 솔루션 제품
    보안 패치는 일반 지원 기간이 끝날 때까지 제공될 것입니다.

18 고객이 보안 패치를 받는 데 연장 지원 계약이 필요합니까?
아니요. 모든 고객은 Microsoft에 보안 문제를 보고할 수 있습니다. 보안 업데이트가 만들어진다면, 이 문서상에 설명된 것과 같이, 업데이트는 고객에게 제공될 것입니다.

19. 서비스 팩에 대한 정책은 무엇입니까?

  • Microsoft는 후속 서비스 팩이 릴리스 된 이 후 12개월 동안 서비스 팩에 대한 지원을 제공 할 것입니다.
  • Microsoft가 고객이 테스트와 개발을 위해 추가적인 시간이 필요하다고 판단되는 서비스 팩에 대해서 24개월의 연장 지원을 제공 할 수 있습니다. 예를 들어 Windows XP 서비스 팩 2 (SP2) 릴리스 후 Microsoft XP 서비스 팩 1(SP1)에 대해 24 개월 간의 지원을 받을 수 있습니다.
  • 만약 서비스 팩에 대한 지원이 연장된다면 Microsoft는 후속 서비스 팩이 릴리스 될 때 이를 공지 할 것입니다.

제품과 서비스 팩 지원에 대한 상세 정보를 위해서는 지원 기간 제품 선택 사이트(제품 군별로 정리된 제품 목록) 또는 제품 지원 날짜 검색 사이트를 방문해 주십시오.

20. 라이센스를 받은 후에 Microsoft 소프트웨어를 얼마 동안 법적으로 사용할 수 있습니까? 소프트웨어 라이센스가 지원 기간에 의해 영향을 받습니까?
지원 기간은 제품 사용 가능 기간에는 영향을 미치지 않고 Microsoft가 제품에 대한 기술 지원을 얼마나 오랫동안 제공하는지를 설명합니다.

21. 고객과 파트너는 아직 사용할 수 없거나 여전히 일반 지원 기간인 제품의 지원 기간을 어떻게 예측할 수 있습니까?
새 정책은 Microsoft가 제품을 지원하는 기간을 예측하는 데 도움을 주도록 설계되었습니다. 비즈니스 및 개발자 제품의 경우 Microsoft는 적어도 10년의 지원 기간을 표준화하고 있습니다. 이 지원 기간은 5년의 일반 지원 혹은 후속 제품(N+1)이 릴리스 된 후 2년 중에 긴 것 그리고 5년 연장 지원 혹은 후속 제품이 (N+2) 릴리스 된 후 2년 중에 긴 것을 합친 것입니다. 고객, 하드웨어, 멀티미디어, Microsoft Dynamics 제품의 경우, Microsoft는 최소한 5년의 일반 지원 혹은 후속 제품(N+1)이 릴리스 된 후 2년 중에 긴 기간으로 표준화하고 있습니다. 매년 새 버전으로 출시되는 제품은 3년 동안 일반 지원이 제공됩니다. 고객, 하드웨어, 멀티미디어, Microsoft Dynamics 제품과 매년 새 버전으로 출시되는 제품에 대해서는 연장 지원이 제공되지 않습니다. 모든 제품에 대한 지원 기간 종료 날짜와 연장 지원에 대한 상세 정보를 위해서 지원 기간 제품 선택 사이트(제품 군별로 정리된 제품 목록) 또는 제품 지원 기간 인텍스 사이트를 방문해 주십시오.

22. 보안 또는 비보안 핫픽스를 적용하려면 최신 서비스 팩을 설치해야 합니까?
핫픽스는 항상 설계 목적에 맞는 서비스 팩에 설치되어야 합니다. Microsoft 보안 패치는 현재 출시되는 서비스 팩 및 상용으로 언제든지 실행 가능한 바로 이전 서비스 팩에 대해 작성되며 http://microsoft.com/korea/security/ 웹 사이트를 통해 모든 고객이 사용할 수 있습니다. 고객은 현재 출시되는 서비스 팩이나 여전히 지원되는 바로 이전 서비스 팩에 대해 비보안 핫픽스를 요청할 수 있습니다.

23. 보안 패치는 얼마나 오랫동안 사용할 수 있습니까?
Microsoft는 다음과 같은 대부분의 제품에 대해 보안 패치를 무료로 제공합니다.

  • 비즈니스 및 개발 소프트웨어
    고객은 대부분의 제품에서 추가 비용을 들이지 않고도 연장 지원 기간(일반 지원 기간 5년 + 연장 지원 기간 2년)이 끝날 때까지 보안 패치를 사용할 수 있습니다. 고객은 연장 지원 기간 중에 보안 수정 프로그램을 받기 위해 연장 지원 계약에 서명할 필요가 없습니다. 제품 지원 기간 페이지를 방문하여 특정 제품의 지원 일정을 알아보십시오. (특정 제품의 지원 일정은 국가별로 다를 수 있습니다.) 제품 지원에 대한 상세 정보를 위해서는지원 기간 제품 선택 사이트(제품 군별로 정리된 제품 목록) 또는 제품 지원 날짜 검색 사이트를 방문해 주십시오.

  • 고객/하드웨어/멀티미디어
    보안 패치는 대부분의 제품에서 일반 지원 기간이 끝날 때까지 추가 비용 없이 고객에게 제공될 것입니다. 제품 지원 기간 페이지를 방문하여 특정 제품의 지원 일정을 알아보십시오. (특정 제품의 지원 일정은 국가별로 다를 수 있습니다.) 제품 지원에 대한 상세 정보를 위해서는 지원 기간 제품 선택 사이트(제품 군별로 정리된 제품 목록) 또는 제품 지원 날짜 검색 사이트를 방문해 주십시오.

24. "프로그램 add-ons"에 대한 지원 기간 정책은 무엇입니까?
지원 기간 의 마지막 기간에 있는 제품(예: Microsoft Windows NT Workstation 4.0)에 대한 add-ons(예: Microsoft .NET Framework 1.1) 지원 요청에 대한 지원은 고객 지원 계약이 성립되어 있지 않는 한 일반적으로 이용 가능 하지 않습니다. 따라서 지원 기간 제품 선택 사이트(제품 군별로 정리된 제품 목록) 또는 제품 지원 날짜 검색 사이트에 게시되어 있는 제품 지원 기간을 확인 해 주십시오.

25. Microsoft는 어떻게 지원 기간 정책에서 CD나 매뉴얼 같은 교체 파트를 관리합니까?
Microsoft는 CD나 매뉴얼과 같은 교체 파트를 제품의 버전에 따라 관리합니다. 교체 파트는 제품의 현재 버전과 한 단계 이전 버전 (N-1)에서 이용가능 할 것입니다.

26. Microsoft를 통해 취득한 제품에 대한 지원 기간은 무엇입니까?
취득 날짜 이전에 릴리즈된 제품은 지원 기간 정책에 포함되지 않거나 지원되지 않을 수도 있습니다. 이런 경우 지원은 개별 취득 약관을 따르게 됩니다. Microsoft는 각 제품에 대한 지원 종료 기간을 지원 주기 웹 사이트에 게시할 예정입니다. 목록에서 "일반 사용 가능 날짜"는 제품을 취득한 날짜이고, "일반 지원 중단"은 취득한 제품에 대한 지원 종료일입니다. 일반적으로 지원 기간 정책은 Microsoft 브랜드로 출시되는 새로운 소프트웨어 릴리즈에 적용됩니다.



 

마지막으로 검토한 날짜 : 2011년 2월 14일 월요일

관련사이트 : 지원정책 FAQ http://support.microsoft.com/gp/lifepolicy
                  제품지원기간  http://support.microsoft.com/gp/lifeselectindex

 

After a few trial and error attempts to upgrade the NIC and port speed on several Linux servers running Suse Linux Enterprise Server 9 I have documented the procedure I follow to complete this successfully.  First of all, the port on the switch needs to be set at the speed that you want to configure the NIC at.  In this case, I’m am setting all of my servers to 1000/Full duplex.
First, make sure the module options for the nic is configured correctly.  You should be able to find this file at /etc/sysconfig/hardware and it should look like this;

serverhost:/etc/sysconfig/hardware # cat hwcfg-bus-pci-0000:06:00.0
MODULE=’bcm5700′
MODULE_OPTIONS=’line_speed=1000 full_duplex=1 auto_speed=1′
STARTMODE=’auto’
#################

Also, I created the following script to manually match the speed and duplex, because Suse is tempramental.


#!/bin/ksh
#
### BEGIN INIT INFO
# Provides: Netspeed
# Required-Start: $network
# Required-Stop:
# X-UnitedLinux-Should-Start:
# X-UnitedLinux-Should-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: Sets Netspeed
### END INIT INFOif [ -x /usr/sbin/ethtool ]; then
/usr/sbin/ethtool -s eth1 speed 1000 duplex full autoneg on
fi
exit 0Then vi a file /etc/init.d/netspeed and paste the script above and follow these commands.

#cd /etc/init.d
#chmod 755 netspeed
#chkconfig netspeed on
#/etc/rc.d/rc3.d/S07netspeed

Then check NIC again using ethtool, reboot and verify it reboots at the right speed and duplex.

1. Windows 2003의 C Disk 확장
 - 일반적으로 온라인상황에서는 불가합니다. 왜냐 paging 영역 및 기타 시스템 영역이 있어서 확장 불가능하죠
 그렇다면 어떻게 증가하느냐 별도의 다른 O/S를 통해서 기동한 이후 증설해야 합니다.

 결국 offline으로 증가가 되겠죠 방법은 아래와 같습니다.

  가. 아래 첨부한 pebuilder5.6.3.iso로 서버를 기동합니다. iso 파일이니 알아서 구우시길
  나. cmd 창만 실행 가능한 화면이 덩그라니 있습니다. 그담에 diskpart 실행 이후 extend로 확장

2. Windows 2008의 C Disk 확장
  2008은 놀랍게도 정말 놀랍게도 그냥 자동으로 확장됩니다.
  diskpart - list disk - select disk 0 - select partition - extend 끝
  또는 그냥 디스크 관리자에서 수행 가능

1. HP-UX 11.X File System 구조

1.1 File system layout

 

- Static(Shared) 디렉토리들에는 실행파일이나 OS 다큐멘테이션 등과 같은 read-only파일들이 존재한다. 이 디렉토리는 다른 호스트들에 의해 공유될 수 있다.- Dynamic(Private) 디렉토리들에는 사용자 작업 파일이나 어플리케이션 구성파일, 로그 파일 등이 존재한다. 이 곳에는 호스트마다 다른 특정한 정보들이 있다.- O/S install시 기본으로 /, /stand, /var, /opt, /usr, /tmp, /home의 file system이 구성됨.

 

1.2 Commands to Help You Navigate

- find : file 및 file system 의 구조를 탐색할 수 있다.[예제] # find . –size +1000000c|tee /tmp/bigfiles

ð

1M 이상의 파일을 찾아서 stdout 과 /tmp/bigfiles에 저장- whereis : source, binaries, man pages 을 찾을 수 있다.[예제] # whereis sendmail- which : PATH 변수에 설정된 환경 하에서 실행 파일을 찾을 수 있다.[예제] # which sendmail- file : file type을 알 수 있다.[예제] # file /usr/sbin/sendmail

 

1.3 시스템의 주요 정보 및 파일들

n

아래의 command를 실행한 후 출력 결과를 printer로 출력하여 보관한다.이 정보는 향후 시스템에 문제가 발생할 경우 필요한 최소한의 정보로 고객의 시스

템에 설치된 product에 따라 더 많은 Configuration file이 필요할 수도 있다.

시스템 관리자는 반드시 아래 내용을 Printer로 출력하여 두고 필요한 모든 Configuration file을 별도로 백업 받아둔다.

- System Configuration Information

# ioscan -fn

# strings /etc/lvmtab

# vgdisplay -v Volume-Group-Name

# lvdisplay -v Logical-Volume-Name

# bdf

# swapinfo

# sysdef

ð 현재 실행중인 o/s kernel 을 분석하여 tunable configuration parameter를 보여줌

# dmesg

# lpstat -t

# lvlnboot –v

ðboot, root, primary swap, dump logical volume에 대한 정보를 보여줌

# cat /stand/system

# cat /etc/passwd

# netstat –rn

# lanscan

 

n 시스템의 중요한 파일들/etc/passwd User ID 및 password가 들어 있는 파일/etc/group Group ID와 Group에 속한 User ID가 들어 있음/etc/fstab file system의 mount정보가 있음/etc/PATH 모든 사용자에게 적용되는 PATH 설정을 위한 파일. /etc/rc.log 시스템 부팅 시 생성되는 log 파일/etc/resolv.conf Name Server(DNS, NIS)를 지정하는 파일/etc/rc.config.d/namesvrs DNS, NIS Server 설정 파일/etc/rc.config.d/netconf hostname, ip-address, routing에 대한 정보가 있는 중요한 파일/etc/nfsconf NFS 설정을 위한 파일

 

n기타 configuration files

/etc/cmcluster/* HA Product(MC S/G, MC L/M) 의 configuration file 및 실행 파일

 

1.4 Log Files

n 무한정 커지는 log files

File name Command Description
/var/adm/wtmp last Successful login attempts
/var/adm/btmp lastb Unsuccessful login attempts
/var/adm/sulog
Log uses of “su” command
/var/adm/cron/log

/var/adm/lp/log

/var/adm/sw/sw*.log

 

- 대부분의 모든 log file들은 /var directory에 쌓인다.- O/S 및 Application 의 임시파일은 /tmp 혹은 /var/tmp directory에 쌓인다.- File system 관리적인 측면에서 정기적으로 clear 시키는 것이 좋다.

#cat /dev/null >/var/adm/wtmp or # >/var/adm/wtmp

 

n Core File

- Core File은 시스템의 어디서나 나타날 수 있다.

어떤 신호를 받을 때 만들어지고 종료되지 않은 프로세스의 코어 이미지이다.

가장 일반적인 원인으로는 메모리 위반, 잘못된 지시, 유동 소수점 예외, 버스

오류, 사용자 생성 종료 신호 등이 있다.- Core File을 이용하면 프로세스가 종료할 때 수행 중이던 일을 분석할 수 있다.[예제] # strings /tmp/core - 대체로 core 파일은 의미가 없고 size가 크기 때문에 파일 시스템 관리적인 측면

에서 삭제 해준다.

[예제] “core “ 파일을 찾아서 모두 삭제

# find / -name core –exec rm {} \;

 

n Large and Old Files

- Size가 5M byte 이상인 파일을 찾아냄.[예제] # find / -size +5000000c -print ( c: byte )- 5일 동안 Access하지 않은 파일을 찾아냄.[예제] # find / -atime 5days -print :

 

2. Kernel Configuration

2.1 커널의 위치

- 9.X /hp-ux

- 10.X /stand/vmunix

- 11.X /stand/vmunix

/stand/dlkm (DLKM, kernel function set directory)

2.2 커널 재구성이 필요한 경우

- Kernel parameter를 수정한 경우- 특정 driver를 추가/삭제한 경우- HP의 sub-system을 추가/삭제 한 경우

2.3 11.X 의 새로운 특징

n prior to 11.X - Static Kernel Modules

 

n 11.X – Dynamic Kernel Modules

 

2.4 커널 재구성 방법

n SAM 이용

n HP-UX 명령어를 이용

Ø 방법 1

# cd /stand

# cp system system.prev

# cd /stand/build

# /usr/lbin/sysadm/system_prep –s system

# kmtune –s dbc_max_pct=25 –S /stand/build/system

ðtunable parameter value 수정

ð-s dbc_max_pct : dynamic buffer cache 의 max percentage를 25 로 설정(set) 하라는 의미

ð-S /stand/build/system: system 파일을 명시, default는 /stand/system을 사용한다.

# kmsystem –c Y –S /stand/build/system stape

ðdriver/subsystem 추가 및 삭제

ðmodule configuration 및 loadable flag set

# cp –p system /stand/system

# mk_kernel –s system

ð 현재 directory에 vmunix_test 생성 됨

ðDLKM file은 “dlkm.vmunix_test” dir에 생성됨.

# kmupdate /stand/build/vmunix_test

ð 새롭게 생성된 kernel로 update한다. /stand에 있는 기존 version은 vmunix.prev와 dlkm.vmunix.prev로 자동 저장된다.

# cd /

# shutdown –r 0

Ø 방법 2

# cd /stand/build

# /usr/lbin/sysadm/system_prep –s system

# vi system ( 원칙적으로 kmtune/kmsystem 사용 권고)

ðtunable parameter 및 driver/sub-system 변경

# mk_kernel –o /stand/vmunix –s /stand/build/system

ð 현재 directory에 vmunix_test 생성됨. DLKM file은 “dlkm.vmunix_test” dir에 생성됨.

ð/stand 에 .update_ux라는 file이 생성되면서 rebooting시에 새로 만들어진 kernel이 자동으로 update 될 것이라는 message가 나타난다.

ð/stand에 있는 이전version은 vmunix.prev 와 dlkm.prev로 save되고 vmunix_test 가 vmunix로 dlkm.vmunix_test가 dlkm.vmunix로 부팅 시 자동 update된다.

# mv /stand/system /stand/system.prev

# cp system /stand/system

# cd /

# shutdown –r 0

 

[참조] 700 series(workstation) - 권장 Kernel Parameter 값

 

Parameter Original
Technical
Enhanced Technical Workstation Enhanced C/J Class Technical Fileserver
maxusers maxfiles maxfiles_lim maxdsiz maxtsiz maxssiz ninode maxuprc nproc* nfile* npty nstrpty maxswapchunks create_fastlinks netmemmax fs_async default_disk_ir 32 60 1024 64MB 64MB 8MB 476 50 276 32 60 60 256 0 0 0 0 128 254 2048 1280MB 512MB ~79MB 4000 256 1044 2730 200 200 1024 1 0 1 1





SAME






4096 1 -1 0 0
* Defaults based on Formulas 초기 설정값 성능을 강조한 구성 (가장 적합한 구성) Data integrity 를 강조한 구성

 

 

 

3. Swap/Dump Configuration

3.1 Swap

3.1.1 Swap의 개요

Swap 공간은 가상 메모리 시스템이 paging process에 사용하도록 예약된 고속의 기억 장치 이다. 실제 메모리는 컴퓨터의 유한한 자원이다. 아주 많은 프로세스가 실제로 수행하거나 실행할 준비가 되어 있다 해도 어느 한 순간에 실제 메모리에 들어 갈 수 있는 프로세스 수는 제한되어 있다. 실제 메모리 요구가 높으면 프로세스의 일부가 디스크상의 swap공간으로 옮겨지고 실제 메모리 요구가 낮으면 프로세스의 일부가 swap영역에서 메모리로 다시 옮겨진다.Vhand 데몬은 최근에 사용되지 않은 페이지를 찾아서 이들 페이지를 swap장치로 옮긴다. Statdaemon은 vhand가 메모리 요구에 맞을 만큼 충분히 빠르게 메모리를 비울 수 없다고 통지하면 swapper를 호출한다. 이때 vhand가 프로세스의 페이지를 swap 장치로 옮기고 swapper가 그 프로세스를 deactivation 시킨다.

 

3.1.2 Swap의 종류

        a. Device Swap : 오직 Swap 용도로만 사용되는 공간을 가짐. 주로 booting시 사용되는 Primary Swap 과 일반 작업 시 사용되는

            Secondary Swap으로 구분할 수 있다.

        b. File System Swap : 때에 따라서 Swap으로 또는 파일 시스템으로도 사용된다. Device Swap 보다느리게 작동한다. Windows의

            Temp 디렉토리 같은 역할.

c. Pseudo-Swap : 시스템의 메모리가 아주 클 때 memory 의 일부를(최대 physical memory size의 10%) swap으로 사용하여 시스템의 성능을 향상 가능함. Kernel parameter인 “swapmem_on”을 enable시켜야 사용 가능하다.

 

3.1.3 swap 영역 만들 때 성능 향상을 위한 고려 사항

          - Device Swap을 만들 시엔 하나의 큰 swap 영역보다 서로 다른 디스크에 위치

한 두개의 (및 같은 성능)의 swap이 더 좋다.

          - 한 디스크에 단지 한 개의 swap 영역 구성이 좋다. 즉 primary swap 이 위치

하고 있는 disk에 또 다른 swap 영역 구성은 좋지 않다.

          - 여러 개의 swap 영역 구성 시 서로가 비슷한 size 여야 한다.

          - 파일 시스템 swap을 만들 경우에는 access가 적은 disk 이며, 가장 빠른 디스크에 만드는 게 좋다

          - Swap 영역의 우선 순위는 device swap 영역을 파일 시스템 영역보다 높게 설정하고,같은 성능의 영역일 경우 동일한 우선 순위를

            부여한다.( 0 ~ 10, 0 이 가장 높은 순위)

 

3.1.4 Swap 만들기

newfs 또는 SAM으로 공간을 만들고 # lvcreate –L 1024 /dev/vg01/secswap

ð1GB size secondary swap 영역을 만든다.

/etc/fstab에 반영

   ð/etc/fstab 의 예
/dev/vg01/secsswap swap pri=1 0 0 # device swap
/dev/vg01/lvol2 /fileswap swapfs min=10,lim=4500,pri=2 0 0 # file swap

 

② /sbin/swapon 명령 으로 구동 시킬수 있다.

# swapon –a

ðfstab에 등록된 모든 swap 영역을 enable 시킨다.

# swapon /dev/vg01/secswap

ðsecswap 영역을 enable 시킨다.

 

3.2 Dump

3.2.1 crash dump 의 개요

crash dump는 시스템이 비정상 종료 시 physical memory 에 load 되었던 page들을 이미지 형태로 추출한 것이다. 이것은 비정상 종료를 유발시킨 원인을 분석하는데 중요한 근거 자료로 사용될 수 있기 때문에 아주 중요한 의미를 가진다.

3.2.2 crash dump 영역 특징

- 다른 덤프 영역을 특별히 지정하지 않으면, primary swap 영역이 사용된다.- 시스템에 여러 개의 다른 덤프 장치를 구성할 수 있다.- 덤프 장치로서의 논리볼륨(or 디스크 섹션)이 필요하다. (논리볼륨은 contiguous하고, bad block relocation 을 disable 해야 한다.) - Swap 영역과 dump 영역은 share 가능하지만 별도의 dump 영역을 설정하는 것이 좋다. (fast booting을 위해서, dump data를 안전하게 보호하기 위해서)

 

 

11.X 에서의 새로운 기능

No Prior to 11.X 11.X
1 Kernel에 구성 후 dump device 구성 가능 /etc/fstab에 등록
crashconf 명령어로 등록
ð No rebooting
2 Full dump 만 가능 full dump
selective dump
partial dump
3 Only root volume group 에만 dump device 구성 가능 Non-root volume group 에도 dump device 구성 가능
4 Savecore 명령어로 crash dump를 filesystem으로 save Savecore 명령어 없어짐. 대신 savecrash와 crashutil 사용
5 Tape으로 crash dump를 백업 가능 Tape으로 direct하게 formatting 불가. Filesystem에 복사 후 백업 명령어(tar)를 이용하여 tape에 백업 가능
6 Disk의 starting point로부터 4GB이내에 위치해야 한다. 제약 사항 없음.

 

3.2.3 Crash dump device 크기

          a. Full Dump

              Physical memory size + 10MB

          b. Selective Dump 시Physical memory size*0.25+10MB 혹은

시스템의 load가 많을 때 “crashconf –v”로 확인한 결과 값

          c. partial dump partial dump는 full dump를 기초로 구성된 영역 안에서 dump가 저장된다.

즉 physical memory가 32GB이고, dump device가 총 12GB가 구성되어 있다면, partial dump는 full dump 32GB 중에서 구성된 영역인 12GB가 저장된다.

 

3.2.4 Crash dump 구성

-.

SAM을 사용하는 방법

-.HP-UX 명령을 사용하는 방법

dump device 영역 생성

#lvcreate –C y –r n –L 2100 /dev/vg00/lvol9

dump device 등록

a.fstab에 등록

#vi /etc/fstab

<defive file name> <mount point> <type> <options> <backup frequency> <pass number>

/dev/vg00/lvol9 … dump defaults 0 0

                           #crashconf -a

                           혹은 command line에서 구성

#crashconf /dev/vg00/lvol9

b.dump device가 root disk에 구성 시에는 BDRA영역을 update 한다.

                        # lvlnboot –d /dev/vg00/lvol9

dump type 설정

a.selective dump 를 위한 memory class 정의

#crashconf –v

                                (default로 구성된 selective dump의 memory calss를 확인)

#crashconf –I <in-mem-class > -e <ex-mem-class >

b.full dump 구성

#crashconf –I all

or

#vi /etc/rc.config.d/crashconf

CRASH_INCLUDED_PAGES=”all”

               #/sbin/init.d/crashconf start

c. dump disable

#crashconf –e all

or

#vi /etc/rc.config.d/crashconf

CRASH_EXCLUDED_PAGES=”all”

                #/sbin/init.d/crashconf start

☞ NOTE
crashconf로 수행하는 모든 구성 사항은 시스템이 rebooting 후 사라지게 되므로 영구적으로 구성 시에는 /etc/fstab 및 /etc/rc.config.d/crashconf 에 구성한다.

 

3.2.5 Crash dump 받기(saving) - savecrash / crashutil

*

savecrash – booting 시에 수행savecore(prior to 11.x)와 비슷한 기능을 수행한다.

즉, dump device에서 filesystem으로 crash dump를 저장하고 shutdownlog에 reboot message를 기록한다.

#vi /etc/rc.config.d/savecrash

              SAVECRASH=1 로 설정 (default 임)Fast boot을 위해서 swap과 share하는 부분만 booting 시에 저장하고(즉, dump device를

              swap 영역과 share하기 때문에 부팅 후 swap activity에 의해 crash dump가 lost될 수 있다) 나머지 부분은 backgroup proces로

             실행된다. 이 부분은 특히 부팅 후 crashutil을 이용해서 저장할 수도 있다.

crashutil – booting 후에 수행- non-swap dump device에 있는 crash dump를 저장한다.- Dump format을 다양하게 변경 시켜 분석 tool(q4 or adb)에서 사용 가능하게 만든다.

 

Crash Dump 구성 사례

▷ 시스템 사양 : V2600/32GB

▷ 고객 요구사항 : 시스템이 비정상 종료 시에도 시스템의 uptime을 최대한 보장

하면서 비정상 종료를 유발한 원인 분석

      * Selective dump, 별도의 dump device 설정

# lvcreate –C y –r n –L 4200 –n dump1 /dev/vg00

# lvcreate –C y –r n –L 4200 –n dump2 /dev/vg01

ðdump 영역으로 total 약 8GB를 확보

# lvlnboot –d /dev/vg00/dump1

ðroot vg에 구성시 BDRA에 update 시킴

# vi /etc/fstab

/dev/vg01/dump2 … dump defaults 0 0

# crashconf –a

ðdump2를 enable

# crashconf –v

ðdump device 구성 확인 및 selective dump 확인

# vi /etc/rc.config.d/savecrash

SAVECRASH=0

ðfast boot을 위해서 dump를 부팅 시에 save하지 않고 부팅 후 save한다.

System panic 발생 Crash dump는 dump device에 저장됨(store) System이 완전히 부팅 후 !!

# savecrash –v –f

ð/var/adm/crash에 dump가 저장(save)되어 있음

# tar cvf /dev/rmt/0m ./var/adm/crash ./etc/shutdownlog

HP RC로 Call 접수

 

[관련 화일들]

   /sbin/init.d/crashconf à /etc/rc.config.d/crashconf/sbin/init.d/savecrash à /etc/rc.config.d/savecrash

/etc/fstab

/etc/shutdownlog

/var/adm/crach

/sbin/crashconf

/sbin/savecrash

/sbin/crashutil

 

 

4. Device Configuration

4.1 Device file의 개요

*Device file이란?Device file은 kernel에 포함된 driver(device와 관련된 중요한 정보)를 참조하고(major number를 통해서), device가 연결되어 있는 시스템의 H/W 위치를 지칭 한다.(minor number를 통해서) HP-UX는 device file을 통해 주변기기의 동작을 수행하며, device file의 성격에 따라 그 수행동작을 달리한다.

 

* Device file type

- Block device file or character device file

          - 같은 device가 두 가지의 device file을 가지는 것도 있다.

          a. Block device file. 시스템 버퍼를 이용하여 데이터를 block 단위의 묶음으로 전송. I/O 속도가 빠르다..

                주로 기억 장치에 사용 (hard disk, optical disk)

            b. Character device file. 데이터를 한번에 한 문자씩 전송. 단말기, 프린터, 플로터 등에 사용

 

 *

“/dev” Directory 구조

               device file은 /dev에 저장되며 각각의 device에 따라 subdirectory로 분류된다.

* Device file naming convention

Device file naming conventions prefix [id or device spec] [options]
예제1 /dev/rmt/0m id 를 사용한 예제즉 0m은 시스템 or 시스템 관리자에 의해 부여된 id일 뿐이다.
예제2 /dev/dsk/c0t6d0 Device spec을 사용한 예제c# : Interface Card instance
t# : Target address on bus
d# : Device unit at target

 

4.2 Listing device file

 

a. ll

b. ioscan

             : 시스템에 구성된 devic의 h/w path, 해당 device와 관련된 모든 device file을 보여준다.

            [예제1] # ioscan –fn

ð f : 시스템의 hardware를 scanning해서 full list 형태로 보여준다.

ð n : device file name 을 보여준다.[예제2] # ioscan –fnkC disk

ð Kernel i/o system data structure(실제 h/w를 scanning하지는 않음)를 scanning해서 class가 disk인 device만

   full list 형태로 보여준다.

c. lsdev

             : 시스템에 구성된 device driver를 보여준다.[예제1] # lsdev

ð <character> <block> <driver> <class> 의 순서로 보여줌[예제2] # lsdev –d spt

ð driver가 spt 인 device driver 의 list를 보여줌

d. lssf

             : device file의 특성을 보여준다.[예1] # lssf /dev/rmt/0m

 

4.3 Device file 의 생성 및 삭제

Device file 생성방법

Ø autoconfiguration

부팅 시 “ioinit “ process에 의해서 new device가 인식되어 해당 device file

이 자동으로 생성 된다.

Ø SAM

Ø insf

                  - System에 의해 instance number가 할당되지 않았을 때 사용- 한번에 여러 개를 구성 시 사용. - 새로 모든 장치를 재구성 시 사용

# insf -e

ð시스템에 있는 모든 device의 file을 새로 생성하거나 재생성

# insf –H 4/2/0 -e

ðaddress가 4/2/0에 있는 device의 device file 재생성

Ø mksf

                  - System에 의해 instance number가 할당되었을 때 사용- 특정 device file을 구성 시 사용

# mksf –v –r –C disk –m 0x005000 /dev/rdsk/c0t5d0

ðscsi address가 5번인 disk의 character device file을 생성

# mksf –v –C disk –m 0x005000 /dev/dsk/c0t5d0

ðscsi address가 5번인 disk의 block device file을 생성

Ø mknod

                  - Major number와 minor number를 이용하여 만든다.

# mknod /dev/spt/robotic_arms c 231 0x110000

ðMajor number가 231(driver number)이고 minor number(device

위치)가 0x110000인 device file을 생성

Ø rmsf

                  - 필요 없는 device의 관련된 device file(one or more)을 삭제할 때 사용

# rmsf –a –H 4/2/0

ð address가 4/2/0 이하인 모든 device file을 삭제

 

Device 설치 예제 (device file 생성) [예제 1] DLT library의 robotic controller를 위한 device file 만들기 (HP-PB)

ioscan으로 robotic controller의 H/W path를 찾는다.

# ioscan –fn

ð 현재는 “unclaimed unknown”으로 display 된다.

Kernel에 해당 driver를 포함시킨다. (다음 두 줄이 추가됨)

#vi /stand/system

spt

driver spt <H/W Path>

③ Kernel을 새로 구성한다.

☞ “Chap 4 kernel configuration” 참조

④ Spt driver의 character major number를 알아낸다.

# lsdev –d spt

ð Major number가 XXX 라고 가정

⑤ Robotic arm의 minor number를 알아내기 위해 해당 위치를 알아낸다.a. Robotic controller가 연결되어 있는 ext_bus class의 instance number 두 자리(AA)b. Robotic controller의 target class의 SCSI address 한자리(B)c. Robotic controller의 LUN number 한자리(C)

# ioscan –fn

“mknod” 명령어를 이용하여 device file을 만든다.

      #mknod /dev/spt/robotic_arms c XXX 0xAABC0000

생성된 Device file 을 확인한다.

     # ioscan –fnH <H/W Path>

ð 새로 생성된 device file이 display 된다.

     # mc –p /dev/spt/robotic_arms –r <I><D><S><M>

ð 생성된 robotic controller의 device file을 이용하여 DLT Library

상태를 display 해 본다.

 

            [예제 2] DDS3를 사용하는 tape 장치에서 DDS2용 device file 만들기

기존 DDS3의 driver 및 H/W Path 알아내기

# ioscan –fnkC tape

ð drive 및 H/W path를 알아낸다.Drive는 stape, H/W Path는 0/0/1/0.0.0 이라고 가정(N class)

② DDS2 용 device file 만들기

# mksf –d driver –H 0/0/1/0.0.0 –b DDS2 /dev/rmt/DDS2

③ Device file 확인하기

# ioscan –fnkC tape

ð 생성된 device file “/dev/rmt/DDS2” 가 display 된다.

# lssf /dev/rmt/DDS2

ð“DDS2 DAT” 라는 description이 display된다.

 

5. Disk 구성

5.1 Disk partitioning

*

Disk partition 이란?사용자의 목적에 맞게 size, 성능, 안정화 방안 등을 고려하여 만든 physical disk의 일부분

*

Disk partitioning 방법 a. Whole disk partitioning : 구성이 간편b. LVM : 많은 관리상의 유연성 및 융통성(flexibility) 제공

5.2 LVM 개요

- Logical Volume Manager

                   - OSF Product

                   – HP-UX 9.x 부터 O/S 에 bundle 되어 있다.

                   - Disk 관리를 위한 kernel에 기본 내장된 sub-system이다.

                   - LVM은 volume group이라는 disk의 집합을 만들고 volume group 내에 공간을 논리적 volume(lvol)으로

                     분할하여 각각의 partition을 구성할 수 있다.

5.3 LVM 구성 요소

* Physical Volume

                   - 의미 : LVM에 의해서 관리되는 물리적인 디스크. 즉 일반 물리적인 디스크에 LVM 데이터 구조가 생성된 디스크.

- Device file

                     (예) /dev/rdsk/c0t6d0 character device file

/dev/dsk/c0t6d0 block device file

                   - 생성 방법

# pvcreate –f /dev/rdsk/c0t6d0

* Volume Group

                   - 의미 : 한 개 이상의 physical volume으로 구성된 disk pool

- Device file

                     (예) /dev/vg01 vg01과 관련된device file을 가지고 있는 directory

/dev/vg01/group “vg01” volume group device file

                   - 생성 방법

# mkdir /dev/vg01

# mknod /dev/vg01/group c 64 0x010000

# vgcreate /dev/vg01 /dev/dsk/c0t6d0

* Logical Volume

                  - 의미 : 각각의 filesystem을 구성하는 단위로서 partition 과 같다.특정한 volume group 안에서 생성가능 하다. volume group이

                              다수의 disk로 구성된다면, lvol은 한 개의 disk 범위를 넘어 설정될 수 있다.

- Device file

                     (예) /dev/vg01/lvol1 block device file

/dev/vg01/rlvol1 character device file

                   - 생성 방법

# lvcreate –L 1024 /dev/vg01

ð 크기가 1024 MB인 logical volume을 생성

* LVM Table

                  - 의미 : 모든 LVM 정보를 가지고 있고, LVM 구성 시 자동으로 생성 및update 된다. 시스템 부팅 시 참조되어 해당 volume group을

활성화 시킨다.

                  - 위치 : /etc/lvmtab

# strings /etc/lvmtab

ð 현재 LVM 정보를 display 한다.

# mv /etc/lvmtab /etc/lvmtab.org

# vgscan –v

ð 기존 LVM 정보를 다른 이름으로 저장 후 , 현재 LVM 정보를 읽어

                               /etc/lvmtab 파일을 새로 생성

 

Volume group 생성 예제

# ioscan –fnkC disk

ð physical volume 으로 구성할 disk의 device file을 확인

# pvcreate /dev/rdsk/c2t2d0

ð physical volume으로 구성

# mkdir /dev/vg01

ð volume group 의 device file이 저장 될 directory 생성

# mknod /dev/vg01/group c 64 0x010000

ð volume group device file 생성

# vgcreate /dev/vg01 /dev/dsk/c2t2d0

ð 하나의 disk를 volume group으로 구성

# lvcreate –L 500 /dev/vg01

ð volume group vg01에 크기가 500MB인 logical volume 구성

ð logical volume 이름은 기본으로 lvol1(만들어진 순서에 따라)으로 생성

# newfs –F vxfs /dev/vg01/rlvol1

ð logical volume lvol1을 vxfs type인 File system으로 만듦

# mount /dev/vg01/lvol1 /data1

ð 특정 directory에 mount 시킨다.

 

6 File system 구성

6.1 File system concept

6.1.1 File system types

a. HFS (High performance File System)

                  HP-UX를 위한 Unix File SystemHP-UX 11.X 이전 시스템에서의 기본 file system type

b. JFS (Journaled File System)

                   HP-UX 11.X 부터 시스템 기본 file system type

                   - Base JFS : 빠른 복구 기능, 10.01 이후부터 O/S에 내장됨.

                   - Online JFS : 별도 구매 제품Online defragmentation and reorganization 가능
                                         Online expansion and contraction of file system size 가능Online backup 가능

c. NFS(Network File System)

               d. CDFS(CD-ROM File System)

6.1.2 File system 구조

             User data와 Metadata로 구성됨.

* User data

실제 사용자 데이터 파일

* Metadata

▷ Superblock

                              - File system에 대한 일반적인 정보를 가진다. 즉 file system type, 크기, 상태(status) , 그 밖의 metadata structure에 대한                                    pointer 등- Superblock은 중요한 정보를 담고 있기 때문에 여러 복사본을 유지하고 있다.

▷ Inode

                              - 파일의 정보, type, size, permissions, owner, group 등- 각각의 inode는 unique number(inode number)가 있어
                                그 number
로 인식된다.

▷ Directories

                              - 파일 이름과 inode number 사이의 mapping 정보를 가지고 있다.

 

6.1.3 Hard Link vs Symbolic link

* Hard Link

                  : Source file과 link된 파일이 서로 같은 inode number를 가진다.

* Symbolic link

                  - Source file과 link된 파일이 같은 data block을 참조하지만, 서로 다른 inode number를 가진다.- 한File system과 다른 file system

                   사이에 link을 구성할 수 있다.- Directory에 대해서도 link를 구성할 수 있다.

 

6.1.4 HFS overview

HFS구조

* HFS Block and fragments

▷ Block

- Block은 한번에 데이터를 읽고/쓰는 단위 - 4K,8K,16K,32K,64K의 단위로 설정가능, 기본은 8KB.

▷ Fragments

- 파일에 할당할 수 있는 가장 작은 단위- 1 block , 1/2 block, 1/4 block, 1/8 block 의 단위로 설정 가능,

기본단위는 1KB

- 파일의 끝 부분에만 할당가능. 즉 파일 생성시 먼저 block을 할당

나머지 부분에 한해 fragments를 할당한다.

▷ Block 및 fragments 모두file system 생성 시 size를 결정할 수 있다.

# newfs –F HFS –b 8192 –f 4096 /dev/vg01/rlvol1

ð block size는 8KB, fragments size는 block size의 1/2인 4KB로 설정함.

 

6.1.5 Vxfs Overview

Vxfs 구조

* Vxfs block and extent

▷ Block

- file에 할당할 수 있는 가장 작은 단위- 크기는 기본적으로는 1KB이며, 이 값이 가장 적합하다.

▷ Extent

- 여러 개의 block의 연속적인 그룹(contiguous group)- 파일 생성 시 extent가 할당된다.- Block이 연속적이기 때문에 파일 I/O가 빠르다.

 

6.1.6 HFS vx Vxfs

HFS Online JFS (=vxfs)
Performance Fast very fast
Recovery fast (size에 따라 비례) very fast (size와 무관)
Reorganization Not supported supported
Defragmentation Not supported Supported
Online resizing Not supported Supported
Contraction Not supported Supported
Online backup Not supported Supported
Management easy Some operation is required
(defragmentation 등)
Kernel file system supported Not supported
Inode management Static at creation time Dynamic
기 타 O/S base 별도 구매 제품

 

6.2 File system creation

File system 생성

# newfs –F HFS –b 4096 –f 2048 –o largefiles –i 4096 –m 5 /dev/vg01/rlvol1

ð Type은 HFS, block size는 4K, fragment size는 2K

ð Largefiles 을 enable시켜서 2GB이상의 file 생성 가능

ð Inode 당 bytes의 수는 기본 6144에서 4096byte로 설정. 즉 inode수가 기본 설정값 보다 많이 생성된다.

ð Minfree 의 percentage를 기본 10% 에서 5%로 줄임.

# newfs –F vxfs –o largefiles /dev/vg01/rlvol2

ð Type은 vxfs이고 largefiles을 enable 시켜서 2GB이상 file 생성 가능

ð Vxfs는 “-o largefiles”를 제외한 나머지 option은 기본값을 사용하는 것이 좋다.

Mount 할 directory 생성

# mkdir /data1

Mount 시키기

# mount /dev/vg01/lvol1 /data1

# mount –a

ð Fstab에 등록된 모든 entry를 mount 시킨다.

Umount 시키기

# fuser –us /data1

ð “data1” file system을 사용하는 모든 user id 및 pid를 보여준다.

# fuser –kuc /data1

ð file system 를 사용하는 user id 및 pid를 보여주고 kill 로 해당 프로

세스를 죽인다.

# umount /data1

Fstab에 등록시스템이 start-up 시 fstab의 entry를 읽어 자동으로 각각의file system을 해당 directory에 mount 해 준다.

# vi /etc/fstab


▷ Block : mount 될 block device file

▷ Directory : mount point

▷ Type : can be one of

- File system type: cdfs, hfs, nfs, vxfs, lofs- Swap- Swapfs- Dump- Ignore

▷ Options : 각각의 type에 대한 options

▷ Backup-frequency : 현재는 사용 용도 없음.

                    ▷ Pass-number : 시스템 부팅 시 file system을 점검하는(fsck) 순서

                       - “0” : fsck 가 무시된다.- “1” : root file system- “2~” : 그 밖의 file system

 

* HP cdrom 사용하기
 CDROM device 확인
# ioscan –fnkC disk
 Mount 시키기
# mount /dev/dsk/c0t2d0 /SD_CDROM
* Non-HP cdrom 사용하기
  Non-HP 용 cdrom은 대부분 PC CD-ROM 용으로 file system type이 여러 가지 이다. 이것들은 대부분 대문자 및 semicolon을 포함하고

  있어  mount 시 특별한 option 이 필요하다.
# mount –F cdfs –o cdcase /dev/dsk/c0t2d0 /SD_CDROM
  대문자 및 semicolon이 소문자로 전환된다.

[참조] CDFS (CD-ROM File System)

 

Non-HP CDROM 사용 시 유용한 정보

* 개요
  Non-HP 용 CD-ROM에 있는 파일 이름이 대문자로 보이거나 파일 이름 중간에 ";"이 들어 있는 것을 발견할 때가 있다. 이럴 때 다음과 

 같이 PFS명령을 이용하면 쉽게 해결할 수 있다.
  PFS는 다양한 CD-ROM file system을 지원하는데 현재까지 지원되는 파일 시스템으로는 iso9660, high sierra, RockRidge Interchange가 있다.
* CD-ROM Mount/Umount 방법
① # /usr/sbin/pfs_mountd &
② #/usr/sbin/pfsd 4 &
   ð pfs mount를 위한 daemon process를 띄우는 것이다.
③ #/usr/sbin/pfs_mount -t iso9660 -o xlat=unix /dev/dsk/c0t2d0 SD_CDROM
   ð 여기서 -t 옵션에는 iso9660(ISO9660 포맷), hsfs(High Sierra 포맷), rrip(RockRidge 포맷)이 있고 -o xlat=unix 옵션은

    모든 대문자를 소문자로 바꿔주고 파일 이름 중간에 있는 세미콜론(;)도 없애 준다.
④ #/usr/sbin/pfs_umount /dev/dsk/c0t2d0
   ð pfs_mount로 mount 한 것은 반드시 “/etc/umount” 대신 “/usr/sbin/pfs_umount”를 사용해야 한다.

[참조] PFS(Portable File System)

 

6.3 File system repair and management

* File system updates

시스템은 데이터를 buffer cache 내에서 update 후 나중에 disk로 write 를 한다. 따라서 데이터의 정보가 정확하기 위해서는 buffer cache의 내용과 disk의 내용을 일치시키는 일이 중요하다.

               시스템은 데이터의 일관성을 보장하지만, 비정상적인 종료로 인해 buffer cache에는 update가 되었지만 실제로 disk에 write가 되지

               않았을 경우에는 데이터의 일관성 즉, file system 정보가 깨지게 된다.

* Sync, syncer

▷ Sync

            - Buffer cache의 내용을 disk에 write 한다.- File system의 일관성을 유지한다.- “syncer” daemon이 정기적으로 호출하여

              buffer cache의 내용을 disk에 write한다.

            - 사용자에 의해 임의로 호출하여 buffer cache의 내용을 disk에 update 할 수 있다.

▷ Syncer

            - 시스템 부팅 시 호출되어 sync 명령어를 정기적으로 실행시킨다.

* Fsck

                 - File system의 metadata의 일관성을 유지한다.- Metadata가 깨졌을 시에 복구를 시도한다.

# fsck –F HFS –y /dev/vg01/rlvol1

ð F/s type이 HFS 이고, 모든 response 에 yes로 답하여 깨진 파일에 대해 복구 및 삭제를 실시한다.

# fsck –F vxfs –o full /dev/vg01/rlvol2

ð F/S type이 vxfs 이고, intent log 가 아닌 전체 metadata 에 대해서 점검을 실시한다.

* lost+found

                  - fsck로 점검 후 깨진 file이 이 디렉토리 내에 생성된다.- 파일의 이름이 inode number로 생성되기 때문에,파일의 일부 정보를 가지고

원래 파일 이름을 추측하여(file , strings, what 등의 명령어를 이용하여 original file 을 추측) 원위치에 복사한다.- “lost+found”

directory가 삭제 되었을 시 mklost+found 명령어로 다시 생성한다.

*File system management

bdf # bdf –i
전체적인 파일 시스템 크기 및 사용 현황, free space 등을 보여준다. inode 사용 현황까지 보여준다.
du # du –sk /data
directory의 disk 사용량을 KB로 보여준다.
extendfs # extendfs –F vxfs /dev/vg01/rlvol1
file system의 크기를 늘린다. (Logical volume 확장 후 사용)

 

 

7. 시스템 기동 및 정지

7.1 Operation states

* Muti-user mode

          - 보통의 시스템 운영 상태- 일반 사용자들이 log-in 할 수 있다.- File system이 mount 되는 상태- 대부분의 service 및 daemon이

            기동된 상태

* Single-user mode

          - 특별한 시스템 작업을 위한 시스템 상태. - 오직 root 사용자 만이 log-in 가능하다.- O/S 상의 주요한 file system 만 mount 된다.

          - 대부분의 service 및 daemon은 정지된다.

 

7.2 시스템 기동 ( V-class 제외)

7.2.1 BOOT ROM의 시작 단계

시스템 전원을 ON하면 Boot Program이 초기화를 수행하고 H/W검사가 완료되면 기본 부트 경로와 콘솔 경로를 초기화 하면서 화면 아래와 같은 부트 메시지가 나온다.

* 자동 부팅 (autobooting)

         터미널 화면에 표시된 것처럼 10초 이내에 아무런 key를 누르지 않는다면,시스템은 자동으로 부팅이 됩니다. (Primary Boot Path에

         설정된 device로 Boot)

* 수동 부팅 (manual booting)

          10초 이내에 어떤 key를 누르게 되면(700 시스템은 ESC), 시스템은 수동 부트 모드 상태로 전환됩니다.

 

수동부트로 전환되면 아래와 같은 PDC Main Menu 화면이 나타납니다.

Boot device path 찾기 “Main Menu” 에서 ‘sea’ 를 입력하면 부팅 가능한 boot path를 보여준다.여기서 나타난 boot device의 path로 부팅을 시도한다. boot disk ( root disk)가 fail일 경우 혹은 system install시 tape이나 CD-ROM 으로 booting시 해당 device의 path를 찾고자 할 때 ‘search’ 를 사용한다.

② Booting 하기

-Main Menu : Enter Command or Menu : bo pri

  ð Primary boot path 로 부팅한다. (일반적으로 root disk)

-Main Menu : Enter Command or Menu : bo alt

  ð Alternative boot path로 부팅한다. (tape 혹은 CD-ROM)

-Main Menu : Enter Command or Menu : bo p6

ð ‘search’ 결과에서 보여지는 특정 device의 index를 지정해 부팅한다.

③ 단일 사용자 모드로 부팅하기

Interact with IPL (Y or N) ? > y /* “y”를 입력한다. */

☞ ISL(Initial System Loader) 부트를 interact 방식으로 한다.

ISL> hpux –is

☞ ISL 프롬프트에서 아래와 같이 입력한다.

 

④ 예비 커널로 부팅하기

Interact with IPL (Y or N) ? > y /* “y”를 입력한다. */

☞ ISL(Initial System Loader) 부트를 interact 방식으로 한다.

ISL> hpux disc(52.6.0;0)/stand/vmunix.prev

☞ ISL 프롬프트에서 아래와 같이 입력한다.

 

[참조] V-Class 시스템의 부팅 과정

V-class 시스템은 ISL 단계가 없어졌다. 따라서 ISL에서 실행했던 작업들은 모두PDC/ROM의 단계에서 실행한다. 즉 ISL mode에서 hpux 명령어를 사용했던 사항들은 PDC/ROM 단계(Main Menu prompt 상태)에서 “boot” 명령어를 이용한다.

[예제] MainMenu> boot –is[예제] MainMenu> boot –is /stand/vmunix.prev

 

 

 

7.2.2 Kernel 의 시작 단계

부팅 ROM의 시작 단계에서 하드웨어를 점검한 후, 부팅 프로그램은 운영 체제의 복사본 즉, 커널(/stand/vmunix)을 찾아서 시스템의 메모리에 로드하여 사용자가시스템을 사용할 수 있도록 작동시킨다.

 

▶ 메모리에 로드된 /stand/vmunix는 다음과 같은 순서로 작업을 수행합니다.

① 하드웨어 장치를 찾아서 구성합니다.

② 루트 파일 시스템을 찾고, 쉘을 시작합니다.

/sbin/pre_init_rc에서 명령을 읽습니다.

④ 첫번째 프로세스인 /sbin/init은 /etc/inittab의 초기화 파일을 읽어들여서,정상적인 작업 조건의 환경을 정의합니다.

⑤ 시스템 부트가 완료되면 시스템 콘솔에서 Startup Checklist가 나오며, 시스템 환경에 필요한 스크립트를 수행합니다. 이 내용을 검증하여 시스템의정상 구동 여부를 확인합니다.

⑥ 시스템 Start-up Checklist가 완료되면 Login 프롬프트가 나오면 시스템 booting이 완료된 것입니다.

 

▶ 커널이 메모리에 로드된 후의 진행 사항을 그림으로 보면 다음과 같습니다.


 

7.3 시스템 정지

시스템을 종료 시 불가피한 상황을 제외하고는 “shutdown” 혹은 “reboot” 명령어를 사용하여 정지시킨다. 시스템이 완전히 정지 된 후 주변 장치의 전원을 OFF 시킨다.

shutdown 방법 – “shutdown” 명령어 사용 방법shutdown은 시스템 활동을 질서 정연하고 일관된 방법으로 정지시킨다. 시스템 활동이 멈춘 후에 관리 작업을 수행하거나 시스템을 재부팅 하거나 종료 시킬 수 있다.

 

▷ “shutdown” 명령어는 다음과 같은 일을 수행함.- 지정된 시간(초 단위)동안 기다린다.- /etc/rc.config.d의 모든 파일을 실행한다. 이들 스크립트는 나중에 /sbin/rc에서평가된 변수만을 설정한다.- /sbin/rc*.d(여기서 *은 현재의 실행 수준임)에서 실행 수준을 1씩 감소 시켜서 /sbin/rc0.d까지 모든 stop 스크립트를 실행시킨다. Stop 스크립트는 대문자 K로 시작하는 이름을 가진 실행 스크립트이다.

 

[Syntax]
/sbin/shutdown [-r or –h] [grace]
[옵션 설명]no options 단일 사용자 모드로 전환-h 시스템이 단일 사용자 모드로 들어간 후에 시스템을 정지-r 시스템이 단일 사용자 모드로 들어간 후에 시스템을 다시 부팅grace 유예 시간을 지정 가능. 즉 주어진 값은 shutdown이 시스템에서 실행중인 모든 프로세스를 종료 시키기 위해 기다리는 시간이다.(초 단위) 기본값은 60초임

 

[예제] # shutdown or #init s

ð 다중 사용자 모드에서 단일 사용자 모드로 이동 시 사용[예제] # shutdown –h 60

ð 60초 후에 시스템 완전 종료 시작함.[예제] # shutdown –r 0

ð 0초 후에 시스템 재부팅 시작함.

 

Reboot 방법 – “reboot” 명령어 사용 방법선택 항목을 지정하지 않고 shutdown 명령어를 사용하여 시스템을 종료 시키면 시스템은 단일 사용자 실행수준으로 남아 있으므로 여러 작업을 수행할 수 있다. 이들작업을 수행 한 후 “reboot” 명령어를 사용하면 시스템을 다시 부팅하거나 정지 시킬수 있다.

 

Reboot 명령의 기본 활동은 디스크와 메모리의 내용을 동기 시키고 시스템을 다시부팅하는 것이다. 이 명령은 언제나 시스템이 단일 사용자 실행 수준에 있을 때 사용한다.[예제] #reboot or #init 실행수준의 값( 예, #init 4)

ð 단일 사용자 모드에서 다시 부팅 시 사용[예제] #reboot –h

ð 단일 사용자 모드에서 완전히 시스템을 종료 시 사용

 

7.4 Run level

* Run levels

* Viewing and change run level

          - 현재 run level 및 이전 run level 상태 보기

          [예제] # who –r- run level 변경하기[예제] # init 4

ð run level 4로 변경

*

Inittab 파일“init” process는 /etc/inittab 파일의 내용을 읽어 실행한다. Inittab 은 시스템 기본 run level을 정의하고, console, modem 및 teminal의 login process를 관장하는 getty or uugetty 데몬을 실행시켜 준다.

[예제] # vi /etc/inittabinit:4:initdefault: à default run level을 4로 변경# init q à “init” 데몬이 rescan하여 inittab 파일 변경을 감지함.

 

8. HP Software/Patch 설치 및 제거 with SD-UX

8.1 Software Distributor-HP-UX 개요

Software Distributor-HP-UX(SD-UX)는 software 관리와 관련된 모든 작업 사항(설치,제거,수정,구성)을 수행하는 프로그램이다. 향상된 기능을 갖춘 SD-O를 사용하면 한 node에서 나머지 다른 node들의 software management가 가능하다.

8.2 SD-UX command 사용법 요약

* swcopy

시스템 관리자가 소프트웨어 패키지로부터(or depot 로부터) 특정 depot 으로 복사

하는데 쓰이는 명령으로, 여러 개의 depot을 하나의 depot으로 만들 때 유용하다.

SD-OV를 이용하면 한 node의 disk에 depot을 swcopy 후 central에서 나머지 node로 한번에 install 수행할 수 있다.

* swinstall

           CD-ROM/테이프 또는 특정 depot 로부터 local host에 소프트웨어를 설치하거나 업데이트 한다.

           [예제1] 현 디렉토리내에 있는 software라는 depot에 있는 모든 소프트웨어를 설치

# swinstall –s $PWD/software \*

           [예제2] HP에서 제공된 CD-ROM으로 소프트웨어를 설치할 때

# ioscan –fnkCdisk

ð CDROM 의 device file을 확인, N4000일 경우 /dev/dsk/c0t2d0

# mount /dev/dsk/c0t2d0 /SD_CDROM

# swinstall –s /SD_CDROM

☞ NOTE
11.0에서 /SD_CDROM의 mount 는 생략 가능하다. 즉, swinstall –s /SD_CDROM 과 같이만 사용해도 OS에서 자동으로 mount 시켜 읽어온다.

 

* swlist

현 시스템, depot 혹은 미디어에 있는 소프트웨어의 목록을 보여준다.[예제] 시스템에 설치되어 있는 소프트웨어 및 patch를 보여줌

# swlist

                 [예제] 시스템에 설치되어 있는 software 를 level 별로 보여줌.

# swlist –l <root/depot/bundle/product/subproduct/fileset/file>

                 [예제] CD-ROM내의 depot 내용을 보여줌

# swlist –s /SD_CDROM

 

* swpackage

소프트웨어 업체나 시스템 관리자가 소프트웨어를 패키지 하는데 쓰이는 명령.

                 [예제] 현 디렉토리내에 있는 software라는 depot에 있는 모든 소프트웨어를

테이프에 패키지할 때

# swpackage –s `pwd`/software –d /dev/rmt/0m –x target_type=tape

* swremove

현 시스템에 설치되어 있는 소프트웨어나 depot에 있는 소프트웨어의 제거.

              [예제] 현 시스템에 설치되어 있는 B3910AA_APZ이라는 이름의 소프트웨어bundle을 제거하고자 할 때

# swremove B3910AA_APZ

              [예제] 만일 현 시스템에서 쓰고 있는 라이브러리나 커널과 연관이 있는 제품을

제거할 때

# swremove –x autoreboot=true B3910AA_APZ

* swconfig

              Install 된 software를 configure 시킨다. 대체로 swinstall 수행 시 swconfig가 수행

되지만 configuration이 실패 시 manual로 수행해 준다.

            [예제] 시스템에 있는 모든 fileset을 configuration 할 때

# swconfig \*

            [예제] 시스템에 있는 B3910AA_APZ를 configuration 할 때

# swconfig B3901AA_APZ

* swverify

         install 된 software의 integrity 를 점검한다. Software나 patch를 install 후 install 의 성공여부를 확인하기 위해 사용될 수 있다.

           [예제] 시스템에 있는 모든 filest을 점검

# swverify \*

            [예제] 시스템에 있는 B3901AA_APZ을 점검

# swverify B3901AA_APZ

* 그 밖에 swacl , swmodify , swreg 등이 있다.

 

8.3 HP 소프트웨어 설치 방법

# /etc/mount /dev/dsk/c1t2d0 /SD_CDROM

# /usr/sbin/swinstall –s /SD_CDROM

ð software install을 실시하면 TUI 혹은 GUI가 뜬다.

설치하려는 소프트웨어와 관련된 부분을 선택한 후 Action 메뉴에서 “Mark for Install”을 실행시킨다.

④ 다시 “Action Menu” 밑에 있는 “Install(Analysis)를 실행시킨다.(HPUX 10.20 부터 Mark 과정 생략 가능함)

ð 이때 "Install Analysis" window가 나타난다.

ð 여기서 Analysis가 끝나면 "View Log File" button을 누른다. 마지막 줄에 "The Analysis Phase succeeded"라고 나오면 Analysis가 무사히 끝난 것이다.

ð 만일 error가 나타나면 가장 처음 error로 가서 내용을 확인한 후 조치를 취한다.대개의 경우 조치 사항이 log에 기록되어 있다.

⑤ 그 다음 "Install Analysis" window로 돌아가서 "OK" button을 누른다.

ð 계속되는 질문에 "OK"를 선택하면 Install이 수행된다.

⑥ 다 끝나면 "Done" button을 누른 후 swinstall을 종료한다.

ð Software 종류에 따라서 시스템을 재 부팅하기도 한다.

⑦ Install을 확인하려면 "swlist" 라는 명령을 실행한다.

 

8.4 Patch 설치 방법

① patch 화일을 /tmp 밑에 다운로드 받는다.

ð 예제로 “PHSS_12345” 을 설정

② HP-UX에서 shell archive를 푼다

# sh PHSS_12345

ð PHSS_12345.depot 와 PHSS_12345.text 가 생성됨.

# swinstall -s /tmp/ PHSS_12345.depot

ð 여기서 –s 다음에 절대경로를 써야 함.

ð GUI or TUI 가 뜬다.

ð Non-interactive mode에서 작업 시는 full option을 준다.

# swinstall –x autoreboot=true –x patch_match_target=true \

-s /tmp/PHSS_12345.depot

④ 나머지 사항은 “7.2 HP 소프트웨어 설치법”의 3번부터 동일

 

[참조1] swinstall 시 주의 사항

위에서 현재 CD-ROM에 있는 모드 소프트웨어를 설치하려면 “swinstall –s /cdrom \*”을 수행.

소프트웨어를 설치하려고 하던 중에 /etc/fstab에 있는 내용 중에 일부가 마운트되지 않았다는 메시지가 나오는 경우: 해당 entry를 /etc/fstab에서 삭제하거나 swinstall의 옵션에서 마운트에 관련된 사항을 확인하는 옵션을 disable 한다.

그밖에 Analysis 작업 도중 에러가 발생하면 “View Log” 버튼을 클릭하여 로그 화일의 내용을 살펴 보아야 한다. 대개의 경우 로그 파일에 조치사항이 나와 있다.

 

[참조2] Patch 파일 받는 방법

Patch 란?Patch란 HP가 제공하는 H/W, OS 및 application s/w에 문제나 버그가 발견될 시 해결을 위해 제공하는 fix s/w를 말한다. 이것은 계속해서 내용이 update되고 새로운내용이 추가 된다.

* Patch Site

   HP의 Patch는 “HP Electronic Support Center”라는 국제적인 Web을 통해 제공된다. URL http://us-support.external.hp.com 또는 http://www.itresourcecenter.hp.com이 web site에 들어가면 User ID와 Password를 확인하는데 처음으로 이 site를 방문할 경우 “New Users Register Now!”를 선택하여 User 등록을 하면 곧바로 ID와 password를 받을 수 있다.원하는 patch를 찾으려면 정확한 patch 번호를 아는 것이 제일 좋지만 대개의 경우 keyword에 의해 찾을 수 있다.

 

[참조3] HP Software Web Site 소개

HP-UX 사용자들에게 매우 유용한 Web Site가 있다.URL http://www.software.hp.com/

이곳에는 다음과 같은 것들이 있다.- HP-UX9.0x를 HP-UX10.20으로 Upgrade하고 싶은 고객은 Transition Toolkit을 무료로 Order할 수 있다. “Development Tools & Distributed Computing”을 선택해서 들어 가면 됨.- HP-UX 10.20 ACE(Additional Core Enhancement) Version을 다운로드 받을 수 있다.(무상)- 기타 무상으로 사용할 수 있는 HP Software (OpenGL Runtime, PowerShade,Netscape FastTrack Server, Communicator …)를 다운로드 할 수 있다.- Public Domain Software(공짜 software)를 받을 수 있다. (편리한 Search 기능이 제공됨)- 구매해야 하는 제품에 대하여는 Trial Version을 다운로드할 수 있고 Order 하는 방법을 제공한다.

 

[참조4] HP Technical Documentation Web Site 소개

아래의 web site에서 HP h/w 및 s/w product의 최신 기술문서와 manual들을 찾아볼 수 있다. (HTML 이나 PDF 포맷으로 되어 있음)
URL http://docs.hp.com/

 

[참조5] 소프트웨어 depot을 package하는 방법

① source directory(임의로 만듦. 여기서는 /SOURCE라 가정)에 관련된 patch를 모두 푼다.

# mkdir /SOURCE ; cd /SOURCE

# sh PHCO_12345; sh PHSS_13579

② 각각의 개별 depot 을 하나의 depot으로 모은다.

# for i in `ls -l *.depot|cut –d . –f 1|awk ‘{print $9}’`

do

swcopy -s "$PWD/$i.depot" -x target_directory="$PWD/depot”

-x enforce_dependencies=false -x software=$i

done

ð “/DEPOT” directory는 자동으로 생성되고 위의 명령어는non-interactive mode로 실행된다.

③ 모아진 depot을 tape으로 package한다.

# swpackage -s "/DEPOT" -d /dev/rmt/0m -x target_type=tape

 

9. Backup/Restore

9.1 Backup 개요

                    - O/S Configuration 변경 시 반드시 O/S 백업 수행

                    - Root file system과 data file system 을 별도의 tape으로 백업

                    - 가능한 file system 별로 백업 수행

9.2 tar

* 백업

▷ O/S 데이터 백업

① DB & Application shutdown 시킴

② Single-user mode로 전환

  # shutdown 0

③ O/S 관련 directory만 mount시킴, “bdf” 로 확인

④ # cd / (root directory로 이동)

⑤ tape을 드라이브에 넣는다.

# tar cvf /dev/rmt/0m ./

▷ 일반 데이터 백업

일반적으로 수십 ~ 수백 MB 정도의 데이터를 백업하는데 적합

                         [예제] # cd /data ; # tar cvf /dev/rmt/0m .

ð data를 상대 path로 백업 받음 (# tar cv . 과 같음)

   [예제] # tar cvf /dev/rmt/0m /data

ð data를 절대 path로 백업 받음

  [예제] # tar rvf /dev/rmt/0m .

ð 기존 tape에 덧붙여 백업 받음

  [예제] # tar tvf /dev/rmt/0m

ð 백업 받은 내용을 tape에서 확인함

* 복구

▷ 절대 path로 백업 받았을 시

# tar xvf /dev/rmt/0m

ð data는 백업 받은 절대 path로 복구된다.

▷ 상대 path로 백업 받았을 시

# cd /data ; # tar xvf /dev/rmt/0m

ð 복구하고자 하는 directory로 이동 후 복구

9.3 cpio

* 백업

   - copy input to output

                 - 대용량의 data를 ‘disk대 disk’ 혹은 ‘disk대 tape’ 등 자유자재로 사용가능

                    [예제] #cd /data ; # find . –print –depth -xdev|cpio –pxdmluv /new-data

ð ‘data’ directory에 있는 모든 내용을 ‘/new-data’로 백업 받음

   [예제] #cd /data ; # find . –print|cpio –ocvBhx > /dev/rmt/0m

ð ’data’ directory에 있는 모든 내용을 tape으로 백업 받음

* 복구

                [예제] # cd /data ; # cpio -icdBumvhx < /dev/rmt/0m

ð 복구 할 directory로 이동 후 복구한다.

9.4 fbackup

* 백업

                - HP system에서만 동작하며 SAM으로도 가능

                - tar보다 속도가 빠르다.

                - Backup 된 파일들의 list를 볼 수 있다.

                - 백업 방법- SAM 이용

# sam

ð Backup and Recovery 선택

ð Interactive Backup and Recovery 선택

ð 백업 받을 Device 장치를 마크(space bar 이용) 한 후 [Action] 메뉴를 선택

ð Back up files Interactively … 선택

ð Specify Tape Device Option … 선택 -> 원하는 Device option 선택

ð Select Backup Scopy 선택 -> 원하는 파일 시스템을 add 한다.

ð OK 를 누르면 백업이 진행됨- 명령어 이용[예제] # fbackup –f device_file –i path –e path

ð f : 출력을 보낼 장치파일, 일반적으로 tape

ð i : 백업 시 포함시킬 directory path

ð e : 백업 시 제외시킬 directory path[예제] # fbackup –f device file –g graph_file

ð g : 백업에서 포함 또는 제외시킬 파일과 디렉토리의 목록이 들어 있는 파일

ð “-i”,”-e” option 대신 사용. 상대 path,절대 path 모두 가능[예제] # fbackup –f /dev/rmt/0m –i / -e /home

ð tape 장치로 “/home” directory를 제외 한 모든 파일 및 현재 마운트 되어 있는 모든 파일시스템을 백업한다.

* 복구

   - SAM 이용

       # sam

ð Backup and Recovery 선택

ð Interactive Backup and Recovery 선택

ð Restore할 Device 장치를 마크(space bar 이용) 한 후 [Action] 메뉴를 선택

ð Restore Files or Directories 선택

ð  뉴내용 선택한 후 OK 누르면 실행

                   - 명령어 이용[예제] # frecover –x –f /dev/rmt/0m –i {path} –e {path}

ð -i path : 복구 할 directory

ð -e path : 복구하지 않을 directory[예제] # frecover –r –f /dev/rmt/0m

ð tape으로부터 모두 복구

 

9.5 dd

- 직접적인 Image Copy 수행

- Bit 단위로 복사하기 때문에 선택적 복구 불가능

- Disk의 복사본을 만들 때 유용- Redundant O/S용으로 활용 가능 [예제] #dd if=<source> of=<destination> (방향 중요함!)

#dd if=/dev/rdsk/c0t6d0 of=/dev/rdsk/c0t5d0 bs=1024k

#dd if=/dev/rdsk/c0t6d0 of=/dev/rmt/0m bs=12k

 

9.6 Make_recovery

* 개요

- Make_recovery는 ignite-ux의 일부 기능이다. - Make_recovery는 “system recovery boot tape” 을 생성하는데 사용된다.

즉, 시스템의 Root disk failure 시 O/S를 재설치 하지 않고 미리 생성한 recovery tape을 이용하여 시스템을 부팅하여 O/S 데이터를 신속하게 restore 할 수 있다. - Recovery tape 생성 시 /var 에 32MB 가 필요하다. - Boot image를 생성하기 위해 필요한 공간으로 make_recovery 는 /var에boot-image를 생성 한 후 “dd” 명령어로 /dev/rmt/0mn 에 복사한다.- Boot image를 제외한 나머지 file들은 “pax” 명령어로 백업된다.- Online 상태에서도 백업 가능하다.- 서로 다른 시스템의 O/S 복제 시에도 사용 가능하다.- 별도로 ignite-ux s/w 를 설치 해야 한다.

ð fileset 은 /opt/ignite 에 설치됨.

* 백업

▷ O/S 기본 백업

 : 기본적으로 O/S critical directory 만 백업 받는다.

- /stand, /sbin, /dev, /etc : 모두 포함

- /usr, /opt, /var : 일부 포함

[예제] # make_recovery –d /dev/rmt/0mn (-d 이하 생략 가능)

▷ O/S full 백업

 : vg00 에 포함된 모든 data를 백업 받는다.[예제] # make_recovery –A –d /dev/rmt/0mn

 

* 복구

▷ O/S 전체 복구

① System을 recovery tape으로 부팅한다.

부팅 후 batch mode 및 interactive mode로 복구 할 수 있다.

- Batch mode

ð 백업 받은 disk 에 백업 받은 상태 그대로 복구 시 사용한다. 즉, tape으로 부팅 후 ignite-ux 화면 load 시 interrupt을 걸지 않으면 자동으로 batch mode로 들어가 recovery 작업이 수행된다.

- Interactive mode

ð tape 으로 부팅 후 ignite-ux 화면 load 시 아무 key나 누르면 interactive mode 로 들어갈 수 있다.

ð Interactive mode에서는 restore 할 disk 지정, O/S file system layout 변경 등 다양한 flexibility를 제공한다.

▷ 일부 파일 복구

복구 tape에서 boot image를 skip하고 file 이 백업된 곳으로 이동

# mt –t /dev/rmt/0mn fsf 1

원하는 파일 복구

# tar xvf /dev/rmt/0m etc/passwd opt/

 

10 Job Scheduling

10.1 cron

cron 이란?실행 프로그램을 일정/계획하여 자동으로 실행시켜주는 방법 중 한 가지이며, cron은 사용자가 지정한 주기로 하나 이상의 작업을 일정 계획한다. 주로 일간 백업과 주간 백업과 같이 일정한 간격으로 명령이 실행되도록 계획할 때 사용함.

 

cron 사용 권한 ( /var/adm/cron/cron.allow, cron.deny)- 기본적으로는 일반 사용자와 root 사용자가 cron 사용 가능- cron.allow : root 는 이 파일을 통해 crontab을 사용할 수 있는 사람을 제어한다. 사용자들은 자신의 이름이 cron.allow 파일에 나타나면 crontab 명령을 사용할 권한을 부여받는다.

                  - cron.deny : cron.allow가 존재하지 않으면 cron.deny를 점검하여 사용자가

사용 권한을 거부당했는지 여부를 결정한다. 두 파일이 모두 존재하면, cron.allow가 우선권을 가진다. 두 파일이 모두 없으면, root만이 작업을 제출할 수 있다. 빈 cron.deny 파일은 모든 사람이 crontab를 사용할 수 있게 만든다.

 

cron.allow cron.deny 사용 권한
File not exists File not exists Root
exists Ignored Allow 에 등록된 모든 사용자
File not exists Exists Deny에 등록되지 않은 모든 사용자
Empty Ignored Root
File not exists empty 모든 사람

 

* Log file

 기본적으로 cron은 명령을 실행할 때마다 /var/adm/cron/log 에 기록을 남김.

 

10.2 Cronfile 작성법

Cronfile은 사용자가 Job Scheduling 을 정의하는 파일로써, 이 파일의 항목들은 “cron” daemon이 해석할 수 있는 미리 정의된 특정한 형식을 가져야 한다.

 

Cronfile 구성 형식파일의 각 항목은 빈칸이나 탭으로 분리되는 여섯 개의 필드로 이루어진 행으로 구성되며 하나의 행이 하나의 작업 사항을 지칭한다.처음 다섯 필드에는 명령이 실행될 날짜와 시간을 나타내는 정수가 있다.이들 각 필드는 유효한 모든 값을 나타내는 별표 또는 쉼표로 분리된 항목의 목록을 포함할 수 있다. 각 항목에는 하나의 수, 또는 범위를 지정하는 의미에서 대시로분리된 두 수가 올 수 있습니다. 마지막 필드는 지정된 시간에 shell이 실행하는 프로그램(or 명령어)입니다. 이 필드의 퍼센트 문자는 줄바꿈 문자로 변환됩니다.

[예제] # vi test-cronfile

0 23 20 * * /sbin/date > /dev/console ---------(1)

0 0 * * 1,3,6 /sbin/tar cvf /dev/rmt/0m /home --------(2)

(1) /sbin/date의 값을 매월 20일, 밤 11시 정각에 시스템 콘솔 화면에 표시하라는 Job Scheduling

(2) /home 밑에 있는 모든 데이타를 DAT drive에 tar backup 하라는 명령으로 이 Job Schedule은 월요일, 수요일, 금요일 밤 12시 정각에 실행됨.


[참고]Shell이 실행하는 문자열에는 표준 출력과 표준 오류의 방향을 지정해야 한다. 지정하지 않으면 해당 user의 메일로 출력과 오류 메시지가 저장된다.

 

10.3 Cron 등록 및 관리

▶ crontab 명령을 이용하여 작업을 cron table에 등록한다.[예제] # crontab /tmp/test-cronfile

ð crontab은 user가 등록한 파일의 복사본을 /var/spool/cron/crontabs 에 유지한다.(사용자의 login name으로 생성) 이 복사본은 “cron” daemon이 작업실행 시에 참조하는 실제 파일이다. 따라서 cron table에 등록 후에는 원본 파일은 더 이상 의미가 없어진다.

▶ 현재 시스템에서 작동 중인 Job Schedule의 list를 보려면,[예제] # crontab -l

▶ 현재 시스템에서 작동 중인 Job Schedule 을 삭제하려면,[예제] # crontab -r

▶ 현재 시스템에서 작동 중인 Job Schedule을 편집하려면,[예제] #crontab -e

 

10.4 Cron 실행 과정

위 그림은 시스템 관리자인 root 가 job scheduling 을 계획함으로써, 연관되는 디렉토리와 파일들을 나타낸 것이다. 시스템 관리자가 /tmp 에서 test-cronfile 을 작성하고, 이를 cron table에 등록함으로써 job scheduling이 이루어진다.

 

11 Printer Management

* lp spooler

사용자들의 printing 요구 사항을 관리하고 프린터를 제어하는 명령어 및 utility

                - 기동 방법 : # lpsched - 정지 방법 : # lpshut - 상태 보기 : # lpstat -t

printer 종류

- Local printer (Serial, Parallel)

- Remore printer

- Network printer (HP JetAdmin 필요함)

☞ NOTE
JetAdmin s/w는, 아래의 Web site에서 Download 받을 수 있다.http://www.hp.com
→ Driver 클릭 → Jetadmin을 입력한 후 Search→ 해당 O/S 선택

lp spooler 에 의한 printing 절차

① printing 요청

        # lp –d LJ /etc/passwd

② destination printer를 결정한다.

ð 여기서는 “LJ”라는 printer

③ 해당 요청 사항에 특정 ID를 부여하고 printer의 queue에 저장한다.

ð “LJ-XXX” 이라는 ID를 부여하고 /var/spool/lp/request/LJ 의 queue에 저장한다.

④ 해당 printer의 interface script을 호출한다.

ð Interface scripts는 lp scheduler로부터 관련된 데이터를 받아서 printerdevice에 전달한다.

⑤ Interface scripts는 /etc/lp/interface에 위치하며, printer device 연결 시 해당device의 특징에 맞게 조정되어야 한다.

⑥ Printer device 에서 실제로 Printing 이 일어난다.

 

* Managing print queues

▷ Accept/Reject: Printing 요청을 허락 및 거부를 의미. Printing 요청을 거부하면 printer queue에 해당 요청 사항이 저장되지 않아 printing이 일어날 수 없다.

[예제] # accept LJ

[예제] # reject –r “LJ is down. User another Printer” LJ▷ Enable/Disable: Printer를 activate 혹은 deactivate 시킨다. 즉 queue에 저장된 printing 요청 사항을 처리 혹은 처리하지 않는다.

[예제] # disable LJ

[예제] # enable LJ▷ Moving Request: Queue에 저장된 printing 요청 사항을 다른 queue로 옮길 수 있다.

[예제] # lpshut ; # lpmove LJ Color-LJ ; # lpsched

ð LJ에 저장된 모든 요청 사항을 Color-LJ로 옮긴다.

ð 요청 사항을 옮기기 전 반드시 scheduler를 정지시키고, 모두 옮겨지면 다시 scheduler를 기동한다.

  [예제] # lpshut ; # lpmove LJ-111 Color-LJ

ð LJ-111 이라는 특정 요청 사항만 옮긴다.▷ Cancel: Queue에 접수된 요청 사항을 취소한다.[예제] # cancel LJ

ð LJ에 접수된 모든 요청 사항을 취소[예제] # cancel LJ-111

ð 특정 요청 사항만 취소

 

예제 printer 연결 하기

① local 에 printer device를 연결한다.

② device 파일을 만든다.(insf, mksf)

③ LP spooler에 등록 시킨다.(모든 UNIX machine은 여기에 등록 시켜야만 프린터를 사용할 수 있다)

# lpadmin -v/dev/lp1 -mlaserjet -plaser1

                                   device명 model script명 사용할 프린터명

④ 프린터가 인쇄 요구를 받을 수 있게 한다.
     # accept laser1

⑤ 프린터를 인쇄 가능한 상태로 만든다. 

            # enable laser1

LP 스케쥴러를 다시 실행 

            # lpsched

 

12. Network

12.1 Network 구성

* set_parms 사용

set_parms 는 시스템의 N/W과 관련된 사항을 구성할 때 사용하는 프로그램으로다음과 같은 arguments를 사용한다.

 

set_parms argument Comments
Hostname Hostname 을 설정
Timezone Time zone 을 설정
date_time Date and time 을 설정
root_passwd Root passwd 을 설정
Ip_address Internet protocol address 를 설정
addl_network Subnet mask, DNS, NIS 등 설정
Initial 위의 모든 사항을 설정
None Set_parms 의 사용법 설명

                [예제] # set_parms initial

 

수동 구성

① configuration file 에 구성하기

      # vi /etc/rc.config.d/netconf

② network enable 시키기

     # /sbin/init.d/net start

③ networking 확인

     # netstat –in

     # ifconfig lan0

     # ping 192.1.1.1

SAM 이용# sam à Networking and Communications 선택

 

12.2 네트웍 관리 Command

- lanadmin(landiag) 네트웍H/W 의 이상을 진단하는 명령- ifconfig 네트웍 구성 및 확인을 위해 사용하는 명령[예제1] # ifconfig lan0 à 상태 확인할 때[예제2] # ifconfig lan0 192.1.1.1 netmask 255.255.255.0 up à 네트웍 구성할 때 (임시로 할당) - netstat -r 네트웍의 routing 상태를 확인함- lanscan 설치되어 있는 NIC(Network Interface Card)의 address(예: 0x0060b018cd17) 및 상태를 확인할 수 있음- hostname 시스템 이름을 알고 싶을 때 사용- ping 네트웍 작동을 테스트할 때 사용

 

12.3 네트웍에 문제발생시 확인할 사항

하드웨어 문제인가 확인한다. 또한LAN 케이블이 HUB와 정상적으로 연결돼 있는지를 확인한다. 이 때 사용할 수 있는 명령으로는 “lanadmin”(또는 landiag)이 있다.

[예제] # lanadminð lan 또는 l 이라고 입력함
   ð display 또는 d 라고 입력함(이 때 LAN하드웨어 상태를 볼 수 있음)
   ð reset ( H/W적인 문제가 있다면 reset시간이 오래 걸림)

② 하드웨어에 이상이 없다면 IP Address가 정상적으로 부여되었나 확인한다.

[예제] # ifconfig lan0lan0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>
inet 15.32.13.19 netmask fffff800 broadcast 15.32.15.255
  ð 여기서 “UP” 되었나 확인하고, IP Address와 netmask가 정상적인지 확인한다.
  ð /etc/rc.config.d/netconf 에 제대로 설정되었는지 확인한다.

③ “ping” 명령으로 상대편과의 통신을 테스트 한다.[예제] # ping 15.32.13.18

④ Name resolution이 제대로 되는지 확인한다.

[예제] # nslookup 15.32.13.18 ð hostname 과 IP address를 확인
  ð # vi /etc/hosts 의 내용 확인
  ð # ll /etc/resolv.conf : 이 파일이 존재하면 DNS Server에 시스템이 등록되어 있는지 확인해야 함

 

12.4 Name resolution 순서

개요 nsswitch.conf 파일은 네트워크 데이터베이스로부터 정보를 얻기 위해 library routine이 사용되는 조회 정책을 명시하는 파일이다. 데이터베이스의 예로는 DNS, NIS 또는 /etc/hosts파일(local file) 등이 있다.

사용법- /etc/nsswitch.conf 에 조회 순서를 명시하여 구성한다. (SAM으로도 가능)- 예제 파일 : /etc/nsswitch.* 로 예제 파일 존재- 호스트이름 조회가 정상적으로 이루어지는 지를 알기 위해선 다음 명령을 이용한다.

           # nslookup 또는 # nslookup hostname

ð 조회하고자 하는 호스트이름을 덧붙이면 DNS 나 /etc/hosts에서 발견된원래의 호스트이름과 IP Address가 출력된다.

 

부록 1. HP-UX 명령어

* User-level commands

bdf 파일 시스템의 통계, 용량 및 빈 공간을 나타낸다.chmod 파일이나 디렉토리의 permission을 바꾼다.[예제] $ chmod 600 privatechown 파일이나 디렉토리의 ownership을 바꾼다.[예제] /dev/lp의 ownership을 lp로 변경

$ chown lp /dev/lp 

   cp 파일 및 디렉토리를 복사한다.[예제] /etc/passwd를 /etc/passwd.old로 복사

$ cp /etc/passwd /etc/passwd.old 

   [예제] /etc 디렉토리 및 하부의 파일들을 /tmp/etc로 복사

$ cp –r /etc /tmp 

   diskinfo 시스템에 설치되어 있는 디스크의 정보를 보여줌.[예제] $ diskinfo /dev/rdsk/c0t6d0du 디스크 사용에

  관한 정보를 보여줌.[예제] /tmp 디렉토리에 있는 파일들의 크기를 KB단위로 보여줌

$ du –s –k /tmp 

   exit 로그아웃하고 쉘 및 쉘 프로그램을 종료.file 파일 내용의 성격을 보여줌.[예제] /stand 디렉토리 아래에 있는

  파일들의 성격을 보여줌

$ file /stand/* 

   find 파일 시스템에서 파일의 위치를 찾는다. [예제] root 밑에 있는 모든 “core” 파일을 찾는 법

$ find / -name core -print 

   grep 파일 내에서 특정 패턴을 찾는다.[예제] $ grep -l ifconfig /sbin/init.d/*kill 프로세스를 죽일 때 사용함.

   [예제] $ kill -9 924lp 시스템의 기본 프린터에 파일을 프린트.

   [예제] $ lp myfilelpstat –t 모든 프린터 스풀러에 관련된 정보를 보여줌.ls 파일이나 디렉토리의 이름을 보여줌.

   [예제] /stand 디렉토리에 있는 모든 파일 명을 보기

$ ls /stand ll ll은 “ls –l”과 같다. 파일들의 이름 및 정보를 보여줌.man 명령 및 시스템 파일에 대한 사용법을 보여줌.

   [예제] $ man ls[참고] man page 참조 시 편리한 방법

            $ man command | col –b > /tmp/command 

$ vi /tmp/command 

more 텍스트 파일 내용을 페이지 단위로 봄.[예제] $more /.profilemore가 수행되는 동안 한 페이지의 텍스트를 더

보려면 SPACEBAR 를 누른다. 한 줄을 더 보기 위해서는 ENTER 를 누른다.mv 파일이나 디렉토리의 이름을 바꾼다.

[예제] oldfile을 newfile로 바꾸기 변경

$ mv oldfile newfile 

ps –ef 시스템에서 수행되고 있는 모든 프로세스를 보여 준다:[예제] $ ps -ef 

UID PID PPID C STIME TTY TIME COMMAND

root 0 0 0 Sep 6 ? 0:02 swapper 

root 1 0 0 Sep 6 ? 0:00 init 

root 2 0 0 Sep 6 ? 0:00 vhand 

root 3 0 0 Sep 6 ? 2:14 statdaemon 

root 4 0 0 Sep 6 ? 0:11 unhashdaemon 

root 7 0 0 Sep 6 ? 0:00 ttisr 

root 12 0 0 Sep 6 ? 0:00 lvmkd

 

UID The user who is the process owner.

PID The process ID number of the process.

PPID The process ID number of the parent process.

C Processor utilization for scheduling.

STIME Starting time of the process. If the elapsed time is greater than 24 hours, the starting date is displayed instead.

TTY The controlling terminal for the process, if any.

NOTE: A question mark (?) in this field indicates that the process is not associated with any tty.

TIME The cumulative execution time for the process (reported in the form "minutes:seconds").

COMMAND The command name.

 

rm 파일이나 디렉토리를 지운다.[예제] /var/tmp/swagent.log를 삭제

$ rm /var/tmp/swagent.log

                              [예제] /var 디렉토리 및 그 디렉토리의 내용을 삭제

$ rm –r /var

경고: 한번 파일이나 디렉토리가 지워지면 복구할 수 있는 유일한 방법은 백업으로부터 복구하는 것이다. 또한 위와 같이 디렉토리 및 디렉토리의 내용을 지우는 것을 “/”와 같은 시스템 디렉토리에 수행하는 것은 절대로 금한다.

 

rmdir 빈 디렉토리를 없앤다.[예제] 빈 디렉토리 /tmp/hp를 삭제

$ rmdir /tmp/hp

                              top 주기적으로 변하는 프로세스의 정보를 보여줌.uname 현재 로그인 되어 있는 컴퓨터의 정보를 보여준다.[예제] 시스템의 모델, OS 버전, User License수 등을 보여줌

                                         $ uname -a

                              vi 텍스트 파일을 편집한다.[예제] /.profile을 편집

$ vi /.profile

                              what 파일의 버전 정보를 보여줌[예제] $ what /usr/bin/ccwho 현재 누가 로그인 되어있는 지를 보여줌.who am i 현 사용자의 로그인 명, tty 및 로그인한 날짜/시간을 보여줌.who –r 현재의 run state를 보여줌.

 

* Administrative commands

dmesg 시스템의 diagnostic 메시지를 화면으로 출력한다.dmesg의 출력으로부터 현 시스템에 장착되어 있는 총 메모리 용량, 가용 메모리 용량, 커널 수준의 에러 및 시스템에서 사용 가능한 하드웨어의 디바이스의 하드웨어 경로를 아래의 예에서 볼 수 있다.

[예제] # dmesg

May 25 09:49

vuseg=c18000

inet_clts:ok inet_cots:ok 1 graph3

2 bus_adapter

2/0/1 c720

2/0/1.2 tgt

2/0/1.2.0 sdisk

2/0/2 lan2

2/0/4 asio0

2/0/6 CentIf

2/0/8 audio

2/0/10 fdc

ps2_readbyte_timeout: no byte after 500 uSec

2/0/11 ps2

5 bus_adapter

5/0/1 hil

5/0/2 asio0

4 eisa

8 processor

9 memory

 

System Console is on the ITE

Networking memory for fragment reassembly is restricted to 5423104 bytes

Swap device table: (start & size given in 512-byte blocks)

entry 0 - auto-configured on root device; start = 3891200, size = 302102

Defaulting dump to primary swap

Dump device table: (start & size given in 1-Kbyte blocks)

entry 0 - major is 31, minor is 0x5000; start = 2029565, size = 65537

Starting the STREAMS daemons.

B2352B HP-UX (B.10.20) #1: Sun Jun 9 08:03:38 PDT 1996

 

 

“ 메모리 크기를 나타냄”

                               Memory Information:

physical page size = 4096 bytes, logical page size = 4096 bytes

Physical: 65536 Kbytes, lockable: 39448 Kbytes, available: 48288 Kbytes

 

                  fsck file system check

                             파일 시스템이 어떤 이유(정전 등)에 의해 불안정할 때 check 및 복구하는 명령.

                   init s 시스템을 single user mode로 바꿈.init 4 시스템을 run level 4로 되돌림.insf Special 파일의 설치.[예제] 아직 special file이

                   설치되지 않은 모든 새로운 하드웨어의 special file을 설치

# insf 

   [예제] 시스템에 있는 모든 special file을 재생성하는 예:

# insf -e 

   특정 하드웨어 경로의 special 파일만 설치[예제] 하드웨어 어드레스 2/52.0.0을 이용하는데 쓰이는 모든 장치 파

일을 설치

# insf -H 2/52.0.0 

   lssf 디바이스 파일의 속성을 나타낸다.[예제] # lssf /dev/lp /dev/dsk/c0t6d0rmsf 특정 하드웨어 경로의 디바이스

파일 삭제.[예제] 하드웨어 경로 2/52.0.0에 연결되어 있는 디바이스 파일을 삭제

# rmsf -H 2/52.0.0 

  ioscan –fn 시스템에 연결되어 있는 모든 디바이스의 정보 및 그에 관련된 디바이스 파일을 찾아서 보여줌. 

   mount 마운트 된 모든 파일 시스템을 보여줌. 또한 다음과 같이 파일 시스템을 마운트할 때 사용함. 

   [예제] # mount /dev/dsk/c1t4d0 /cdrom mount –a 현재 마운트 되어 있지 않은 /etc/fstab내에 있는 모든

  파일 시스템의 마운트.

mount –p 마운트 된 파일 시스템의 옵션을 보여줌.swapinfo -t 디바이스 및 파일 시스템의 스왑에 관한 정보를

보여준다.umount 파일 시스템을 unmount한다./cdrom 파일 시스템을 unmount하기 위한 예:

[예제] # umount /cdrom

또는

# umount /dev/vg00/lvol5

 

 

부록 2. STDIN, STDOUT, STDERR 파일

출력 파일 생성 방법 : Redirecting standard output (stdout):

- Use > or 1> to create or over write the output file.

   [예제] $ cat /etc/inittab > /tmp/config.info

- Use >> or 1>> to append to the end of an existing file.

   [예제] $ cat /etc/gettydefs >>/tmp/config.info

입력 파일 사용 방법 : Redirecting standard input (stdin):

- Use < to take a command’s input from a file.

   [예제] $ mail wkc@abc.com < letter

에러 파일 생성 방법 : Redirecting standard error (stderr):

- Use 2> to create or overwrite the output file.

   [예제] # fbackup -0i /usr -e /usr/lib -f /dev/rmt/0m 2> /tmp/backup.err.log

- Use 2>> to append to the end of an existing file.

   [예제] $ tar cvf /dev/rmt/0m /home 2>> /tmp/tar.error.log

- Use 2>&1 to redirect error messages to the same file as the standard output.

   [예제] $ find /etc/ -name rc.config.d > /tmp/find.out 2>&1

금번에 고객사에 다량의 Windows 2K8을 설치하면서 생각이나 OS 환경설정 Checklist를 정리해보았습니다.

 

현재는 기본적인 내용만 들어가 있으며, 향후에 지속적으로 업데이트 해서 보안쪽도 추가토록 하겠습니다.

 

신규서버 OS 체크리스트_Windows_2K8

 Configuration 적용방법
Administrator
Password
고객사 정책에 따라 적용
N/W 설정 GUI : ncpa.cpl -> Adpater 선택 -> IPv4 속성 -> IP, Subnet Mask,
                       G/W, DNS 입력(
AD 환경은 AD 주소 입력
)
CLI : netsh interface ipv4 set address name="<Index>"
              source=static address=XXX.XXX.XXX.XXX
              mask= XXX.XXX.XXX.XXX gateway= XXX.XXX.XXX.XXX
       netsh interface ipv4 add dnsserver name="<Index>"
               xxx.xxx.xxx.xxx
       netsh interface ipv4 add dnsserver name="<Index>"
               xxx.xxx.xxx.xxx index=2
Hostname 변경 GUI : 초기 구성 작업(oobe) -> 컴퓨터 이름 및 도메인 제공 ->
       변경 -> 컴퓨터 이름
CLI : netdom renamecomputer 현재 컴퓨터 이름
       /newname:변경 할 컴퓨터 이름 /REBoot
리부팅 수행
AD Join
(AD 환경 시)
GUI : 초기 구성 작업(oobe) -> 컴퓨터 이름 및 도메인 제공 ->
       변경 -> 컴퓨터 이름
CLI : netdom join machine /Domain:<domain name>
      /UserD:<domain admin account> /PasswordD:* /REBoot
리부팅 수행
원격 지원 기능
(Feature) 추가
초기 구성 작업(oobe) -> 기능 추가 -> 원격 지원
원격 터미널
활성화
초기 구성 작업(oobe) -> 원격 테스크톱 사용 -> 모든 버전의
      원격 데스크톱을 실행 중인 컴퓨터에서 연결 허용
Windows
정품 인증
GUI : 초기 구성 작업(oobe) -> Windows 정품 인증
CLI : cscript c:\windows\system32\slmgr.vbs
       /ipk XXXXX- XXXXX- XXXXX- XXXXX- XXXXX => CD Key 입력
       cscript c:\windows\system32\slmgr.vbs /ato => 정품 인증
       cscript c:\windows\system32\slmgr.vbs /xpr => 만료일자 확인
page file Size 설정 GUI : 초기 구성 작업(oobe) -> 컴퓨터 이름 및 도메인 제공 -> 고급 -> 성능란의 설정
       -> 고급 -> 변경 -> 모든 드라이브에 대한 페이징 파일 크기 자동 관리 비활성화
       초기 구성 작업(oobe) -> 컴퓨터 이름 및 도메인 제공 -> 고급 -> 성능란의 설정
       -> 고급 -> 변경 -> 사용자 지정 크기 선택 후 사이즈 설정
      
OS가 설치된 Partition에 물리메모리 +1 MB 이상 설정(권장 1.5배 이상)

CLI : wmic computersystem where name="%computername%"
            set AutomaticManagedPagefile=False 페이징 파일 자동 관리 비활성화
      wmic pagefileset where name="C:\\pagefile.sys" set InitialSize=<물리메모리+1MB>,
            MaximumSize=<물리메모리+1MB> 페이징 파일 Size 설정
DEP 기능 Disable 물리 메모리가 4GB 이하인 경우에만 사용
BCDEdit /set nx AlwaysOff
프로세서
사용 계획 변경
초기 구성 작업(oobe) -> 컴퓨터 이름 및 도메인 제공 -> 고급 -> 성능란의 설정
     -> 고급 -> 프로세스 사용 계획 -> 백그라운드 서비스 선택
Network Speed 설정 GUI : ncpa.cpl -> Adpater 선택 -> IPv4 속성 -> 구성 -> 고급 ->
       Speed&Duplex -> 100MB Full 선택
Windows Update
 Disable
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"NoAUAsDefaultShutdownOption"=dword:00000000 서비 리부팅 방지
"NoAutoUpdate"=dword:00000000 자동 업데이트 사용
"AUOptions"=dword:00000002 업데이트 알리지만 설치하지 않음
"ScheduledInstallDay"=dword:00000000 매일
"ScheduledInstallTime"=dword:00000003 03시
NTP 설정 AD Join된 서버들은 AD를 Target 서버로 자동 설정
1. Local Computer와 Target 서버 간 시간 차이 확인
w32tm /stripchart /computer:xxx.xxxx.xxxx.xxx /samples:5 /dataonly
2. Time Server 등록
w32tm /config /manualpeerlist:"xxx.xxxx.xxxx.xxx, xxx.xxx.xxx.xxx"
          /syncfromflags:manual /update
3. Time Service 재시작
net stop w32time & net start w32time
4. Time Server 정상 등록 확인
w32tm /query /peers
방화벽 설정 방화벽을 사용할 경우 서비스마다 예외 설정을 해줘야함
ex) 원격 관리 예외 처리
netsh advfirewall set domainprofile settings remotemanagement enable
netsh advfirewall firewall set rule group="원격 관리" new enable=yes
netsh advfirewall firewall set rule name="원격 데스크톱 (TCP-In)" new enable=yes
표준시간대 설정 CLI : control timedate.cpl => UTC +09:00 서울로 설정

 


1. 제조사
- 회사명 = lsattr -El sys0
- 모델명 = prtconf (하드웨어config)
2. OS version
- 버전 = oslevel -r
3. CPU
- Arch = prtconf
- Hz = lsattr -El proc0 (단위 Hz)
- 개수 = lsdev -Cc processor|wc -l

4. Memory
- 용량 = lsattr -El sys0, prtconf
5. Virtual Memory
- 용량 = lsps -a
6. Internal Disk
- size = bootinfo -s hdisk(숫자) (Mb단위)
- 개수 = lsdev -Cc disk
7. External Disk (SSA)
- size = bootinfo -s hdisk(숫자) (Mb단위)
- 개수 = lsdev -Cc pdisk , lsdev -Ct hdisk
8. rootvg mirror(y/n)
- not mirror = lsvg rootvg (ACTIVE PVs = 1)
- mirror = lsvg rootvg (ACTIVE PVs = 2)
9. NIC
- 속도, 개수 = lsparent -Ck ent
10. 시스템에 장착된 부품들에 위치확인
- lscfg -vp
* 일반적 정보
prtconf = list system configuration
lscfg [-v] = devices (-v = verbose for microcode levels, etc)
lscfg -v = devices verbose (microcode level, firmware, etc)
lsdev -Cc adapter = adapter cards
lsdev -Cc disk = disks
lsdev -Cc processor = CPU s
lsattr -El sys0 = serial number, model number, memory
* AIX 관련 정보
oslevel = AIX OS level
instfix -i |grep ML = AIX maintenance level
lslpp -l = installed SW and levels
* Disk 관련 정보
lsvg -o = active volume groups
lsvg -p vgname = disk drives in VG
lsvg -l vgname = LV s in VG
lslv lvname = LV detail
lslv -l lvname = LV disk location
lspv = disks
lspv -l hdisk# = LV s residing on a disk

* Network 관련 정보
lsdev -Cc if = List network interfaces
netstat -rn = List network gateways
* lsdev -C 명령으로 해당 장치명을 알아낸후

lsattr -El 해당장치명 <enter>하시면 해당장치의 상세 정보를 알수 있습니다.
(예) lsattr -El mem0 이런식으로요.....
AIX에서는 CPU속도를 알려주는 명령이 없습니다. 그래서 명령외 다른 방법을 사용해야 합니다.
우선, uname 명령을 실행하면 다음 형태의 결과를 볼 수 있습니다.

#uname -m
xxyyyyyymmss

각 부분의 의미는 다음과 같습니다.
xx = 00
yyyyyy = 유일한 CPU ID
mm = Model ID <- CPU속도를 결정
ss = 00 (Submodel)

"uname -m"에서 나온 “mm"값을 가지고 찾는거죠...
시스템 기기정보
#prtconf
시스템 모델: IBM,9119-590
기계 일련 번호: 5115E9C
프로세서 유형: PowerPC_POWER5
프로세서 수: 4
프로세서 시계 속도: 1656 MHz
CPU 유형: 64-bit
커널 유형: 64-bit
LPAR 정보: 2 15E9C-lpar1
메모리 크기: 16384 MB
양호한 메모리 크기: 16384 MB
플랫폼 펌웨어 레벨: 사용할 수 없음
펌웨어 버전: IBM,SF225_095
콘솔 로그인: enable
자동 재시작: true
전체 코어: false
[AIX]자주쓰는 명령어들
****************** IBM bundles install. ****************************
#vi /usr/sys/inst.data/user_bundles/MyBundle.bnd
I:sysmgt.websm.security. // write the file which you want to install.
#smitty easy_install
// select Mybundle which you've made and Enter.
lslpp -Lb Mybundle // verify whethere bundle was installed successfully.
smitty list_installed // verify what is installed in server.
******************** AIX 용량 확장하기 ******************************
lsvg rootvg
chfs -a size=+100M /
******************** AIX 네트워크 설정하기 **************************
smit chgenet
smitty mktcpip -> N/W interface 선택
******************** 파일셋 및 fix(AIX) 설치 여부 확인 **************
lslpp -l bos.adt.base // 파일 셋 인스톨 여부 체크
instfix -i -k "IY4390" // fix 설치 여부 체크

******************** AIX 데몬 재시작 ********************************
refresh -s inetd
startsrc -g inetd
IBM filesets 설치

#oslevel -r // OS 레벨 확인
#instfix -i|grep ML // 파일셋 버전별 설치 현황
#instfix -icqk 5300-02_AIX_ML|grep :-: // 업데이트가 필요한 filesets
***************************** cd mount ************************************
#mount -vcdrfs -oro /dev/cd0 /mnt
#geninstall -d/dev/cd0 bos.alt_disk_install.rte // install fileset in cd.
lspv // see hard-drive information.
#bootlist -m normal hdisk1 hdisk13 // select which disk you want to boot
# bootlist -m normal -o // see which disk is on.
hdisk13

▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷
★★★ 명령어 ★★★
▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷▷
# lslpp -l | grep nim : 설치된 파일셋보기
# osrevel -r : o/s 버전보기.ml 포함
# lsconf | more : 서버 사양보기 (prtconf 와 동일)
# instfix -i | grep ML : O/S ML 정보 보기(All filesets for 5.3.0.0_AIX_ML were found.)
# export TERM=vt100 : display 의 화면모드 전환, smitty 시 F1,F2.. 키를 먹도록 한다.
# smit service_software : 서버에 설치된 파일셋보기
# smit compare_report : 서버에 부족한 파일셋 설치하기
# instfix -k IY58143 -d /dev/cd0 : cd에 들어있는 IY58143 을 찾아 설치한다.
# instfix -ik IY58143 : i 는 infomation 으로 설치는 하지않고, 정보를 본다
# bootinfo -y : h/w 적으로 64bit 가 지원되는지 확인
# bootinfo -K : o/s kernel 이 몇 bit 인지 확인
# alog -ot boot | more : booting 될때 에러가 있는지 로그점검 (smit alog 도 가능)
# lscft | grep ent : lan 카드 확인명령어
# stopsrc -s qdaemon / startsrc -s qdaemon : 데몬 내리고 올리기
# smit mlang : 언어선택하기
# ls -l /dev : 외부장치 디렉토리의 리스트확인
# lsdev -C -H : 설치된 장치리스트 보기
# lsattr -El fcs0 : 장치에 대한 설정정보 보기
# chvg -t2 rootvg : rootvg 를 t2로 바꾸어준다. max pp 갯수가 1016 -> 2032 로 증가
# lspv -p hdisk0 : pv의 lv 정보를 확인
# lsvg -l rootvg : vg 에 있는 lv의 정보를 확인
# lqueryvg -Atp hdisk0 : vgda(volum group discripter)를 보는데 vgda를 odm이 아닌 실제 disk에서 가져옴
# more /etc/filesystems : df 했을때 보여지는 filesystem 정보와 동일하다
# lscfg -vl fcs0 : fcs0의 상세정보 보기
# lsvg -p rootvg : 물리적으로 볼륨구성보기
# chvg -g volumegroup : 볼륨그룹을 재정리 해준다
# migratepv -l hdisk0 hdisk6 : hdisk0 의 모든데이터를 디스크단위로 hdisk6 로 이동한다.
# migratepv -l lv02 hdisk0 hdisk6 : hdisk0의 lv02를 hdisk6 에 이동(move)한다.
# chfs -a size =+500M /home : 파일시스템의 용량을 500M 추가한다
# chfs -a size = 1G /home : 파일시스템의 용량을 기존용량+추가용량 1GB로 증가시킨다
# df -k / df -m / df -g : 각 단위별로 파일시스템 보기
# du ./ | sort -r -n : 현재 디렉토리 아래에서 큰파일순으로 정렬한다
# # lslpp -L | pg : 설치된 모든 프로그램 보기.
www.redbooks.ibm.com 전세계 엔지니어들의 장애처리 경험
www.aixservice.net ibm 실장님이 운영하며 신규기술이 많음.
naver cafe 에 빠른 처리가잘되는 aix 카페
www.ibm.com/kr/education
# smitty tcpip 네트워크에 대한 설정을 해줄 수 있다
# startsrc -g tcpip, stopsrc -g tcpip //
#importvg -y testvg hdisk1 하드디스크 마운트하기.

# /usr/spool/cron/crontabs : 사용자별 클론 설정 위치
# /var/adm/cron/cron.deny, allow : 사용자별 클론 접근허용 및 거부 설정.
# lsps -a : 페이징 스페이스 정보 보기.
# fsck -y /dev/hd1 : 파일 시스템 체크
# mkuser user_name : 유저 생성.
# mkgroup group_name
# passwd user_name : 암호 설정.
# rmuser -p user_name : 유저 삭제.
# rmgroup group_name
# who /var/adm/wtmp or /var/adm/utmp : 사용자 접속 확인.
# who /etc/security/failedlogin : 접속 실패 확인.
# more /var/adm/sulog : su를 사용한 사용자 확인.
# last root, last reboot
# varyonvg vg_name : vg 활성화
# varyoffvg vg_name : vg 비활성화
# exportvg vg_name : vg 반출
# savevg vg_name : vg 백업
# extendvg pv_name : pv 확장
# reducevg pv_name : pv 삭제
# lsvg -l rootvg : vg에 대한 lv(Logical Volume) 확인
# mklvcopy lv_name hdisk_name

************ System Backup ***************************
# mkszfile
# cp /var/adm/ras/bosinst.data /root/
# mksysb /dev/rmt0
# tctl -f /dev/rmt0 rewind
# tctl -f /dev/rmt0.1 fsf 3
# restore -xqvf /dev/rmt0.1 /tmp/myfile
# backup -if /dev/rmt0 large_file
# mkdev -l rmt0 : 장치 상태 보기, 삭제
# rmdev -l rmt0

# smitty dev : serial 연결, Tape 특성, Device 설치

# errpt : 에러 보기(/var/adm/ras/errlog)
# errclear : 로그 삭제
# /usr/lib/errdemon : 에러로그 시작
# /usr/lib/errstop : 에러로그 중지
************** VG 미러링 ****************************
# mklv -y hd7 -t dump rootvg PP갯수 hdisk_name : dump device 생성
# snap -ac : dump file 생성

hdisk0 : rootvg hdisk1 : mirror
# extendvg rootvg hdisk1
# chvg -Qn rootvg
# mklvcopy hd1 2 hdisk1 : 미러링
# mklvcopy hd2 2 hdisk1
# mklvcopy hd3 2 hdisk1
# mklvcopy hd4 2 hdisk1
# mklvcopy hd5 2 hdisk1
# mklvcopy hd6 2 hdisk1
# mklvcopy hd7 2 hdisk1
# mklvcopy hd8 2 hdisk1
# mklvcopy hd9var 2 hdisk1
# syncvg -v rootvg : 새로생성한 미러 디스크를 sync 시킨다.
# bosboot -a -d /dev/hdisk1 : 부트 레코드및 장치 초기화.
# boolist -m normal hdisk0 hdisk1 : 부트 리스트를 초기화.
# shutdown -Fr
# lsvg -l rootvg : 확인

일단은 jdk1.4가 설치가 되었는지 확인하는 방법은
lslpp -L | grep Java14
그리고 jdk가 설치되는 위치는 버전별로 아래와 같습니다.
-------------------------------------------------------
- Java 1.4.x 32-bit /usr/java14
- Java 1.4.x 64-bit /usr/java14_64
- Java 1.3.1 32-bit /usr/java131
- Java 1.3.1 64-bit /usr/java13_64
- Java 1.3.0 /usr/java130
- Java 1.2.2 /usr/java_dev2
- Java 1.1.8 /usr/jdk_base
진단툴
/usr/lpp/diagnostics/bin/diagrpt

nmon # to see status of cpu and memory.
[AIX]Smitty jfs(저널 파일시스템)
특정 Volume Group 에 File System 만들기 [To make File system on AIX 5.3]
1. root 로 로그인한다.
[YOU HAVE NEW MAIL]
root@DMS:/ >
2. lspv 를 눌러 현재 Volume Group List 를 확인한다.
root@DMS:/ >lspv
hdisk0 00ceb31adae0d192 rootvg active
hdisk1 00ceb31ad4679f47 oraclevg active
3. 첫번째 디스크의 Volume Group 을 확인한다. (디스크 장애시 image 를 떠야하므로 free 영역을 그대로 두는게 좋다)
root@DMS:/ >lsvg rootvg
VOLUME GROUP: rootvg VG IDENTIFIER: 00ceb31a00004c0000000107dae0d65d
VG STATE: active PP SIZE: 128 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 546 (69888 megabytes)
MAX LVs: 256 FREE PPs: 349 (44672 megabytes)
LVs: 12 USED PPs: 197 (25216 megabytes)
OPEN LVs: 11 QUORUM: 2
TOTAL PVs: 1 VG DESCRIPTORS: 2
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 1 AUTO ON: yes
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
4. 두번째 디스크의 Volume Group 을 확인한다. (54 GIGA 정도가 Free 상태로, File system 을 잡을 수 있음)
root@DMS:/ >lsvg oraclevg
VOLUME GROUP: oraclevg VG IDENTIFIER: 00ceb31a00004c0000000107dc4107fc
VG STATE: active PP SIZE: 128 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 546 (69888 megabytes)
MAX LVs: 256 FREE PPs: 425 (54400 megabytes)
LVs: 2 USED PPs: 121 (15488 megabytes)
OPEN LVs: 2 QUORUM: 2
TOTAL PVs: 1 VG DESCRIPTORS: 2
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 1 AUTO ON: yes
MAX PPs per VG: 32512
MAX PPs per PV: 1016 MAX PVs: 32
LTG size (Dynamic): 256 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable
5. 해당 Volume Group 이 어떠한 Type 으로 설정되어 있는지 확인한다. (jfs2 로 설정되어 있음)
root@DMS:/ >lsvg -l oraclevg
oraclevg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
oraclelv jfs2 120 120 1 open/syncd /oracle
loglv00 jfs2log 1 1 1 open/syncd N/A
6. smitty 를 이용하여 jfs2 파일 시스템을 만든다.
root@DMS:/ >smitty jfs2
6.1. 아래와 같은 화면이 나오면 첫번째 행을 선택한다.
Move cursor to desired item and press Enter.
Add an Enhanced Journaled File System
Add an Enhanced Journaled File System on a Previously Defined Logical Volume
Change / Show Characteristics of an Enhanced Journaled File System
Remove an Enhanced Journaled File System
Manage Quotas for an Enhanced Journaled File System
Defragment an Enhanced Journaled File System
List Snapshots for an Enhanced Journaled File System
Create Snapshot for an Enhanced Journaled File System
Mount Snapshot for an Enhanced Journaled File System
Remove Snapshot for an Enhanced Journaled File System
Unmount Snapshot for an Enhanced Journaled File System
Change Snapshot for an Enhanced Journaled File System
Rollback an Enhanced Journaled File System to a Snapshot
6.2. Unit Size 는 Free PPs 로 잡혀있는 단위와 같은 Megabytes 로 선택한다. (Tab 을 이용)
6.3. Number of units 는 Free PPs 에 잡혀있는 54400 과 같거나 작은 값을 입력한다.
6.4. MOUNT POINT 는 Mount 하고자 하는 폴더명을 /oracledata 와 같은 형식으로 입력한다.
6.5. Mount AUTOMATICALLY at system restart 는 Tab 을 이용하여 yes 로 변경한다.
6.6. Enter 를 눌러 작업을 종료한다.
Add an Enhanced Journaled File System
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
Volume group name oraclevg
SIZE of file system
Unit Size Megabytes +
* Number of units [] #
* MOUNT POINT []
Mount AUTOMATICALLY at system restart? no +
PERMISSIONS read/write +
Mount OPTIONS [] +
Block Size (bytes) 4096 +
Logical Volume for Log +
Inline Log size (MBytes) [] #
Extended Attribute Format Version 1 +
ENABLE Quota Management? no +
7. mount all 을 눌러 모든 폴더를 mount 시킨다.
root@DMS:/ >mount all
mount: 0506-324 Cannot mount /dev/hd1 on /home: The requested resource is busy.
mount: 0506-324 Cannot mount /proc on /proc: The requested resource is busy.
mount: 0506-324 Cannot mount /dev/hd10opt on /opt: The requested resource is busy.
mount: 0506-324 Cannot mount /dev/cd0 on /cdrom: The device is not ready for operation.
mount: 0506-324 Cannot mount /dev/fslv00 on /imsi: The requested resource is busy.
mount: 0506-324 Cannot mount /dev/oraclelv on /oracle: The requested resource is busy.
8. df -k 를 눌러 제대로 잡혔는지 확인한다.
root@DMS:/ >df -k
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/hd4 262144 243224 8% 2202 4% /
/dev/hd2 1966080 162960 92% 39089 49% /usr
/dev/hd9var 131072 122260 7% 390 2% /var
/dev/hd3 524288 522932 1% 56 1% /tmp
/dev/fwdump 393216 392828 1% 4 1% /var/adm/ras/platform
/dev/hd1 131072 130680 1% 11 1% /home
/proc - - - - - /proc
/dev/hd10opt 131072 3868 98% 3823 77% /opt
/dev/fslv00 4194304 2520496 40% 49 1% /imsi
/dev/oraclelv 15728640 679500 96% 20075 12% /oracle
/dev/fslv01 55705600 55696768 1% 4 1% /oracledata

TCPWrapper 란?

네트워크 서비스에 대한 접근을 제어 할수 있는 툴


위 그림과 같이 TCPWrapper의 경우 Inetd 모드와 standalone 모드로 동작이 가능하며, Inetd 모드의 경우 client 의 요청에 의해서 동작하는 것이고, standalone 모드의 경우는 항상 프로세스가 떠서 동작하게 된다.
inet모드에서는 services 파일에 정의된 포트를 기분으로 서비스 구분하고 해당 서비스에 대한 서버데몬을 구동한다.

구성 설정 : /etc/inetd.conf
서비스 설정 : /etc/services



TCP Wrapper를 사용할 때의 2가지 권고사항이 있습니다.

1. 시스템 이름이나 도메인 이름을 사용하지말고 IP 주소를 사용합니다.
2. /etc/hosts.deny을 deny ALL로 설정한 후 접속을 허용할 주소만 /etc/hosts.allow 파일에 기록합니다.

** TCPWrapper 의 경우 저장하는 즉시 유효하므로 작성할때 주의 해야한다.

[문법]
Service:Source (IP 주소, 네트워크 또는 이름):

[/etc/hosts.allow 의 간단한 예]

in.telnetd : 192.168.123.123, 192.168.123.124
(192.168.123.123 와 192.168.123.124 IP에 대해서 telnet 접속을 허용)
in.telnetd : 192.168.200
(192.168.200.0 - 255 네트워크에 대해서 telnet 접속을 허용)
in.ftpd : 192.168.1.30
(192.168.1.30 IP에 대해서 ftp 접속을 허용)

# Client_List 설정 방법

::도메인을 이용한 Client_List 설정
도메인으로 설정할 경우에는 반드시 reverse mapping이 되는 도메인만 설정 가능하다.
(예: nslookup 203.241.205.97  -->  dvc.dongeui.ac.kr)
패턴을 이용해서 모든 서브 호스트에 대해서 설정할 수 있다. 서브 호스트에 대한 패턴 설정은 .(점)으로 한다.
(예: .rootman.org  --->  rootman.org 의 모든 하위 도메인에 대해서 설정한 것이다)

::IP 주소를 이용한 Client_List 설정
제어할 클라언트의 IP주소를 설정한다.
IP주소도 .(점)으로 패턴을 적용할 수 있다. (예: 203.241.  -->  IP주소가 203.241.x.x 인 모든 호스트)

::IP/NetMask를 이용한 Client_List 설정
IP주소와 넷마스크를 이용해서 대상 클라이언트를 설정할 수 있는데 패턴으로 똑같이 처리할 수 있기 때문에 C클래스를 다시 서브넷으로 나누어 쓰는 호스트들을 제어 할 때만 주로 사용된다.
(예: 203.241.205.0/255.255.255.128  --> 아이피 주소 203.241.205 ~ 126)

::EXCEPT
패턴 또는 IP/Netmask를 이용해서 다수의 호스트를 설정할 때 특정 호스트를 제외 시킬수 있다.
(예: 203.241.205.0/255.255.255.0 EXCEPT 203.241.205.95  -->  203.241.205.95를 제외한 C 클래스 203.241.205.x)

참고 : http://www.ulsannetwork.net/read.cgi?board=linux_tip&y_number=43


[/etc/hosts.deny 예]

ALL:ALL (inetd 서비스의 모든 서비스에 대해서 접속을 거부)

참고로 tcp wrapper 구성파일을 검사하려면 'tcpdchk' 프로그램을 실행시키면 됩니다.

[출처]시티락 지식창고님(http://citylock.tistory.com/149)

+ Recent posts