레이블이 컴퓨터일반인 게시물을 표시합니다. 모든 게시물 표시
레이블이 컴퓨터일반인 게시물을 표시합니다. 모든 게시물 표시

2021년 7월 17일 토요일

[IT일반] 윈도우10 홈 원격 데스크톱(RDP) 설정


언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 전용 버전이어서 어쩔 수 없이 윈도우를 사용하고 있다. 비용적인 문제로 궂이 다른 버전을 쓰지 않아도 되겠다(?) 라는 아주 무식한 생각으로 기존의 Pro 버전이 아닌 Home 버전의 윈도우가 설치된 컴퓨터를 구입하고 나서 부터 이 고난은 시작된 것입니다. 

한두번은 그냥 구글에 검색하여 찾아서 따라 하면서 처리 하곤 했는데 사람이 검색보다 빠른게 내가 작성해 놓은 메모 아니겠나 해서 오늘은 이미 구글에 많이 나와 있지만 나를 위한 포스팅을 해보고자 합니다. 

자 현상은 이러 합니다. 

1) 나는 맥 사용자 이다. 

2) 윈도우에서만 실행되는 프로그램을 위해 윈도우 본체가 필요 하다. 
 ( 물론 가상이미지로 윈도우 설치 해도 됩니다. - 그걸 안할 뿐이니 다음에도 한번 이것도 해볼께요. ) 

3) 윈도우본체는 어딘가에 같이 두고 원격 데스크탑을 활용하여 접속 합니다. ( 원격 접속 - RDP ) 

4) 윈도우10 홈 버전은 가능하지 않다. 

이것을 해결 하기 위해서 몇가지 설치와 설정이 필요 합니다. 그걸 정리 해놓는 자리 입니다. 

아마도 앞으로도 계속 윈도우10이 패치가 되면서 변결될 가능성이 있습니다. 저 또한 처음과 지금의 버전이 다른것으로 봐서 어떨때는 됐다가 안되는경우도 봤어요. 
명확히 그쪽으론 전문가가 아니어서 왜 그러한지는 알수가 없네요. 저도 일반 사용자 관점에서 나열을 해봅니다. 

일단 구글에서 검색 합니다. 

" RDP Wrapper Library v1.6.2 " 라고 검색하시거나 "RDP Wrapper" 라고 검색하면 됩니다. 



다운로드 받으면 아래와 같은 폴더 하위에 이러한 파일들이 보입니다. 
누구나 그렇듯 일단 설치 (설치 할때는 관리자 권한 설치로 진행 하세요. ) 





설치가 완료된 이후에 바로 실행이 되거나 준비가 짜잔 하고 되면.. 참 좋은데 말이죠.. 누군가가 올려놓은 것으로보고 따라 했는데.. 안될 때가 제일 힘든 순간? 마찬가지 입니다. 
검색을 하다 보니 이러한 내용들이 인터넷에 있습니다. 





윈도우 업데이트 1803, 1903 업데이트 같은 경우 정상적으로 작동이 안되는 경우가 있습니다. 하고 말이죠 
저도 생각해보니 자주 업데이트 숫자 표기된 것을 기다리고 있지만은 못하는 성격 입니다.  항상 최신 업데이트를 즐겨 하죠... 
이제부터는 좀 성격을 바꾸던가 해야지 하는 생각이 머리속을 스치면서 또 검색을 해봅니다. 
안되는 것도 많고 되는것도 있고 다양합니다. 













2018년 11월 21일 수요일

[IT] 윈도우 10 사용자 암호 몰라서 로그인 못할 때


전산실에서는 다양한 일들은 참으로  다양(방법)하게 처리 한다.
그러한 일중 자주 발생하지는 않지만 간혹 발생하는 것중에 하나가 사용자가 패스워드를 기억하지 못하는 경우가 있거나 패스워드를 알려주지 않고 퇴사 하는 경우가 간혹 있다. 물론 나이스한 마무리를 하시는 분들이야 물어보면 알려주지만 연락이 보통은 안된다는게 함정이다.

모든 환경이 이방법이 되는지는 모르겠다. 아무래도 구글 검색을 하다 보니 여러가지 방법이 조회가 되나 여튼 아래와 같은 컴퓨터 환경에서는 되는것을 확인 하였다.

** 사전 준비 단계
#1 확인된 운영체제 - 윈도우 7, 윈도우 10

#2 준비물 - 운영체서 설치 미디어(CD) 또는 USB로 만든 부팅 디스크도 가능


** 시작 단계 (아쉽지만 리뷰 남기기 위해 다시 하는 것은 귀찮아서 캡쳐가 없다)
#1 설치 미디어를 삽입 한 후 설치 화면으로 진행

#2 설치화면에서 "Shift + F10" 키를 누른다.

#3 명령 프롬포트가 실행된다.
   보통은 X:\Sources> 이 상태의 위치에 있다.
   설치 파일들 위치가 있는 곳을 찾아야 한다.

   보통은 다음과 같은 폴더들이 있다. ( 윈도우 10 64비트 환경 이었다 )
    Windows, Users, Program Files, Program Files(x86)

   이런걸 하는 분들은 대략 기본적으로 명령어를 알꺼라 생각하고 cd, dir 명령어들은 생략 한다.

#4 윈도우즈 폴더위치로 이동하여 명령프롬프트가 실행 될 수 있도록 몇가지 파일들 이름을 변경하여 구성 한다.

#5 미디어 디스크는 이제 빼고 다시 재부팅을 한다.

#6 재부팅 되어 패스워드를 모르는 계정 화면의 로그인 화면에서 Shift 키를 5번 눌러 준다.

#7 신기하게도 명령 프롬프트가 열린다.

C:\Windows\System32> net user peruser 1234

(peruser 는 패스워드를 모르는 계정명이다, 1234는 변경하고자 하는 패스워드다 )

#8 이제 다시 로그인 해본다. 된다.

안될 수도 있다. 그런데 미안하다. 내가 도와줄 수준이 아닌듯 하다.





** 명령어 그대로 표기 (#3번 이후 아래와 같이 진행, 상황에 따라 D:\ 아닌 다른 드라이브 명일 수 있다. )

X:\Sources>d:

D:\>dir

D:\> cd Windows\System32

D:\Windows\System32> ren sethc.exe sethc.exe.bak

D:\Windows\System32> copy cmd.exe sethc.exe

재부팅 후 명령프롬프트

C:\Windows\System32> net user peruser 1234



2017년 5월 16일 화요일

[전산실 이야기] 신입사원 교육을 하면서


인원을 충원하게 되면 금방 무엇인가 일을 줄여 줄수도 없을 뿐 더라 어찌 보면 해야 하는 일들에 추가로 교육이라는 부분이 항상 따라 들어 간다. 잠깐 내 시간이 아깝다고 생각 하거나 본인이 알아서 해야 할 일이야 라고 순간을 보내 버린다면 앞으로의 생활이 더 어려워 질것임에는 분명하다.

어디서 부터 시작해야 할까. 이것이 답이라고 생각지도 않지만 우리 조직내에서 필요로 하는 것들을 해야 하는 것과 개인적으로 이러한 것들을 가지고 있다면 좀더 도움이 될 것이라는 것에 대한 생각들을 정리 하다 보니 이러한 커리큘럼으로 공부를 시켜 보자 라는 생각에 적다 보니 내가 무슨짓을 한것인가 싶기도 하고 그런데 지금 우린 이미 이러한 일들을 하고 있다고 보니 여러가지 생각이 들게 되긴 한다.


대학교 졸업한지 15년이상이 지났다. 우리가 그때 배웠던 그 것들은 지금의 책자들의 어느 과정 한두줄의 내용으로 끝나는 것들도 있고 자세한 이야기로 아직도 풀어 씌여지는 것들이 있다. 그런데 아예 설명이 되지 않는 것들이 많다는 것은 신입을 가르치다 보니 아쉽다는 생각이 들기도 한다. 그 무슨 중요하겠나 하겠지만 간단한 응용프로그램을 하나 만들더라도 원리에 대한 이해가 부족하다 보니 확장성이 떨어지는 단점이 나타나곤 한다.

제목은 거창하게 썼는데 어떻게 교육을 해야 할까 더 많은 고민을 해야 하겠지란 생각을 하게 된다. 계속 적으로 수정해나가고 변화해 가면서 가르치는 것이 아니라 내가 다시 한번 배워가는 그 과정이 될것 같아 조금은 기대가 되기도 하고 조금은 망설여지기도 한다. 그런 순간 순간들이 모여서 새롭게 태어나는 것은 아닐까 싶다.

그날 그 어느날 생각

2016년 10월 13일 목요일

[Oracle] UTL_HTTP 패키지를 활용한 웹서비스 호출 또는 URL CALL

웹/앱 리뉴얼 프로젝트를 진행 중에 내부에서 처리해야할 프로세스상 로직이 있었는데 오라클(데이터베이스) 단계에서 처리가 곤란하게 되어 외부서비스(웹)의 특정 URL/URI를 호출해야 되는 경우가 생겼다. 구글링으로 검색을 해도 상세히 설명 된 곳이 별로 없다. 잠깐 보게 되면 남겨져 있는 대부분 같은 질문과 대답만 있을 뿐이었다.

#별것도 아닌 것으로 하루 시간을 보낸걸 생각하니 화가 치밀어 오르기도 하면서 나와 같은 사람이 분명 있을 꺼라 생각을 하고 정보를 공유하니 도움이 되시길 바란다. 이보다 여러가지 형태의 호출/호출 후 응답 데이터 활용 등이 있을 수 있으나 해당 포스팅에서는 웹서비스 호출을 하기 위한 준비 정도까지만 공유 하고자 한다.

#설정 후 그 이후 단은 적용하고자 하는 도메인과 요구사항에 따라 달라질 수 있으니 해당 내용에서는 제외 한다.

1. 자 일단 Oracle 에서는 웹서비스 호출 및 메일보내기(?) 등을 사용하기 위해 몇몇의 기본 패키지들을 제공하고 있다.

UTL_URL : URL의 인코딩/디코딩 하는 것을 지원
UTL_TCP : TCP/IP를 사용하여 외부 웹서버와 통신할 수 있는 기능을 제공
 - 참고 : "뇌를 자극하는 오라클 프로그래밍" p576  참고 하시길
UTL_SMTP - 메일보내기

이 포스팅에서 소개할 내용과 실사 내용 보고는 아래의 UTL_HTTP 이다.

UTL_HTTP : Oracle에서 web service 호출을 위한 기능 제공
 - Oracle Help Center : 바로가기


1) UTL_HTTP 패키지를 사용하기 위해서는 우선 ACL(Access Control List - 접근제어목록) 에 사용할 데이터베이스 사용자에게 권한을 부여해야 한다. 아래의 3가지 예제를 통하여 우선 진행 해보자.

 * Example Source
1-1) ACL에 사용하고자 하는 것을 추가 한다.

BEGIN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
              acl => 'my_test_utl_http.xml',
              description => '테스트용 ACL 입니다. ',
              principal => 'ORACLE_USER',  -- ORACLE_USER란 사용자에게 권한 할당
              is_grant => true,
              privilege => 'connect');

      COMMIT;
END;

1-2) ORACLE_USER에게 권한을 할당 .
BEGIN
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE (
              acl => 'my_test_utl_http.xml',
              principal => 'ORACLE_USER',  -- ORACLE_USER란 사용자에게 권한 할당
              is_grant => true,
              privilege => 'connect');

      COMMIT;
END;

1-3) 접속할 HOST 정보를 추가
BEGIN
   DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
                         acl          => 'my_test_utl_http.xml',              
                         host         => 'www.oracle.com',
                         lower_port => 80,
                         upper_port => 80);
   COMMIT;
END;

2) 추가된 접속 정보가 잘들어 갔는지 SYS AS SYSDBA 권한으로 조회를 확인

select * from DBA_NETWORK_ACLS;
select * from DBA_NETWORK_ACL_PRIVILEGES ;

정상적으로 조회가 된다면 사전 준비가 된것 이다.
이제 간단하게 확인을 해보자.


* Example Source

DECLARE
  req   UTL_HTTP.REQ;
  resp  UTL_HTTP.RESP;
  value VARCHAR2(1024);

BEGIN

  req := UTL_HTTP.BEGIN_REQUEST('http://www.oracle.com');
  UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
  resp := UTL_HTTP.GET_RESPONSE(req);

  LOOP
    UTL_HTTP.READ_LINE(resp, value, TRUE);
    DBMS_OUTPUT.PUT_LINE(value);
  END LOOP;
  UTL_HTTP.END_RESPONSE(resp);

EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN
    UTL_HTTP.END_RESPONSE(resp);
END;

결과적으로 해당 웹사이트에 대한 응답에 결과를 출력하게 되므로 HTML 소스의 응답부분을 출력하게 될 것이다. 여러가지 오류사항이 나타날 수 있다. 나 역시 그런 오류들이 당황스럽게 만들기도 하였으니 몇 가지만 공유 하면 다음과 같다.


** 자주보게 되는 오류
* ORA-24247: network access denied by access control list (ACL)
- ACL 설정에 대한 문제 : 사전 준비과정에서 ACL 정보가 잘못들어 간 곳은 없는지 확인하는게 좋다. 가끔 오타가 있는경우가 많을 것이다.

사전 준비 과정에서의 ACL 값을 다 지우고 다시 하고 싶다면 아래의 프로시저를 사용 하면 된다.

exec DBMS_NETWORK_ACL_ADMIN.DROP_ACL(acl => 'my_test_utl_http.xml');

해당 ACL명칭을 사용된 이름을 확인하여 삭제 하면 된다.

* ORA-29273: HTTP request failed
* ORA-06512: at "SYS.UTL_HTTP", line 1130
* ORA-12541: TNS:no listener
* ORA-06512: at line 1

나 처럼 네트워크 라우팅문제 이거나 DNS 문제로 인하여 발생하는 어처구니 없는 상황일 수 있다. 네트워크 담당자에게 확인하거나 본이이 직접 해결하던가 필요 하다. 어찌 되었든 지속적인 접근에 응답이 없어서 그러한 것이다.

왜 안되지 안되지 하면서 허송세월 보내다가 CENTOS 서버 쉘에서

LINUX #] curl -v www.oracle.com

으로 실행해 보니 접속 내역을 보면서 확인 할 수 있다. 확인하다 보니 해당 도메인을 찾지 못하거나 IP정보의 네트워크 상의 라우팅 문제일 수 있으니 말이다. 모두가 쉽게 해결 되길. 좀더 상세한 각 패키지의 기능은 오라클 Help Center 를 활용하시길..


2016년 8월 9일 화요일

[Python] Python - Mac Book Aire 에서 사용시 IDLE 한글 깨짐 현상


파이썬을 시작하면서 Mac에서 연습을 시작하는데 처음 부터 한글이 걸린다.
물론 기타 에디터도 있었고 일반 터미널에서 실행 하면 한글 처리에 대해서 고민하지 않아도 되는데 이상하게 IDLE 에서 실행 하면 안된다.

아래와 같은 메세지를 보면 알겠지만.


가반히 보면 뭔가 WARNING 메세지가 있다.  해당하는 링크로 가서 현재 정보를 보았다.









Comment에 나오는 버전을 찾아서 설치 하면 된다. 참 쉽다. 역시 메세지는 거짓을 고하지 않는다. 

2016년 4월 22일 금요일

[전산실 이야기] Oracle RAC 구성을 결정 하다 - 준비하기

규모가 그리 크지 않은 회사들만을 경험하다 보니 사실 이론적으로만 이해하고 있던 부분에 대해서 실제적인 경험으로 다기 올 때는 두려움과 설레임 두 가지가 함께 다가 온다. 물론 나는 DBA 이거나 아키텍처를 설계하는 엔지니어가 아닌 사내 내부 프로그램을 개발 하는 응용프로그래머 입장에서의 정리 내용이므로 깊이 있는 데이터베이스에 대한 것들은 전문적인 사이트에서 참고 하시는 것을 권한다.

http://www.dbguide.net/ 또는 http://database.sarang.net/


일반적으로 지금까지 경험해본 것은 대부분 단독형(Stand Alone)형태 이거나 복구용 이중화가 구성된 Active - Standby 구조만 경험해 보았다. 단독형의 경우에는 사용하던 오라클 인스턴스에 장애가 나거나 스토리지 부분에 장애에 대한 위험/리스크가 크기 때문에 최소한 이중화 정도 까지는 구현을 하는 것이 맞지 않나 싶다. 그런데 흔하게 이중화라고 하는
HA(High Availability) 구성이란 노드(Node Server로 이해하자) 1개는 항상 서비스를 하고 있는 활성(Active) 상태이고 나머지 한대는 장애가 발생하지 않는 한 항상 대기(Standby) 상태 이다. HA방식이 장애에 대응하는 구조를 가지고 있긴 하나 서비스 정지(Down Time)을 가진다는 것이다.

내부적으로 지금과 같은 중소(?) 규모의 시스템에서 과연 HA와 RAC 중 어느것을 해야 하는가에 대한 고민을 하게된 대목이기도 하다. 결국 비용차이가 그리 크지 않다는 전제하에 RAC로 결정을 하긴 하였으나 항상 그러하들 의사결정 후엔 불안과 설렘이 공존한다. 과연 잘한것인가? 아니 잘했을꺼야 하고 그걸 합리화 시키는 건지도 모른다. 어찌 되었든 HA구성이 가지고 있는 문제를 보완하여 나온 구조가 RAC 인것 같다. 인터넷을 이것 저것 찾아 보니 과거 버전엔 OPS(Oracle Parallel Server) 구성이란 것으로 처리 한것으로 보이는데 일단 이글 내용에선 제외하고 현재 시점에서의 내용만 기록을 남겨 보도록 한다.

음식점이니 간단한 시나리오로 정리 해보자면

1. 단독형 (Stand Alone)
  - 음식 주문 했다.
  - 장애 발생
  - 일단 주문도 안된다. 주문 됐는지도 확인 안된다.
  - 다시 살아 날때 까지 아무것도 못한다.

( 그러나 사실 음식접업 특성상 시스템이 다 죽어 버린다 한들 가능은 하다. 그래도 최소한 전기는 들어와야 한다. 눈감고 먹긴 힘드니까 - 단 밥을 언제 먹을 수 있을지는 장담하지 못하겟다. )

2. HA(High Availability)
   - 음식주문 창구 1 , 조리 창구 1 (음식주문/창구 2 대기)
   - 장애 발생
   - 음식주문 창구 2, 조리 창구 2 ( 대기 하고 있다 대신 처리 단, 처음 부터 다시 )
   - 가끔 서비스는 다시 가능 한데 전에 주문 했던걸 다시 해야 할수 있음(동기화 문제)
   - 일단 처리는 될 수 있으나 일정(수초 ~ 수분)한 시간 이후에 가능
   - 불편할 수 있으나 대응은 되었다고 본다.

( 그러나 사실 이것 또한 엄청 심한 컴플레인 요소가 되기도 한다. 음식점업 특성상 몰리는 시간이 정해져 있다. 점심/저녁 시스템에서 확인해야 할 할인내역이나 쿠폰 조회가 되지 않는다면 상상 해보라. 피크시간 다운타임 수분은 피를 말리는 일중 하나이다. )

위와 같은 상황을 격고 싶지는 않다는 것이 결론이었다. RAC 구축을 한다고 내부적으로 결론을 내렸다. 헉.. 그런데 돈이 엄청 든다. 물론 Enterprise 가격은 어마 어마 한것에 비하면 많지는 않으나 진짜 이걸 함으로 인해서 모든 장애 요소와 성능의 향상을 기대 할 수 있을까? 하는 두려움이 밀려 온다.

Oracle RAC(Real Application Clusters)는 두대의 서버(Node)에 하나의 스토리지를 공유하는 구조로 가져가고자 한다. 이러한 구조에서는 서버에는 각 인스턴스를 1개씩 구성하고 저장소는 공유하는 구조이다. RAC를 적용하기 이전 OPS는 인스턴스에서 하던 작업의 내용을 디스크에 저장해 두었다가 장애가 발생하였을 때 다른 인스턴스가 디스크에 있는 내용을 로드하여 처리를 해주는 방식이다 보니 디스크에 내용을 저장하고 다시 올려주는 과정에서의 성능적인 부하가 있었던 모양이다. RAC는 서로 다른 Instance 에서 변경된 데이터를 저장 디스크를 거치지 않고 바로 Instance 로 가져올 수 있는 기능인 캐시퓨전(Cache Fusion) 이라는 기능이 사용된다. 캐시퓨전은 서로 독립적인 인스턴스를 마치 하나의 인스턴스인것 처럼 데이터의 교환이 이루어지면서 섞여 있다라는 의미로 해석할 수 있을것 같다.

명확하게 어떤 숫자들을 봐야 하는지 뭐 전문가가 아니다 보니 사실 참 어렵다 어렵다는 생각을 항상 하게 된다. 그렇다고 전산실이 해당 업체를 100% 신뢰 하느냐? 뭐 상황이나 사람마다 다르겠으나 나는 보면 51%와 49%를 왔다 갔다 하는 편이다 보니 어떠한 자료와 근거를 요청 하고 다른곳에서도 비교해보는 것들을 하곤 한다. 모든 분야에 전문가가 될 수 없다 보니 사실 이런 부분이 어느 정도는 믿음을 가져주고 가는 경우가 많지 않을까.

기존의 단독형 구조에서 RAC구로로의 변화 뿐 아니라 기존의 WIN949 캐릭터셋에서 UTF-8로의 변화가 함께 진행 되는 나름 큰 마음 먹고 진행 하는 과정이 더 있어 어떤 부분들을 어떻게 좀더 신경을 써야 하고 스케쥴관리를 해야 하는지에 대한 것이 더 많을 것으로 생각이 된다. 오늘은 그것의 시작으로 어떤 항목과 어떤 단계의 과정에서 어떻게 준비하고 대응해야 하는지 작업을 시작하기 전에 간략하게 단독형(Stand Alone)과 RAC(Real Application Clusters) 구조에 대해서만 간략하게 기술해 보았다.

다음 포스트엔 체크포인트에 대한 부분과 전산실에서의 IT투자 후 평가에 대한 부분을 간략하게 나마 정리해보고자 한다. 규모에 대한 차이는 아니나 그러한 부분에 대해서 소홀 했던것은 사실이다. 우리에게 어떤 방향성이 있어야 하고 어떤 접근을 해야 하고 그래서 우리는 이것이 필요 합니다. 투자해주세요. 한 이후에 적절한 IT투자에 대한 효과 분석이나 평가분석이 부재 하였던 것은 스스로에게도 좀 부끄러운 일이고 조직에도 반드시 필요한 사례인것 같다.

혹 지나다 어설픈 저의 글을 보신 전문가 분들이 계시다면 덧글로 고견을 남겨 주시고 또 도움을 주실수 있는 의견도 언제든지 열려 있습니다.

오늘의 기록은 여기까지 이제 다시 현업으로.... 전산실의 길은 언제까지 일까..





2016년 4월 18일 월요일

[전산실 이야기] 전산쟁이들이 왜 책을 더 많이 읽어야 할까?

2016년이 되는 올해로 전산실/팀 근무가 12년이 되어 간다. 10년쯤 되면 난 전문가가 되어 있게지 하는 막연한 기대와 희망은 사실 그 순간이 되고 나니 부끄럽기 짝이 없을 뿐이다. 그런데 그래도 경험을 무시 할 수 없다는 것엔 공감을 한다는 생각을 하게 된다. 문득 오늘은 이런 이야기 글을 남겨야 겠단 생각을 했다.

하도 같이 있는 팀원 아이들이나 주변의 선후배들이 나와는 다른 생각을 갖고 있어서 혹여나 내가 맞고 상대가 틀렸다는 목적으로 쓴다기 보단 나의 주장을 몇마디 말로 설명하기 어렵고 또한 나와 공감하는 사람들이 아주 조금은 있지 않을까 하는 기대감에 몇자 적어 보면서 오늘도 전산실에 대한 기록으로 남겨 보고자 한다. 

직원을 채용하기 시작한것은 아마도 기억에 6년전? 경력직을 처음 채용 할 때 였던 것 같다. 나름 처럼 사람을 뽑아야 한다는 부담감과 책임감 속에서 나는 그 짧은(내 기억에 집단으로 봤었고 약 20분이 넘지 않았던 것 같다) 인터뷰 시간에 무엇을 물어 볼 것이며 그것에 대한 어떤 대답을 했을 때 난 어떠한 점수로 평가를 할것이다 라고 나름대로 메모지에 이런것 저런것을 써봤다. 물론 나중에 면접을 들어 갈때 보니 이미 인사팀에서 지정된 평가지가 있던것에 당황하여 슬그머니 내 메모지는 아래쪽 보이지 않는 곳으로 숨겨진 것은 좀 씁슬한 기억이긴 한다. 

그렇다 묻고 싶은 것은 그것이었다. 
질문 1. 최근에 읽은 책이 있습니까? 있다면 제목과 저자 그리고 내용을 간단하게 설명해주실 수 있을 까요? ( 물론 장르는 중요하지 않습니다. ) 

질문 2. 책을 읽고나서 독후감을 쓰거나 어딘가에 정리를 하는 습관이 있으신가요? 

이 질문지를 본 대부분의 나의 상사나 HR담당자들은 핀잔을 주기 일수 였다. 물론 뭐 완전히 이해가 안가는 부분도 없지 않아 있긴 했다. 해가 넘어 갈수록 나의 질문지도 위와 같지는 않았고 좀더 세분화 되고 좀더 정리가 되어가는 느낌이었다. 하지만 첫 해 처음 생각했던 그 질문의 요지는 딱 두가지로 정리가 되었던것 같고 지금도 큰 변화는 없다. 왜 난 궂이 책을 가지고 질문을 했을까? 내 개인적인 생각으론 이러한 밑바탕의 경험이 큰 이유가 되었다. 전산실에는 여러가지 형태가 있으나 내가 경험한 전산실은 내부 부서의 요구사항을 받아서 사내 ERP 또는 여러가지 시스템을 직접 개발하고 배포하고 관리 하는 업무 였다. 그러 하다 보니 첫번째 장애는 바로 용어에 있었다. 같은 말인데 외계어로 들리는 것은 나뿐이 아니었으며 심지어 외부에서 개발하러 들어 오는 SI 업체의 컨설턴트 또는 개발자들에게 통역이 필요 하다는 사실을 몇년이 지난 후에야 깨달았다. 

그래서 책을 많이 읽는 습관과 경험이 필요 하다 생각했다. 눈을 한곳으로만 바라보고 깊게 발아 오는 심안을 갖는 것도 물론 중요하지만 다양한 관점과 다양한 사고 그리고 다양한 도메인을 바라 볼 수 있는 눈이 무척이나 필요 했다. 그래서 장르를 가리지 않길 바란다. 궂이 책이란 용어를 사용하였으나 사실은 책은 사설이 될수도 기사가 될수도 또 타 업종의 도메인명이 될 수도 있다. 내가 하는 것만 잘해야지 보다는 다양한 것들이 밑바탕이 되어 내가 하는 것을 더 잘 할 수 있게 된다는 것을 10년이 지나서야 깨달았던 나의 과오를 내 후배들은 또는 나와 같은 길을 가는 다른 누군가는 더 일찍 깨닫기를 바란다. 

또한 두번째 질문에 대한 생각은 다양하게 읽고 다양하게 접하는 것까진 열심히 하는데 정리가 되어 있지 않는 습관이 몸에 배어 있으면 시간이 지나면 주변에 쓸데없는 이면지에 쌓여 있는 친구들이 되곤 한다. 가끔 전산실에 중요한 업무중에 하나가 직원들이 업무용 PC가 느려짐을 해결해야 할 정말 난제 중에 난제라고 생각하는 일을 해야 할때가 있다. 매번 그렇지는 않지만. 가끔은 바탕화면의 틈을 찾아 보기 어려운 컴퓨터를 만나기라도 하면 정말이지 처음 부터 끝까지 이 컴퓨터를 정리해주고 싶은 마음이 굴뚝같다. 하지만 전산쟁이에겐 시간이 없다. 이러한 잡일(?)을 처리 하다 보면 나의 본업(내부 시스템 개발)을 잊고 야근을 해야 하거나 밤샘을 해야 하는 일이 부지기 수다. 정리 하는 습관가 메모하여 분류를 잘 하는 습관은 현업의 요구사항 부분을 다양하게 수렴받고 분류화 하여 정리 하는 습관으로 이어지며 이러한 것은 향후 시스템의 패치가 아닌 업그레이드 또는 시스템의 전면 도입을 하는 시점에 정말이지 어마어마한 장점을 가지고 있다. 또한 틈틈히 본인의 과업을 얼마나 열심히 했는지 스스로에게도 연봉협상(이런것이 전상쟁이에게 진짜 있긴 하다면)에 기회에 이러한 것을 했다고 보여 줄 수 있는 결과지가 될 수 있기 때문이다. 

이상한 이야기로 흘려 나간 것은 아닌가 생각이 들지만 다시 한번 정리를 하자면 나를 포함한 전산쟁이들은 다양하게 더 많은 책들을 읽고 또 기록하고 정리해야 할 필요가 있다. 그러한 우리의 정리 습관과 편집하는 능력은 우리가 앞으로 싸워야 할 엄청난 속도의 변화와 사용자의 요구사항을 수렴하고 반영하며 대응 하는데 엄청난 도움을 주리라고 나는 생각 한다. 어쩌면 이러한 것이 어느 특정 분야의 전산쟁이에겐 통하지 않는 일이라는 것은 나는 잘 알고 있다. 하지만 뭐 꼭 그렇다고 책 한권 더 읽는 것이 손해가 될 일은 아니지 않는가? 

나 역시 오늘도 더 많은 다양한 책을 읽어야 겠다.    

2015년 1월 29일 목요일

[Windows 7] ODBC 설정시 Oracle Driver 설정 방법

과거 응용프로그램들 또는 설정을 해야 하는 경우가 간혹 발생을 하게 되는데 Windows7을 사용하지만 잘 알지 못하는 경우가 대부분이다.

평상시 처럼 제어판에 있는 ODBC를 열고나서 설정해야지 했더니 보이지 않는다. 앗 뭐지 잠시 생각하다가 뭔가 분명 32Bit와 64비트의 차이가 있을 것이다라는 흠짓한 생각들이 들면서 알게된 내용 누군가를 위하다기 보다는 내 스스로가 또 지나면 잊어 버릴 듯 하여 남겨 놓는다.

Oracle ODBC 드라이버가 32 Bit 이기 때문입니다. 따라서 "데이터 원본(ODBC)"을 32bit 모드로 실행을 하면 사용이 가능 하다.

1. Run CMD

2. C:\>%systemroot%\SysWOW64\odbcad32.exe  Enter

3. 뭐 나머지야 설정 하면 되겠지?

<< 오늘도 이래저래 주저리 주저리 궁시렁 궁시렁... 삽질 하지 않는 그날까지.>>

2014년 8월 6일 수요일

[ITS 일반] Mail Server Error Return Message Type

■ 원인

 - 받는 메일 서비스에 장애가 생겼을 때
 - 받는 사람의 메일 주소가 정확하지 않았을때
 - 수신자의 메일함 용량이 초돠되어 더 이상 메일을 받을 수 없을 때
 - 받는 사람이 수신거부를 설정하였을때

CONNECTION ERROR:

421 4.4.1 IP ADDRESS: Network is busy.

한메일 수신 서버가 응답을 못하는 상황입니다. 잠시 후 다시 접속을 시도해 주시기 바랍니다.

421 4.4.5 IP ADDRESS: Connection refused. Server is busy.

한메일 수신서버에 동시접속 가능한 수를 초과하였습니다. (white IP기준 100개)
접속 수를 줄여 재발송을 시도해 주시기 바랍니다.

554 5.7.1 IP ADDRESS: Connection refused. Your IP address is blocked.

Daum 스팸센터에서 해당IP를 스팸IP로 판단하여 접속을 차단하였습니다.
자세한 사항은 스팸센터로 문의 하시기 바랍니다.

COMMAND ERROR:

421 4.4.0 IP ADDRESS: Closing connection by timeout

시간초과로 한메일 수신 서버 접속이 끊겼습니다. 다시 접속해 주시기 바랍니다.

421 4.7.0 IP ADDRESS: Too many bad commands

사용 불가능한 명령어의 제한 수를 초과하였습니다. 명령어를 확인 후 다시 입력하시기 바랍니다.

421 4.7.0 IP ADDRESS: Too many transactions

한 번 접속 후 접속을 끊지 않고 계속해서 메일을 발송할 경우, 일정양의 메일 수신후 한메일 서버에서 더 이상의 메일수신을 거부합니다. 메일 발송 시, 기존 접속을 끊고 새로운 접속을 맺으셔야 합니다.

500 5.5.0 IP ADDRESS: Command line too long

명령어가 제한길이인 8,192 바이트를 초과하였습니다. 명령어를 확인 후 다시 입력하시기 바랍니다.

500 5.5.2 IP ADDRESS: Command not recognized: UNRECOGNIZED COMMAND

한메일 수신 서버가 이해할 수 없는 명령어 입니다. SMTP 규약에 맞게 수정 후 다시 입력해 주시기 바랍니다.

501 5.5.2 IP ADDRESS: Syntax error in command line: COMMAND LINE

명령어 구문에 오류가 있습니다. SMTP 규약에 맞게 수정 후 다시 입력해 주시기 바랍니다.

501 5.5.4 IP ADDRESS: EHLO requires domain name

EHLO 명령어에 도메인 명이 포함되어 있지 않아 반송되었습니다. 도메인 명을 포함한 명령어를 다시 입력해 주시기 바랍니다.

501 5.5.4 IP ADDRESS: Command argument required

명령어에 필요한 인자값이 없습니다. SMTP 규약에 맞게 수정 후 다시 입력해 주시기 바랍니다.

501 5.5.4 IP ADDRESS: Invalid command argument: ARGUMENT

명령어 중 인자의 포맷이 올바르지 않습니다. SMTP 규약에 수정 다시 입력해 주시기 바랍니다.

502 5.5.1 IP ADDRESS: Command not implemented: UNIMPLEMENTED COMMAND

이 메시지로는 정확한 에러 사항을 파악할 수 없습니다.
telnet으로 한메일 수신 서버에 접속하여 발송하기까지의 로그를 복사하여 보내주시면 문제를 확인해 드리겠습니다.
한메일 수신 서버 아이피 : 222.231.35.29



MAIL COMMAND ERROR:

450 4.7.1 IP ADDRESS: Message refused. Your IP address has sent too many mails(MAIL COUNT).

한메일로 전송 가능한 메일 통수를 초과하였습니다. 자세한 사항은 스팸센터로 문의해 주시기 바랍니다.

451 4.4.1 IP ADDRESS: Network is busy(TYPE)

보낸이의 메일주소가 유효한 Daum 사용자인지 확인하던 중, 일시적인 오류가 발생하였습니다. 잠시 후 재전송을 시도해 주십시오.

503 5.5.1 IP ADDRESS: Sender already specified

보낸이의 메일 주소가 이미 정의되어 있습니다. SMTP 규약에 따라 보낸이의 메일주소는 중복해서 정의될 수 없습니다.
명령어를 확인하신 후 다시 발송시도 해주시기 바랍니다.

550 5.1.8 IP ADDRESS: No such user: SENDER ADDRESS

보낸이의 메일 주소가 Daum에 가입되지 않은 아이디입니다. 보낸이 주소를 확인 후, 재 발송해 주시기 바랍니다.

553 5.1.7 IP ADDRESS: Invalid mail address: SENDER ADDRESS

보낸이의 메일 주소가 한메일 수신 서버에서 확인되지 않는 주소입니다. 보낸이 주소를 확인 후, 재발송 해주시기 바랍니다.



RCPT COMMAND ERROR:

450 4.5.3 IP ADDRESS: Too many recipients

한메일 수신서버가 한번에 받을수 있는 받는이 수 제한을 초과했습니다. 받는이를 나눠서 메일을 재발송해주십시오.

451 4.2.0 IP ADDRESS: Temporary home error: RECIPIENT ADDRESS

받는이의 한메일 홈서버에 일시적인 장애가 있어서 메일을 수신할 수가 없습니다. 잠시 후 다시 시도해 주시기 바랍니다.

451 4.4.1 IP ADDRESS: Network is busy

받는이의 메일주소가 유효한 Daum 사용자인지 확인하던 중, 일시적인 오류가 발생하였습니다. 잠시 후 재전송을 시도해 주십시오.

503 5.5.1 IP ADDRESS: MAIL command required

받는이의 메일주소를 정의하기 전에 반드시 보낸이의 메일주소를 정의하여야 합니다.
SMTP 규약에 맞게 명령어를 다시 입력해주시기 바랍니다.

550 5.1.1 IP ADDRESS: No such user: RECIPIENT ADDRESS

받는이의 메일주소가 Daum에 가입되지 않은 아이디입니다. 받는이 주소를 확인 후 다시 발송해 주시기 바랍니다.

550 5.2.0 IP ADDRESS: Message refused by the recipient: RECIPIENT ADDRESS

받는이가 보낸이 주소를 ‘수신거부’ 혹은 ‘바로삭제’로 설정하여 메일이 전달될 수 없습니다.

550 5.2.1 IP ADDRESS: Mailbox is inactive: RECIPIENT ADDRESS

받는이가 Daum에 로그인한지 3개월 이상 지나 휴면계정으로 전환된 사용자입니다.
Daum 휴면 사용자는 메일을 수신할 수 없습니다.

552 5.2.2 IP ADDRESS: Mailbox is full: RECIPIENT ADDRESS

받는이의 편지함이 가득 차서 더 이상 메일을 수신할 수 없습니다.
받는이에게 다른 방법으로 연락이 가능하시다면 한메일의 편지함 정리를 요청해주시기 바랍니다.

553 5.1.2 IP ADDRESS: Relaying denied: RECIPIENT ADDRESS

@hanmail.net 또는 @daum.net이 아닌 주소로 메일을 발송하였습니다. 받는이 메일 주소를 확인 후, 다시 발송해 주시기 바랍니다.

553 5.1.3 IP ADDRESS: Invalid mail address: RECIPIENT ADDRESS

받는이의 메일 주소가 정확하지 않습니다. 확인후 재발송 해주시기 바랍니다.



DATA COMMAND ERROR:

451 4.4.1 IP ADDRESS: MESSAGE ID Network is busy

한메일 수신서버 네트워크의 일시적인 오류로 인하여 메일이 전달되지 않거나, 저장이 되지 않았습니다.
잠시 후, 발송을 다시 시도해 주시기 바랍니다.

503 5.5.1 IP ADDRESS: MAIL command required

보낸이의 메일주소가 정의되지 않았습니다. 확인 후 다시 명령어를 입력해 주시기 바랍니다.

503 5.5.1 IP ADDRESS: RCPT command required(recipient)

받는이의 메일주소가 정의되지 않았습니다. 1명 이상의 받는이 주소를 포함시켜 다시 발송해 주시기 바랍니다.

552 5.2.3 IP ADDRESS: Message size exceeds the limit(LIMIT)

메일이 수신 제한 용량을 초과하였습니다. (일반 회원:20M, 프리미엄 회원:50M)
사이즈를 줄여 다시 발송해 주시기 바랍니다.

554 5.4.6 IP ADDRESS: Routing loop detected

한메일 수신 서버가 이미 해당 메일을 수신하였습니다. 발송 서버의 루핑이 예상되오니, 확인을 부탁드립니다.

554 5.6.0 IP ADDRESS: Message requires 'From' header

헤더에 보낸이 정보가 없는 경우 수신을 거부합니다. 정확한 보낸이 주소를 포함하여 다시 발송해주시기 바랍니다.

554 5.6.0 IP ADDRESS: Invalid 'From' header: FROM

헤더의 보낸이 정보가 ‘RFC2822 인터넷 메시지 규정’에 맞지 않는 경우 수신을 거부합니다.
RFC 규정을 참고 후, 다시 발송해주시기 바랍니다.

554 5.7.1 IP ADDRESS: Message refused. Your host name(HOST NAME) dosen't match with your IP address.

메일발송 IP 정보와 Hostname 정보가 일치하지 않아 해당 메일 수신을 거부합니다.
발송 서버에 ‘MX레코드’와 ‘리버스 도메인’이 등록되어 있는지 확인해주시기 바랍니다. 2개 모두 정확히 등록되어 있어야 합니다.
도메인 설정이 정확한지 네트워크 담당자에게 문의해주세요.

554 5.7.1 IP ADDRESS: Message refused. Your domain(DOMAIN) has sent too many mails.

해당 도메인에서 너무 많은 메일이 발송되어, 한메일 수신이 원활하지 않습니다. 잠시 후 다시 발송해 주시기 바랍니다.

554 5.7.7 IP ADDRESS: Message not terminated by end with "." on a line by itself

DATA 명령어가 끝나기 전에 클라이언트가 닫혔기 때문에 해당 메일을 전달할수 없습니다.
SMTP 규약에 따라 “.” 명령어를 포함하여 다시 입력해 주시기 바랍니다.

2014년 4월 15일 화요일

[Info] Sync Google Calendar with Outlook 2010 and 2013

Sync Google Calendar with Outlook 2010 and 2013 

참조 - 원문 링크 


기존에 구글 계정을 가지고 일정을 사용하시던 분들이라면 Outlook 2013에서 간단한 설정으로 일정을 함께 공유할 수 있습니다.

1. 구글 계정으로 로그인 하여 [켈린더] 일정으로 이동 합니다.

2. 켈린더에 대한 아래 그림과 같이 클릭하면 [설정] 메뉴를 클릭 합니다.


3. 설정화면에서 아웃룻과 연동하고자 하는 일정을 클릭하면 상세 정보가 나옵니다.


위 그림에서 비공개주소 ICAL (녹색바탕의 버튼 글씨)를 클릭하시면 URL 주소가 나타납니다. 이 해당 주소를 복사 합니다.

4. 아웃룩2013을 실행 합니다. 일정으로 들어가 아래 버튼처럼 [일정] --> [일정열기] 를 클릭하여 3번에서 복사한 URL 주소를 붙여넣기 합니다.



5. 여기까지 마무리 하고 나면 왼쪽에 [내일정] -> 일정, [다른 일정] -> [구글일정] 이 추가 된것을 확인 할 수 있다. 


* 모바일에 일정을 공유하실 때는 구글일정 또는 포털 일정으로 연결 하시면 편리 합니다. 감사합니다.





2011년 7월 6일 수요일

[네트워크일반]Switch 의 종류 및 기능

Switch 의 종류 및 기능
Network에서 L2, L3, L4… Switch를 구별하는 것은 OSI 7Layer중 어느 Layer에서 수행되는가에 따라 결정된다.
 
따라서, OSI 7Layer를 먼저 간단히 살펴 보고, Switch에 대해 살펴 보겠다.
 
1.OSI 7Layer
1) Layer 1 (Physical Layer)
- 데이터의 정보를 전기적인 Volt로 변환하여 매개체를 통해 상대방의 수신 장치로 전송
- 장비: Hub, Repeater, Transceiver  


2) Layer 2 (Datalink Layer)
- 모든 네트워크의 연결 지원
- 장비: Ethernet, ATM, X.25 
- PDU: Frame (상위계층으로 받은 데이터를 해당 단위로 나눔)


3) Layer 3 (Network Layer)
- IP주소, 즉 논리적 주소를 가지고 발신지로부터 최종 목적지까지 경로 결정
- 장비: Router, L3 switch
- PDU: Packet (상위계층으로 받은 데이터를 해당 단위로 나눔)
- 프로토콜: IP, ARP, ICMP, IGMP


4) Layer 4 (Transport Layer)
- 데이터 전송
- 장비: L4 switch
- PDU: Segment (상위계층으로 받은 데이터를 해당 단위로 나눔)
- 프로토콜: TCP, UDP


5) Layer 5 (Session Layer)
- Session 확립.  App. 간의 연결 유지 및 데이터 전송 제어


6) Layer 6 (Presentation Layer)
- 네트워크 자원을 호출하여 응용프로그램 영역인 Appliaction 계층으로 전달 (API)
- Application 계층으로부터 받은 데이터를 컴퓨터가 이해가능한 format으로 변환


7) Layer 7 (Application Layer)
- End-User가 네트워크 자원을 효율적으로 사용할 수 있도록 제공해주는 인터페이스 계층
- 프로토콜: HTTP, FTP, SMTP, DNS, RIP, SNMP
 
2. Switch
1) Switching 기능
- L1 -> Flooding
- L2 -> Switching
- L3 -> Routing
- L4 -> port number 이용 트래픽분산처리 (Load balancing)
- L7 (cisco 6500이상 장비) -> S/W 를 장치에 올려서 Traffic filter , Security, VPN 를 할수 있다.
- L5, L6 ? TCP/IP 기반이기때문에 L7 L5~6 기능을 모두 포함하고 있다.
 
2) Switch 장비는 스위칭 방식에 따라 크게 3 종류로 나눌 수 있다.
2-1) Address 를 인식하여 해당 장비로 Packet 전송
- L2 Switch: MAC Address
- L3 Switch: IP Address
 
2-2) Port에 따라 해당 장비로 Packet 전송
- L4 Switch: TCP, UDP 포트(HTTP, FTP, Telnet etc.) 를 분석하여 packet을 처리함.
 
2-3) Packet의 내용을 읽고 해당 장비로 Packet 전송
- L5 Switch
- L6 Switch
- L7 Switch: 트래픽 내용(e-mail제목/문자열, HTTP URL, 쿠키 정보 
etc.) 패턴을 분석하여 packet을 처리함.
 
▶ 과거에는 통상적으로 패킷의 MAC Address IP Address를 이용하여 패킷을 전달하는 역할을 수행하는 L2/L3제품이 주류를 이루었다. 그 이후 급속히 증가하고 있는 인터넷 트래픽을 효율적으로 처리하기 위하여 트래픽을 분산하고 지능적인 트래픽 관리 기능을 제공하는 L4스위치가 등장하였다. L4스위치는 서버 및 네트워크 장비의 가용성과 확장성을 높이기 위한 수단으로 각광받고 있다.

3) SAN (Storage Area Network) Switch
SAN은 스토리지 시스템을 연결해 별도의 네트워크를 구성하는 방식이다. 다시 말해 전용 LAN을 별도로 구성한다고 볼 수 있다. LAN Local Area Network의 약자인 점에 주목한다면 SAN역시 스토리지 시스템끼리 연결해 놓은 자체 네트워크 라는 점을 이해할 수 있다. 다시 말해 별도의 데이터 전달 통로를 통해 스토리지시스템에 액세스 하기 때문에 일반 네트워크 소통량에 영향을 받지 않고 신속한 데이터 액세스가 가능하다. 이 방식은 이기종 플랫폼에 대해 중앙 집중식 스토리지 풀 공유가 가능하고 하드웨어 프로토콜을 이용해 높은 성능을 제공하며 스토리지 트래픽 처리를 위한 별도의 전용 네트워크가 갖추어져 있을 뿐 아니라 여러 대의 서버와 스토리지 어레이를 연동하기 쉽다는 점에서 확장성이 높고 투자 회수 효가가 높다는 장점이 있다.이때 시스템과 스토리지 사이에 연결 역할을 해주는 것이 SAN Switch 이다.
 
참고 : 네이버블로그 http://blog.naver.com/ljssemam/70014989243

2010년 8월 18일 수요일

[네트워크일반] RAID 에 대한 설명

raid에 대한 설명이 비교적 이해하기 쉽게 나온 자료를 포스팅 합니다. 

출처  : http://blog.bagesoft.com/1015

RAID : Redundant Array of Indexpensive Disk
 ● 1988년 미국 버클리대 컴퓨터 공학과에서 “A Case for Redundant Arrays of Inexpensive Disks  ”
   로 발표된 기술로, 여러개의 Disk에 일부 중복된 데이터를 나주어 저장하는 기술과  Disk용량 증가를 위한
  기술, 그리고 read/write 속도를 증가시키기나 데이터를 안전하게 백업하는데 사용하기도 하며, 
   RAID의 종류는 방법에 따라 여러개의 Level로 나눈다.

 ● 특징
    - 장애 발생요인을 최대로 제거한 고성능 무정지 저장장치
    - 여러개의 Disk를 하나의 가상 Disk로 구성, 대용량 저장 장치 구축 가능
    - 다수의 Disk에 Data를 분할, 병렬 전송함으로써 Data 전송속도 향상
    - System 가동 중 Disk Fault시에도 시스템 정지 없이 새로운 Disk로 교체하면서 Data 자동복구

1. RAID에 사용되는 기술

 1) Striping (스트라이핑)
  하나의 Disk에 모두 기록할 수 없는 Data를 여러개의 Disk에 분배 기록할 수 있는 기술로 
  큰 용량을 만들어 사용하는데 사용된다.

 2) Mirroring (미러링)
  '거울' 처럼 하나의 Disk를 또다른 Disk에 동시에 기록하는 기술로
  하나의 disk가 Fault 되어도 미러된 disk로 data를 안전하게 관리할 수 있다.
  
 3) Parity (패리티)
  Data의 오류검출 확인에 사용되는 기술


2. RAID의 종류

  1) RAID 0
    여러개의 Disk를 하나의 Disk처럼 사용
 

사용자 삽입 이미지


    장점 : I/O를 분산하고 Disk의 사용 용량을 증대할 수 있어 고용량 저장이 용이
             하며, RAID구성중 속도가 가장빠름.

    단점 : 스트라이핑 된 Disk중 한개의 Disk라도 손상되었을 경우 Data가 보장되지 않아
             Data의 안전성이 떨어짐


 2) RAID 1
   두개의 Disk에 중복하여 Data를 기록하여 DAta의 안정성 확보

사용자 삽입 이미지

    장점 : 각 Disk를 동시에 읽을 수 있어 읽기능력을 향상(두배), Data를 두개의 Disk에 기록 할 수
            있어 하느의 Disk가 손상되어도 나머지 하나의 Disk에 Data가 남아있어 Data의 안전성 확보 가능.
             Multi user사용 적합

    단점 : 저장용량당 단가가 비싸 비용이 높고 쓰기능력은 향상되지 않음.


 3)  RAID 2
    error검출 능력이 없는 Disk를 위해 Hamming 오류정정코드를 사용
   모든 SCSI Disk가 ECC(에러검출기능)를 탑재하고 있기때문에 사용되지 않음
 
사용자 삽입 이미지


4) RAID 3 (Single Check Disk per Group RAID)   Data 저장을 위한 Disk외에 하나의 Disk에 에러검출을 위한 패러티 정보를 저장하고,
   Disk에 장애가 발생하였을 경우 남아있는 Disk 들을 Exclusive OR (XOR)연산을 통해 복구
사용자 삽입 이미지

  장점 : 큰 용량의 Data를 안정적으로 기록시킬 때 용이 
          Single user, Single tasking 환경에 적합

  단점 : 적은양에  Data에는 비 효율적


5) RAID 4 (Independent Disk Array)
   하나의 Disk에 패러티 정보를 저장하고, 나머지 Disk들에게 Data를 저장
   어느 한 disk가 손상되어도 패러티 정보가 있는 Disk로 복구 가능
사용자 삽입 이미지

   장점 : 큰 Data의 전송시간을 줄일 수 있음

   단점 : 모든 Disk에서 I/O발생 병목현상 발생(패러티 정보갱신), 패러티 Disk도 같이 손상시 복구 어려움


6) RAID 5 (Rotating Independent Disk Array)
   하나의 Disk에 패러티 정보를 모두 저장하지 않고, 
   모든 Disk에 패러티 정보를 분산 기록하여 패러티를 담당하는 Disk에 병목현상을 해결
사용자 삽입 이미지

   장점 : 멀티프로세서 시스템과 같이 Data가 작은 기록이 잦을 경우 용이 (Hot Plug 가능)

   단점 : Data를 Read만 할 경우 속도가 느림, 3개 이상의 Disk 필요
             두개이상의 Disk가 Fault될 경우 Data의 안전성을 보장할 수 없음.


7) RAID 0+1 (Stripe then Mirror - High Data Transfer Performance)   네개 이상의 Disk를 2개씩 RAID 0(스트라이핑)구성하고 다시 RAID 1(미러링)으로 구성
     Disk1
               > RAID 0 (스트라이핑)
    Disk2
                                            > RAID 1 (미러링)    Disk3
                > RAID 0 (스트라이핑)
    Disk4

    장점 : RAID 0 와 RAID 1의 장점만을 수용하여 구성, 안정성과 속도증대를 동시에 만족.
             공통 O/S 실행과 같은 시스템에 적합

    단점 : 디스크 저장 효율성이 떨어지고 비용이 바싸짐.
             한그룹에 RAID 0(스트라이핑)된 디스크가 두개가  Fault 될 경우 Data의 보장 어려움


8) RAID 1+0 (Mirror then Stripe - High Data Transfer Performance)
  RAID 0+1의 단점인 Data의 안정성 미흡(두개이상 Disk가 Fault될 경우 전체 구성이 깨지는 문제)를
  보안한 기술.
 네개 이상의 Disk를 2개씩 RAID 1(미러링)구성하고 다시 RAID 0(스트라이핑)으로 구성
사용자 삽입 이미지



  9) RAID 6 (

InIndependent Data disks with two independent distributed parity schemes)

사용자 삽입 이미지


RAID 5 
방식는 하나의 패리티를 사용하지만 RAID 6 방식은 두개의 패리티를 사용하므로 두개의 드라이브 장애 시에도 데이터의 복구가 가능하다.
  읽기에서는 RAID 5 방식과 큰 차이는 없으나 쓰기 작업의 구현이 아주 복잡하다.

  10) RAID 7 
        (
Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates )


사용자 삽입 이미지


  11) RAID 10 (Very High Reliability combined with High Performance)

사용자 삽입 이미지


  12) RAID 53 (High I/O Rates and Data Transfer Performance )

사용자 삽입 이미지


3. RAID TYPE Level Safe & Speed
   
   1) RAID TYPE 
 
사용자 삽입 이미지

  2) Safe : RAID 1 > RAID 5 > RAID 1+0 > RAID 0+1 > RAID 0

  3) Speed : RAID 0 > RAID 0+1 / 1+0 > RAID 5 > RAID 1
 

언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 ...