[mysql 테이블 손상 확인] 
mysql> use DB명    ->  작업할 DB 선택
mysql> check table 테이블명    ->  확인할 테이블을 체크



[mysql 테이블 손상 복구]
mysql> use DB명    ->  작업할 DB 선택
mysql> repair table 테이블명    ->  복구할 테이블 복구

[mysql DB 손상 확인 명령어]
mysqlcheck -uroot -p --check --database DB명

mysqlcheck -uroot -p --check -A (전체 DB 확인)
mysqlcheck -uroot -p DB명

 

[mssql 백업,복원 쿼리]

https://blog.sonim1.com/168

 

[mssql 백업 스케줄 설정]

https://m.blog.naver.com/PostView.nhn?blogId=sthox18&logNo=220056952550&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

binlog 삭제

mysql> purge master logs to 'mysql-bin.남길 로그파일';

 

실시간 로그 확인

# mysqladmin -ufiberag -p proc stat -i 1

실시간 프로세스 확인

# mysqladmin -uroot -p -i1 processlist

 

 

shell에서 max_connections 확인

# mysqladmin -uroot -p variables |grep max_connections

설정된 max_connection 확인

mysql> show variables like '%max_connect%';  

연결된 max_connection 수 확인
show status like 'Max_used_connections'; 
mysql에 접속을 해서 수정하는 방법
mysql -u root -p
mysql> set global max_connections=200;
mysql> set wait_timeout=60;

5.7 이상 패스워드 변경

#vi /root/.mysql_secret   <- 여기 에서 초기 패스워드 확인.

위의 방법 말고 safe 모드로 접속하는 방법이 있다.

#/etc/init.d/mysqld stop

#/usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

#mysql

mysql>update user set authentication_string=password('패스워드') where user='root';

SET PASSWORD = PASSWORD('your_new_password'); 

 

5.6 이하 패스워드 변경

update user set password=password('패스워드') where user='root'




'APM' 카테고리의 다른 글

centos 6 httpd 2.2.22 yum 설치  (0) 2020.11.12
open jdk 설치  (0) 2020.04.08
그누보드 와 영카트 설치  (0) 2020.01.12
Ubuntu APM 컴파일 설치  (0) 2019.12.14
centos6 apache2.2 + php5.3 + mysql5.1  (0) 2019.06.26

yum install java-1.8.0-openjdk-devel.x86_64

apt-get install openjdk-8-jdk

'APM' 카테고리의 다른 글

centos 6 httpd 2.2.22 yum 설치  (0) 2020.11.12
mysql 점검  (0) 2020.06.28
그누보드 와 영카트 설치  (0) 2020.01.12
Ubuntu APM 컴파일 설치  (0) 2019.12.14
centos6 apache2.2 + php5.3 + mysql5.1  (0) 2019.06.26

그누보드5, 영카트5 공통

  • PHP 5.2.17 이상
  • MySQL 5.0 이상 or MySQL 5.0 이상의 기능을 만족하는 mariaDB
  • 리눅스 호환 OS
     
  • 필수 라이브러리
    • GD Library 2.0 이상
    • iconv
       
  • SNS 사용시 필수 (글을 SNS 로 복사하는 기능)
    • cURL
    • JSON

 

추가로 필요한 모듈 or 프로그램

  • 스마트폰 결제시 필수 (영카트5)
    • SOAP
    • openssl

http://kldp.net/apmsetup/release/ 

 

https://sir.kr/g5_pds

 

https://windows.php.net/downloads/releases/archives/

 

ubuntu 18

 

# apt-get install mysql-server

# apt-get install apache2

# apt-get install php php-mysql

 

php gd library 추가를 위해 설치함

# apt-get install php-gd

'APM' 카테고리의 다른 글

mysql 점검  (0) 2020.06.28
open jdk 설치  (0) 2020.04.08
Ubuntu APM 컴파일 설치  (0) 2019.12.14
centos6 apache2.2 + php5.3 + mysql5.1  (0) 2019.06.26
centos6 mariadb 10.1 , php5.4 yum설치  (0) 2019.06.11

환경 : ubuntu 16.04~19.04
apahce 2.4 / mysql 5.6  5.7  8.0 / php 5.3 7.3

 

 

ubuntu 16 - mysql 5.6.12

 

apt-get install gcc zlibc zlib1g zlib1g-dev libssl-dev openssl libxml2-dev ncurses-dev g++ build-essential cmake

 

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

 

make install

 

cp -apr /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

 

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

 

cp -arp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

 

chown -R mysql:mysql /usr/local/mysql/

chmod 700 /etc/init.d/mysqld

chmod 711 /usr/local/mysql

chmod 700 /usr/local/mysql/data

chmod 751 /usr/local/mysql/bin

chmod 750 /usr/local/mysql/bin/*

chmod 755 /usr/local/mysql/bin/mysql

chmod 755 /usr/local/mysql/bin/mysqldump

vi /etc/profile

 

update-rc.d mysqld defaults

 




우분투 16 -mysql 오류
make install 
/usr/local/src/mysql-5.6.12/storage/innobase/row/row0log.cc:2367:11: error: ‘srv_buf_size’ was not declared in this scope
      ofs, srv_buf_size);

=> srv_sort_buf_size 로 수정

 

 

ubuntu 16 apache-2.4.12 설치

arp,apr-util 설치

httpd-2.4.12/srclib/위치에 버전 이름 지우고 복사

 

cd pcre-7.9

./configure --prefix=/usr/local/pcre

make && make install

 

configure 옵션

./configure --prefix=/usr/local/apache --with-included-apr --with-pcre=/usr/local/pcre/bin/pcre-config --with-ssl --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --enable-cache --enable-modules=all --enable-mods-shared=all --with-apr=/usr/local/src/httpd-2.4.12/srclib/apr --with-apr-util=/usr/local/apr/httpd-2.4.12/srclib/apr-util

 

ubuntu 16 apache 2.4.12 에러(18에서도 동일)

configure: error: Bundled APR-Util requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
=>src 밑에 압축 해제한 apr-1.5.x , apr-util-1.5.x 를 버전 이름 지우고 srclib밑에 복사한다.

 

ubuntu 16 php 5.3.21
libcrypt,mhash
 configure
/configure --prefix=/usr/local/php --with-apache-install=/usr/local/apache --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-exec-dir=/usr/local/apache/bin --with-mysql=/usr/local/mysql --enable-sigchild --disable-debug

 

ubuntu 16 mysql 5.7.14
컨피규
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DMYSQL_TCP_PORT=3306 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/include/boost


ubuntu 18 mysql 5.6.20 오류
/usr/local/src/mysql-5.6.20/sql/sql_acl.cc:3215:59: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
     if (combo->plugin.str == NULL || combo->plugin.str == '\0')
NULL로 수정


ubuntu 16 php-7.3.4 

(imap,openssl-1.0.2s 설치)

 

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/apache/conf --with-apxs2=/usr/local/apache/bin/apxs --with-mysqli --with-pdo-mysql --enable-sigchild --with-libxml-dir --with-openssl=/usr/local/openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-curl --with-curl --with-kerberos --with-iconv  --enable-bcmath --with-gettext --enable-inline-optimization --enable-shmop --with-gdbm --enable-mbregex --enable-soap --disable-debug --enable-zip --enable-fpm CPPFLAGS=-I/usr/include/openssl LIBS=-L/usr/include/openssl

 

 

openssl 컨피규 옵션:

config --prefix=/usr/local/openssl -fPIC


imap make error
osdep.c:89:31: fatal error: security/pam_appl.h: No such file or director
apt-get install libpam0g-dev libreadline5-dev libreadline-gplv2-dev

 

configure error
configure: error: Cannot find OpenSSL's libraries
=> 소스 설치 후 with-openssl-dir=/usr/local/openssl


configure: error: Please reinstall the BZip2 distribution
=> apt-get install libbz2-dev

configure: error: Please reinstall the libcurl distribution -
      easy.h should be in /include/curl/
=> apt-get install libcurl4-gnutls-dev

error: DBA: Could not find necessary header file(s)
=> apt-get install libgdbm-dev

configure: error: jpeglib.h not found
=> apt-get install libjpeg-dev

configure: error: png.h not found
=> apt-get install libpng-dev

configure: error: freetype-config not found
=> apt-get install libfreetype6-dev

error: Please reinstall the libzip distribution
=> apt-get install libzip-distribution

 

ubuntu 16 mysql 8

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DWITH_SSL=system -DMYSQL_TCP_PORT=3306 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/include/boost


ubuntu 18 apache
openssl 설치 (16과 동일)

/configure --prefix=/usr/local/apache --with-included-apr --with-pcre=/usr/local/pcre/bin/pcre-config --with-ssl=/usr/local/openssl --enable-so --enable-ssl --enable-rewrite --with-mpm=prefork --enable-cache --enable-modules=all --enable-mods-shared=all --with-included-apr --with-included-apr-util


18 php 5.3
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/apache/conf --with-regex=php --with-zlib --disable-debug --enable-calendar --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-magic-quotes

18 mtsql 5.7.14
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DENABLED_LOCAL_INFILE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DMYSQL_TCP_PORT=3306 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/include/boost

 

ubuntu 18 php 7
컨피규 error: Please reinstall the BZip2 distribution
apt-get install bzip2 libbz2-dev

configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
curl 다운 사이트 http://download.nust.na/pub2/openpkg1/sources/DST/openpkg/

error: DBA: Could not find necessary header file(s).
블로그 참고

error: jpeglib.h not found.


error: png.h not found
블로그참고

error: freetype-config not found

error: Please reinstall the libzip distribution
apt-get zip libzip-dev

configure: error: xpm.h not found.
yum install libXpm-devel

18 php7.3.4
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/apache/conf --with-apxs2=/usr/local/apache/bin/apxs --with-mysqli --with-pdo-mysql --enable-sigchild --with-libxml-dir --with-openssl=/usr/local/openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --enable-exif --enable-ftp --with-gd --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype --enable-mbstring --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-curl=/usr/local/curl --with-kerberos --with-iconv  --enable-bcmath --with-gettext --enable-inline-optimization --enable-shmop --with-gdbm --enable-mbregex --enable-soap --disable-debug --enable-zip --enable-fp

imap make error
error dereferencing pointer to incomplete type ‘x509’
=> apt-get install libssl1.0-dev

'APM' 카테고리의 다른 글

open jdk 설치  (0) 2020.04.08
그누보드 와 영카트 설치  (0) 2020.01.12
centos6 apache2.2 + php5.3 + mysql5.1  (0) 2019.06.26
centos6 mariadb 10.1 , php5.4 yum설치  (0) 2019.06.11
ubuntu 18 apm 소스설치  (0) 2019.06.01

웹페이지 접속자 수 확인 : netstat -nap | grep :80 | grep ESTABLISHED | wc -l

http://www.jam-software.de/treesize_free/

① # ls | xargs -n1000 rm -f

② #echo * | xargs rm -rf     

③ #find ./ -name "*" -exec rm -f {} \;



출처: https://dynamis.tistory.com/7 [Something New]

레이드의 구성

레이드 0  - stripe 방식으로 데이터가 저장된다.

입력되는 데이터를 배열로 연결된 여러 디스크에 나누어서 동시에 저장되기 때문에 속도가 빠르다.

그러나 데이터를 나누어서 저장하는 방식 때문에 하나의 디스크만 망가져도 모든 데이터가 망실된다.

가용 용량: (디스크 용량 X 디스크 개수)

 

 

레이드 1 - 미러링 방식으로 데이터가 저장된다.

하나의 디스크에 데이터가 저장되면 다른 디스크에 동일한 데이터를 복사하여 데이터가 중복되게 한다.

하나의 디스크가 고장나더라도 미러링된 디스크를 통해 복구가 가능하다.

가용 용량 : 전체 디스크 용량의 절반

 

레이드 5 - 패리티 비트를 저장하여 데이터 복구가 가능한 구성.

디스크의 배열을 하나의 디스크로 보이도록 구성되며, 각 디스크에 패리티 비트가 저장된다.

하나의 디스크가 고장나더라도 나머지 데이터와 패리티 비트를 이용하여 데이터를 복구할 수 있으며,

2개 이상의 디스크가 고장날 경우 데이터가 망실된다.

가용 용량 : (디스크 개수 - 1) X 디스크 용량

 

레이드 6 - 레이드 5에서 페리티 비트 저장 공간을 추가한 구성이다.

페리티 비트 저장 공간이 추가되었기 때문에 2개의 디스크가 고장나더라도 복구가 가능하다.

가용 용량 : (디스크 개수 -2 ) X 디스크 용량

 

 

레이드 10 - 레이드 1로 구성된 그룹을 레이드 0으로 묶은 구성이다.

미러링을 이용한 데이터 백업과 stripe 방식을 통한 데이터 입출력 속도 향상으로 인해

많이 사용되는 구성이다. 레이드 01과 비교할 때 데이터 복구 시 더 유리하기 때문에 레이드 10이

주로 사용된다.

가용 용량 : 전체 디스크 용량의 절반

 

 

 

web bios에서 레이드 설정

레이드 카드가 장착되어있을 경우 웹바이오스 화면에서 레이드를 설정할 수 있다.

부팅 화면에서 <Ctrl + H > 입력 시 진입이 가능하다.

 

웹바이오스 진입 후 나오는 홈 화면이다. Scan Devices를 클릭하여 디스크 연결 상태를 최신화 하여 확인할 수 있다.

320GB HDD 6개가 장착된 화면이다. 디스크당 사용 가능 용량은 297.091 GB이며 정상적으로 인식되고있는 모습이다.

 

레이드 0 설정

홈 화면에서 Configureation Wizard 클릭하여 새로운 레이드 설정을 만들 수 있다.

아무것도 설정이 되지않은 상태이기 때문에 New Configureation을 선택 후 Next로 넘어간다.

 

레이드 설정을 진행할지 묻는 화면이다. Yes를 클릭하여 넘어간다.

 

수동으로 설정하기 위해 Manual Configureration을 선택 후 Next로 넘어간다.

 

여섯개의 모든 디스크를 레이드 0으로 묶기위해 모든 디스크를 선택 후 Add To Array를 클릭한다.

 

오른쪽 그룹 목록에 추가한 디스크 목록이 확인된다. 이상이 없을 경우 Accept DG를 클릭하여 적용한 후 Next로 이동한다.

 

Array With Free Space 목록에 방금 생성한 그룹의 목록이 출력된다. 설정할 그룹을 선택한 후 Add to SPAN을 클릭한 후 Span 목록에 그룹이 추가된게 확인된다. 확인 후 Next로 넘어간다.

 

레이드 레벨을 설정하는 화면이다. RAID Level 항목에서 설정할 수 있는 레이드 목록이 확인된다.

RAID 0을 선택한 후 Update Size를 클릭하면 Select Size에 사용되는 디스크들의 총 용량이 확인된다.

Update Size가 동작하지 않거나 해당 버튼이 없는 경우에는 수동으로 디스크 용량을 기입해야 한다.

용량 확인 후 Accept를 클릭한다.

 

설정을 진행할지 묻는 화면이다. Yes를 클릭하여 넘어간다.

 

Virtual Drvies에 그룹이 추가된게 확인된다. Next를 클릭하여 넘어간다.

 

실제로 연결된 디스크 상태와 추가된 그룹을 확인할 수 있다. Accept를 클릭한다.

 

설정을 저장할지 묻는 화면이다. Yes를 클릭한다.

 

ssd 캐싱을 사용할지 묻는 화면이다. Cancel을 클릭한다.

 

디스크를 초기화 하기전 진행할지 묻는 화면이다. Yes를 클릭하여 진행한다.

 

Fast Initialize 선택 후 Go를 클릭한다.

 

진행 여부를 묻는 화면이다. Yes를 클릭하여 넘어간다.

 

설정 완료 후 Home 화면으로 이동했을 때 생성된 RAID 0 그룹과 묶여있는 디스크들이 확인된다.

 

OS 부팅 후 디스크 확인 시 레이드 0으로 설정된 디스크의 용량이 확인된다.

 

레이드 1 설정

여섯개의 디스크를 사용하여 레이드 1을 설정 할 경우 설정 방법이 레이드 0과 크게 다르지 않다.

그룹 설정은 동일하며 아래 메뉴에서 RAID 1로 변경한다. 레이드 1설정으로 인해 세개의 디스크 용량만 사용할 수 있는 점이 확인된다.

 

레이드 1+0 설정

본 문서에서는 여섯개의 디스크로 레이드 10을 설정하였으며, 레이드 1을 세 그룹 추가하고 레이드 0으로 묶었다.

그룹 생성 부분에서 레이드 1을 세 그룹 추가한다.

 

Add to SPAN으로 생성한 세 그룹을 모두 추가한다.

 

RAID Level을 10으로 선택한다. 레이드 1 그룹이 세개 있으므로 320GB x 3 용량이 확인된다.

 

설정 완료 후 홈 화면이다. RAID 10 레벨이 확인되며 두개의 디스크가 세 그룹으로 묶여있는게 확인된다.

 

web bios에서 디스크 리빌딩 및 장애 처리 

 

디스크에 문제가 발생할 경우 디스크 교체 후 남아있는 기존 디스크의 데이터를 이용하여 리빌딩 작업을 진행해야 한다.

아래 예시에서는 1번 슬롯의 디스크가 인식되고있지 않은 상태이다. 디스크 탈착 후 3초 정도 뒤에 다시 장착하거나 새 디스크를 장착해야 한다.

 

디스크 재장착 및 새 디스크 장착 후 Virtual Drvies 메뉴로 이동한다.

1번 슬롯 디스크가 인식은 되고 있으나 unconfiguration(bad)로 확인된다. bad 부분을 good으로 변경해야 리빌딩 작업을 진행할 수 있다. Properties 선택 및 Go 버튼을 클릭한다.

 

교체한 디스크의 그룹을 선택하고 Make Unconf Good 선택 후 Go 버튼을 클릭한다.

 

Make good 진행 후 Home 화면 확인 시 Unconfigured Good으로 디스크가 인식된게 확인된다.

이제 리빌딩을 진행하기 위해 다시 Virtual Drives로 이동한다.

 

Unconfigured Good 상태인 디스크를 선택하고 Rebuild 선택 및 Go 버튼을 클릭한다.

 

디스크의 상태가 (FOREIGN)상태로 표시가 된다. 해당 설정을 변경하기 위해 Properties로 이동한다.

 

(FOREIGN) 상태가된 디스크의 그룹을 선택한 후 Replace Missing PD를 진행한다.

 

변경 후 Rebuild Drive 선택 및 Go 번튼을 클릭하여 리빌딩을 진행한다.

 

리빌딩이 진행중인 화면이다. 100%가 되면 리부팅을 진행한 후 정상적으로 사용할 수 있다.

 

 

리눅스 터미널에서 레이드 설정 및 확인

 

MegaRaid tool 설치

zip 파일을 다운받는다.

#wget http://mirror.nforce.com/pub/software/raidtools/Megaraid/8-07-14_MegaCLI.zip

 

다운받은 파일의 압축을 해제한다.

#  unzip 8-07-14_MegaCLI.zip

 

#cd Linux (운영체제에 맞게 선택한다.)

#rpm -ivh MegaCli-8.07.14-1.noarch.rpm

 

명령어를 편하게 사용하기 위해 링크를 만들어 사용한다.
#ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/Megacli

 

MegaCLI를 이용한 레이드 설정

웹바이오스 화면이 아닌, 터미널 상에서 Megacli 명령어를 통한 레이드 설정도 가능하다.

# Megacli -pdList -aALL |grep Frim

위 명령어를 통해 6개 디스크 상태를 확인할 수 있다. 아무런 레이드 설정이 되지 않은 상태가 확인된다.

 

#Megacli cfgspanadd -r10 -Array0[252:0,252:1] -Array0[252:2,252:3] -a0

웹바이오스에서 0,1번 슬롯과 2,3번 슬롯을 각각 레이드 1로 묶은 후 두 그룹을 레이드 0으로 설정하는 과정을

해당 명령어를 통해서 설정할 수 있다.

4,5번 디스크를 제외하고 0,1,2,3 번 디스크가 레이드로 설정된 상태가 Online으로 변경된다.

 

실제 사용가능한 용량을 확인 해보았을 때 (320GB X 2) 정도의 가용 용량이 확인된다.

 

#Megacli ShowSummary -aALL 명령어로 디스크 상태 및 레이드 설정을 간단하게 요약된 정보로

확인할 수 있다. 가장 밑 부분에 RAID Level : 10이 표시된다.

 

 

디스크 6개를 레이드 5로 설정

새 레이드 설정을 구성하기 위해 기존 설정을 삭제해야 한다.

#Megacli cfglddel -l0 -a0 명령어로 레이드 설정을 삭제할 수 있다.

-l 옵션은 만들어진 레이드 설정 목록을 의미하며 0번째 레이드 설정을 삭제하는 예시이다.

기존 레이드 설정 삭제 후 디스크 확인 시 정상적으로 초기화 된 상태가 확인된다.

 

# Megacli cfgldadd -r5 [252:0,252:1,252:2,252:3,252:4,252:5] -a0

디스크 6개를 레이드 5로 설정한다. 설정 후 모든 디스크의 상태가 Online으로 변경된다.

 

실제 사용 가능한 용량을 확인했을 때 각 디스크의 패리티 비트 저장 공간을 제외한 결과인 (전체 디스크 수 -1) X (320 GB) 정도의 용량이 확인된다.

 

# Megfacli ShowSummary -aALL 

레이드 5 설정 후 상태 요약 화면에서 RAID Level : 5가 확인된다.

 

 

MegaCLI를 이용한 디스크 리빌딩

디스크에 문제가 발생하여 교체할 경우 웹바이오스가 아닌 쉘 화면에서도 리빌딩 작업을 진행할 수 있다.

먼저, 디스크 교체 시 자동으로 리빌딩이 진행될 수 있도록 설정이 되어있는지 확인한다.

# Megacli -AdpAutoRbld -Dsply -a0 

위 명령어를 통해 현재 오토 리빌딩의 활성화 여부를 확인할 수 있다.

#Megacli -AdpAutoRbld -enbl -a0

만약 활성화되어 있지 않을 경우 활성화 시킨 다음 다시 디스크를 재 장착 하여 자동으로 리빌딩이 되는지

시도한다.

 

디스크 장착 시 자동으로 리빌딩이 진행되지 않을 경우 수동으로 리빌딩 작업을 진행해야 한다.

디스크 상태 확인시  0번 슬롯 디스크가 인식이 되고있으며 (bad) 상태로 출력되고 있다. 

 

# Megacli -pdmakegood -physdrv [252:0] -a0

(bad) 상태를 (good)으로 변경해야 레이드 설정이 가능하다.

 

디스크의 상태가 (good)으로 변경되었지만, 변경해야 하는 부분이 하나 더 있다.

0번 슬롯 디스크는 새 디스크가 아닌, 기존에 레이드로 구성되어있던 디스크이다.

이 전 레이드 구성을 통한 데이터가 남아있기 때문에 해당 디스크는 Foreign 상태로 출력된다.

데이터가 남아있는 디스크의 경우 리빌딩 작업을 진행하면 데이터가 초기화되기 때문에 경고하기 위한

기능이며 Foreign 상태를 제거해야 리빌딩 작업이 가능하다.

 

#Megacli -cfgforeign -clear -a0 

0번 슬롯 디스크의 상태값이 Foreign에 None으로 변경된다.

 

# Megacli -pdhsp -set physdrv [252:0] -a0

0번 슬롯 디스크를 리빌딩한다. 디스크 상태 확인 시 Rebuild로 출력되며 리빌딩이 진행중으로 확인된다.

 

# Megacli -pdrbld -showprog -phydrv[252:0] -a0

리빌딩 작업이 진행중인 디스크의 퍼센트지를 확인할 수 있다. 리빌딩 작업이 완료되면 정상적으로

사용이 가능하다.

 

windows - MegaRAID Storage Manager를 이용한 레이드 설정 및 리빌딩

설치 usr : https://idchowto.com/?p=17140

윈도우의 레이드 설정은 MegaRAID Storage Manger를 이용해 간단하게 설정할 수 있다.

예시로 레이드 10을 설정하였으며, 사용가능한 디스크는 총 6개이지만 레이드 10 설정을 위해선 4의 배수의 디스크 개수가 필요하기 때문에 두 개의 디스크는 제외하고 네 개의 디스크만 설정하였다.

 

MegaRAID Storage Manager 실행 후 새 레이드 설정을 만들기 위해 Create virtual drive를 클릭한다.

 

Advanced를 선택하고 Next를 클릭한다.

 

RAID level를 10으로 선택한 후 Select unconfigured drives 목록에서 두 디스크 선택 후 'Add >>' 버튼을 클릭하여 Drive groups로 추가한다. 그룹을 추가한 후 'Create Span'을 클릭한다.

다른 두 디스크도 추가한 후 'Create Drive Group'을 클릭한 후 Next를 클릭하여 넘어간다.

 

디스크 용량 및 그룹 확인 후 'Create Virtual Drive'를 클릭한다.

 

Virtual Drive가 생성된 모습이다.

 

'Finish'를 클릭한다.

 

정상적으로 레이드가 설정되었으며, 디스크 관리 페이지에서 사용할 수 있는 디스크가 인식된다.

 

MegaRAID Storage Manager를 이용한 리빌딩

디스크 고장 상황을 연출하기 위해 0번슬롯 디스크를 제거 후 다시 연결하였다.

제 장착 후 인식은 정상적으로 되나, Unconfigured(bad)상태로 확인된다.

마우스 우클릭 후 'Change to Unconfigured Good'을 클릭하여 상태를 변경한다.

 

Make Good 실행 후 다시 우클릭하여 'Replace Missing Drive'를 클릭한다.

 

디스크가 원래 연결돼있던 그룹을 확인 후 'OK'를 클릭한다.

 

디스크가 비어있던 0번 슬롯에 추가되었으며, 우클릭 후 'Start Rebuild'를 클릭하여 리빌딩을 진행한다.

 

정상적으로 리빌딩이 진행되는 모습이다.

 

Dashboard에서 More Details를 클릭하면 진행중인 리빌딩 프로그레스 바를 확인할 수 있다.

'RAID' 카테고리의 다른 글

raid 설정  (0) 2019.08.05
Mega Raid tool  (0) 2019.07.23

+ Recent posts