posted by 은이종 2014. 1. 6. 11:21

 도메인 조인 관련 포트


Protocol Port 설명
TCP 25 SMTP
TCP UDP 53 DNS
TCP UDP 88 Kerberos
TCP 135 RPC
UDP 137 NetBios
UDP 138 NetBios
TCP 139 NetBios
TCP UDP 389 LDAP
TCP UDP 445 Microsoft-DS (SMB)
TCP 636 LDAP SSL
TCP 3268 GC (글로벌 카탈로그)
TCP 3269 GC (글로벌 카탈로그) SSL
TCP "49152
~65535" EPM


TechNet URL 참조
http://technet.microsoft.com/ko-kr/library/dd772723(v=ws.10).aspx 
 

'Windows > AD' 카테고리의 다른 글

AD 계정별 Policy 설정  (0) 2014.07.23
AD 그룹 정책 관리  (0) 2014.04.18
AD 장애  (0) 2014.01.17
AD 설정 1. 계정 2.로그인 대상  (0) 2013.08.28
AD 구성  (0) 2013.04.11
posted by 은이종 2013. 12. 26. 21:32
Zabbix 

1. Zabbix agent restart는 zabbix_get으로 실행 불가

2. restart 자동 스케줄러 등록을 진행함 (시간은 10시)
가. repo서버의 autoconfig\scripts\test.bat 값이 1이면 배치파일 스케줄러 등록, 2이면 삭제

나 .UserParameter 등록
UserParameter=user.zabbix_restart_win[*],C:\zabbix_agentd\scripts\zabbix_agent_check.bat "$1"

다. zabbix_agent_check.bat 배치파일
(1) 
net use \\10.10.100.20\autoconfig /delete /y
net use \\10.10.100.20\autoconfig autoconfig /user:autoconfig

for /f %a in ('type \\10.10.100.20\autoconfig\scripts\test.bat') do set result=%a
if /i %result%==1 SCHTASKS /Create /RU SYSTEM /SC DAILY /TN ZabbixAgentRestart /TR C:\zabbix_agentd\scripts\zabbix_agent_restart.bat /ST 10:00 && SCHTASKS /run /TN ZabbixAgentRestart
if /i %result%==2 SCHTASKS /Delete /f /TN ZabbixAgentRestart
net use \\10.10.100.20\autoconfig /delete

(2) %변수가 안 먹혀서, 새로 짠 스크립트

net use \\10.10.100.20\autoconfig /delete /y
net use \\10.10.100.20\autoconfig autoconfig /user:autoconfig

if exist \\10.10.100.20\autoconfig\scripts\test.bat SCHTASKS /Create /RU SYSTEM /SC DAILY /TN ZabbixAgentRestart /TR C:\zabbix_agentd\scripts\zabbix_agent_restart.bat /ST 10:00 && SCHTASKS /run /TN ZabbixAgentRestart
if not exist \\10.10.100.20\autoconfig\scripts\test.bat SCHTASKS /Delete /f /TN ZabbixAgentRestart

net use \\10.10.100.20\autoconfig /delete



라. zabbix_agent_restart.bat 배치파일

@echo off
net use \\10.10.100.20\autoconfig autoconfig /user:autoconfig

:stop
sc stop "Zabbix Agent"

rem cause a ~1 second sleep before checking the service state
timeout /T 1

sc query "Zabbix Agent" | find /I "상태" | find "STOPPED"
if errorlevel 1 goto :stop
goto :start

:start
"C:\zabbix_agentd\bin\zabbix_agentd.exe" --uninstall --config "C:\zabbix_agentd\conf\zabbix_agentd.conf"
xcopy /y \\10.10.100.20\autoconfig\zabbix\win64\zabbix_agentd\conf\* C:\zabbix_agentd\conf
mkdir "C:\zabbix_agentd\scripts"
xcopy /y \\10.10.100.20\autoconfig\zabbix\win64\zabbix_agentd\scripts\* C:\zabbix_agentd\scripts
"C:\zabbix_agentd\bin\zabbix_agentd.exe" --install --config "C:\zabbix_agentd\conf\zabbix_agentd.conf"
net start | find /i "Zabbix Agent">nul && goto :loop
sc start "Zabbix Agent"

'Monitor > Zabbix' 카테고리의 다른 글

Zabbix (자빅스) 윈도우 Event Log 설정을 위한 기본 자료  (0) 2014.08.13
Zabbix 2.2.2(Update 2014-03-03)  (0) 2014.03.03
zabbix system.run 막기  (0) 2013.12.26
Zabbix Agent 재시작 배치파일  (0) 2013.10.29
zabbix 2.0.2  (0) 2012.08.29
posted by 은이종 2013. 12. 26. 16:29


zabbix_get의 system.run을 통해서 
zabbix 서버에서 원격지로 자유롭게 명령어 실행이 가능하다.
이는 보안상에 큰 위협이 될 수 있으므로

zabbix_agentd.conf에서
RemoteCommands를 막아둬야한다.


### Option: EnableRemoteCommands
# Whether remote commands from Zabbix server are allowed.
# 0 - not allowed
# 1 - allowed
#
# Mandatory: no
# Default:
EnableRemoteCommands=0 

'Monitor > Zabbix' 카테고리의 다른 글

Zabbix 2.2.2(Update 2014-03-03)  (0) 2014.03.03
zabbix userparameter  (0) 2013.12.26
Zabbix Agent 재시작 배치파일  (0) 2013.10.29
zabbix 2.0.2  (0) 2012.08.29
zabbix agent  (0) 2012.04.09
posted by 은이종 2013. 12. 6. 15:17


디렉토리 색상 및 
vi => vim ,  ls -al -> ll  등등 기본 세팅

 
1.  vi -> vim alias 설정
 

vi /root/.bashrc       

한줄 추가

alias vi='vim' 


2. Prompt 에 절대경로 설정 
(부팅시, 설정 내역 읽어옴)

ㅇ /etc/profile 에 설정


export PS1="[\u@\[\e[20;44m\]\h\[\e[m\]] \$PWD>\\$ "




ㅇ b 파일을 생성해서 아래 내역 추가

  vi /etc/profile.d/prompt.sh
------------------------------------

export PS1="[\u@\[\e[20;44m\]\h\[\e[m\]] \$PWD>\\$ "

--------------------------------
권한 부여
chmod 777  
/etc/profile.d/prompt.sh

3. 색깔 넣기

vi /root/.bashrc 

LS_COLORS="di=01;34":"fi=01;37":"ex=01;32":"ln=01;36":"so=01;33"


or
xshell 사용하시면 색상표 추가해서 사용

참고)
http://www.jongeun.co.kr/search/xshell

 



'Linux' 카테고리의 다른 글

JDK와 JRE 구분  (0) 2014.04.24
hpacucli 간단한 명령어  (0) 2014.01.17
넷사랑 xshell 기본 설정  (0) 2013.11.12
fail2ban  (0) 2013.04.04
리눅스 부팅과 커널 Fail시 대처방안  (0) 2013.02.06
posted by 은이종 2013. 12. 1. 11:15
 사용하지 않는 기능이 많아서
 불필요한 배터리소모 와 성능저하가 발생하는데

 이번에 싹 정리해보았다.

 1. S 보이스

앱스 - S보이스 - 메뉴키 눌러서 - 설정

홈버튼으로 실행
위치정보사용
호출명령

체크되어있는 부분 해제


=> 홈버튼 등 속도 향상


 
2.  무선네트워크사용

설정 - 위치서비스 - 무선네트워크사용 해제

데이터 사용같은 게 아니라 GPS를 잡지 못하는 상황, 즉 건물내에 있거나 할때 와이파이나 기지국등의 네트워크에 연결해서 위치를 잡아주는 역할을 하는 겁니다.
건물내에 있으면 지속적으로 연결시도를 하기 때문에 와이파이 지연율도 높아지고 특정기기에서 간섭도 일어나는 것 같더군요.

 

=> 해제 후 WIFI Upload-Down 속도 향상


3. 공유기 업그레이드
보통 집에서 IPTIME 공유기를 많이사용하는데
공유기의 펌웨어 업데이트를 하여도 성능에 영향을 준다


 

'기타' 카테고리의 다른 글

DarkNamer 파일명 일괄 변경 프로그램  (0) 2014.07.15
블로그에 구글애드센스(adsense) 추가하기  (0) 2014.03.27
OpenStack  (0) 2013.07.17
RAID + JBOD  (0) 2013.07.04
Correctable or Uncorrectable Memory (DIMM) Errors  (0) 2013.05.02
posted by 은이종 2013. 11. 19. 15:42

제조사별 SNMP 커뮤니티, TRAP값 수정 등록 스크립트 입니다.

제조사별로 나누는건 흔치가 않은데,  

ex)
HP SIM
DELL OME
IBM Dircetor
등 하드웨어 모니터링할 경우 종종 쓰여서 만들어보았습니다.

===========================================================================================================
start /w ocsetup SNMP
timeout /T 1 /nobreak
for /f "tokens=3 skip=2" %%a in ('reg query HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS /v SystemManufacturer') do set VENDER=%%a
echo 서버 제조사는 %VENDER% 입니다.
if /i %VENDER%==HP REG IMPORT C:\SNMP_HP.reg
if /i %VENDER%==DELL REG IMPORT C:\SNMP_DELL.reg
sc stop "SNMP"
sc start "SNMP"
=========================================================================================================

내용은 간단합니다
1. SNMP설치
2. 서버 제조사 확인
3. 각 제조사 확인 후 미리 생성해둔 커뮤니티,TRAP값 REG를 등록
4. SNMP 재시작
 
SNMP 커뮤니티 등록  REG는 궁금하실것같아서 샘플로 첨부합니다


=====================================================
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\PermittedManagers]
"1"="IP"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\TrapConfiguration\hphwmon]
"1"="IP"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SNMP\Parameters\ValidCommunities]
"커뮤니티값"=dword:00000010
===========================================
"커뮤니티값"=dword:00000010 은 읽고 쓰기입니다.
읽기만 하시려면

"커뮤니티값"=dword:00000004 로 하시면 됩니다.




 
posted by 은이종 2013. 11. 12. 14:12

보통 SSH 접속 프로그램이라고 하면,


Putty
SecureCRT
xshell 
mRemote(mstsc)

이 네 가지의 종류가 가장 많이 쓰이는데,
(mRemote는 윈도우용 mstsc로, 추후 포스팅하겠습니다.)

현재 제가 주로 SSH접속용으로 쓰는건 xshell입니다.

우선 국산 프로그램이며,
개인용은 무료 (회사에서 사용시 라이선스 필요)이며
xftp라는 추가 플러그인 프로그램까지 사용하면 
SE로써 상당히 편리합니다.

보통 디폴트 설정으로만 사용중인 데,
간단한 설정만 해줘도 더 효율적인 사용이 가능합니다.

1. 색 구성표
리눅스계열 디렉토리 색깔이 어두운 파란색이라서 색구성도를 추가하면 구분이 편합니다.

color schemes.xcs

hanterm_color_schemes.xcs



위의 파일을 다운 받으신 후



색구성표를 클릭 후 
"찾아보기"에서 "가져오기"에서 추가하시면 됩니다.




2. 세션 폴더 경로
"도구"-"설정"-"일반"

세션이 보통 C:/Program .... 으로 설정이 되어있는데
저같은 경우, 회사나 집에서 접속을 해야함으로,
D드라이브쪽으로 설정하여 동기화 작업을 진행합니다 ^_^
(N드라이브나, TCLOUD를 이용)


3. 자동 클립보드 복사
이 설정이 상당히 편합니다.
"도구"-"설정"-"키보드와 마우스"  [선택]쪽에

선택한 텍스트를 자동으로 클립보드에 복사(C) 를 클릭해주면
드래그한 화면이 자동으로 클립보드에 복사가 됩니다.
마우스 가운데 단축버트는 디폴트가 붙여넣기라서
두개를 이용하면 Ctrl C->V 작업이 편리해집니다.



4. 작성 창
일명 모든 세션에 똑같은 명령어 날리기

여러대의 서버에서 단순 반복작업할 떄 편리합니다.

"보기"-"작성창" 눌러서 활성화 시키면 됩니다.


단축키는 Alt + I (영문) 입니다. 토글키로서 한번 누르면 작성창으로 가고, 다시 누르면 현재 세션으로 돌아갑니다.


5. 빠른 명령
"보기"-"빠른 명령" 활성화 시키면 자주 쓰는 명령어를 등록시킬 수 있습니다.
단순 명령어에서 스크립트까지 지원가능합니다.



6. 로그인 스크립트

세션을 생성하고, 세션에 로그인 후 자동 스크립트를 설정하는데
(생성한 세션에 우클릭 후 정보등록 누르면 됩니다. Alt + Enter)
 

저같은 경우는 아래의 명령어들을 미리 설정해두고 사용합니다.
export TERM=linux; unset TMOUT; who

작업자가 겹치는 경우가 생기는데, who명령을 설정해두어서
접속하자마자 체크를 하는 용도입니다.

로그인 계정과 비밀번호 설정이 가능한데
보안상 취약함으로 사용않기를 권장드립니다.
 




7. 로그 남기기
생성한 세션에 우클릭 후 정보등록 누르면 됩니다. Alt + Enter
"고급" - "로깅"에 가면

아래와 같이 설정해두면, 일일이 설정해두지 않아도
작업한 내역이 자동으로 기록이 됩니다.





이정도만 설정해두어도, xshll이 조금은 활용성이 늘어납니다.


추후 포스팅은
자동으로 세션생성해주는 스크립트 작성해둔게 있는데, 그 내역 포스팅할 예정입니다.

 




 


'Linux' 카테고리의 다른 글

hpacucli 간단한 명령어  (0) 2014.01.17
쉘, 명령어 창 기본세팅  (0) 2013.12.06
fail2ban  (0) 2013.04.04
리눅스 부팅과 커널 Fail시 대처방안  (0) 2013.02.06
sourceforge로 yum.repo 변경하기  (0) 2012.11.08
posted by 은이종 2013. 10. 29. 02:06


윈도우 (한글)에
유저파라메터 등록시 Zabbix Agent재시작이 필요한데
에 관련된 Agent 재시작 스크립트이다.

=============================================================
@echo off

:stop
sc stop "Zabbix Agent"

rem cause a ~10 second sleep before checking the service state

echo "==================="
echo "=== 5초간 대기 중 ==="
echo "==================="
timeout /T 5

sc query "Zabbix Agent" | find /I "상태" | find "STOPPED"
if errorlevel 1 goto :stop
goto :start

:start
net start | find /i "Zabbix Agent">nul && goto :loop
sc start "Zabbix Agent"

==============================================================

매일 10시에 계정 로그인 상관없이 해당 배치파일 돌리기
작업 스케줄러 등록
SCHTASKS /Create /RU SYSTEM /SC DAILY /TN ZabbixAgentRestart /TR C:\zabbix_agentd\bin\zabbix_agent_restart.bat /ST 10:00 

'Monitor > Zabbix' 카테고리의 다른 글

zabbix userparameter  (0) 2013.12.26
zabbix system.run 막기  (0) 2013.12.26
zabbix 2.0.2  (0) 2012.08.29
zabbix agent  (0) 2012.04.09
zabbix 설치  (0) 2012.04.09
posted by 은이종 2013. 10. 8. 11:01

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"ScreenSaveActive"="1"
"ScreenSaverIsSecure"="1"
"ScreenSaveTimeOut"="300"
"Pattern Upgrade"="TRUE"
"SCRNSAVE.EXE"="C:\\Windows\\system32\\Bubbles.scr"


제가 좋아하는 버블!! 

대기시간은 5분으로 설정.
돌아올때 로그인화면으로 설정

윈도우 보안설정에 기본으로 들어가야할 사항이겠죠?


아래 파일로 아래 명령어로 배치파일 등록





REG IMPORT C:\Users\%UserName%\Desktop\scr.reg
posted by 은이종 2013. 9. 26. 13:56


윈도우 바탕화면에 시스템정보(Sys info)표시해주는 프로그램 입니다.

상당히 깔끔하고 무겁지 않네요





첨부한 파일을



1.

c:\windows\system

에 복사해두고



2. reg 등록하면 됩니다.


reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Backinfo /t REG_SZ /d "C:\windows\System"Backinfo.exe" /f


 

backinfo.zip




'Windows' 카테고리의 다른 글

SNMP 설치 스크립트  (0) 2013.11.19
화면보호기 (스크린세이버) Reg 등록  (0) 2013.10.08
윈도우 CMD에 hostname 표시  (0) 2013.09.26
윈도우 CMD에 hostname 표시  (0) 2013.09.26
Windows FTP Script  (0) 2013.04.09
posted by 은이종 2013. 9. 26. 13:52

CMD창에 호스트명(hostname) 표시해주는 reg명령어
 
  reg add "HKLM\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "prompt [%computername%]$S$P$G" 
posted by 은이종 2013. 9. 26. 13:51

CMD창에 호스트명(hostname) 표시해주는 reg명령어
 
  reg add "HKLM\SOFTWARE\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "prompt [%computername%]$S$P$G"

posted by 은이종 2013. 8. 28. 20:25


1. 계정생성 시, 소속되는 기본 그룹이다.





Domain Users 권한은 아래와 같은 권한을 갖는다

=> 네트워크 설정, 원격접속 및 User(프로그램 실행 권한, 시스템 변경은 불가)



AD 계정으로 서비스를 운영하기엔 부족한 권한으로 추가적인 권한을 넣는다

Domain Admins
해당 계정은  Administrator 권한을 보유한다.


Domain Users+ Domain Admins  두개의 권한이 있으면
기본적인 서비스가 가능한 AD 계정이라고 볼 수 있다.

=====================================================================================================

2. 로그인 대상 서버 설정

기본적으로 계정을 생성하면
그 계정은 AD join 이 되어있는 서버들에 접근이 가능하다.
보안상 취약함으로, 필요한 서버들만 접근이 가능하게 수정해야한다.

해당 계정에 우클릭 후 속성으로 들어가서 해당 쪽의 수정을 해주면 된다.






'Windows > AD' 카테고리의 다른 글

AD 계정별 Policy 설정  (0) 2014.07.23
AD 그룹 정책 관리  (0) 2014.04.18
AD 장애  (0) 2014.01.17
AD join시 Open Port  (0) 2014.01.06
AD 구성  (0) 2013.04.11
posted by 은이종 2013. 8. 22. 16:22
1. client 서버에서 제대로 Update 동기화가 되지 않을 때

net stop wuauserv
net start wuauserv
Gpupdate /force
wuauclt /detectnow
 
 

2. client 가 등록이 되지 않을때, 체크 프로그램

WSUS Client Diagnostic Tool 



http://www.microsoft.com/en-us/download/details.aspx?id=30827



 

'Windows > WSUS' 카테고리의 다른 글

WSUS Server 설정  (0) 2013.08.21
WSUS Server 에서 해당 클라이언트들이 보이지 않을때  (0) 2012.11.16
posted by 은이종 2013. 8. 21. 15:05

1. 옵션 - 제품 및 등급 설정

필요한 제품만 등록

 난 W2K8 만 사용하니까 해당 사항만 등록
 
 



윈도우 업데이트에 선행되어야 할 부분인 재부팅 관련 옵션은 다음과 같이지정 할 수 있습니다.

(아래와 같이 자동 다시 시작 사용 안함을 지정 하였을 경우, 윈도우 업데이트는 설치만 될뿐 재부팅은 되지 않으며, 관리자가 원격 접속 하여 재부팅하면 업데이트가 적용됩니다.)

'Windows > WSUS' 카테고리의 다른 글

WSUS client  (0) 2013.08.22
WSUS Server 에서 해당 클라이언트들이 보이지 않을때  (0) 2012.11.16
posted by 은이종 2013. 7. 17. 21:45

OpenStack

 

  요즘 IT 분야에서는 클라우드 컴퓨팅에 대한 관심이 뜨겁다. 그러나 정작 클라우드가 무엇인지 검색해 보면 속 시원한 설명은 하나도 없다. 나 또한 작년에 클라우드를 접한 후 개념을 잡는데 상당한 시간이 걸렸었는데, 가장 좋은 방법은 역시 직접 사용해 보는 것이었다. 시중에는 클라우드 컴퓨팅의 표준이 되어가고 있는 Amazon이나 국내에서도 통신사업자, 인터넷 서비스업체들이 무료로 클라우스를 접해볼 수 있는 서비스를 제공하고 있다. 하지만 이들의 서비스를 제대로 사용하려면 일정 요금을 지불해야 한다. 또한 내부 구조가 어떻게 되어있는지 파악할 목적이라면 직접 클라우드를 구축해 보는 것이야 말로 가장 좋은 방법일 것이다.

 

  OpenStack은 Rackspace와 NASA가 주축이 되어 시작된 클라우드 매니지먼트 스택으로 Apache 2.0 기반의 오픈소스이다. 현재는 Cisco, HP, Dell, KT, Samsung과 같은 대기업들도 관심을 가지고 적극적으로 개발과 상용화에 참여하고 있으며 Canonical, Suse와 같은 Linux 진영에서도 OpenStack을 기본 패키지에 포함하여 릴리즈 할 계획을 밝히는 등 무서운 성장을 하고 있다. OpenStack은 스토리지 서비스(Swift)와 컴퓨트 서비스(Nova), 이미지 서비스(Glance) 세 가지로 이루어져 있지만 내가 사용해 본 것은 컴퓨트 서비스(이하 Nova)와 이미지 서비스(이하 Glance) 이다. 클라우드 컴퓨트 서비스란 쉽게 말해 강력한 컴퓨팅 파워나 디스크를 가진 먼지 날리고 시끄러운 서버를 집에 두는 것이 아니라 이런 서비스를 제공하는 업체의 데이터 센터에 만들어 두고 인터넷이 되는 곳이라면 어디든 접속할 수 있도록 하는 서비스이다. 작업의 자동화와 관리의 편의를 위해 가상화 기술이 여기에 이용된다. 즉, 사용자에게 제공되는 서버는 가상머신이다. 사용자의 수에 따라 서버 두 세대만 있어도 운영이 가능하다. 나 또한 처음에는 한 대의 서버로 테스트를 했었다. Nova는 원하는 OS 설치와 네트워크 연결, 보안 설정이 완료된 가상의 서버를 클릭 한 번으로 손쉽게 제공해 주는 기능을 포함하는 소프트웨어이다.

그림1.jpg

[그림 1. Nova의 역할]

  소스가 완전히 오픈되어 있고 현재도 활발히 개발이 진행 중이기 때문에 오픈소스 소프트웨어를 사랑하는 사람이라면 설치, 테스트를 해 보는 일이 상당히 재미있을 것이다.

 

2. 설치법

 

  Nova는 간단한 응용프로그램이 아니기 때문에 설치가 간단하지는 않다. 우선 Linux가 깔린 서버가 한 대 이상 필요한데, 여의치 않다면 VirtualBox를 이용해 생성한 가상머신도 괜찮다. 개발자들이 Ubuntu를 사용해서 인지 Ubuntu 환경이 가장 안정적인 것 같았다. 여러 대의 서버로 시스템을 구성하더라도 각 서버의 설치 과정은 동일하다. 서버가 준비되었다면 아래의 방법을 통해 모든 서버에 Nova와 Glance를 설치한다. 설치 과정을 모두 설명하기 보다는 가장 설명이 잘 되어있는 웹 페이지의 링크를 적어두겠다.

 

 

옵션 1. 패키지를 이용한 설치: wiki.openstack.or.kr/index.php/Nova_설치가이드

옵션 2. 스크립트를 이용한 설치: www.devstack.org

옵션 3. 소스코드를 이용한 설치: wiki.openstack.or.kr/index.php/Nova_설치가이드

 

 

  UI 기반의 설치가 아니라서 그리 쉽지는 않지만 패키지나 스크립트를 이용한 설치는 간단한 편이다. 또한 설치하는 과정을 통해 어떻게 클라우드 컴퓨트 시스템이 구성되어 있는지 이해할 수 있을 것이다. 여러 대의 서버로 시스템을 구성 할 경우 어떤 실행파일이나 서비스들이 어떤 서버에서 실행중인지만 config 파일에 잘 명시해 주면 된다.

 

3. 기능 및 사용법

 

  Nova의 설치가 완료되었다면 아래의 과정을 통해 가상머신을 생성할 수 있다. Nova 시스템에 명령을 내리는 방법은 DB, 네트워크, 계정 관리에 필요한 명령이 포함된 관리자 커맨드라인 툴 nova-manage와 가상머신 생성, 사용, 관리에 필요한 명령이 포함된 사용자 커맨드라인 툴 euca2ools, novaclient가 있다.

 

그림2.jpg

 

[그림 2. 가상머신 실행 과정]

 

1) DB 생성

그림_3.jpg    

 

2) 서버별로 필요한 서비스 실행

그림_4.jpg

 

3) 네트워크 생성 및 유동 IP 등록

그림_5.jpg  

 

4) 계정 및 인증 생성

그림_6.jpg  

 

5) Glance 실행

그림7.jpg

 

6) 이미지 등록

그림8.jpg

 

7) 이미지 등록 확인

그림9.jpg

 

8) Keypair 생성

그림10.jpg  

 

9) 이미지 확인 및 선택

그림11.jpg

 

10) 가상머신 생성

그림12.jpg

 

  커맨드라인 툴의 사용이 어렵다면 Dashboard를 이용해도 된다. 다만 Dashboard는 아직까지 불안정한 상태이고 커맨드라인 툴이 제공하는 기능을 모두 포함하고 있지는 않다.

 

그림13.jpg

[그림 3. Dashboard]

 

  이렇게 생성된 가상머신에 접속하는 방법 또한 여러 가지다. 사용 가능한 공인 IP가 있다면 가상머신에 할당해서 공인 IP로 바로 접속이 가능하다. 그렇지 않다면 OpenVPN을 이용해 가상머신과의 가상 네트워크를 만들어 접속하는 방법이 있다. 마지막으로 Web Socket이 지원되는 브라우저(Chrome, Firefox)를 통해 VNC Console 접속이 가능하다.

 

옵션 1) 공인 IP 할당

그림_14.jpg    

 

옵션 2) VPN 접속

계정 및 인증 생성 과정에서 얻어진 nova-vpn.conf와 인증파일들을 이용하면 OpenVPN 프로그램을 이용해 가상머신과 같은 네트워크에 연결이 된다. 

그림_15.jpg

 

Windows로 nova.zip 파일을 다운받아 풀고 nova-vpn.conf 파일의 확장자를 ovpn으로 변경하면 OpenVPN 프로그램을 통해 네트워크 생성이 가능하다.

 

그림16.jpg

 

3) VNC Web Console

 

그림17.jpg

 

 

4. 비교

 

  OpenStack은 오래 전에 클라우드 컴퓨팅 분야에서 자리매김을 한 Amazon의 서비스와 비교해 볼 때 기능 면에서 전혀 뒤지지 않는다. 특히 Nova는 아마존의 컴퓨트 서비스인 EC2 서비스의 API와 호환되도록 설계되었으며 OpenStack이 자체적으로 개발한 OpenStack API는 EC2 API 보다 더 다양한 인터페이스를 제공하고 있다. 뿐만 아니라 대부분의 기능을 드라이버 방식으로 수용할 수 있도록 설계하여 같은 기능이라 하더라도 관리자가 원하는 방식을 선택할 수 있어 확장성/유연성에 있어서는 Amazon의 서비스보다 큰 잠재력을 지녔다고 볼 수 있다.

 
http://www.oss.kr/41708  에서 퍼옴

참고사이트
https://launchpad.net/swift
 

posted by 은이종 2013. 7. 4. 17:21

RAID란 무엇인가?

요즘 웬만한 메인보드를 보면 RAID(레이드)를 지원한다는 내용을 발견하기가 쉽다. RAID는 예전에는 적은 용량을 가진 디스크 여러 대를 연결해 하나의 디스크처럼 만들어 사용하는 것이었지만 이제는 하드 디스크 드라이브가 갖는 성능이나 안정성을 더 향상시키기 위해서 사용된다.

RAID란 단어는 'Redundant Array Of Independent(예전에는 Inexpensive) Disk'의 약자로 굳이 해석하자면 복수배열독립(複數配列獨立) 디스크 정도로 풀이할 수 있다. RAID는 독립적으로 만들어진 2개 이상의 하드 디스크 사이를 병렬로 처리해서 데이터를 입/출력 하는 것이라 컴퓨터에 2개 이상의 하드 디스크 드라이브가 있을 때에 구성 가능하다.

물론 데스크탑용 PC에서 사용되는 3.5인치 하드 디스크가 이제는 단일 제품으로 1TB(테라바이트) 용량까지 출시되었으니 필자처럼 그 동안 용량이 모자랄 때마다 100~200GB 하드 여러 대를 가끔씩 구입해서 사용하는 사람이라면 아직도 RAID의 원래 개념인 '저렴한 하드를 하나로 묶어서 쓰기'로 생각해도 무방하겠다.

 

아무튼 기술 자체가 하드 여러 개를 지지고 볶는 일이다 보니 인터페이스나 동작이 복잡하고 시스템 자원을 많이 필요로 하기 때문에 처음에는 SCSI 인터페이스를 중심으로 하는 서버 시스템에서나 사용되곤 했지만 점차 데스크탑 시스템에서도 IDE와 SATA를 통해 RAID 기능을 지원하더니 이제는 메인보드에 기본으로 포함되기까지 한다.

 

RAID 성능 향상의 원리

RAID는 크게 스트라이핑(Strpping)과 미러링(Mirroring)으로 구분할 수 있는데, 뒤에서 설명할 RAID 규격은 모두 이 스트라이핑과 미러링을 어떤 식으로 구성했느냐에 따라 나눈 것이기 때문에 두가지 방식 차이만 잘 알아두면 RAID에 대해 절반은 알고 시작하는 것이라고 하겠다.

스트라이핑이란 논리적으로 연속된 데이터를 물리적으로 여러 개의 저장 장치에 나눠서 저장하는 방식으로 우리가 생각하는 파일 1개씩이 아니라 데이터 단위로 나뉘므로 우리가 볼 때는 하나의 하드로 나타나지만 실제로는 하나의 하드에 들어갈 내용을 여러 개의 디스크에 저장하므로 개별 하드의 데이터는 독립적으로는 쓸모가 없고 스트라이핑 된 모든 하드가 있어야 완전한 저장장치가 된다.

스트라이핑이 좋은 점은 병렬로 하드 디스크를 묶었을 때 각 하드와 데이터를 주고 받는 속도가 단일 하드에 데이터를 주고 받는 속도보다 빠르다는 것이다. 이로 인해 데이터를 하드 디스크에 쓰거나 읽기 위해서 기다려야 하는 시간에 다른 하드의 데이터를 읽고 쓰는 식으로 액세스 타임을 줄일 수 있으며, 이론상 하드 디스크를 추가할수록 성능은 증가하게 된다.

 

미러링은 말 그대로 거울에 비치는 것처럼 같은 데이터를 복수의 장치에 동일하게 저장하는 방식이다. 이것은 성능과는 관계없는 순수한 데이터 보호를 위한 안정성을 추구하는 방식으로 사용자가 직접 데이터를 백업하는 것이 아니라 데이터 자체를 동일한 형태로 2개 이상의 복수 장치에서 보관하기 때문에 한군데서 데이터가 분실되거나 파손되더라도 보존된 다른 장치에서 같은 데이터를 그대로 복구할 수 있다.

미러링의 경우는 스트라이핑처럼 성능 향상과 관계없고 오히려 복수의 하드에 같은 내용을 저장해야 하므로 성능이 같거나 미세하게 떨어질 수 있고 2개의 하드가 같은 데이터를 기록하게 되니 사용 가능한 용량도 절반으로 줄어든다. 하지만 데이터 복구가 가능하기 때문에 역시 단독 RAID 1 시스템보다는 데이터 유실의 염려가 큰 스트라이핑을 보완하는 식으로 함께 구성된다.

스트라이핑과 미러링을 어떤 식으로 구성하느냐, 그리고 두가지 방식을 보완하기 위해서 어떤 방법을 택하고 있느냐에 따라 RAID의 규격이 바뀌게 되는데... 다음 장에서는 수많은 RAID 규격 가운데 표준 규격으로 사용되는 것들과 비표준 규격이지만 데스크탑 메인보드 제품에서 지원되는 규격들을 살펴보겠다.


2. 기본적인 RAID 규격을 알아보자

RAID의 규격에는 어떤 것들이 있을까?


RAID 표준 규격 및 데스크탑 PC에서 쓰이는 비표준 규격 소개

RAID는 일정한 방식에 따라 여러 개의 디스크를 묶는 것이라 그 묶는 원리와 구성에 따라 다양한 조합으로 만들어질 수 있다. 표준 규격은 RAID 0부터 1, 2, 3, 4, 5, 6 등으로 이어지며 이와 다른 중첩(Nested) RAID와 비표준(Non Standard) RAID 레벨인 0+1, 1.5, 인텔 Matrix RAID 등이 있다. 이번 페이지는 다양한 RAID 가운데 표준 규격과 데스크탑 PC에서 많이 사용되는 나머지 규격을 간단히 설명하도록 하겠다.

 

RAID 0

RAID 0은 일반적으로 2개 이상의 하드를 병렬로 연결해서 데이터를 블록(Block) 단위로 분산해서 읽고 쓰는 방식으로 구성된다. 하나의 데이터를 복수의 하드를 이용해 분산시키기 때문에 하드 1개에 데이터를 저장하고 불러오는 것보다 훨씬 빠른 속도를 가질 수 있게 되며 하드 용량도 모두 쓸 수 있다.

이론상으로는 하드 디스크를 추가할 때마다 계속 성능이 향상되기 때문에 여러 대의 하드를 RAID 0으로 묶으면 하드 자체가 가진 물리적인 성능을 넘어 컨트롤러의 대역폭을 충분히 활용할 수 있는 강력한 드라이브를 구축할 수 있다. 하지만 안정성을 체크하는 기능이 없어 만약 1개의 하드라도 완전히 고장나면 RAID 0으로 구성된 모든 데이터를 전부 날리게 된다.

따라서 서버나 워크 스테이션처럼 RAID가 주로 사용되는 분야에서는 절대 RAID 0만으로는 RAID 시스템을 구축하지 않으며, 미러링이나 패리티 정보 저장 등 다른 방식과 함께 구성해 성능/안정성을 동시에 추구하도록 보완된 RAID 규격을 쓴다. 

PC에서도 보존해야 할 중요한 데이터가 있는 경우 RAID 0 하드에 저장하지 않는다는 것이 상식이지만, 데이터 보존용이 아니라 프로그램 설치/실행 및 캐시 용도로 사용한다면 충분히 좋은 성과를 누릴 수 있다. RAID 0 방식이 위험하긴 하지만 심심하면 깨지는 그런 형편없는 수준은 아니다.

 

RAID 1

RAID 1은 데이터의 안정성을 높이기 위해 동일한 데이터를 1개 이상의 하드에 똑같이 저장하는 방식으로 RAID 0과는 반대되는 개념이라고 할 수 있다. RAID 1로 구성한 하드는 한 쪽이 망가져도 동일한 데이터가 저장된 다른 하드가 살아있다면 데이터를 복구할 수가 있으며, RAID 구성이 풀리더라도 같은 데이터를 가진 2개의 하드 디스크가 존재하게 된다.

RAID 1은 데이터 안정성은 높지만 2개의 하드를 RAID 1로 묶으면 같은 데이터를 2개에 기록해 전체 하드 디스크 용량의 절반만 사용하게 된다. RAID 1은 2개의 하드 디스크를 1조로 묶는 것을 기본으로 하므로 RAID 1로만 시스템을 구현하지 않고 다른 RAID 방식과 합쳐서 구성하게 된다.

 

RAID 2

RAID 2는 RAID 0처럼 스트라이핑 방식이지만 에러 체크와 수정을 할 수 있도록 Hamming Code를 사용하고 있는 것이 특징이다. 하드 디스크에서 ECC 기능을 지원하지 않기 때문에 ECC(Error Correction Code)을 별도의 드라이브에 저장하는 방식으로 처리된다. 

하지만 ECC를 위한 드라이브가 손상될 경우는 문제가 발생할 수 있으며, 패리티 정보를 하나의 하드 드라이브에 저장하는 RAID 4가 나오면서 거의 사용되지 않는 방식이라고 하겠다.

 

RAID 3, RAID 4

RAID 3, RAID 4는 RAID 0, 1의 문제점을 보완하기 위한 방식으로 3, 4로 나뉘긴 하지만 RAID 구성 방식은 거의 같다. RAID 3/4는 기본적으로 RAID 0과 같은 스트라이핑(Striping) 구성을 하고 있어 성능을 보완하고 디스크 용량을 온전히 사용할 수 있게 해주는데, 여기에 추가로 에러 체크 및 수정을 위해서 패리티(Parity) 정보를 별도의 디스크에 따로 저장하게 된다.

RAID 3는 데이터를 바이트(byte) 단위로 나눠 디스크에 동등하게 분산 기록하며, RAID 4는 데이터를 블럭 단위로 나눠 기록하므로 완벽하게 동일하진 않다. RAID 3는 드라이브 동기화가 필수적이라 많이 사용되지 않고 RAID 4를 더 많이 쓴다고 한다.

RAID 0+1과는 다르게 패리티 정보 기록용 하드 1개만을 제외한 나머지 하드를 모두 스트라이핑으로 묶어 사용하게 되므로 저장 용량에서도 유리하며, 패리티 정보를 별도의 디스크에 저장하므로 스트라이핑 하드 가운데 1개가 고장나도 패리티 정보 디스크를 통해 복구가 가능하다. 하지만 패리티 디스크 쪽도 데이터를 갱신해줘야 하므로 느려질 수 있으며 패리티 디스크가 고장나면 문제가 생길 수 있다. 스트라이핑과 달리 패리티 정보 저장 및 추후 복구를 위해 XOR 연산이 필요하며, 이 때문에 고가의 RAID 컨트롤러는 XOR 연산을 담당하는 프로세서를 따로 장착하고 있다. 

 

RAID 5 
 

RAID 5는 RAID 3, 4에서 별도의 패리티 정보 디스크를 사용함으로써 발생하는 문제점을 보완하는 방식으로 패리티 정보를 스트라이핑으로 구성된 디스크 내에서 처리하게 만들었다. 물론 패리티 정보는 데이터가 저장된 디스크와는 물리적으로 다른 디스크에 저장되도록 만들어 1개의 하드가 고장 나더라도 남은 하드들을 통해 데이터를 복구할 수 있도록 했다. 최소 3개부터 구성이 가능하며 하드 1개 용량만 빠지게 되므로 미러링으로 처리되는 RAID 1보다 저장 공간도 크다. 

패리티 정보가 데이터가 저장된 디스크와는 다른 디스크에 저장되기 때문에 위의 RAID 5 구성에서 만약에 3번 하드(Disk3)가 고장날 경우 A3, C2, D2, 데이터는 다른 하드에 별도로 저장된 패리티 정보를 통해서 복구하고 B 패리티 정보는 나머지 하드에 있는 B1, B2, B3 데이터를 토대로 다시 작성할 수 있다. 그러나 별도로 패리티 정보를 저장하는 작업을 해야 하므로 RAID 1보다 쓰기 성능이 떨어진다.

RAID 3, 4와 달리 패리티 정보가 저장된 디스크가 따로 없어 패리티 디스크 고장과 같은 문제에서 자유롭고 실제 서버/워크스테이션에서 가장 많이 사용되는 방식이기도 하다. 보드나라 서버 역시 3개의 하드로 RAID 5를 구성하고 있다. 

RAID 5 역시 XOR 연산을 필요로 하기 때문에 PCI 방식의 보급형 RAID 컨트롤러 카드나 데스크탑 메인보드의 내장 RAID 컨트롤러에서는 그 동안 거의 지원하지 않았던 규격이기도 하지만, 컴퓨터 성능이 올라간 요즘에는 메인보드 사우스브릿지 칩셋에 RAID 5 기능을 넣는 추세로 가고 있다.

 

RAID 6

RAID 6는 RAID 5와 같은 개념이지만 다른 드라이브들 간에 분포되어 있는 2차 패리티 정보를 넣어 2개의 하드에 문제가 생겨도 데이터를 복구할 수 있게 고안되었다. 이론상 하드 3개부터 만들 수 있지만 이럴 경우는 1개의 하드에 저장될 용량을 2개의 하드로 패리티 정보를 저장하는 꼴이므로 전체 용량의 1/3만 사용 가능하게 된다. 따라서 보통 4개 이상의 하드 디스크로 구성하며 RAID 5보다 더욱 데이터 안정성을 고려하는 시스템에서 사용한다.

위의 이미지처럼 40GB 하드 4개로 RAID 6를 구성하면 패리티 정보를 저장하는데 2개 분량의 용량을 잡아먹기 때문에 실제 사용 가능한 용량은 절반에 불과하지만 4개의 하드를 스트라이핑으로 묶었기 때문에 RAID 0+1이나 RAID 10(1+0)보다 성능은 더 높고 신뢰성도 우수하다. 하지만 패리티 정보를 2중으로 저장하면서 읽기 성능은 RAID 5와 비슷하지만 쓰기 작업 구현이 아주 복잡해서 일반적으로 잘 사용되지는 않는다.

 

RAID 0+1과 RAID 10(1+0)

RAID 0+1과 RAID 10(1+0)은 RAID 0(스트라이핑)과 RAID 1(미러링) 방식을 혼합해 만들어졌다는 점에서는 매우 비슷하게 보여진다. 특히 서버/워크스테이션이 아닌 일반 사용자의 PC로 RAID를 구성한다면 많아야 4개 정도까지 묶기 때문에 RAID 0+1과 RAID 1+0을 헷갈릴 수도 있으며 실제 RAID 0+1을 RAID 10으로 표기하는 곳도 많이 있다. 필자 역시 이 둘을 혼동하는 사람 중에 하나였는데, 두 방식은 어느 쪽을 먼저 묶고 나중에 묶느냐에 따라 다르다고 한다.

RAID 0+1은 이름 그대로 RAID 0과 RAID 1을 합쳐놓은 방식이다. RAID 0으로 묶은 하드 디스크를 최종적으로 RAID 1로 구성하기 때문에 일반 RAID 1 구성보다 높은 성능을 낼 수 있으며 한쪽 RAID 0에 들어가는 하드들이 모두 고장난다고 해도 나머지 RAID 0 하드를 통해 정상 동작 및 데이터 복구를 할 수 있다.

그래도 RAID 1이 들어가므로 전체 하드 디스크 용량의 절반 밖에 사용하지 못한다는 단점은 같지만, 성능과 안정성을 동시에 추구할 수 있는데다 따로 패리티 정보를 사용하지 않기 때문에 패리티 정보를 별도로 처리할 필요가 없다. 또한 RAID 기능을 지원하는 웬만한 메인보드 컨트롤러 및 보급형 RAID 카드에서 RAID 0+1을 기본 지원하고 있어 RAID 3, 4와 달리 고급형 컨트롤러가 필요하지 않다.

 

이와 달리 RAID 10(1+0)은 RAID 1로 구성된 하드들을 최종적으로 RAID 0 방식으로 스트라이핑해서 성능을 높이게 된다. 역시 RAID 1의 미러링을 기본으로 하고 있으므로 하드 1개가 고장나도 그와 함께 미러링 된 하드를 통해 데이터 복구가 가능하다.

 

RAID 0+1과 RAID 10은 4개의 하드 디스크로 RAID를 구성할 경우 용량이나 구조에서 별 차이가 없어 보이지만 6개 이상의 하드를 사용하게 되면 위와 같은 차이가 생긴다. RAID 0+1은 RAID 0으로 구성된 하드들을 최종적으로 RAID 1로 묶는 것이라 각각 3개씩 하드가 나눠지며, RAID 10은 2개씩 RAID 1으로 묶여있는 하드들이 RAID 0으로 구성된다.

RAID 0+1은 양쪽 RAID 0 구성 중 하나씩 고장이 나면 전체 데이터가 손실되고, RAID 10은 미러링 된 하드 2개가 동시에 고장 날 경우 전체 데이터가 날라간다. 물론 그 대신 RAID 0+1은 미러링 된 한쪽이 하드 전체가 망가져도 데이터를 살릴 수 있고, RAID 10도 각 RAID 1 묶음에서 하나씩이 고장이 나도 이상없이 동작한다.

그러나 RAID 0+1의 경우 1개의 하드만 고장나서 복구해도 다른 RAID 0 구성에서 나머지 하드까지 데이터 전체(A1~3, B1~3, C1~3)를 복구해야 하지만, RAID 10으로 만든 시스템은 고장난 하드가 A2, B2, C3 가 저장된 하드 1개라고 하면 미러링으로 묶인 하드를 통해 A2, B2, C2 데이터만 복구하면 되므로 실제로 운용하는데는 RAID 10이 훨씬 유리하다.

 

JBOD (Just Bunch of Disks)

제이비오디(JBOD)는 Just Bunch of Disks의 약어로 사실은 스트라이핑이나 미러링 방식을 쓰지 않았기 때문에 RAID 규격이라고 할 수 없다. 다만 여러 대의 하드 디스크를 묶어 하나의 하드처럼 보이게 만든다는 점에서 RAID와 비슷하기 때문에 함께 쓰이고, RAID 지원 컨트롤러에서 JBOD 역시 지원하는 일이 많은 것이다.

JBOD는 단순히 물리적인 여러 하드를 모아서 하나의 큰 용량을 제공하는 하드처럼 보이게 만드는 방식으로 스패닝(Spanning)으로도 불린다. 디스크 전체 용량을 사용한다는 점에서 RAID 0과 같지만 RAID 0처럼 데이터를 분산 저장하는게 아니라 디스크 순서대로 저장하기 때문에 대용량 디스크를 만들 수 있지만 실제 성능 향상은 없다. 그러나 디스크 종류/용량에 제한을 받게 되는 RAID 규격과 달리 각기 다른 용량의 디스크도 묶을 수 있다는 장점이 있다.

 

 

RAID 1.5

RAID 1.5는 RAID 비표준 규격 가운데 하나로 RAID 컨트롤러 칩셋을 만드는 회사 중 하나인 Highpoint에서 만든 것이다. RAID 15라고 불리기도 하는 이 규격은 최소 4개의 하드가 필요한 RAID 0+1 구성을 단 2개의 하드로 구성하도록 만들었다.

RAID 1.5의 동작 원리는 읽기는 RAID 0 모드로 읽기 성능을 향상시키고 쓰기 모드일 때는 RAID 1 방식처럼 2개의 디스크 모두 데이터를 기록해 안정성을 높인다는 것이다. 일단 하드 디스크의 구성은 기본적으로 미러링으로 만든 RAID 1과 같지만, 읽기에서 RAID 0처럼 미러링 된 2개의 하드에서 다른 부분을 동시에 읽어서 시간을 절약하게 된다고 한다. 위의 이미지가 RAID 1.5의 정확한 구조를 나타낸 것은 아니지만 Read, Write 부분을 보면 RAID 1.5가 어떤 방식으로 동작하는지 참고하는데 도움이 될 것이다.

하지만 쓰기 속도에서 RAID 1과 같으므로 읽기/쓰기가 반복되는 작업에서 RAID 0 만큼 체감 성능 향상을 느끼기 어려운데다 전체 하드 용량의 절반만 쓸 수 있다는 점에서 RAID 1과 같다. 어차피 2개의 하드로 RAID를 구성해야 한다면 RAID 0, RAID 1 외에는 다른 방법이 없기 때문에 RAID 1.5는 성능과 안정성에 타협을 본 방식이라 할 수 있지만 RAID 1.5를 지원하는 컨트롤러나 메인보드가 있어야 하므로 일반적으로 널리 사용되진 않는다. (예전에 보드나라에서 리뷰했던 DFI 메인보드 중 일부가 Highpoint RAID 컨트롤러를 달아 RAID 1.5를 지원했었다)

 

Intel Matrix RAID 

인텔 매트릭스 레이드(Intel Matrix RAID)는 인텔 ICH6R부터 들어간 RAID 규격으로 RAID 1.5와 마찬가지로 2개의 하드 디스크로도 RAID 0과 RAID 1을 구성할 수 있도록 한 것이다. 하지만 미러링된 RAID 1 디스크를 기반으로 하는 RAID 1.5와 다르게 2개의 하드 디스크를 수평으로 묶어서 2개의 파티션(Partition)을 만들어 한 쪽은 RAID 1으로 구성하고 다른 한쪽을 RAID 0으로 만들어 2개의 하드처럼 쓰게 된다. 물론 Matrix RAID 기술은 2개의 하드를 위한 것이 아니므로 인텔에서는 4개의 하드로 같은 방식의 RAID 0 / RAID 1 파티션을 만들어 낼 수 있다고 설명한다.

매트릭스 RAID를 구성하면 운영체제에서 각 파티션이 구분되어 2개의 하드 디스크로 잡히게 되는데, 용량은 RAID 1로 만든 쪽은 실제 묶인 하드 용량의 절반, 그리고 RAID 0 쪽은 당연히 묶인 하드 용량을 온전히 사용할 수 있어 단순한 RAID 1, RAID 1.5 방식보다 용량이나 운용면에서 이득을 준다.

중요 데이터가 있는 부분은 RAID 1로 보호하고 애플리케이션 실행처럼 빠른 하드 성능이 요구되는 쪽은 RAID 0으로 구성된 파티션에 설치해 실행하므로 성능과 용량, 그리고 데이터 보호까지 적절하게 만족시키는 타협점인데다 2개의 하드 디스크만으로 구성이 가능하기 때문에 하드가 많지 않은 일반 유저들이 데스크탑 PC로 구성하기에 적당하다. 또한 인텔 매트릭스 레이드를 지원하는 메인보드들에서 호환되기 때문에 특별한 문제가 없다면 ICH6R에서 ICH9R까지 같은 매트릭스 레이드 구성을 보존해준다고 알려지고 있다.

하지만 비표준 RAID 규격으로 일반 RAID 컨트롤러에서 사용할 수 없고 인텔 메인보드만 지원하기 때문에 업그레이드 범위가 제한된다는 단점은 있다. 굳이 Matrix RAID라는 용어를 쓰지 않더라도 일부 RAID 컨트롤러는 전체 RAID 볼륨 용량을 나누는 방법으로 2개의 하드에 RAID 0, 1을 따로 구성할 수 있다.

posted by 은이종 2013. 5. 24. 15:56
간단하게 http stop 후 start하는 스크립트
start 후 http 데몬이 0인지 체크해서, 다시 시작하는 설정

내용상의 
/app/apache/bin/startHttpd.sh는
apachectl start가 포함되어있는 스크립트이다
(apache 데몬 소유 권한떄문에 스크립트를 만들어서 구동)

---------------------------------------------------------
#!/bin/bash
date

DAEMON=http
COUNT=$(ps acx | grep -c $DAEMON)

/app/apache/bin/startHttpd.sh stop

while [ 1 ]
do
COUNT=$(ps acx | grep -c $DAEMON)
if [ "$COUNT" -ne "0" ]; then
echo $COUNT
sleep 1
else
break;
fi
done

/app/apache/bin/startHttpd.sh
sleep 1

COUNT=$(ps acx | grep -c $DAEMON)
### http daemon check ###
if [ "$COUNT" -eq "0" ]; then
echo "$DAEMON is no running. "
echo "$DAEMON is re-start."
/app/apache/bin/startHttpd.sh
fi

echo "Apache restart done!"

-----------------------------------------------------


/app/apache/bin/startHttpd.sh 
posted by 은이종 2013. 5. 6. 19:40


1. 하둡 배경

하둡은 HDFS, MapReduce를 소프트웨어로 구현한 것으로 아파치 Top-Level 프로젝트입니다. 

코어는 Java, C/C++, Python등을 지원하는데요. 기본적으로 JDK는 설치되어 있어야 Hadoop을 구동할 수 있습니다. 


OS : CentOS 6.2 x64
JDK 설치

http://www.oracle.com/technetwork/java/javase/archive-139210.html
 

jdk-6u33-linux-x64.bin 로 설치 진행


/usr/local/ 파일이동
chmod 755
./jdk-6u33-linux-x64.bin
 설치


환경변수 설정

vi /etc/profile


export JAVA_HOME=/usr/local/jdk1.6.0_33

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH="." 

source /etc/profile

설치확인
java
javac
java -version



2. 하둡 설치
 

http://ftp.daum.net/apache/hadoop/common/hadoop-1.0.4/ 

현재 1.0.4버전으로 테스트

wget 
http://ftp.daum.net/apache/hadoop/common/hadoop-1.0.4/hadoop-1.0.4-bin.tar.gz 


압축을  /usr/local/에 풀고 설정 진행

/usr/local/hadoop-1.0.4 



ㅇ환경변수 설정

vi /etc/profile

export JAVA_HOME=/usr/local/jdk1.6.0_33

export HADOOP_INSTALL=/usr/local/hadoop-1.0.4

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_INSTALL/bin

export CLASSPATH="."



source /etc/profile
 

ㅇ하둡 동작 확인

[root@HadoopMaster /]# hadoop version

Hadoop 1.0.4

Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290

Compiled by hortonfo on Wed Oct  3 05:13:58 UTC 2012

From source with checksum fe2baea87c4c81a2c505767f3f9b71f4

 

3. 하둡 기본 동작

하둡은 다음의 세가지 방식 중 한가지로 동작합니다. 

Standalone mode
- 데몬 프로세스가 동작하지 않고 모두 단독의 JVM 내에서 동작한다. 테스트하고 디버그가 쉽기 때문에 개발에 적합하다. 
Pseudo-distributed mode
- 하둡 데몬 프로세스가 로컬 컴퓨터에서 동작하므로 클러스터를 시뮬레이션 할 수 있다. 
Fully distributed mode
- 하둡 데몬 프로세스가 여러 컴퓨터로 구성된 그룹에서 동작한다. 


이 중에서 Standalone mode는 아무것도 설정해 줄 것이 없으므로(...)


Pseudo-distributed mode로 설정

환경설정

vi /usr/local/hadoop-1.0.4/conf

[출처] [빅데이터] (1) HADOOP 설치 및 환경설정|작성자hadoop-env.sh 설정

JAVA 및 하둡 경로 추가


export JAVA_HOME=/usr/local/jdk1.6.0_33

export HADOOP_INSTALL=/usr/local/hadoop-1.0.4



*SUPPRESS와 관련된 것은 나중에 하둡을 실행할 때 경고메시지를 보지 않기 위함이다.

아래의 xml파일들은 <configuration>태그안에 각각의 내용을 넣어주면 된다.
[core-site.xml : HDFS와 맵리듀스에 공통적으로 사용하는 IO 등을 설정] 
#vi core-site.xml

        <property>
                <name>fs.default.name</name>
                <value>hdfs://localhost:9000</value>
        </property>

 

[hdfs-site.xml : 네임노드, 보조네임노드, 데이터 노드 등 HDFS 데몬을 설정]

#vi hdfs-site.xml

*자신의 설정에 맞도록 수정해야함.

        <property>
                <name>dfs.name.dir</name>
                <value>/home/csock/hadoop/hadoop-1.0.4/dfs/name</value>

        </property>

 

        <property>
                <name>dfs.data.dir</name>
                <value>/home/csock/hadoop/hadoop-1.0.4/dfs/data</value>

        </property>

 

[mapred-site.xml : Job Tracker와 Task Tracker 등 맵리듀스 데몬을 설정] 

#vi mapred-site.xml

 

        <property>

                <name>mapred.job.tracker</name>

                <value>localhost:9001</value>

        </property>


        <property>

                <name>mapred.system.dir</name>

                <value>/home/csock/hadoop/hadoop-1.0.4/mapred/system</value>

        </property>


        <property>

                <name>mapred.local.dir</name>

                <value>/home/csock/hadoop/hadoop-1.0.4/mapred/local</value>

        </property>



[masters : 마스터 목록을 설정]
#vi masters
localhost

 

 

[출

처] [하둡

a] 설치하기|작성자 카르마

 

[slaves : 슬레이브 목록을 설정]
#vi slaves
localhost

여기까지가 conf 디렉토리 내의 설정파일을 수정하는 과정이다.
다음은 SSH를 이용하여 각각의 노드들이 상호작용하는데 문제가 없도록 SSH키를 등록하는 과정이다.

[SSH 설정 : 서로다른 노드에 패스워드없이 로그인 할 수 있도록 설정]
키 생성
#ssh-keygen -t rsa

키 복사
#cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

확인 - 비밀번호를 물어보지 않는다면 성공한 것이다.
#ssh localhost

여기까지 SSH설정이 끝났으면 마무리하는 단계인 네임노드 포멧을 해야 한다.

[네임노드 포멧]
#hadoop namenode -format

모든 하둡 설정을 마쳤다. 다음은 실제 하둡을 실행하는 방법이다.
-HDFS와 맵리듀스를 함께 시작
#start-all.sh
-HDFS와 맵리듀스를 함께 중지
#stop-all.sh

-HDFS만 시작
#start-dfs.sh
-HDFS만 중지
#stop-dfs.sh

-맵리듀스만 시작
#start-mapred.sh
-맵리듀스만 중지
#stop-mapred.sh

모든 과정이 정상적으로 이루어졌다면 start-all.sh를 실행했을 때, 각각의 프로세스 번호가 출력된다. 만약 잘못되었다면 logging이라는 메시지와 함께 로그가 담긴 파일명을 출력한다.

해당 로그는 하둡이 설치된 디렉토리 /home/csock/hadoop/hadoop-1.0.4/logs에 있으며
*.log파일을 열어보면 에러메시지 등을 확인 할 수 있다. 
주의해야 할 점은 *.log파일은 append되기 때문에 가장 최근 로그를 확인하고 싶으면 아래쪽으로 내려서 확인해야 한다.

하둡이 시작되면 웹브라우저에서 현재 상태를 모니터링 할 수 있다.
맵리듀스 모니터링  http://localhost:50030     
HDFS 모니터링      http://localhost:50070 


다음은 하둡을 이용하여 예제를 테스트해 보는 과정이다.
하둡에서 사용하는 HDFS는 아래와 같이 hadoop dfs명령을 통해 일반 리눅스와 같이 제어할 수 있다.

하둡의 기본 예제가 들어있는 jar파일이 하둡이 설치된 가장 바깥쪽 디렉토리에 있기 때문에 해당 경로로 이동한다.
#cd /home/csock/hadoop/hadoop-1.0.4/

mkdir명령을 이용하여 input이라는 디렉토리를 HDFS에 생성한다.
#hadoop dfs -mkdir input

현재 디렉토리에 기본적으로 들어있는 CHANGES.txt파일을 HDFS의 input디렉토리에 넣는다.
#hadoop dfs -put CHANGES.txt input/

단어개수를 세는 예제파일을 실행한다.(wordcount)
#hadoop jar hadoop-examples-1.0.4.jar wordcount input output
*여기서 hadoop-examples-1.0.4.jar에 있는 wordcount예제를 실행하는데, 입력으로는 아까 생성한 input디렉토리에 있는 모든 파일을 넣고, 프로그램을 실행한 결과파일들은 output디렉토리에 담긴다.

예제를 실행한 후 모니터링 시스템을 이용하여 현재 상태를 모니터링 할 수 있다.

예제를 실행한 결과를 확인하는 방법은 아래와 같다.
#hadoop dfs -ls output
-rw-r--r--   3 csock supergroup          0 2013-02-06 20:54 /user/csock/output/_SUCCESS
drwxr-xr-x   - csock supergroup          0 2013-02-06 20:53 /user/csock/output/_logs
-rw-r--r--   3 csock supergroup     160967 2013-02-06 20:54 /user/csock/output/part-r-00000

여기서 part-r-00000이라고 된 파일이 예제를 실행한 결과가 저장된 파일이다. cat을 이용하여 내용을 보면 실제 결과를 확인할 수 있다.
#hadoop dfs -cat output/part-r-00000


*start-all.sh를 이용하여 시작했는데 로그에 Safe모드 어쩌고 라고 나올 경우 아래의 명령어를 입력한 뒤 start하면 된다.
#hadoop dfsadmin -safemode leave

*만약 로그에 연결오류 등이 발생할 경우 해당 포트에 대한 방화벽 설정을 풀어주어야 한다. 


이상으로 하둡의 기본적인 설치 및 환경설정 방법을 설명하였다. 
다음 포스트에서는 실제 다수의 서버를 이용하여 분산처리모드(Fully distributed mode)로 설정하는 방법을 다룰 예정이다.


posted by 은이종 2013. 5. 2. 17:06


Scenario:

Correctable Memory Error Threshold Exceeded (Slot x, Memory Module y) .

Corrected Memory Error Threshold Passed (Slot x, Memory Module y) .

Uncorrectable Memory Error detected by ROM-based memory validation .

Uncorrectable Memory Error (Slot x, Memory Module y) .

Solution

NOTE: Most of the Correctable and Uncorrectable Memory Errors can be solved with a BIOS update. Refer to servers BIOS release notes for fixes.

What is correctable memory error?

Correctable errors can be detected and corrected if the chipset and DIMM support this functionality. Correctable errors are generally single-bit errors. Most of the ProLiant servers are capable of detecting and correcting single-bit errors. In addition, ProLiant servers with Advanced ECC support can detect and correct some multi-bit errors.

Correctable errors can be classified as "hard" and "soft" errors.

  • Hard error typically indicates a problem with the DIMM.

  • Although hard correctable memory errors are corrected by the system and will not result in system downtime or data corruption, but still they indicate a problem with the hardware.

  • Hard error will typically cause a DIMM to exceed HP’s correctable error threshold and the user is warned about hard correctable errors.

  • Soft errors do not indicate any issue with the DIMM.

  • A soft error occurs when the data and/or ECC bits on the DIMM are incorrect, but the error will not continue to occur once the data and/or ECC bits on the DIMM have been corrected.

  • Soft error will not typically cause a DIMM to exceed HP’s correctable error threshold and is not notified about soft errors which do not indicate any issue with the hardware.

    The user is warned about a DIMM exceeding the correctable error threshold in multiple ways.

  • DIMM LEDs on the front panel or on the system board or on memory board.

  • Integrated Management Logs.

  • SNMP Traps if configured.

  • System Management Homepage and System Insight Manager.

What is uncorrectable memory error?

While correctable errors do not affect the normal operation of the system, uncorrectable memory errors will immediately result in a system crash or shutdown of the system when not configured for Mirroring or RAID AMP modes.

Uncorrectable errors are always multi-bit memory errors. The internal Health LED will indicate a critical condition, and on most systems, the LEDs next to the failed DIMMs will be illuminated. In addition, the error will be logged if the Systems Management Driver is loaded. Uncorrectable memory errors can typically be isolated down to a failed Bank of DIMMs, rather than the DIMM itself.


Possible solutions:

Most of the Correctable and Uncorrectable Memory Errors can be solved with a BIOS update. Refer to server’s BIOS release notes for fixes.

Run Insight Diagnostics and replace the faulty part.

If diagnostics is not an option, swap with a known good memory module, to make sure the DIMM slot on the system board or memory board is good.

After swapping with known good part or after performing diagnostics, the faulty part has to be replaced.

'기타' 카테고리의 다른 글

OpenStack  (0) 2013.07.17
RAID + JBOD  (0) 2013.07.04
서비스 무정지 DNS 기관 이전 시 작업순서  (0) 2013.03.28
POC, Pilot, BMT 약어 설명  (0) 2013.02.20
Filezilla (파일질라) Client 관련 오류  (0) 2013.01.29