'분류 전체보기'에 해당되는 글 1622건

리눅스를 로컬이 아닌 xshell이나 secureCRT 등의 프로그램을 이용해 접속을 하면
한글이 깨지는 현상을 많이 볼 수 있다.
시스템 운영에야 크게 문제가 있는건 아니지만
공부도 해야하구
쉘 만들면 팀원들에게 배포도 해야하기 때문에
주석을 한글로 쓰는 나로서는 여간 불편한게 아니다
따라서 아주 긴요하게 쓰이는 한글 깨짐 방지하는 구문!!

해당 파일은 /etc/sysconfig/i18n

파일 내용을 확인해보면 LANG="ko_KR.UTF-8"로 되어있을 것이다
(이건 기본 국가설정을 한글로 해줬기 때문일 것이다. 따라서 다를 수도 있다)
이 부분을 주석처리 해주고(지워도 무방하나 만약을 위해 주석처리만 했다)

 LANG="ko_KR.eucKR"
SUPPORTED="en_US.iso885915:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"

이 부분을 삽입한다.

bash 명령을 이용해 적용시킨다.






이 방법이 안된다고 하시는 분들도 있는데
일단 내가 적용해본 결과 문제 없이 잘 돌아간다
eucKR이 UTF-8보다 안좋은 문자열 표기방법이라고 보긴 한거 같은데
일단 내가 필요한건 한글 출력이었기에
만족하고 쓰고있다

'개발자로 살기' 카테고리의 다른 글

javascript 네트워크 연결상태 확인하기  (2) 2012.06.09
XMLHttpRequest cannot load  (0) 2012.02.09
HTTP 1.1 에러코드  (0) 2011.01.11
파티션과 볼륨  (0) 2010.04.16
RAID 0 설치방법  (0) 2010.04.15
블로그 이미지

ligilo

행복한 하루 되세요~

,

상태코드 메세지 설명
100 Continue
클라이언트로부터 일부 요청을 받았으니 나머지 요청 정보를 계속 보내 주시오.
101 Switching Protocols
서버는 클라이언트의 요청대로 Upgrade 헤더를 따라 다른 프로토콜로 바꿀 것임.
200 Ok
모든 것이 정상적임. GET이나 POST 요청 뒤에 문서가 온다. 이것은 서블릿의 기본 상태다. setStatus를 사용하지 않으면 이 상태코드를 얻게 된다.
201 Created
서버에서 문서를 만들었음. Location 헤더는 그 URL을 가리킨다.
202 Accepted
요청이 수행되었지만 처리는 끝나지 않았음.
203 Non-Authoritative Information
문서는 정상적으로 반환되었지만 복사본이 사용되었으므로 응답 헤더중 일부가 정확하지 않을 수 도 있음.
204 No Content
새 문서 없음. 브라우저는 이전 문서를 계속 보여줘야 한다. 이것은 사용자가 페이지를 주기적으로 리로드를 하던 중 이전 페이지가 이미 만료되었을 때 사용할 수 있다. 하지만 Refresh 응답 헤더나 같은 헤더를 사용 해서 페이지를 자동으로 리로드 시켰을 때는 동작하지 않는다. 왜냐하면 이 상태 코드를 반환하면 추후의 리로딩이 멈추기 때문이다. 하지 만 자바 스크립트로 리로드하게 해 주는 것은 작동한다.
205 Reset Content
새 문서 없음. 하지만 브라우저는 문서 창을 리셋해야 한다. 브라우저가 CGI 폼 필드를 전부 지우도록 할 때 사용 된다.
206 Partial Content
클라이언트가 Range 헤더와 함께 요청의 일부분을 보냈고 서버는 이를 수행했음.
300 Multiple Choices
요청된 문서가 여러 군데서 발견되었음. 이 때 서버는 해당하는 모든 문서들을 나열할 것이다. 만약 서버가 선호하는 선택이 있으면 Location 응답 헤더에 나열해야 한다.
301 Moved Permanently
요청된 문서는 어딘가에 있고 그 문서에 대한 URL은 Location 응답 헤더에 주어졌음. 브라우저는 자동적으로 새 URL의 링크를 따라가야 한다.
302 Found
301과 비슷하지만 새 URL은 임시 저장 장소로 해석된다. 이 메시지는 HTTP 1.0에서는 ‘Moved Temporarily'였다. 그리고 HttpServletResponse의 상수는 SC_FOUND가 아니라 SC_MOVED_TEMPORARILY다. 이것은 매우 유용한 헤더인데 이 헤더를 통해 브라우저가 자동적으로 새 URL의 링크를 따라가기 때문이다. 이 상태 코드는 아주 유용하기 때문에 이 상태 코드를 위해 sendRedirect 라는 특별한 메소드가 있다. response.sendRedirect(url)을 사용하는 것은 response.setStatus(response.SC_MOVED_TEMPORARILY)과 response.setHeader("Location", url)를 쓰는 것에 비해 몇 가지 장점이 있다. 첫째, 더 쉽게 사용할 수 있다. 둘째, sendRedirect을 써서 서블릿이 그 링크를 포함한 페이지를 자동으로 만들어 준다(자동으로 redirect를 따라갈 수 없는 오래 된 브라우저에서도 볼 수 있게 해 준다). 마지막으로, sendRedirect에서는 상대 URL이 절대 URL로 해석되기 때문에 상대 URL도 다룰 수 있다. 이 상태 코드는 종종 301번과 혼용된다. 예를 들어 (맨 마지막에 ‘/'이 빠짐)과 같이 오류가 있는 요청에 대해 어떤 서버는 301을 어떤 서버는 302 를 보낸다. 기술적으로 브라우저는 원 요청이 GET이었다면 자동적으로 리다이렉션을 따라 가도록 되어 있다. 더 자세한 사항은 307 헤더를 보세요.
303 See Other
301/302과 같지만 원래 요청이 POST였을 경우 리다이렉트 되는 문서(Location 헤더에 주어졌다) GET을 통해 받아야 한다.
304 Not Modified
클라이언트의 캐시에 이 문서가 저장되었고 선택적인 요청에 의해 수행됨(보통 지정된 날짜보다 더 나중의 문서만을 보여주도록 하는 If-Modified-Since 헤더의 경우). 서버는 클라이언트에게 캐시에 저장된 이전 문서를 계속 사용해야 한다고 말할 것이다.
305 Use Proxy
요청된 문서는 Location 헤더에 나열된 프록시를 통해 추출되어야 함.
307 Temporary Redirect
Temporary Redirect 이것은 302 ("Found" 또는 "Temporarily Moved")와 같다. 많은 브라우저에서 메시지가 POST일 때 원래는 303 응답의 POST 요청의 리다이렉션을 따라 가야 함에도 불구하고 302의 응답을 따르기 때문에 HTTP 1.1에서 추가되었다. 303 응답은 모호하지 않도록 의도되었다. 303 응답의 경우에 대해서는 리다이렉트 된 GET과 POST 요청을 따르고 307 응답의 경우에는 GET 요청만 따른다. 몇 가지 이유로 HttpServletResponse에는 이 상태코드에 해당하는 상수가 없다.
400 Bad Request
요청에 문법적으로 잘못된 부분이 있음.
401 Bad Request
클라이언트가 올바른 허가를 받지 않고 허가가 필요한 페이지에 접근하려 함. 여기에 대한 응답으로 브라우저가 대화창을 열어 사용자 이름과 암호를 받아들이도록 하는 WWW-Authenticate 헤더를 포함해야 한다.
403 Forbidden
사용 권한에 관계없이 내용을 볼 수 없음. 종종 파일 이름이 잘못되었거나 서버의 디렉터리 퍼미션이 잘못 되었을 때 나온다.
404 Not Found
이 주소에서는 어떤 내용도 발견할 수 없음. 이것은 표준 ‘no such page'응답이다. 이 상태 코드는 아주 일반적인 응답이다. 그래서 이 상태코드를 위한 HttpServletResponse:sendError(message)라는 특별한 메소드가 있다. sendError는 serStatus에 비해 에러 메시지를 보여주는 에러 페이지를 자동적으로 만들어 준다는 장점이 있다.
405 Method Not Allowed
요청 메소드(GET, POST, HEAD, DELETE, PUT, TRACE 등) 를 특정 자원에 대해서는 쓸 수 없음.
406 Not Acceptable
지정된 자원이 클라이언트의 Accept 헤더에 명시된 것과 호환 되지 않는 MIME content-type을 생성함.
407 Proxy Authentication Required
401과 비슷하지만 서버가 Proxy-Authenticate 헤더를 반환해야 한다.
408 Request Timeout
클라이언트가 요청을 보내는 데 너무 오랜 시간이 걸림.
409 Conflict
보통 PUT 요청과 관계 있다. 보통 틀린 버전의 파일을 업로드할 경우 발생한다.
410 Gone
문서가 사라졌고 포워딩할 주소도 없음. 404와 다른 점은 이 경우 문서가 완전히 사라졌다는 것을 서버가 안다는 점이다. 404는 어떤 이유인지는 모르는데 단지 요청한 것을 사용할 수 없다는 것을 의미한다.
411 Length Required
클라이언트가 Content-Length를 보내지 않으면 서버가 처리할 수 없음.
412 Precondition Failed
요청 헤더에 설정되어 있는 어떤 조건이 맞지 않음.
413 Request Entity Too Large
요청된 문서가 현재 서버가 다룰 수 있는 크기보다 큼. 만약 서버에서 나중에 다룰 수 있다고 생각되면 Retry-After 헤더를 포함시켜야 한다. (HTTP 1.1에서 새로 등장)
414 Request URI Too Long
URI가 너무 길다.
415 Unsupported Media Type
요청이 알려지지 않은 형태임
416 Requested Range Not Satisfiable
클라이언트가 요청에 적당하지 않은 Range 헤더를 포함시켰음
417 Expectation Failed
Expect 요청 헤더의 값이 맞지 않음.
500 Internal Server Error
일반적인 ‘server is confused' 메시지. 종종 CGI 프로그램이나 서블릿의 결과가 잘못되거나 적절하지 않은 헤더를 만들었을 때 발생한다.
501 Not Implemented
요청한 것을 서버에서 지원하지 않음. 예를 들면 클라이언트가 서버에서 지원하지 않는 PUT과 같은 명령을 내렸을 때 발생한다.
502 Bad Gateway
프록시나 게이트웨이의 역할을 하는 서버에서 볼 수 있다. 초기 서버가 원격 서버로부터 부적절한 응답을 받았음을 나타낸다.
503 Service Unavailable
처리할 수 있는 한계를 벗어나 과도하게 요청이 들어와서 서버가 응답할 수 없음. 예를 들면 스레드나 데이터베이스 연결이 가득 차 있을 때 서블릿에서 이런 헤더를 반환한다. 서버는 Retry-After 헤더를 낼 수 있다.
504 Gateway Timeout
프록시나 게이트웨이의 역할을 하는 서버에서 볼 수 있다. 초기 서버가 원격 서버로부터 응답을 받을 수 없음을 나타낸다.
505 HTTP Version Not Supported
서버가 요청 라인에 지정된 HTTP 버전을 지원하지 않음.

504에러에 대해 찾다가 필요할 듯 해서 퍼다 놓음...

가장 흔하게 볼 수 있는 404에러는 더이상 장애로 보지 않음;;

이번 구축사업에서 갑자기 뜬 bad gateway...

이건 이해가 잘 안가는군...

브릿지 장비에서 이건 머지;;;

우리 장비가 프록시나 게이트웨이 역할을 할 수는 없는데..;;

지금 필요한 504에러...

이것도 502 에러 난거랑 비슷하게 이해가 안간다만

아마도 타임아웃 값이 우리 장비랑 서버랑 잘 안맞는듯...

조정이 필요할듯;;;

테스트가 필요하겠군...

'개발자로 살기' 카테고리의 다른 글

XMLHttpRequest cannot load  (0) 2012.02.09
리눅스 원격연결시 한글 깨짐 방지  (0) 2011.01.31
파티션과 볼륨  (0) 2010.04.16
RAID 0 설치방법  (0) 2010.04.15
RAID  (0) 2010.04.15
블로그 이미지

ligilo

행복한 하루 되세요~

,
오랜만에 팔당댐에 다녀왔습니다.

팔당댐은 여유있게 두시간이면 다녀올 수 있는 곳이라

부담없이 다닐 수 있어서 좋네요^^

지난번 태풍때문에 도로는 유실되고

팔당댐은 아직도 수문을 열어놓았더라구요

팔당댐 방류하는 사진입니다.

'길따라 마음따라' 카테고리의 다른 글

발길따라 떠나는 여행기(강릉편)  (0) 2012.03.01
20110204 여의도  (0) 2011.02.05
100508 사능 석화촌  (0) 2010.05.12
상일동 ~ 광나루지구  (0) 2010.05.02
100425 상일동 ~ 팔당댐  (0) 2010.04.25
블로그 이미지

ligilo

행복한 하루 되세요~

,

블로그

일상속 이야기 2010. 6. 20. 22:31

한동안 블로깅을 전혀 안했군요
윈도우 2003 수업 들으면서 귀찮아서 대충 하다가
학원 그만두고 취업하면서 전혀 안했군요..;;
너무 전문적인 얘기는 쓸 능력도 없고 쓰기도 힘들지만
그냥 일상적인 소소한 얘기를 나눌 수 있는 장소가 됐으면 하는 마음에서 만든 블로그니까
그냥 소소한 얘기나 한번씩 쓰려구요...

여기 들러주시는 모든 분
아마 공부하시는 분들이 많겠죠??
그냥 소소한 인사말 한말씀씩 남겨주셔두 좋겠네요^^

여기에 들르시는 모든 분들 항상 즐거운 일만 가득하시길 바래요^^

'일상속 이야기' 카테고리의 다른 글

루브르 박물관전  (0) 2012.09.04
정부재정지원 제한 대학 발표  (0) 2012.09.01
소원  (0) 2012.07.15
지리산 둘레길  (0) 2012.06.06
120226 WITH 공연  (0) 2012.03.01
블로그 이미지

ligilo

행복한 하루 되세요~

,
거리 : 54.813km
시간 : 3시간 27분
평속 : 15.85km/h
소모 칼로리 : 1706Kcal

동호회에서 사능에 있는 석화촌에 다녀왔습니다
급벙인데다가 어버이날이라서 번짱님이랑 둘이서 다녀왔네요
50km가 넘는 라이딩은 거의 3년만에 하는거 같습니다
정말 힘들더군요;;
업힐 구간이 많지도 않았는데 오늘 길에는 구리 중간쯤 와서부터 죽어가기 시작했습니다
물도 모자라고...
부지런히 엔진을 업글시켜야죠^^
석화촌은 참 이뻤습니다
꽃과 돌의 조화로운 만남
굳이 자전거가 아니더라도 한번쯤 교외로 바람쐬러 나가고 싶을때
추천할만한 곳이더군요

'길따라 마음따라' 카테고리의 다른 글

발길따라 떠나는 여행기(강릉편)  (0) 2012.03.01
20110204 여의도  (0) 2011.02.05
100926 팔당댐  (0) 2010.09.26
상일동 ~ 광나루지구  (0) 2010.05.02
100425 상일동 ~ 팔당댐  (0) 2010.04.25
블로그 이미지

ligilo

행복한 하루 되세요~

,
오늘 달린 거리 : 16.943km
평균속도 : 17.84km
최고속도 : 41.85km
시간 : 56분 59초

한강의 맞바람은 역시나 무섭습니다
내리막길에서도 페달을 굴러야 하는...;;
좀 많이 달리고 싶었지만 할 일도 많고
금요일, 토요일을 쉬었더니 할일이 너무 많군요;;
그리구 한강 나갔더니 사람들이 장난 아니더군요
역시 날이 좋아지니...ㅎㅎㅎ
어디 한강 말고 좋은 라이딩 코스 없을까요..
혼자 달리려니 쓸쓸하네요
주말에 함께 라이딩하실분~~
멀리는 못가지만요..ㅎㅎ


'길따라 마음따라' 카테고리의 다른 글

발길따라 떠나는 여행기(강릉편)  (0) 2012.03.01
20110204 여의도  (0) 2011.02.05
100926 팔당댐  (0) 2010.09.26
100508 사능 석화촌  (0) 2010.05.12
100425 상일동 ~ 팔당댐  (0) 2010.04.25
블로그 이미지

ligilo

행복한 하루 되세요~

,
거리 : 35.206km+a
평균속도 : 18.403km/h
소요시간 : 1시간 55분

오늘 라이딩한 코스입니다.
구글어스에서 크게 볼때는 잘 보였는더ㅔ
이렇게 줄여놓으니까 잘 안보이는군요
상일동에서 출발해 강일2단지에서 한강쪽으로 빠졌습니다.
산곡교까지 갔다가 팔당댐으로 빠지는 길이 생겨서 그리로 나가봤죠^^
팔당대교에서 팔당댐까지의 거리도 꽤 되더군요..
좁긴 하지만 자전거 도로도 마련돼 있구요...
2년쯤 전에 오늘 라이딩한 길로 멋모르고 진입했다가 무지 고생한 적이 있는데...
강일동이 개발되기 전에 그리고 암사대교가 생기기 전에
암사대교 공사하는줄 모르고 진입했다가
20분이면 집에 올 거리를 거의 두시간만에 온적이 있었다죠^^;;
오늘 나가보니 정비도 잘 되있고
자전거도로 상, 하행, 산책로, 인라인 도로까지 나눠놔서
즐거운 라이딩이 가능하더군요^^
GPS 로그를 가는길과 오는길을 따로 남겨봤어야 했는데
그걸 실수했습니다. 그래야 좀 더 잘 알 수 있을텐데..
팔당댐에 도착해서 GPS를 보니 평속이 23km였나 뜨더군요
도대체 오는길에 얼마나 퍼져서 온건지;;;
그래프를 보면 1시간 15분쯤부터 속도가 급격히 떨어집니다;;
이놈의 저질체력;;;;
운동좀 해야겠습니다
라이딩도 같이 해야 더 재밌는 법인데..
요즘 동호회 번개는 중랑천이나 안양천쪽에 많이 올라오더군요;;
자출사쪽이나 가볼까;;
자출사도 글은 몇번 올렸었는데..
오프모임은 한번도 안나갔지만...
어쨌든 주말에 오랜만에 한번 나갔다 오니 좋네요^^

'길따라 마음따라' 카테고리의 다른 글

발길따라 떠나는 여행기(강릉편)  (0) 2012.03.01
20110204 여의도  (0) 2011.02.05
100926 팔당댐  (0) 2010.09.26
100508 사능 석화촌  (0) 2010.05.12
상일동 ~ 광나루지구  (0) 2010.05.02
블로그 이미지

ligilo

행복한 하루 되세요~

,
□ 파티션
  ○ 연속된 저장 공간을 하나 이상의 연속되고 독립적인 영역으로 나누어서 사용할 수 있도록 정의한 규약

□ 볼륨
  ○ 볼륨은 OS나 Application 등에서 이용할 수 있는 저장공간, 즉 섹터들의 집합
  ○ 물리적인 연속공간이 아니어도 볼륨으로 볼 수 있음
  ○ RAID 방식은 볼륨의 확장형

□ 파티션과 볼륨의 차이
  ○ 파티션은 볼륨의 한 형태
  ○ 파티션은 볼륨과 달리 반드시 연속되어 있는 섹터들의 집합

'개발자로 살기' 카테고리의 다른 글

리눅스 원격연결시 한글 깨짐 방지  (0) 2011.01.31
HTTP 1.1 에러코드  (0) 2011.01.11
RAID 0 설치방법  (0) 2010.04.15
RAID  (0) 2010.04.15
Telnet 설치하기  (0) 2010.04.14
블로그 이미지

ligilo

행복한 하루 되세요~

,

RAID0의 설치 방법

    이제 RAID0의 설치방법을 살펴보자. 만일 독자들이 커늘2.0.xx에서와 다른 RAID를 설치하려면 여기서와 다른 조치가 필요하다.

    RAID0는 여유도가 없으나 디스크 용량 손실을 줄이기 위해서는 디스크 개수가 많을 것이 권장된다. 디스크가 3개일 때 1개를 낭비하는 것은 정말로 손실이 크다고 할 수 있다. 더구나 높은 여유도가 현실에서는 잘 발생하지 않는 하드 디스크의 물리적 손상이외의 정보의 손실까지 방지할 수 없다. 만일 10개의 하드 디스크를 사용한다면 그 가운데 하나를 패리티제어를 위해 사용한다 해도 그리 큰 용량의 낭비는 아닐 것이다. RAID0에서 어떤 디스크 1개에서 디스크 패일뉴어가 나타나면 모든 물리적 디스크에 있는 모든 정보를 잃게되므로 적절한 백업이 필요한 것이다.

    맨처음 해당 드라이브를 커늘에 첨가해야 한다. 리눅스 2.0.xx에서 옵션은 다음과 같다.

    Multiple devices driver support (CONFIG_BLK_DEV_MD) [Y/n/?] Y
    Linear (append) mode (CONFIG_MD_LINEAR) [Y/m/n/?] Y
    RAID-0 (striping) mode (CONFIG_MD_STRIPED) [Y/m/n/?] Y
    시스템을 새로운 커늘로 부팅하고 나면 /proc 파일에는 새로 만들어진 md0, md1, md2, md3 등(이것은 디폴트 값임) 4개의 장치에 대한 상태를 포함하는 엔트리 mdstat가 나타난다. 이들 4개중 어느 것도 아직까지 초기화되지 않았으므로 비활성 상태로 나타나고 아직 사용할 수도 없다. 
    새로운 4개의 장치들은 다음과 같은 mdutil을 이용하여 관리한다.

            -mdadd
            -mdrun
            -mdstop
            -mdop

    이것들은 sweet-smoke.ufr-info-p7.ibp.fr/pub/Linux에서 다운로드받을 수 있으며 대부분의배포판에도 포함되어 있다.

    커넬 2.1.62이나 그 이상에서는 RAID0, RAID4 ,그리고 RAID5를 사용할 수 있는 `RAIDtools’가 별도의 패키지로 포함되어 있다.   
    다음 예에서 우리는 /dev/sdb1과 /dev/sdc1과 같은 두 개의 하드디스크를 사용하는 RAID0 메타디스크를 어떻게 정의하는지 설명해본다.

      meta-device  RAID Mode  Disk Partition 1  Disk Partition 1 
      /dev/md0    linear         /dev/sdb1       /dev/sdc1

    파티션 수를 늘일 수도 있다.

    일단 메타디스크가 포맷이 되면 이것은 어떠한 상황에서도 변경될 수 없으며 모든 정보를 상실하게 된다.

      mdadd -a
      mdrun -a

    이때 md0는 이미 초기화되어 나타나야 한다. 그것을 포맷하려면

      mke2fs /dev/md0

    그리고 이것을 마운트한다.

      mkdir /mount/md0
      mount /dev/md0 /mount/md0

    이제까지 모든 것이 순조롭게 작동되면 이제 이들 명령어들을 부팅 스크립트에 포함시켜야 한다. 그러면 다음에 시스템을 재부팅할 때는 RAID0의 메타디스크가 자동적으로 마운트된다. 이를 위해서 먼져 /etc/fstab 파일에 엔트리를 추가하는 한편, 마운트하기전에 실행되는 스크립트 파일로부터 `mdadd -a’와 `mdrun -a’ 명령어를 시행한다. Devian 배포판에는 이들 명령어는 /etc/init.d/checkroot.sh 스크립트 파일에 두면되고 루트 파일시스템을 읽기/쓰기모드에서 리마운팅하기 직전에, 즉 “mount -n -o remount, rw /”라인 직전에 삽입한다.

    <<예>>

    다음 구성은 필자가 현재 사용하고 있는 것으로 필자는 6.3Gb의 IDE 하드와 4.2Gb 및 2Gb의 SCSI를 사용하고 있다.

      HD 6.3Gb IDE 
       /    /bigTemp + /incoming    swap    2Gb(RAID)hda4

      HD 4.2Gb SCSI 
       C:     D:      swap     2Gb(RAID)sda4

      HD 2Gb SCSI 
       swap    2Gb(RAID)sdb2
      #######</etc/fstab>##############################
      # <file system> <mount point>  <type>  <options>     <dump>  <pass>
           /dev/hda1       /                    ext2     defaults            0            1
           /dev/hda2       /mnt/hda2       ext2     defaults           0            2
           /dev/md0        /mnt/md0        ext2     defaults           0            2
           proc               /proc              proc     defaults           0            2
           /dev/hda3        none             swap     sw,pri=10 
           /dev/sdb1        none             swap     sw,pri=10 
           /dev/sda3        none             swap     sw,pri=10

      #########</etc/mdtab>############################ 
      # <meta-device> <RAID-mode> <DskPart1> <DskPart1> <DskPart1> 
           /dev/md0          RAID0,8k       /dev/hda4   /dev/sda4   /dev/sdb2

    루트 파티션은 6Gb 하드에 hda1으로 위치하고 있으며 이 하드에는 또한 인터넷이나 CD의 이미지 저장을 위한 큰 파티션이 있다. 이 파티션은 자주 사용하지 않으므로 그리 큰 부하가 걸리지는 않는다. 4Gb짜리 디스크는 Linux에서 거의 사용하지 않는 MSDOS 파티션이므로 RAID의 효율성을 저해한는 파티션을 나누지 않았다. 2Gb 디스크는 거의 전적으로 RAID 시스템용으로 사용한다. 각각의 디스크에는 스와프 스페이스로 작은 부분을 남겨두었다.

    RAID의 모든 디스크(또는 파티션)의 크기를 대략 같게 정했는데 이것은 그 크기가 많이 차이가 나면 RAID의 성능이 악화되기 때문이다. 작은 차이는 문제가 되지 않는다. 우리는 사용가능한 모든 공간을 이용하는데 이에 따라 디스크의 모든 데이터가 연결될 수 있고, 여분의 데이터는 그대로 남아있게 된다.

    하나의 RAID에 여러개의 IDE 디스크를 마운팅하면 효율성이 그리 좋지 않지만 한 개의 IDE와 여러개의 SCSI를 마운팅하면 훨씬 좋아진다. IED 디스크는 동시적(concurrent) 엑세스가 불가능하지만 SCSI 디스크는 가능하기 때문이다. 

'개발자로 살기' 카테고리의 다른 글

HTTP 1.1 에러코드  (0) 2011.01.11
파티션과 볼륨  (0) 2010.04.16
RAID  (0) 2010.04.15
Telnet 설치하기  (0) 2010.04.14
FTP 설치하기(vsftp)  (0) 2010.04.14
블로그 이미지

ligilo

행복한 하루 되세요~

,

RAID

개발자로 살기 2010. 4. 15. 17:56
□ 정의
  - Redundant Array of Independent Disks
  - Redundant Array of Inexpensive Disks
  - 여러개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술

□ 구분
  ○ 하드웨어적 방법 : 운영체제에 하나로 묶은 논리적 디스크가 하나의 디스크처럼 보이게 하는 방법
  ○ 소프트웨어적 방법 : 운영체제 안에서 구현되는 방법으로,
                                  사용자에게 디스크를 하나의 디스크처럼 보이게 하는 방법

□ 레벨(표준 RAID 레벨)
  ○ RAID 0
    - 패리티가 없는 스프리핑된 세트(최소 2개 디스크)
    - 장점
      · 개선된 성능에 추가적인 기억장치를 제공
      · 병렬로 드라이브를 읽기 때문에 넓은 대역폭 제공
    - 단점
      · 실패할 경우 자료의 안전 보장 불가
        ‥· 단일 디스크 실패시 배열을 완전히 파괴.
          ∵ 데이터가 RAID 0 방식으로 쓰일 때, 데이터는 여러 조각으로 나뉨
      · 디스크들의 한 섹터가 실패시 모든 디스크의 해당 섹터는 사용 불능 표시
      · 오류 복구 불가
    - 조각은 각 디스크에 동시적으로 같은 섹터위에 기록. 따라서 조각의 개수는 디스크의 개수와 동일

  ○ RAID 1
    - 패리티가 없는 미러링 된 세트 (최소 2개 디스크)
    - 디스크 오류와 단일 디스크 실패에 대비하여 실패방지 기능 제공
    - 모든 데이터 블록은 모든 물리적 디스크들에 복사
    - 장점
      · 다중 스레드를 지원하는 운영체제 사용시 읽기 성능 향상
    - 단점
      · 쓰기 시도시 약간의 성능 저하

  ○ RAID2, RAID3은 폐기되어 사용되지 않음

  ○ RAID 4
    - 패리티가 단순 제공되는 스트리핑된 세트 (최소 3개 디스크)
    - RAID0 /1의 장점의 균형을 잡기 위한 방법
    - 1~n-1 블록까지는 스트라이핑 모드로 구성
    - n블록은 1부터 n-1까지의 블록들에 해당되는 각각의 비트들의 패리티 저장
    - 읽기작업의 효율 : n-1
    - 쓰기작업의 효율 : (n-1) / 2
      · 하나의 데이터 블록을 기록시 패리티 디스크에도 동시에 기록해야 함

//여기부터는 잘 사용되지 않음

  ○ RAID 5
    - 패리티가 배분되는 스트리핑된 세트 (최소 3개 디스크)
    - 패리티 디스크의 모든 정보가 모든 하드디스크에 분산. 따라서 패리티 디스크가 따로 존재하지 않음
    - 모든 쓰기 작업에서 패리티 디스크에 접근할 필요가 없어 패리티 디스크의 작업부하 줄여줌

  ○ RAID 6
    - 패리티가 배분되는 스트리핑된 세트 (최소 4개 디스크)

  ○ RAID 0+1
    - 디스크 스트리핑(RAID 0) 한 후, 디스크 미러링(RAID 1) (최소 4개 디스크)
    - 디스크가 6개일 경우 3개씩 스트리핑 후 미러링 수행

  ○ RAID 10 (RAID 1+0)
    - 디스크 미러링(RAID 1) 후, 디스크 스트리핑(RAID 0) (최소 4개 디스크)
    - 디스크가 6개일 경우 2개씩 미러링 후 미러링된 3개 스트리핑

  ○ RAID 50 (RAID 5+0)
    - 패리티가 배분되는 스트리핑된 세트를 다시 스트리핑(RAID 0) (최소 6개 디스크)

  ○ RAID 1E
    - 미러링과 데이트 스트라이핑의 결합 (최소 3개 디스크)

□ 레벨 (비표준 RAID 레벨)
  ○ RAID 1.5
    - 읽기는 RAID 0처럼 작동하여 성능상의 이점
    - 쓰기는 RAID 1처럼 작동하여 안정성 도모
    - HighPoint사의 컨트롤러에서만 지원







※ 용어정리
○ 스트라이핑
  - 성능 향상을 위해 단일 파일과 같은 논리적으로 연속된 데이터 세그먼트들이,
    물리적으로 여러개의 장치, 즉 디스크 드라이브 등에 라운드로빈 방식으로 나누어 기록
  - 고장에 대비하거나 에러를 체크하는 기능을 제공하지는 않지만
    그러한 기능을 다른 여러가지 방식들과 함께 사용은가능하다.

○ 미러링
  - 장비가 고장나는 사고 발생시 데이터의 손실을 방지하기 위해 데이터를 하나 이상의 장치에 중복 저장
  - 자기디스크에서만 '미러링'이라 부름
  - 자기테이프 장치에서는 '트위닝'

'개발자로 살기' 카테고리의 다른 글

HTTP 1.1 에러코드  (0) 2011.01.11
파티션과 볼륨  (0) 2010.04.16
RAID 0 설치방법  (0) 2010.04.15
Telnet 설치하기  (0) 2010.04.14
FTP 설치하기(vsftp)  (0) 2010.04.14
블로그 이미지

ligilo

행복한 하루 되세요~

,