'개발자로 살기'에 해당되는 글 59건

가끔 모바일 웹 작업을 하다보면

네트워크 연결 여부에 따라 다른 분기를 필요로 할때가 있습니다

아님 네트워크가 연결된 경우 추가 작업이 들어가는 경우도 있구요...

그럴때 조건문으로 사용하시면 될 것 같습니다

if (navigator.onLine == false){
    alert("현재 네트워크에 연결되어 있지 않습니다.");
}

이 데이터 찾다보니

3G냐 Wifi냐에 따른 조건문도 있긴 하더라구요

하지만 저는 모바일에서 굳이 Wifi를 써야 할 정도로 대용량 데이터를 사용하는 것을 지양하기 때문에

여기까지만 활용하고 있습니다

물론 이 부분에 대해 필요해지고 찾게 된다면 다시 포스팅 하게 되겠죠..ㅎㅎ

블로그 이미지

ligilo

행복한 하루 되세요~

,
- 크롬 권한문제
- 크롬에서는 보안정책상 로컬파일 로딩시 AJAX를 불러오지 못한다.
   웹페이지에서는 Error Loading Page로 출력되며
   개발자도구에서 보면 다음과 같이 출력된다.
   XMLHttpRequest cannot load <파일명>. Origin null is not allowed by Access-Control-Allow-Origin



- 이를 해결하기 위해
  Chrome.exe --allow-file-access-from-files로 실행시키면
  소스코드에 문제가 없다면 정상적으로 실행이 된다.
  다만 이는 브라우저의 보안성을 약화시키는 방안이므로
  테스트 용도 이외에는 사용하지 않기를 권장한다. 


블로그 이미지

ligilo

행복한 하루 되세요~

,
리눅스를 로컬이 아닌 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

행복한 하루 되세요~

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

□ 볼륨
  ○ 볼륨은 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

행복한 하루 되세요~

,
1. Telnet 다운로드 및 설치하기
# yum install telnet-server
  - yum -y 옵션을 줘도 상관없다. 무조건 yes를 하겠다는 의미이므로...

2. Telnet 설치 확인하기
# rpm -qa | grep telnet
telnet-0.17-39.e15
telnet-server-0.17-39.e15
위처럼 나오면 정확히 설치된거임

3. 환경설정하기
# vi /etc/xinetd.d/telnet

service telnet
{
flag = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}

여기서 disable이 원래 yes로 되어있다. 이걸 바꿔줘야 한다.

4. 데몬 실행
# /etc/init.d/xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]

위처럼 나오면 정상적으로 restart 된 거임

※ 한글 이용하기
~/.bashrc 파일에 "LANG=korean" 입력

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

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

ligilo

행복한 하루 되세요~

,
1. FTP 다운로드
# yum install vsftpd

2. FTP 환경설정
# vi /etc/vsftp/vsftp.conf
anonymous_enable=YES
  # 이부분은 anonymous를 허용할지를 물어보는 부분이기 때문에 허용하지 않고자 하면 주석처리를 해준다
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
저장

3. 접근 제한하기
# vi /etc/vsftpd/chroot_list
접근 막을 ID 하나씩 입력(한줄에 하나씩)

4. FTP 데몬 실행
# /etc/init.d/vsftpd restart

이제 알아서 쓰면 된다
당연히 접속하는 계정은 만들어져 있어야겠지....

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

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

ligilo

행복한 하루 되세요~

,