참으로 레이드 구성은 이해가 어렵다고 하기 보다는 안 외워진다.

매번 물어볼때나 궁금할때 찾아보니 말이다...;;;


내 잘못이오...내 잘못이오..ㅠ
[출처] : http://blog.naver.com/jevida/140118943472



Raid Level

 

데이터 베이스의 성능은 쿼리를 얼만큼 효율적으로 잘 만드느냐!

옵티마이져를 얼마나 이해해서 최적의 수행경로를 찾느냐로 성능을 향상 시킬 수 있습니다.

하지만 소프트웨어는 하드웨어에 종속적이므로 하드웨어 성능 자체가 느리다면 아무리 튜닝을 해도 한계가 있기 마련입니다.

 컴퓨터에서 가장 느린 장치가 무엇일까요?

하드 디스크 입니다이번 시간은 하드디스크를 여러 개 묶어서 성능을 향상시키는 방법에 대해 알아 보겠습니다.

 

RAIDRedunadant Array of Inexpensive Disks 의 약자로 값싼 디스크를 여러장 묶어 대용량의 저장공간을 만들고자 하는 요구로1980년대 처음 등장하였습니다최근에는 디스크 가격이 고용량 저가격이 형성되면서 의미는 많이 퇴색해져 중복성과 성능향상으로 바뀌고 있습니다.

 

RAID는 구성에 따라 총6가지(0, 1, 2, 3, 4, 5, 6)레벨로 나눌 수 있으며 레벨에 따라 신뢰성과 성능 향상을 나타냅니다.

 

RAID 0

2개 이상의 디스크를 사용하여 구성스트라이핑 모드.

장점같은 섹터에 병렬기록읽기/쓰기 향상.

단점디스크 장애시 복구 불능.

사용처:  중요하지 않는 데이터에 빠른 처리가 요구될 때 사용.

 


 

RAID 1

동일한Raid 볼륨으 추가적으로 구성 한 것미러링 모드

장점디스크 장애시 복구 가능읽기 성능 향상.(다중 스레드 사용시)

단점동일 데이터를 중복해서 써야하므로 쓰기 속도 느림.

사용처:  속도보다는 안정성을 추구하는 데이터에 적합전체용량의1/2 만 사용가능.

 

<v></v>

 

RAID 2

RAID 0의 장점을 사용하면서 신뢰성을 높이기 위한 방법. 4개를 스트라이핑 모드 구성+ 3개의 패리티 체크 구성.

장점:  여러 개의 디스크 장애시 복구 가능.

단점볼륨 구성 단위가 크다.

 

<v></v>

 

 

 RAID 3

RAID2의 단점을 개선 한 모델하나의 볼륨에만 패리티 저장.

장점: RAID2보다 적은 볼륨 사용.(디스크 절약)

단점동일 위치 동시 장해시 복구 불능.

<v></v>

 

RAID 4

구성은RAID3와 동일단 저장 단위가RAID3는 바이트 단위. RAID4는 블록 단위.

<v></v>

 

 

RAID 5

RAID4의 단점을 개선 시킨 모델성능샹 효율을 위해 패리티 디스크들을 각 볼륨에 분할.

최소3개의 디스크 필요.

장점:  어느 정도 속도 보장.

단점다중 디스크 장애시 복구 불능. (1장 까지 장애 복구 가능)

<v></v>

 

RAID 6

RAID5에 비해 신뢰성에 기반을 둔 레벨패리티 디스크를 추가함으로써 동시 오류에 복구가 가능하도록 설계.

추가적인 패리티 기록을 위하여 속도가 느리다.

 

<v></v>

 

 

최근에는 하이브리드 방식으로RAID레벨의 장점을 섞어 성능과 신뢰성 비용 효과를 보고 있다.

-       RAID 0+1

-       RAID 1 + 0

-       RAID 5 + 0

-       RAID 5+ 1

-       RAID 6 + 0

 

RAID Level Comparision (Adaptec 자료)

<v></v>

 

[출처] RAID LEVEL|작성자 SungWook Kang


반응형

그동안 뭐에 홀렸는지...

블로그 업데이트 할 생각을 하지 못했다.


Nginx에 php 연동을 진행해 봤다.


먼저 yum으로 설치 진행


[출처] : http://jongkwang.com/?p=941


$ yum install php php-cli php-common php-fpm php-mysql


이 후 php-v 로 버전을 확인해 본다


$ php -v

# 5.3이 설치되어 있는것을 확인 할 수 있다.




컴퓨터 재 부팅 시 자동으로 php 가 올라오도록 서비스에 등록 하자.


$ chkconfig --add php-fpm

$ chkconfig php-fpm on


php 가 제대로 열리는 지 확인해 보자.


먼저 info.php 를 Nginx 의 html 에 생성해 보자.


이후 info.php 에는 다음과 같이 설정 후 웹에서 확인해 보자


$vi info.php


<?php

echo "Test";

?>


이후 웹에서 해당 info.php 가 제대로 오픈 되는지 열어보자


http://192.168.150.133/info.php



......Access denied. 이유가 뭘까...

정말 많은 부분을 검색하고 수정했다.


1. php-fpm 관련하여 설정 파일을 확인해 보자


참고로 로그는 아래에 있다. 


php-fpm 에러로그 위치 : /var/log/php-fpm/error.log


설정파일 위치


$ vi /etc/php-fpm.d/www.conf


여기서 다음과 같이 security.limit_extensions 를 수정해 보자


security.limit_extensions = .php .php3 .php4 .php5 .html .htm




저장 후 Nginx 설정파일도 아래도 다음과 같이 수정해 보자. (php 관련 설정 부분이다. php 를 사용하려면 Nginx도 수정해 줘야 한다)


$ vi /usr/local/nginx/conf/nginx.conf


php 부분이 주석으로 되어 있다면 풀어주자.


참고로 나는 fastcgi_param 부분을 수정하여 해결을 하였는데, $document_root; 는 profile에 다음과 같이 설정 되어 있다.


fastcgi_param SCRIPT_FILENAME $document_root;


$vi ~/.bash_profile



export document_root=/usr/local/nginx/html



이렇게 해서 Access denied 를 해결했다.


이로써 Nginx 와 php 연동을 끝낼 수 있었다.




* MySQL 연동 확인


상단에서 yum 으로 php-mysql 로 설치를 진행한 바가 있다.

이제 php로 mysql 연동이 잘 되는지 확인해 본다.


아래 스크립트로 간단하게 설계해서 진행해 보았다.


<?php

$db_host = "localhost";

$db_user = "mysql유저";

$db_passwd = "mysql비밀번호";

$db_name = "mysql DB명";

$conn = mysqli_connect($db_host, $db_user, $db_passwd, $db_name);

if (mysqli_connect_errno($conn))

{

echo "DB Connect Failed: " .mysqli_connect_error();

}

else 

{

echo "DB Connect Success";

}

?>


나의 허접한 php 실력...ㅠㅠ

어쨋든 똑같이 웹에서 호출해서 확인하면 된다.


아주 깔끔하네....ㅎㅎㅎ


mysql 관련하여 확인 가능하다

http://makand.tistory.com/entry/PHP-Mysql-ConnectPHP-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%97%B0%EB%8F%99

반응형

'NGINX' 카테고리의 다른 글

[NGinx] 설치 간단 정리  (0) 2016.08.05
[NGinX] 설명 - 소개 NGINX란? (펌)  (0) 2016.06.21

NGinx 설치는 yum으로 설치 하였다.


아래 사이트에서 접속하여 확인하여 설치 진행하면 쉽게 가능할 듯 싶다.


https://opentutorials.org/module/384/4332

http://ohgyun.com/478


간단 설치 정리:


Cent OS 에 설치


1. yum 으로 Mysql 설치 진행

2. wget http://nginx.org/download/nginx-1.11.3.tar.gz  로 받는다.

3. tar -xvzf nginx-1.11.3.tar.gz

4. cd nginx-1.11.3

5. ./configure


6. make && make install



진행한다.

설치는 무난하게 진행 되었다.


설치가 완료 되고 나면 다음과 같이 아래에서 nginx 를 실행 또는 중지 가능하다.


/usr/local/nginx/sbin


cd /usr/local/nginx/sbin


[root@Cacti sbin]# ./nginx -h

nginx version: nginx/1.11.3

Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]


Options:

  -?,-h         : this help

  -v            : show version and exit

  -V            : show version and configure options then exit

  -t            : test configuration and exit

  -T            : test configuration, dump it and exit

  -q            : suppress non-error messages during configuration testing

  -s signal     : send signal to a master process: stop, quit, reopen, reload

  -p prefix     : set prefix path (default: /usr/local/nginx/)

  -c filename   : set configuration file (default: conf/nginx.conf)

  -g directives : set global directives out of configuration file



`nginx` 커맨드의 스위치로 프로세스에 시그널을 보낼 수 있다.


$ ./nginx -s stop # 즉각 중단 (TERM 신호)

$ ./nginx -s quit # 정상 중단 (QUIT 신호)

$ ./nginx -s reopen # 로그 파일을 다시 오픈한다.

$ ./nginx -s reload # 환경 설정을 다시 로드한다.



이제 PHP 연동을 정리해 봤다.

사실 php연동에서 많이 해맸다. 참고로 iptables 에 80 포트를 오픈해 줘야(디폴트) Nginx 가 제대로 설치 되었는지 확인 가능하다.





php 연동은 다음 포스팅에 정리해 본다.

반응형

'NGINX' 카테고리의 다른 글

[NGINX] php 연동 (Access denied.) & mysql 연동  (0) 2016.08.12
[NGinX] 설명 - 소개 NGINX란? (펌)  (0) 2016.06.21

+ Recent posts