posted by 은이종 2014. 9. 3. 17:50

1. 설치시
npm install -g forever 

로 설치하면 npm/bin 으로 Symbolic 설정할 필요없음



2. 80이나 443으로 띄우기위해서는
sudo 권한이 필요함

vi /etc/sudoers
에서 권한 설정


3. forever 파일 설정

========================================
#!/usr/bin/env node

require('../lib/forever').cli.start();
========================================

로 기본설정되어 있는데,

forever sudo 권한 부여시,

#!/usr/bin/env node

=>
#!/usr/bin/env /app/node/bin/node

로 절대 경로로 수정


posted by 은이종 2014. 8. 20. 14:09

posted by 은이종 2014. 8. 13. 18:07

윈도우 서버 내 특정 Event Log 설정을 위한 기본 자료



https://www.zabbix.com/documentation/doku.php?id=2.0/manual/config/items/itemtypes/zabbix_agent/win_keys
posted by 은이종 2014. 8. 6. 14:32



제작사

http://www.joejoesoft.com/cms/showpage.php?cid=97

기존에 오픈소스 Ditto을 애용했었는데,
상용구 저장 기능이 없어서 뭔가 2% 부족했는데

ArsClip은 상용구 저장이 지원되네요.

 
posted by 은이종 2014. 7. 25. 11:52

짤방 만들기

GifCam이라는 프로그램이다

생각보다 간단히 제작 가능하니 필요한 분은 아래 참고


http://blog.bahraniapps.com/gifcam/ 
posted by 은이종 2014. 7. 23. 17:40

플러그인으로 해결하려고 했으나,
플러그인이 너무 많아지다 보니 ㅠㅠ

파폭의 간단한 설정으로도 가능한걸 확인했다


1. 주소창에서
about:config
치면 설정모드가 뜬다


검색에

dom.event.contextmenu.enabled

으로 검색해서

True -> False 로 !!

파폭 재시작하면 편안하게 드래그와 우클릭 가능




dom.event.contextmenu.enabled

posted by 은이종 2014. 7. 23. 17:17

AD 운영하다보면 실제로 여러가지 계정을 사용하는데
그 계정마다 설정하고픈 Policy가 다르게 설정하는 방법


1. '그룹 정책 관리' 에서
 OU를 하나 추가한다. 간단히 Test로 생성



2. GPO도 생성


필요한 정책은 설정에서 넣어주시면 됩니다.

다 넣으셨으면 GPO 연결사용 및 GPO상태를 사용으로 바꿔주시면 됩니다.



3. 새로 생성한 OU인 Test에 필요한 서버들은(Computers) 'AD 사용자 및 컴퓨터' 넣어주시면 됩니다.






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

AD 정책 확인하기  (0) 2014.10.16
AD GPO 백업  (0) 2014.10.15
AD 그룹 정책 관리  (0) 2014.04.18
AD 장애  (0) 2014.01.17
AD join시 Open Port  (0) 2014.01.06
posted by 은이종 2014. 7. 23. 11:51

디스크 용량을 체크할때 좀더 보기 편한 프로그램이 있어서 추천드립니다.

첫번째 조건은 무설치 (Portable)
두번째 조건은 보기가 편한 점

두 가지를 중점으로 찾아보았습니다.

1. SpaceSniffer

공홈 :
http://www.uderzo.it/main_products/space_sniffer/index.html

Freeware에 가볍고 무설치.

여러가지 그림 포맷이 없어서 좀 아쉽


2. TreeSize

공홈:

http://www.jam-software.com/freeware/

Freeware와 상용 버전이 존재
Freeware도 충분히 쓸만함
차트를 여러가지 지원이 되는게 큰 장점.
조금 무거운 편이라서, 그구분이 아쉬움





posted by 은이종 2014. 7. 22. 18:17

사용자 계정 컨트롤(UAC)이란?

사용자 계정 컨트롤이란 프로그램에서 관리자 수준의 권한이 필요한 변경 작업을 수행할 때 이를 사용자에게 알려 컴퓨터를 제어할 수 있도록 도와주는 윈도우 기능입니다. 사용자 계정 컨트롤은 맬웨어라고 통칭되는 악성 프로그램이 무단으로 진행하는 자동 설치를 중지하여 시스템을 손상시키지 않도록 방지하는 데 도움을 주며 사용자가 실수로 시스템 설정을 변경하지 않도록 방지하는 것을 도와줍니다.

UAC관련하여 좋은 자료가 있어서
링크 겁니다.

http://cappleblog.co.kr/241

'Windows' 카테고리의 다른 글

가상화 지원 확인 프로그램  (0) 2014.10.14
디스크 용량 체크 프로그램 (SpaceSniffer, TreeSize)  (0) 2014.07.23
Windows 코드 80070002 오류  (0) 2014.07.22
Windows DSR구조 Loopback 설정하기  (0) 2014.07.16
IIS 튜닝  (0) 2014.07.09
posted by 은이종 2014. 7. 22. 11:31

업데이트를 확인하는 동안 Windows Update 오류 80070002가 표시되면 Windows에서 컴퓨터에 대한 업데이트를 식별하는 데 사용하는 임시 업데이트 파일을 제거해야 합니다. 임시 파일을 제거하려면 Windows Update 서비스를 중지하고 임시 업데이트 파일을 삭제한 후 Windows Update 서비스를 재시작하여 Windows 업데이트를 다시 확인해 보십시오.


1.

실행- services.msc

Windows Update 서비스를 중지


2.

c:\Windows\SoftwareDistribution\

DataStore

Download

두 개의 폴더 에 들어가서 하위 폴더 및 각종 파일들 삭제


3.

Windows Update 시작


4. 다시 윈도우 업데이트





'Windows' 카테고리의 다른 글

디스크 용량 체크 프로그램 (SpaceSniffer, TreeSize)  (0) 2014.07.23
UAC(사용자 계정 컨트롤)  (0) 2014.07.22
Windows DSR구조 Loopback 설정하기  (0) 2014.07.16
IIS 튜닝  (0) 2014.07.09
윈도우의 숨겨진(?) midi 파일  (0) 2014.04.24
posted by 은이종 2014. 7. 16. 10:48


Loopback 아답터에 L4 VIP를 추가한 다음





Weak Host Model 설정을 위해 Cmd창에서 명령어를 날려줍니다.

서버의 기존 Real IP 아답터 이름을 service라 가정하고, Loopback 아답터 이름을 loopback이라 가정하면
netsh interface ipv4 set interface "Private" weakhostreceive=enabled
netsh interface ipv4 set interface "Public" weakhostreceive=enabled
netsh interface ipv4 set interface "Loopback" weakhostreceive=enabled
netsh interface ipv4 set interface "Loopback" weakhostsend=enabled
netsh interface ipv4 set interface "team 1" weakhostsend=enabled


설정 후 확인 최종확인

netsh interface ipv4 dump



* DSR구조 Loopback을 이용하여,

netsh interface ipv4 set interface " 인터페이스명" weakhostsend= enable
netsh interface ipv4 set interface " 인터페이스명" weakhostsend= disable

을 통하여, 서버단에서 L4 투입, 제어를 할 수 있다.
 

  





'Windows' 카테고리의 다른 글

UAC(사용자 계정 컨트롤)  (0) 2014.07.22
Windows 코드 80070002 오류  (0) 2014.07.22
IIS 튜닝  (0) 2014.07.09
윈도우의 숨겨진(?) midi 파일  (0) 2014.04.24
Cygwin(시그윈) 설치 후 기본 세팅  (0) 2014.04.02
posted by 은이종 2014. 7. 16. 10:46

1. 해당 서버에 접속하여 Loopback 설정
ifcfg-lo 가 있으면, ifcfg-lo0 에 설정 후, ifup
ex) NAT IP 211.110.115.79
vi /etc/sysconfig/network-scripts/ifcfg-lo:0
---------------------------------
DEVICE=lo:0
IPADDR=211.110.115.79
NETMASK=255.255.255.255
ONBOOT=yes
---------------------------------

2. 마지막 줄의 DSR관련 설정을 활성화 시킨다.
vi /etc/sysctrl.conf
---------------------------------------------------------
# DSR
# Packet Forwarding 기능 (0: disable, 1: enable)
net.ipv4.ip_forward = 0 
-> 활성화 1로 변경
net.ipv4.ip_forward = 1

#net.ipv4.ip_ignore = 1
#net.ipv4.conf.lo.arp_announce = 2
#net.ipv4.conf.all.arp_ignore = 1
#net.ipv4.conf.all.arp_announce = 2
-> 활성화 
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
----------------------------------------------------------

4. 변경사항 적용
ifup lo:0
sysctl -p




'Linux' 카테고리의 다른 글

VNC 설정 하기, Port변경  (0) 2014.10.16
SSL 인증서 만료 날짜 확인하기  (0) 2014.09.18
SSH Trust login 설정  (0) 2014.07.08
JDK와 JRE 구분  (0) 2014.04.24
hpacucli 간단한 명령어  (0) 2014.01.17
posted by 은이종 2014. 7. 15. 22:31
파일변경 하는 프로그램

한드 미드 등 한번에 파일명 변경할때 정말로 주옥같은 프로그램

무려 오픈소스에다가 기능 또한 막강...

http://blog.naver.com/darkwalk77
posted by 은이종 2014. 7. 9. 10:53

다음 글은 MSDN의 다음 글을 발번역한 것이다.

 

Optimizing IIS Performance

 

IIS 7.0을 기준으로 하고 있지만, 생뚱 맞게 ASP 가이드가 웬말이냐...

어쨋던 ASP.NET에서도 유사한 설정이 있으니 참고할만하며, ASP.NET 가이드 부분은 실질적 도움이 된다.

 

 

 

 

 

IIS 성능 최적화

 

IIS 성능 향상을 위한 구성 옵션 적용

IIS는 성능에 영향을 미치는 다양한 구성 매개변수를 노출한다이 토픽에서는 이러한 매개변수 몇 가지를 설명하고 IIS 성능 향상을 위해 필요한 매개변수 설정의 일반적인 지침을 제공한다.

 

로그는 필수적인 정보만 저장하거나 전혀 사용하지 않도록 하라.

프로덕션 환경에서는 IIS 로깅을 최소화 하거나 비활성화 해야 한다다음 단계를 따르라.

단계 요약: IIS 관리자>해당 사이트>로깅>사용 안 함 설정

 

 

프로덕션 환경에서는 IIS ASP 디버깅 기능을 비활성화 시켜라.

프로덕션 환경에서는 IIS ASP 디버깅을 사용하지 말아야 한다다음 단계를 따르라.

 

단계 요약: IIS 관리자사이트> ASP> 컴파일디버깅속성서버 쪽 디버깅 사용클라이언트 쪽 디버깅 사용 항목을 false로 설정

 

ASP.NET 응용프로그램 또는 웹 서비스의 디버깅 비활성화는 web.config 파일의 <compliation debug=”false” />로 설정

 

 

프로세서 당 ASP 스레드 제한 값을 조정하라.

ASP 스레드 제한 속성은 프로세서 당 생성할 수 있는 작업 스레드의 최대값을 나타낸다이 값을 프로세서 사용률이 적어도 50% 이상 충족할 때까지 값을 높여라이 설정은 웹 응용프로그램의 확장성과 전반적인 서버의 성능에 많은 영향을 미칠 수 있다이 값은 동시에 실행할 수 있는 ASP 요청의 최대 값을 정의하기 때문에 당신의 ASP 응용 프로그램이 외부 구성요소로 확장된 요청들을 하지 않는 한 기본 값을 유지해야 한다확장된 요청을 하는 경우라면값을 높이는 것이 좋다이렇게 하면 서버가 더 많은 동시 요청을 처리하기 위해 더 많은 스레드를 만들 수 있다기본 값은 25이다이 속성의 최대 권장 값은 100이다다음 단계를 따르라.

 

단계 요약: IIS 관리자>서버>ASP>제한속성>프로세서 당 스레드 제한 값을 원하는 값으로 설정(기본: 25)

 

IIS 7.0의 ASP 제한 설정에 대한 더 더 많은 정보는 다음 URL에서 확인

http://www.iis.net/configreference/system.webserver/asp/limits

 

노트1> 이 속성은 서버 레벨에서 적용할 수 있기 때문에값의 수정은 서버의 모든 웹 사이트에 영향을 미친다.

노트2> IIS 7.0의 이 속성은 IIS 6.0 ASPProcessorThreadMax ASP Metabase 세팅을 대체한다

 

 

* ASP 큐 길이 조정하라.

이 값을 설정하는 이유는 ASP 요청 큐가 찼을 때 HTTP 503(Server Too Busy)가 반환되는 빈도를 최소화 하면서 좋은 응답성을 보장하기 위함이다만일 큐 길이가 너무 낮으면서버는 503 오류를 자주 뱉어 내게 될 것이다반면 큐 길이가 너무 높으면요청이 큐에 대기하는 동안 사용자는 서버가 응답하지 않는다고 인식할 것이다높은 트래픽 상황에서 큐를 주의 깊게 살펴보고 피크 타임의 대기 요청 수를 기록하고 이 값보다 높은 값으로 큐 길이를 설정해야 한다응답 시간을 보장하고 단기적인 스파이크를 처리하기 위해 큐를 사용하며 지속적인 예상치 못한 스파이크가 발생할 때 과부하를 방지하기 위해 이 값을 조정한다당신이 큐 길이 제한에 대한 데이터가 없는 경우총 스레드 큐의 일대일 비율로 설정하는 것을 권장한다예를 들어 4개의 프로세서 환경에서 프로세서당 ASP 스레드 수의 제한 값이 25일 경우 4 * 25 = 100으로 설정하고 여기서부터 출발하는 것이다큐 길이 조정을 위한 다음 단계를 수행하라

 

단계 요약: IIS 관리자>서버>ASP>제한 속성>큐 길이에서 원하는 값 지정

 

노트1> 이 속성은 서버 레벨에서 적용할 수 있기 때문에값의 수정은 서버의 모든 웹 사이트에 영향을 미친다.

노트2> IIS 7의 ASP 큐 길이 속성은 IIS 6.0 AspRequestQueueMax ASP Metabase 셋팅값을 대체한다.

 

 

* MaxPoolThreads 레지스터리 항목을 조정하라.

이 값은 CPU당 풀에 생성할 수 있는 스레드 수를 나타낸다풀 스레드는 들어오는 요청을 감시하고 처리한다. MaxPoolThreads 수는 ISAPI 응용프로그램에서 소비하는 스레드는 포함하지 않는다일반적으로 프로세서당20개 이상의 스레드를 생성할 필요는 없다이 설정은 레지스터리HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ REG_DWORD 값으로 지정할 수 있으며 기복 값은 4로 설정되어 있다.

 

 

* WCF 서비스 트레이싱을 비활성화 시켜라.

프로덕션 서버에 WCF 구성 설정 편집기(SvcConfigEditor.exe)를 사용하여 트레이싱을 비활성화 시켜라.

이 툴에 대한 더 자세한 정보는 다음 url에서 확인

http://msdn.microsoft.com/en-us/library/ms732009.aspx

 

 

* IIS 7.0 통합모드를 위한 ASP.NET MaxConcurrentRequests를 구성하라.

IIS 7.0 통합모드에서 ASP.NET 2.0이 호스트 되는 경우스레드 처리가 클래식 모드나 IIS 6.0과는 다르게 처리된다이 경우 ASP.NET 2.0은 동시 실행 스레드 수 대신 동시 실행 요청 수를 제한한다동기 시나리오에서는 요청 수가 스레드 수와 동일하기 때문에 간접적으로 스레드 수를 제한할 것이다그러나 비동기 시나리오에서는 스레드 수 보다 훨씬 더 많은 요청이 있을 수 있기 때문에 요청수와 스레드 수가 많이 다를 수 있다. ASP.NET 2.0 IIS7.0 통합모드에서 실행될 경우, machine.config 파일의 httpruntime 요소의minFreeThreads minLocalRequestFreeThreads 값이 무시된다. IIS 7.0 통합모드에서는 레지스터리의HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0에 있는MaxConcurrentRequestsPerCPU 값에 의해 CPU당 동시 요청 수를 결정하게게 된다기본적으로 이 레지스터리 키는 존재하지 않으며 기본 값은 CPU 12개 이. net framework 3.5 SP1에는 aspnet.config 파일을 통해IIS 응용프로그램 풀 구성을 할 수있는 2.0 바이너리에 대한 업데이트가 포함되어 있다이 파일은 통합모드에서만 유효하다.(IIS 6.0 혹은 클래식 모드일 경우 이 파일의 설정은 무시된다.) 이 새로운 설정 파일의 기본 값은 다음과 같다.

 

<system.web>

   <applicationPool maxConcurrentRequestsPerCPU="12" maxConcurrentThreadsPerCPU="0" requestQueueLimit="5000"/>

</system.web>

 

경험상으로 봤을 때, MaxConcurrentRequestsPerCPU 값은 5000 정도로 큰 값으로 설정해야 한다.

IIS 7.0 통합모드에서는 machine.config 파일의 processModel 요소의 maxWorkerThreads, maxIOThreads 설정은 본질적으로 실행중인 요청 수를 제어하는데 사용되지 않는다그러나 여전히 ASP.NET에 의해 사용되는CLR 스레드 풀의 사이즈를 제어하는 데는 사용된다.

machine.config 파일의 processModel 섹션의 autoConfig 설정이 true(기본 값)일 경우응용프로그램 풀에(논리적인) CPU당 최대 100까지의 스레드(MaxWorkerThreads)를 생성할 수 있다. 2 듀얼 코어 CPU일 경우에는 400개가 된다. This should be sufficient for all but the most demanding applications.

 

IIS 7.0 6.0 ASP.NET 스레드 활용법을 위한 더 많은 정보는 다음 사이트에서 확인 하시길.

http://msdn.microsoft.com/en-us/library/ee377050%28v=bts.10%29.aspx

 

 

* HTTP 압축을 사용하라.

대역폭을 보다 효율적으로 사용하고 싶다면 IIS HTTP 압축을 활성화하라압축을 사용하면 콘텐트가 로컬 저장소에 있거나 UNC 리소스이거나 관계없이 (압축을 허용하는브라우저와 IIS 간 더 빠른 전송 효과를 볼 수 있다.

(단계 요약: IIS 관리자>서버(또는 사이트)>압축>원하는 압축 옵션 설정)

 
http://m.mkexdev.net/265
참고하였습니다. 

'Windows' 카테고리의 다른 글

Windows 코드 80070002 오류  (0) 2014.07.22
Windows DSR구조 Loopback 설정하기  (0) 2014.07.16
윈도우의 숨겨진(?) midi 파일  (0) 2014.04.24
Cygwin(시그윈) 설치 후 기본 세팅  (0) 2014.04.02
Cygwin(시그윈) 설치  (0) 2014.04.01
posted by 은이종 2014. 7. 8. 19:22


ssl 설정시 아파치를 가동하면 비밀번호를 묻게 된다.
비밀번호 입력없이 실행되게 하기 위해서는 비밀번호를 파일로 생성후 파일을 읽어들여 구동되도록 변경한다.

# 비밀번호 파일 생성
[root@localhost home]# vi /usr/local/apache/conf/ssl/passwd.sh

#!/bin/sh
echo "비밀번호"


chmod 700 /usr/local/apache/conf/ssl/passwd.sh

위와 같이 입력후 httpd.conf 파일을 수정한다.

# httpd.conf 파일 수정 (혹은 extra/httpd-ssl.conf)
[root@localhost home]# vi /usr/local/apache/conf/httpd.conf

<IfModule mod_ssl.c>
..
..
# SSLPassPhraseDialog  builtin
SSLPassPhraseDialog  exec:/usr/local/apache/conf/ssl/passwd.sh
</ifModule>

httpd.conf 파일 내용중
SSLPassPhraseDialog builtin을 위에서 저장한 비밀번호 파일 경로로 변경한다.
SSLPassPhraseDialog exec:/usr/local/apache/conf/ssl/passwd.sh


변경 완료후.. 아파치 실행 테스트
/usr/local/apache/bin/apachect1 startssl


1. apache 비밀번호를 파일로 생성
2. apache 구동시 비밀번호를 파일에서 입력되도록 변경
3. apache 실행 확인.

최근 이슈가 되고있는 Openssl 업데이트 후에는 apache 재구동해야하는데
보통 사용하고있는 apachectl graceful로는 적용이 안되니, 필히 stop / start 로 재구동해야한다
 


SSL 인증서 멀티 패스워드 입력 방법

) 패스워드 스크립트 파일을 pass.sh 라고 설정했을시 해당 파일을 열어서 편집

vi pass.sh

  www.aaa.com:      443)          echo "aaaaa";;  

   도메인 부분       포트부분      패스워드 부분


+20170308 추가분

현재 Apache 2.2 버전 이상부터는 SNI지원으로
443 Port 1개에 2개이상의 도메인이 가능한 상황
그래서



등의 형태도 가능하니 꼭 설정할때 httpd-ssl.conf Port 확인



Copy&Paste 용

#!/bin.sh
case $1 in
 www.aaa.com:443) echo "aaaaa";;
 www.bbb.com:444) echo "bbbbb";;
esac

exit0

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

#!/bin.sh
case $1 in
 www.aaa.com:443) echo "aaaaa";;
 www.bbb.com:443) echo "bbbbb";;
esac

exit0
====================================================================================


Nginx SSL 설정

nginx.conf
-------------------------------------------------------
  server {

        listen 443;
        server_name ur.domain.name;

        ssl on;
        ssl_certificate /etc/nginx/ssl/ur_domain_name.crt.cat;
        ssl_certificate_key /etc/nginx/ssl/ur_domain_name.key;

        location / {
            root /var/www/html;
        }
    }

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

 참고로
Nginx 는 Apache와 다르게 SSLPassPhraseDialg 기능이 없다
비밀번호 자동입력은 불가능하고 방법은

아래처럼 인증서 비밀번호 자체를 제거해야한다.
(Private 인증서나, 상용 인증서 둘 다 가능)

cp ur_domain_name.key ur_domain_name.key.bak

openssl rsa -in  ur_domain_name.key.bak -out ur_domain_name.key

 


 

'Web/WAS > Apache' 카테고리의 다른 글

Apache socket_timeout , reply_timeout 설정  (0) 2015.12.30
Apache pagespeed 설치  (0) 2015.03.18
Apache method 설정  (0) 2014.11.25
Apache 멀티 Redirect시 주의점  (0) 2014.11.05
apache 재시작 스크립트  (0) 2013.05.24
posted by 은이종 2014. 7. 8. 13:46
패스워드 없이  SSH나 scp 연결할 때, 
또는 Hadoo Cluster 설정 시 SSH Trust login 설정이 필요하다.

A > B 로 Trust설정

1. B 서버 sshd conf  허용설정

/etc/ssh/sshd_config 주석제거
---------------------------------------------------------------------------
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

PasswordAuthentication yes
---------------------------------------------------------------------------

+ 특정한 경우에 (해당 계정만, 특정IP만 허용시킬 때)

AllowUsers
 memex@127.0.0.1 memex@IP

--------------------------------------------------------
sshd 재시작

service sshd restart
 

2. A 서버
 
su - memex
scp /app/memex/.ssh/scp id_dsa.pub memex@172.21.0.142:/app/memex/.ssh/authorized_keys



*. 유의점

authorized_keys
id_dsa.pub
 
파일 그룹권한에 W 권한이 있으면 안된다

700이나 750으로 설정해야함

 




'Linux' 카테고리의 다른 글

SSL 인증서 만료 날짜 확인하기  (0) 2014.09.18
Linux DSR구조에서 Loopback 설정하기  (0) 2014.07.16
JDK와 JRE 구분  (0) 2014.04.24
hpacucli 간단한 명령어  (0) 2014.01.17
쉘, 명령어 창 기본세팅  (0) 2013.12.06
posted by 은이종 2014. 6. 30. 18:13

모란역 굴사냥

1. 위치



모란역 2번출구에서 나와서, 쭈욱 직진 후
오거리에서 다시 직진 왼쪽 1층


정면 가게 사진



2. 메뉴
 


ㅇ 조개찜
소 39,000
중 49,000
대 59,000 (낙지 서비스 추가)1


3. 특징



기본 생굴과 생채를 주는데
여름에는 생굴이 위험한지라, 생굴이 아닌 삶은굴이 나온다.
조개찜이 익기전에 간단한 술안주로 딱!
칼국수는 기본으로 넣어주는데 추가비용으로 추가가 가능


동절기에는 꼭 굴찜한번 드시길 추천


이번 하절기에는 새로 물회 메뉴가 추가됨



'여행 및 냠냠 > 모란역' 카테고리의 다른 글

<모란역> 고기싸롱  (0) 2015.10.28
<모란역> 맥켄치킨  (0) 2015.08.27
<모란역> 문어숙회  (0) 2014.10.21
<모란역> 칭타오 양꼬치  (0) 2014.10.21
<모란역> 칭하이  (2) 2014.09.18
posted by 은이종 2014. 4. 25. 17:35

핫이슈를 넘어서 이제는 당연시 되고 있는 클라우드 시스템(Cloud System). 클라우드를 구성하는 요소 중에서 가상화(Virtualization) 기능은 빠질 수 없는 핵심 요소 중에 하나라고 할 수 있다. 가상화를 하기 위해서는 하이퍼바이저(Hypervisor, Virtual Machine Monitor이라고도 한다)라는 별도의 시스템 프로그램이 필요하다. 이미 서버단의 가상화는 자원의 효율성 측면에서 기본이 되어가고 있다.

가상화 분야에서 '가상화 대상이 되는 시스템'을 의미하는 용어는 여러 용어가 횬재되어 사용되니 정리하고 넘어가자. '가상머신(Virtual Machine)'-약어로 'VM', '도메인(Domain)'-약어로 'Dom', '게스트(Guest)' 이들 용어 모두가 '가상화 대상이 되는 시스템'을 의미한다. '게스트 운영체제'와 대비되는 '호스트 운영체제'는 가상화 프로그램을 실행하는-즉, 가상화 하지 않은- 실제 운영체제를 의미한다. 호스트 운영체제는 Type 2에서만 존재하는데, Xen은 Type 1 하이퍼바이저이므로 호스트 운영체제가 존재하지 않는다. Type 1은 하이퍼바이저 위에 모든 도메인이 동작하는 방식이고, Type 2는 호스트 운영체제에서 가상화 프로그램을 실행하여 게스트를 실행하는 방식을 말한다.

<그림 1. Type 1과 Type 2 하이퍼바이저>

대표적인 오픈소스  하이퍼바이저로는 Xen과 KVM이 있다. Xen은 'Xen and the Art of Virtuallization'이라는 가상화 분야에서 매우 유명한 논문과 함께 대표적인 반 가상화(Para Virtualization) 하이퍼바이저로 등장하였다. 반 가상화는 게스트 운영체제 일부를 수정하는 시스템을 말한다. 반 가상화의 대비되는 전 가상화(Full Virtualization)은 게스트 운영체제를 수정하지 않고 실제 머신과 동일하게 사용하는 것을 말한다. Xen의 반 가상화의 게스트 운영체제는 특권 명령을 실행하려면 '하이퍼콜(Hypercall)'로 하이퍼바이저에게 서비스를 요청하는 해야 한다. 운영체제에서 어플리케이션이 커널에게 '시스템 콜(System Call)'로 서비스를 요청하는 방식과 동일하다. 실제로 하이퍼 콜은 시스템 콜과 동일한 방식으로 구현되어 있다. 서비스를 요청이 (어플리케이션 -> 커널) 인지, 아니면 (게스트 운영체제 -> 하이퍼바이저) 인지에 따라 용어가 달라질 뿐이다.

Xen에는 도메인 0라는 특수한 도메인이 존재한다. 도메인 0는 실제 물리 디바이스와 통신하는 디바이스 드라이버가 있고, 각 도메인을 제어한다. 도메인 0는 기능상 Type 2 하이퍼바이저의 호스트 운영체제와 유사하지만, Type 2에서 호스트 운영체제는 하이퍼바이저를 하나의 어플리케이션으로 관리하고, Type 1에서 도메인 0는 하이퍼바이저에서 하나의 도메인으로 관리되므로 전혀 의미가 다르다. Xen 반 가상화에서 장치 입/출력을 예를 들면, 각 도메인은 하이퍼 콜로 Xen 하이퍼바이저에게 입/출력 요청을 하게 되고, Xen 하이퍼바이저는 이를 도메인 0에게 전달하여 실제 장치와 입/출력을 하게 된다. 그러면, Xen 하이퍼바이저는 입/출력 결과를 다시 입/출력을 요청한 도메인에게 입/출력 결과를 응답한다. Xen의 반 가상화 입/출력을 할 시에 사용되는 매커니즘으로 I/O 링, 이밴트 채널(Event Channel), 프론트-앤드/백-앤드 드라이버, 그랜트 테이블(Grant Table), XenStore등이 있지만 모두 설명하려면 내용이 너무 길어지니 그런 것이 있다고만 알고 넘어가도록 하자.

<그림 2. Xen 아키텍처>

KVM은 Xen과 다른 관점에서 가상화를 제공한다. KVM은 가상화를 제공하는 하이퍼바이저를 메모리 관리자나 파일 시스템등과 같은 커널의 '서브 모듈'로 취급한다. 개인적으로는 가상화 기능이 운영체제의 기본이 되어가는 시점이므로 KVM과 같은 접근 방식이 옳다는 생각이다. KVM에서 가상화를 제공하기 위해서는 한 가지 전제 조건이 붙는데, 사용하는 CPU에서 HVM(Hardware Virtual Machine) 기능을 제공해야 한다는 점이다. 과거 가상 메모리(Virtual Memory)를 지원하기 위해 CPU에서 페이징(Paging) 기능을 하드웨어 차원에서 제공했던 것과 같이, 최근 가상화 기능이 많이 사용되므로 CPU에서 가상화 기능을 하드웨어 차원에서 제공해주는 것이다. x86 아키텍처의 HVM으로는 Intel의 VT-x와 AMD의 SVM가 있다. 같은 x86 아키텍처이라고 할지라도 가상화 기능은 벤더마다 다르므로 벤더별로 구현해야 하는 단점이 있다. 최근에는 임베디드 시스템에서 주로 사용되는 ARM 아키텍처도 Cortex-A15 이후로 가상화 확장(Virtualization Extension) 기능이 추가되어 HVM을 제공한다.

<그림 3. KVM 아키텍처>

이렇듯 Xen과 KVM은 가상화를 제공하기 위해 애초에 접근 방법이 다르고 물론 구현도 매우 달랐'었다'. 당연히 프로젝트 초창기에는 Xen과 KVM 양 진영에서 서로 각자가 좋다고 주장하며 많이 싸웠다. 상용 하이퍼바이저인 VMWare, MS 하이퍼-V와 오픈 소스 Xen, KVM 등의 '하이퍼바이저 전쟁'이 한창 이다. (Xen의 반 가상화는 VMWare의 바이너리 변환(Binary Translation)에 대비되는 기술이다. 초창기에는 기술적인 측면에서 '반 가상화 Vs. 바이너리 변환'로 대립하였다.)

여기서 중요한 점은, Xen과 KVM은 오픈 소스라는 것이다. 원한다면 누구나 소스를 볼 수 있고, 필요에 따라 코드를 수정 할 수 있다. 리눅스가 BSD의 장점을 흡수하면서 발전해온 것처럼, Xen과 KVM도 서로 장점을 흡수하면서 발전해 나가고 있다. 이미 Xen도 매우 오래전부터 전 가상화를 지원해 왔다. Xen의 전 가상화는 KVM과 같이 HVM 기능을 활용하여 구현되어 있다. 즉, Xen의 전 가상화 기능만 떼고 봤을 때는 KVM이나 Xen이나 유사하다는 것이다. 더구나 VMWare나 KVM도 반 가상화 기능을 제공한다. Xen의 하이퍼 콜, VMWare의 VMI등의 각 하이퍼바이저 별로 다르게 구현된 반 가상화 인터페이스를 일관된 인터페이스로 추상화 하기 위하여 Paravirt Operation가 등장하였다.

결론은 이제는 가상화 시스템을 구축하기 위하여 어떤 하이퍼바이저를 선택하던간에 비슷하다는 것이다. Xen의 "하이퍼바이저 위에서 모두 놀아라." 라던지, KVM의 "커널이 곧 하이퍼바이저이다." 라던지 현 시점에는 더 이상 의미가 없어졌다. 돈이 좀 들더라도 높은 완성도에 기술 지원을 바라면 VMWare가 정답이고, MS빠라면 하이퍼-V가 정답이다. 무료로 필요에 따라 소스 수정도 할 생각이면 Xen이나 KVM 어느 것도 괜찮다. 그냥 익숙한 것을 선택하면 된다. 지금 사용 중인 하이퍼바이저가 다른 하이퍼바이저보다 성능이 떨어진다면 하이퍼바이저를 의심 할 것이 아니라 튜닝이 잘못 된 것이므로 담당 엔지니어의 능력을 의심해 보라.

원본 위치 <http://onestep.tistory.com/94>

'가상머신 > Xen 젠' 카테고리의 다른 글

Xen Network  (0) 2016.01.08
Xen Storage Repository 설정  (0) 2016.01.06
Xen 백업  (0) 2015.03.17
posted by 은이종 2014. 4. 24. 19:19

윈도우에 숨겨진 midi 파일!

 

 

윈도우7 기준으론

C:\Windows\Media에 파일들이 있다.

 

flourish.mid

onestop.mid

추천

'Windows' 카테고리의 다른 글

Windows DSR구조 Loopback 설정하기  (0) 2014.07.16
IIS 튜닝  (0) 2014.07.09
Cygwin(시그윈) 설치 후 기본 세팅  (0) 2014.04.02
Cygwin(시그윈) 설치  (0) 2014.04.01
윈도우7 빠른실행 만들기  (0) 2014.03.31
posted by 은이종 2014. 4. 24. 13:15
사실 별것도 아니지만 자바 개발을 위한 첫 단계로써 알아두어야 할 사항중에 하나가
JDK 와 JRE 의 차이점, 그리고 JVM 이란 무엇인지를 알아야 할 듯 해서 간단하게 용어를
정리해보려고 합니다.

JDK ( Java Development Kit )
 Java 용 SDK ( Software Development Kit ) 라고 생각하면 쉽겠다.
 -> 실제로 두가지 용어를 혼용해서 쓰므로 헷깔리기 쉽지만 다 같은 의미정도로 생각하자.
 Java 개발자가 Java 기반 프로그램을 개발할 수 있도록 컴파일러, 툴 등을 제공한다.
 개발자 용이기 때문에 사용자는 굳이 설치할 필요가 없다.
 -> 다만 자바로 개발된 Application을 사용하기 위한 실행 환경은 있어야 한다. 그 역할을 JRE 가 한다.
 JDK 는 다시 J2EE ( Enterprise Edition ) , J2SE ( Standard Edition ) , J2ME ( Micro Edition ) 등으로 분류한다.
 -> EE는 기업용 대규모 개발 환경에서 적합한 버전이고
 -> SE는 일반적인 개발 환경
 -> ME는 PDA나 Embeded 환경에서의 개발환경을 제공합니다.

JRE ( Java Runtime Environment )
 Java 프로그램을 실행시키기 위한 환경을 제공한다.
 즉, Java 언어로 만들어져서 컴파일된 프로그램을 실행하려면 JRE 는 설치되어 있어야 한다.

JVM ( Java Virtual Machine )
 Java 소스 코드로부터 만들어지는 Java byte code(자바파일이 컴파일된 코드) 를 실행할 수 있다.
 "write once, run anywhere" 라는 Java 의 trade mark ( '슬로건' 이라는 단어정도로 해석하시면 쉬울듯)
 는 JVM 이 많은 SW/HW 플랫폼에서 동작 할 수 있기때문에 가능한 이야기 이다.
 -> 개발을 했으면, 어디서든 사용이 가능해야지 !! 라는 슬로건 아래에서 만들어진 개념이 JVM 입니다.
 -> 다시 말해 윈도우에서 개발하고 리눅스에서도 실행이 가능하다는 말입니다.
 -> 또한 윈도우에서 개발해도 다른 임베디드 시스템에서도 사용이 가능하게 된다는 뜻입니다.

* JDK 는 개발자 툴이므로 당연히 실행할수 있는 환경이 제공되어진다. 따라서 
JDK = JRE + 개발툴 + Java 컴파일러
JRE = JVM, 라이브러리, 기타 애플릿이나 어플리케이션 구동 요소 
로 생각하면 쉬울듯 하다.
* JRE 는 개발자용이 아니다 -> 따라서 Debuger 등의 유틸리티 역시 없다.

 <기타> Java 를 별로 사용안하면 생각보다 해깔리는 경우가 많아서 ... 간단히 용어 정리 합니다.

JNI ( Java Native Interface ) 
 JVM 에서 동작하는 Java code 가 다른언어(assem, c, c++) 에 의해 호출되고, 
 다른 언어를 호출 할 수 있도록 만들어진 interface 이다.
 -> 위키백과를 참조하시면 더 좋을듯 합니다. ( http://en.wikipedia.org/wiki/JNI )

JSP ( Java Server Page )
 HTML 내에 자바 코드를 삽입하여서 웹 서버 내에서 동적으로 웹 페이지를 생성하여 웹 브라우져에
돌려주는 언어입니다.
출처:JDK, JRE, JVM

원본글 :
http://mwultong.blogspot.com/2006/08/java-jdk-jre-java-development-kit-java.html 

'Linux' 카테고리의 다른 글

Linux DSR구조에서 Loopback 설정하기  (0) 2014.07.16
SSH Trust login 설정  (0) 2014.07.08
hpacucli 간단한 명령어  (0) 2014.01.17
쉘, 명령어 창 기본세팅  (0) 2013.12.06
넷사랑 xshell 기본 설정  (0) 2013.11.12