System Compleat.

'Techs'에 해당되는 글 113건

  1. Bind9 for IPv6
  2. ASP.NET State Service for session sharing 2
  3. Windows 2003 Support Tools
  4. Apache/NginX on Solaris
  5. IIS Log Analyze with Indihiang tool

Bind9 for IPv6

Techs
( younjin.jeong@gmail.com , 정윤진 )


오늘은 간만에 아주 쉬운 포스팅.

IPv6 에 대한 이슈는 뭐 워낙 오래된 것들이고, 2004년 이전 부터 마루타 되던 것들이기 때문에 디테일한 설명은 RFC문서를 참고 하도록 한다.

물론 nat66 ( IPv6-to-IPv6 ) 이라던가 하는 내용은 ietf 의 문서를 참고 한다. ( 다 떠넘김 ;;)
http://www.ietf.org/proceedings/74/slides/6ai-3.pdf


오늘의 주제는 말 그대로 IPv6 를 위한 bind9 ( named ) 설정 따라하기. 
( 컴파일 등은 과감히 생략.. 하기 위해서 배포본은 우분투를..;;  나이먹으니 귀찮귀찮... )

0.
    root@test:/# apt-get update

1. Bind 를 설치한다. 
   root@test:/# apt-get install bind9
   (패키지 의존성 검사 후 설치하겠냐고 물으면 Y 엔터 )

2. 설치가 종료 된 후 이미 친절하게 서비스를 돌리고 있는 우분투에게 감사하며, ps -ef | grep bind 정도로 확인해 준다.

3. named.conf  설정
   본 설정은 아주 단순히 zone 파일 대강 생성 및  AAAA 레코드 등록을 목적으로 하므로,
   기타 옵션에 대해서는 생략한다.

   root@test:/# vi /etc/bind/named.conf
   ..
   ....
   include "/etc/bind/named.conf.local"  # 요 앞쪽에 추가 하고자 하는 zone을 명시해 준다.  물론 뒤에 넣어도 무관계

   zone "myowndomainname.com" IN {
          type master;                              # slave 인 경우에는 slave 라고 써준다.
          file "/var/cache/bind/myowndomainname.com.zone" ;  # 디렉토리 위치는 배포판별로 약간씩 다르다. 주의.
   };
   ...
   ..

4. zone 파일 설정
   
   완전히 새로 쓰려면 웬지 노력이 많이 드니까 zone file의 내용에 대해 이해한다면 그냥 가져오자.
  
   root@test:/# cp /etc/bind/db.local /var/cache/bind/myowndomainname.com.zone  
   root@test:/# vi /var/cache/bind/myowndomainname.com.zone      # 우분투 9.04 디폴트 위치인듯.
   ....
   .. 수정 ..

   $TTL    604800
   @       IN      SOA     localhost. myowndomainname.com. (
                                   2         ; Serial
                           604800         ; Refresh
                            86400         ; Retry
                         2419200         ; Expire
                          604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      localhost.
    @       IN      AAAA    2002:cbec:d22c:0:7cb3:13a3:a167:XXXX
    yourblog  IN      AAAA    2002:cbec:d22c:0:7cb3:13a3:a167:XXXX
    hungry     IN      AAAA    2002:cbec:d22c:0:4ce2:b2ff:fe2e:XXXX
    # 기타 필요한 레코드 추가


    요 단계는 꼭 해 주도록 하자.
    root@test:/# chown -R root:bind /var/cache/bind

5. zone file reload
   zone 파일이 무진장하게 많다면 당삼 /etc/init.d/bind9 restart 같은 짓은 하지 말자.  경우에 따라 2시간 이상 서비스 굿바이 당할 수도.
   상큼하게 reload 사용 해 준다.
   root@test:/# /etc/init.d/bind9 reload
    * Reloading domain name service... bind9
      ...done.

 6. 테스트.
   물론, 클라이언트와 방금 설정한 서버가 도달 가능한 IPv6 네트워크에 위치하고 있어야 함은 물론이다.
  
   root@test:/# ifconfig | egrep  inet6    

   위에서 얻은 주소로 클라이언트에서 테스트 한다.
  
   nslookup
   >server  2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX
   Default server: 2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX
   >hungry.myowndomainname.com
   Server:         2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX
   Address:        2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX#53

   hungry.myowndomainname.com        has AAAA address 2002:cbec:d22c:0:7cb3:13a3:a167h:XXXX
  
   # 만약 잘 안나온다면,
   >set type=AAAA 
   # 해서 결과를 보도록 하자.


현 시점에서 ( 2010.06.08 ) , AS 넘버를 가진 규모의 사업자가 아니라면 ipv6 를 공인망으로 사용하는 경우는 잘 없는 듯 하다.  비용도 워낙 비용이고.   하지만 소프트웨어 제작사의 경우 이러한 환경의 테스트를 거치지 않은 경우 문제가 될 수도 있지 않을까.

간단한 테스트를 위해서라도 bind 서버가 필요한 경우가 있다.  몇줄 바꿔주면 잘 동작하느니 만큼 편하게 사용하면 되시겠다.


담에는 IPv6 over IPv4 에 대해서 간단하게....   ( 언제나 기약없는 약속; )
급하신 분들은 요기 Cisco 를;

http://www.cisco.com/web/about/ac123/ac147/ac174/ac197/about_cisco_ipj_archive_article09186a00800c830a.html

( younjin.jeong@gmail.com , 정윤진 )


* 다 써놓고 보니 그냥 생각나는 대로 myowndomainname.com 을 썼는데, 이게 실제 있는 주소라는 ;;;
* 해당 도메인 제꺼 아님을 이자리에서 밝힘미당
  
  
  

ASP.NET State Service for session sharing

Techs
( younjin.jeong@gmail.com , 정윤진 )


오늘은 세션 공유에 대한 이야기.

윈도우 웹 서버에서 세션을 공유하는 방법은 일전에도 소개 한 바와같이 2가지란다. ( InProcess 의 경우 시스템 하는 사람 기준에는 '공유' 의 방법으로 보이지 않아서 제외 )

하나는 ASP.NET 의 State Service 를 사용하는 방법, 다른 하나는 MSSQL DB를 사용하는 방법.

이 중 두번째 방법은 그냥 그 개념을 생각만 해도 세션 전용의 디비를 두어야 하나 싶을 정도로 고민스러운 방법이라 패스. ( 그 수많은 요청에 의한 세션 정보 열람을 위해 디비에 접근하는 웹서버를 상상해 보시라! )

뭐 아시는 분들은 다 아실만한 이야기 들이지만, 이번에 어찌저찌 하다 보니 보게되어 소개 한다.

웹 서버의 로드밸런싱을 처리하다 보면 세션 공유의 필요성이 발생하게 되는데, 유닉스/리눅스 기반에서는 jsp 라면 웹로직이나 기타 WAS 의 도움을 받는 경우가 대부분이고, php 등은 memcached 를 사용하거나 NFS(?) 를 사용하는 등의 방법이 많다.  여기에 고객의 수가 증가하게 되면서 보다 안정적인 서비스로 가기위해서는 이 세션 공유 서버에 대한 복제 등이 지원이 되어야 하는데, asp state service 는 여기까지는 지원을 하지 않는 듯 하다.

대략적인  IIS 의 Session State 의 동작에 대한 다이어그램은 다음과 같다.



대체 Session State 라는게 뭐냐? 라는 점이 궁금하신 분은,  닷넷 개발자면 아주 잘 아는 내용을 억지로 시스템하는 사람이 번역한 아래의 내용을 참조 하시면 되겠다.  물론, 충분한 이해를 바탕으로 한 것이 아니기 때문에 뭔가 알맹이-껍데기 스러운 번역이기에 괜히 머리 복잡해 지기 싫으신 분은 안펼쳐도 무방하겠다.  lol (나중에 현희형이 감수 및 이해를 도와주면 보다 윤기가 흐르는 번역이 될지도... 퍽!!@!! )




아무튼, 본 서비스를 사용하여 윈도우 서버의 세션 공유는 다음의 순서로 적용할 수 있다. ( Windows 2008 서버 이상 기준 )

1. 서비스 설치
  서비스의 설치는, 다른 윈도우 구성요소와 마찬가지로 윈도우 Feature 추가에서 쉽게 찾을 수 있다.

2. 서비스의 구동.
  서비스를 구동하고 netstat -na 를 통해 바인딩 된 포트 및 주소를 확인 해 보면,
  127.0.0.1:42424 
  로 리스닝 하는 것을 볼 수 있다.

  당연히 많은 서버의 로드 밸런싱에 사용 할 것이므로, 로컬 호스트 리스닝은 의미 없다.  다음의 레지스트리를 수정하여
  바인딩 되는 주소를 변경하도록 한다.
 
  HKML\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnections
  의 값을 0에서 1로 변경하고 서비스를 재시작 후, netstat -na 를 다시 찍어 보면
  0.0.0.0:42424
  를 확인 가능하다.

  물론, 이때 외부에서 해당 포트로 접근을 시도하면 당삼 안된다.  윈도우 방화벽의 Inbound 에 해당 포트 규칙을
  추가하자.  이후 타 서버에서 정상적으로 접근이 가능하다면, 설정 완료.

  + 다음의 설정 값을 통해 포트도 변경이 가능하다.
  HKML\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\Port

ASP.NET State Service Parameters

  

3. 웹 서버들이 state 서버를 사용하도록 설정 ( web.config )

<?xml  version="1.0"?>
<configuration>
    <system.web>
        <!-- ... -->
        <sessionState
             mode="StateServer"
             stateConnectionString="tcpip=SERVER_IP_ADDRESS:PORT"
             cookieless="false"
             timeout="20" />
        <!-- ... -->
    </system.web>
</configuration>


4. 윈도우에서 세션을 공유하기 위해서는 몇가지 주의 해야 할 사항이 있다.
  a. ASP.NET 의 <machineKey> 설정이 로드밸런싱 되는 모든 웹 서버에서 동일해야 한다. 
      <machineKey> 에 대한 자세한 설정은 다음의 링크를 참조 한다.
       http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
  b. 운용 중 웹 팜에서 세션 상태가 손실 되는 경우.
      - IIS 의 메타베이스 에서 응용프로그램의 경로가 모두 동일해야  함.  ( IIS 메타베이스의 확인 및 수정 방법 클릭 )
      - IIS 의 메타베이스 백업 및 복구 방법


방법이 약간 복잡하거나, IIS 로 서비스 하는 경우 보통 Stand Alone 서버의 소규모 사업장이 많지만, 이러한 .NET 기반의 서비스가 확장 되는 경우에 대비하여 간단한 테스트를 통해 사전에 확장 가능한 방법에 대한 고려가 필요하겠다.

보다 대규모가 되는 경우, DFS 등에 대한 고려 역시 따라야 할 것.



본 포스팅을 위해 참조된 링크.

http://msdn.microsoft.com/en-us/library/aa479041.aspx#aspnetsessionstate_topic2
http://blog.maartenballiauw.be/post/2007/11/ASPNET-load-balancing-and-ASPNET-state-server-(aspnet_state).aspx
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
http://support.microsoft.com/kb/325056
http://support.microsoft.com/kb/240225/
http://support.microsoft.com/kb/302573/
http://msdn.microsoft.com/en-us/library/aa227609(VS.60).aspx


( younjin.jeong@gmail.com , 정윤진 )

Windows 2003 Support Tools

Techs
( younjin.jeong@gmail.com , 정윤진 )


주말간 데이터센터에 박혀서 DB클러스터를 손봤다.
사실 그렇게 큰 문제는 아니었는데, 윈도우 기반 상용 클러스터인 Veritas Cluster Software 가 Active Directory 를 사용하기 때문에 발생했던,  흔히 있을 수 있는 AD 인증 관련 이슈. 

유닉스 기반 클러스터에서는 보기 힘든, ( 뭐 인증 처리는 어디서나 해야 하니 비슷하다고 할 수 있을 지도 )


PDC와 기타 클러스터 멤버 노드들 간의 AD 복제 확인, 구성 확인 이런것들을 하면서 보니, 윈도우에서는 특별히 학원 같은 교육기관을 수료하지 않거나 또는 구글링을 미친듯이 하지 않으면 나오지 않는, 하지만 알고 보면 윈도 서버 설치 디스크와 함께 따라오는 Support Tools 에 대해 잘 모르는 경우가 많은 듯.

웬지 /sbin 에 기본적으로 들어 있거나, 접하기 쉬운 영역에 반드시 위치 하고 있어야 할 것 같은 툴들이 별도로 설치하지 않으면 없다는 사실은, 이 윈도우 시스템에 발딛게 어렵게 하는 일부 요인 중의 하나가 아닌가 생각 해 본다.


Windows Support Tools 에 대해 간단히 정의를 하자면,  "Andrew Z. Tabona" 씨는
"Administrator 의 간단한 매니징을 돕는데 촛점을 맞춘 컬렉션"  이라고 하고 있다.

컬렉션에 들어있는 툴의 리스트는 다음과 같다.  2008 에서는 조금 변경이 있거나 시스템에 포함 되어 있을지도. (설마!?)

편의상 리스트는 아래의 링크에서 퍼온다.
http://www.windowsnetworking.com/articles_tutorials/Windows_2003_Support_Tools.html

아래의 내용은, 유닉스에서 그랬던 것 처럼 설치 후 한번씩 실행 해 보면 그 사용방법이나 사용 대상을 쉽게 알아 낼 수 있을 듯.

음... 서비스 시스템의 C:\에  C:\SBIN\ 하나 만들고 PATH 추가를.. ;;;; 


The support tools explained

This section will display the list of support tools found on the Windows Server 2003 CD-ROM in alphabetical order.

To use the command line format tools, open the command prompt and type the filename followed by the appropriate parameters. If you are unaware of the parameters of the tool you wish to use then type: filename /? to show the list of available parameters.

Tool Name: ACL Diagnostics
Filename: acldiag.exe
Format: Command Line
Description: Detects and displays the permission problems found in the Access Control Lists of objects in Active Directory


Tool Name: Active Directory Replication Monitor
Filename: replmon.exe
Format: Graphical User Interface
Description: Allows the control of Active Directory replication information


Tool Name: Active Directory Search Tool
Filename: search.vbs
Format: Command Line
Description: A script used to search an LDAP (Lightweight Directory Access Protocol) directory


Tool Name: Application Deployment Diagnostics
Filename: addiag.exe
Format: Command Line
Description: Gives you a list of the software implemented on a local computer using group policy


Tool Name: ADSI Edit
Filename: adsiedit.msc
Format: Graphical User Interface
Description: Allows the editing of objects in Active Directory in a low-level style editor


Tool Name: Advanced Power Management Status
Filename: apmstat.exe
Format: Command Line
Description: Gives information about advanced power management features in older notebook computers


Tool Name: Binary File Difference Finder
Filename: bindiff.exe
Format: Command Line
Description: Allows you to compare two binary files and view their differences


Tool Name: BITS Administration Utility
Filename: bitsadmin.exe
Format: Command Line
Description: Adminsters the Background Intelligent Transfer Service which controls background file transfers for Internet Information Services


Tool Name: Browser Status
Filename: browstat.exe
Format: Command Line
Description: Displays network browser status


Tool Name: Cabinet Tool
Filename: cabarc.exe
Format: Command Line
Description: Creates, views and extracts compressed .CAB files


Tool Name: Clone Principal
Filename: clonepr.dll
Format: Command Line
Description: This dynamic link library clones windows NT 4.0 users and groups to allow migration to a Windows Server 2003 forest


Tool Name: Dependancy Walker
Filename: depends.exe
Format: Graphical User Interface
Description: Allows you to view all the dependencies of a file. You are able to check which DLLs are dependant on others. This can be very useful when investigating a problem related to a missing file. The image below shows the GUI interface of the dependancy viewer. To demonstrate, I have loaded the twain_32.dll file - as you can see, this dll depends on three other dlls for it to work.

Tool Name: Device Console Utility
Filename: devcon.exe
Format: Command Line
Description: The command prompt version of the device manager in the hardware tab of system properties

Tool Name: DFS and SYSVOL Replication Topology Analysis Tool
Filename: topchk.cmd
Format: Command Line
Description: Shows the FRS replication topology

Tool Name: DHCP Server Locator Utility
Filename: dhcploc.exe
Format: Command Line
Description: Shows a list of all DHCP servers on the subnet

Tool Name: Directory Disk Usage
Filename: diruse.exe
Format: Command Line
Description: Displays directory sizes and compression information

Tool Name: Directory Services ACL Editor
Filename: dcaslc.exe
Format: Command Line
Description: Manages access control lists for Active Directory objects

Tool Name: Directory Services Utility
Filename: dsastat.exe
Format: Command Line
Description: Compare and contrast two directory trees in the same domain or across different domains

Tool Name: Distributed File System (DFS) Utility
Filename: dfsutil.exe
Format: Command Line
Description: Manages DFS, limits clients to targets within the same site and enables windows server 2003 based DFS servers to select remote targets

Tool Name: Diskprobe
Filename: dskprobe.exe
Format: Graphical User Interface
Description: Allows you to edit the disk sector information directly (includes also the MBR)

Tool Name: Disk Manager Diagnostics
Filename: dmdiag.exe
Format: Command Line
Description: Provides detailed diagnostic information about hard disk drives

Tool Name: DNS Server Troubleshooting Tool
Filename: dnscmd.exe
Format: Command Line
Description: Administrators are able to view and modify DNS servers, zones and resources

Tool Name: Domain Controller Diagnostic Tool
Filename: dcdiag.exe
Format: Command Line
Description: Analyzes and reports on the state of a domain controller

Tool Name: Encrypting File System Information
Filename: efsinfo.exe
Format: Command Line
Description: Provides information about files that have been encrypted using EFS. This is a very helpful tool when you want to analyze which files and folders are encrypted. If I were to go to the C: drive in the command prompt and type "efsinfo", a list of all the files and their encryption related information will be displayed. This can be seen in the example below:

Tool Name: Extensible Perforamce Counter List
Filename: Exctrlst.exe
Format: Graphical User Interface
Description: Displays information about the programs that use the regsitry to provide performance counters

Tool Name: Fault Tolerance Disk Mounter
Filename: ftonline.exe
Format: Command Line
Description: Mounts Windows NT 4.0 fault tolerance disk sets

Tool Name: File and Directory Comparison
Filename: windiff.exe
Format: Command Line, Graphical User Interface
Description: Compares ASCII text files or folders

Tool Name: File Replication Utility
Filename: ntfrsutil.exe
Format: Command Line
Description: Displays the status of the NT file replication service onto the screen of dumps it in a file

Tool Name: FileVer
Filename: filever.exe
Format: Command Line
Description: States version information of a file or folder

Tool Name: FRS Connection Status Report
Filename: connstat.cmd
Format: Command Line
Description:

Tool Name: FRS Health Check
Filename: health_chk.cmd
Format: Command Line
Description: States the health of the FRS of a specified domain controller

Tool Name: FRS Inbound and Outbound Logs Report Tool
Filename: lologsum.cmd
Format: Command Line
Description: Displays information about FRS replication

Tool Name: Get Security ID
Filename: getsid.exe
Format: Command Line
Description: Checks if a user account database is corrupt by comparing the SIDs of the account on two domain controllers

Tool Name: Global Flags Editor
Filename: gflags.exe
Format: Graphical User Interface
Description: Allows you to edit global registry settings or flags that are in use by the kernel

Tool Name: HTTP Configuration Utility
Filename: httpcfg.exe
Format: Command Line
Description: Manages the HTTP Application Programming Interface

Tool Name: IAS Parse Tool
Filename: iasparse.exe
Format: Command Line
Description: Parses RAS and IAS log files and displays the results in IAS or ODBC format

Tool Name: Kerberos Keytab Setup
Filename: ktpass.exe
Format: Command Line
Description: Configures a non-windows 2003 kerberos service to be a security principle in Windows Server 2003

Tool Name: Kerberos Setup
Filename: ksetup.exe
Format: Command Line
Description: Configures Windows Server 2003 clients to use an MIT Kerberos Server

Tool Name: LDP Tool
Filename: ldp.exe
Format: Graphical User Interface
Description: Performs Lightweight Directory Access Protocol operations

Tool Name: Manipulate Service Principle Names for Accounts
Filename: setspn.exe
Format: Command Line
Description: Manipulates SPNs for active directory service accounts

Tool Name: Memory Pool Monitor
Filename: poolmon.exe
Format: Command Line
Description: Shows information about the system's memory pool.

Tool Name: Memory Profiling Tool
Filename: memsnap.exe
Format: Command Line
Description: Allows you to save a list of the memory resources being used by all processes

Tool Name: Move Users
Filename: movetree.exe
Format: Command Line
Description: Moves objects between domains

Tool Name: Network Connectivity Tester
Filename: netdiag.exe
Format: Command Line
Description: Troubleshoots network connectivity by running various tests on your configuration and displaying the results. This tool does not require any extra parameters, which allows the administrator to instruct a user to run this command, pass on the results and allow them to be analyzed. Thus, making it less complicated if say, a senior admin was at home instructing the junior admin to do this on the servers at the office. The image below only displays the first phase of the results.

Tool Name: Network Monitor Capture Utility
Filename: netcap.exe
Format: Command Line
Description: Acts as a packet sniffer by using Network Monitor to capture packets and log them to a file

Tool Name: NItest
Filename: nitest.exe
Format: Command Line
Description: Queries the status of trusts; lists primary domain controllers; forces a shutdown and forces a user database in syncronization

Tool Name: Poolmon
Filename: poolmon.exe
Format: Command Line
Description: Helps to detect memory leaks by displaying detailed information about the allocation of memory. As soon as you type "poolmon" from the command prompt, the following kind of data will be shown. This includes the total amount of memory in the system and the memory available, amongst others.

Tool Name: Port Query
Filename: portqry.exe
Format: Command Line
Description: Allows you to troubleshoot TCP and UDP ports. This helps the administrator to determine the state of any given port. If you type "portqryt -n computer_name -e port_number" the name will be resolved to the ip address and the port number will be queried. Details such as the service assigned to that port, the port type (TCP, UDP), the state of the port and also any held data will be displayed.

Tool Name: Process Viewer
Filename: pviewer.exe
Format: Graphical User Interface
Description: Allows you to change a process priority or kill a process. This can be described as more advanced version of the "process viewer" available in the task manager. With this tool you are able to set the priority of the thread and process or kill a process altogether. Pressing on the memory detail button will bring up a window displaying in-depth information as to where the memory of the process is going.

Tool Name: Remote Command Line
Filename: remote.exe
Format: Command Line
Description: Runs command line programs on remote computers using only named pipes

Tool Name: Remote Storage Diagnostics Utility
Filename: rsdiag.exe
Format: Command Line
Description: Queries and reports on remote storage databases

Tool Name: Remote Storage File Analysis Utility
Filename: rsdir.exe
Format: Command Line
Description: Displays information form files in remote storage

Tool Name: Replication Diagnostics Tool
Filename: repadmin.exe
Format: Command Line
Description: Allows the doagnosis of replication problems between controllers in Windows Server 2003

Tool Name: Security Administration Tools
Filename: sidwalk.exe, showaccs.exe, sidwalk.msc
Format: Command Line, Command Line, Graphical User Interface
Description: Manages access control lists

Tool Name: Security Descriptor Check Utility
Filename: sdcheck.exe
Format: Command Line
Description: Displays access controls on an object

Tool Name: Service Pack Check
Filename: spcheck.exe
Format: Command Line
Description: Creates a file containing a list of the service pack versions of important system files. This tool requires you to have the spcheck.ini file in the directory in which you are going to execute the command. If you do not have this file available, then you may download it from the Microsoft website. Type "spcheck" and a report will be created and dumped into the current directory. You will then have to go to the file and open it will a text editor (notepad.exe will do fine). The report contains a list of important system files and which service pack they have installed or if they are missing.

Tool Name: Windows Domain Manager
Filename: netdom.exe
Format: Command Line
Description: Provides command line administration of domains and trusts

Tool Name: Windows Installer Cleanup Utility
Filename: msicuu.exe
Format: Graphical User Interface
Description: Removes excess registry entries from a faulty installation

Tool Name: Windows Installer Zapper
Filename: msizap.exe
Format: Command Line
Description: The same as the widows installer cleanup utility, only a more in depth version

Tool Name: Xcacls.exe
Filename: xcacls.exe
Format: Command Line
Description: Sets and displays files ACLs


해당 제품의 설치 ( Windows 2003 에만 해당 ) 는 Windows Server Disc 2 를 사용하거나, 다음의 링크에서 받을 수 있다. (32비트용, 64비트는 구글링 합시다. )

http://www.microsoft.com/downloads/details.aspx?FamilyId=6EC50B78-8BE1-4E81-B3BE-4E7AC4F0912D&displaylang=en


어찌보면 당연하게 알고 있어야 할 위와같은 툴을 이제라도 알았으니 앞으로 보다 편한 서버질이 가능 할 듯.

단, 장애 상황에서 사용하기엔 일부 시간이 오래 걸리는 커맨드, 커맨드 조합 등이 있으니 사전에 미리 사용해 보고 실전에서 사용하기를 당부.  ( 책임 회피 )

다소 편안한 Ctrl + C , V 를 할 수 있게 도움을 주신 저멀리 해외의 Andrew Z. Tabona 씨에게 감사의 의미로 링크를.
http://www.windowsnetworking.com/Andrew_Tabona/



( younjin.jeong@gmail.com , 정윤진 )

Apache/NginX on Solaris

Techs
( younjin.jeong@gmail.com , 정윤진 )

오늘은 링크 위주의 간단한 포스팅.

약간 대규모의 사이트를 돌아보다 보면, 간혹 Apache + WebLogic + Oracle 의 구성을 보게 된다.  보다 더 예전의 대규모 시스템이라면 중간에 Tuxido 가 낑궈지는 경우도 있지만, 이는 논외. 
보통 이런 시스템들은 WAS의 종류에 따라 AIX 5.x 에서 구동되는 경향도 있지만, Solaris 에서 구동되는 비중이 좀 더 컸던 기억이다.  물론, Solaris 가 주는 ZFS 의 수혜를 벗어나기는 힘들기도 하거니와,  WebLogic + Oracle on Solaris 는 제법 잘 동작하기 때문에 별 고민이 없지만,  이놈의 웹 서버가 문제다.

SunOne 에 대해서는 뭐 굳이 본 포스팅 특성상 여기서 언급할 건 아닌 듯 하고, Apache 나 Nginx , Lighttpd 와 같은 여러 오픈소스 기반 웹 서버들은 통상 Intel x86 , x64 에 포커싱이 맞추어져 있기 때문에, default compile 옵션에 SPARC 이나 기타 프로세서가 제공하는 feature 등에 대해 별도의 옵션을 추가하거나, config 파일에 수정을 가해줘야 되는 경우가 있다.  물론, 사용자가 별로 없는 서비스라면 default 옵션/compile 만으로도 잘 동작 하지만, request가 제법 되는 상황에서 이미지가 많거나 ( sendfile , accept mutex )  caching 관련 기능을 사용 하거나, pthread 등의 설정으로 사용하는  Apache 가 hang 상태가 되거나, 프로세스는 멀쩡히 살아 있지만 커넥션을 받지 않는 상황이 되어 버리면 이는 곧 서비스 다운을 초래 할 가능성이 높다.

이러한 어려가지 튜닝을 위해, 아파치 관련 퍼포먼스 튜닝을 위해 다음의 링크와 같은 친절한 한글 페이지가 있다.
물론, 아시는 분들은 이미 다 아시는 사이트기 때문에 별도로 추가 할 일은 없지만,  이게 실제 서버에서 어떠한 증상으로 나오는 경우 또는 어떤 로그로 인해 어떤 조치를 취해야 하는 가 등은 좀 나중에 다시 자료를 모아서 쓰겠다.
http://httpd.apache.org/docs/2.0/en/misc/perf-tuning.html

처음 보시는 분들은, 위의 링크에서 나오는 여러 시스템 콜이나 웹 서버의 동작 로직에 대해 파 볼만한 소재가 충분 할 듯.


Nginx 관련 해서는, 역시 다른 시스템과 마찬가지로 event 의 처리 방식이 관건 이다.
역시, default 로는 그냥 저냥 무난하게 동작하거나, 문제가 발생해도 주기적으로 재시작 해 주면 문제가 되지 않지만 사이트의 규모가 크다던가, 캐쉬빨로 서비스 하는 시스템에서는 프로세스의 재시작이 아주 끔찍한 결과를 초래 할 수 있기 때문에,  각 해당 플랫폼의 처리 방식에 대해 이해 해 둘 필요가 있겠다.

NginX 에서 제공하는 NginxHttpEventsModule 에서 해당 부분을 처리하며, 제공하는 설정은 아래의 링크에 잘 나와있다.
http://wiki.nginx.org/NginxHttpEventsModule

Solaris 에서 제공하는 event 처리는, Event Ports 가 있다.  기회가 되면 번역 & 설명을.

config 에 들어가는 문법은 대충

events {
       worker_connections 1024;
       use eventport;
}

이며, 이러한 설정이 Static 파일을 처리하는데 있어서 얼마나 잇점을 가져다 주는지는 스트레스 테스트로 알 수 있을 듯.
( 만능이 아니므로, 덜컥 적용해서 피봤다고 욕하지 말자 )

웹 서버의 동작은 , 시스템의 거의 모든 I/O 가 총 집합되어 시스템 내부적으로 전송되는 단계를 어떻게 처리하느냐에 있어 static 파일의 전송에 시스템이 정지할 수도, 또는 기대 이상의 속도로 퍼포먼스를 내어 줄 수도 있다.

회사에서 더이상의 비용을 투자하지 않는 상황이라면 위의 몇개의 링크에서 제공하는 방법을 여기에서 설명되지 않는 웹 서버에서의 튜닝과 함께 찾아보고, 테스트 해 본다면 더욱 많은 방법을 알게 될 거라고 생각 한다.
역시, WebLogic 에서의 jsp 리크라던가, Oracle 과의 연동 문제라면 당연 아파치 쪽에서 문제가 생길 수 있으므로, 이러한 부분 역시 디테일하게 살펴야 하는 중요 포인트 이므로 놓치지 말자.


오늘은 짧은 포스팅이니까 이만. 


( younjin.jeong@gmail.com , 정윤진 )

IIS Log Analyze with Indihiang tool

Techs

( younjin.jeong@gmail.com , 정윤진 )

오늘은 간단하게 IIS 용 Log Analyze 툴 하나를 소개 하려고 한다.
소개 된 지는 꽤 된 툴 ( 최근 1.0 버전이 릴리즈 되었다.  2010/03/25 ) 이지만, IIS 를 단독으로 운영하거나, 웹 서버들이 AD로 묶여서 기동된다면 충분히 매력적인 툴이다.  다만, 너무 오랜만에 하면 로그파일 취합하느라 시간이 너무 오래걸리므로 주의.  ( 이 글을 쓰고 있는 필자도 20분째 대기중 @_@;;; )

여기에서 다운로드 가능하다.
http://indihiang.codeplex.com/releases/view/42519

버전은 x86 과 x64,  그리고 무려!!!  소스코드를 제공한다.
아마 로그 파싱/분석 어플리케이션 만드는 부분에 종사하시는 분들께는 큰 도움이 될 듯. ( 그래도 Ctrl + C, P 하지는 말도록 해 보하효~ )


역시, 친절하게 사용법이 나와있는 Wiki 도 제공한다.
http://wiki.indihiang.com




Connection Set



Log Parsing



사용 방법은 그리 어렵지 않으므로 설치하셔서 그냥 연결하시고 사이트 고르면 쭉 나오는 데이터를 확인 하면 될 듯.


이것은 SLB 되는 서버중 일부

History per Graph



디테일한 분석은 아니지만, 기본적인 로그 분석을 충실하게 잘 해주는 것 같다.

오랜만에 보는 깔끔한 툴.


그럼, 모다 즐 사용하시길.


( younjin.jeong@gmail.com , 정윤진 )