2012년 7월 25일 수요일

chattr

http://slog2.egloos.com/3493248

RAID

http://ko.wikipedia.org/wiki/RAID

http://loversky20.tistory.com/147

http://oracle.tistory.com/185


RAID 0 용량 계산 방법

RAID 0 시스템 내 각 디스크의 용량은 모두 동일합니다.
RAID 레벨 0 구성에서 스토리지 용량은 드라이브의 수에 디스크의 용량을 곱해서 계                                                                   산합니다.


(C = n*d)
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량
예를 들어 RAID 0 어레이에서 각 용량이 1,000 GB인 드라이브가 4개 있다면 어레이
의 총 용량은 4,000 GB가 됩니다.
C = (4*1,000)


RAID 1 용량 계산 방법
RAID 1 시스템 내 각 디스크의 용량은 모두동일합니다.

RAID 레벨 1 구성에서 스토리지 용량은 드라이브의 수에 디스크의 용량을 곱한 다음 2
로 나누어 계산합니다. 
즉 C = n*d/2
여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량
예를 들어 RAID 1 어레이에서 각각의 용량
이 1,000 GB인 드라이브가 4개 있다면 어
레이의 총 용량은 2,000 GB가 됩니다.
C = (4*1,000)/2


RAID 3 용량 계산 방법
RAID 3 시스템 내 각 디스크의 용량은 모두동일합니다.
RAID 레벨 3 구성에서 스토리지 용량은 드라이브의 수에서 1을 뺀 다음 디스크의 용
량을 곱해서 계산합니다. 
C = (n-1)*d
여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량
예를 들어 RAID 3 어레이에서 각각의 용량이 1,000 GB인 드라이브가 4개 있다면 어레이의 총 용량은 3,000 GB가 됩니다.
C = (4-1)*1,000


RAID 3+Spare 용량 계산 방법
RAID 3+Spare 시스템 내 각 디스크의 용량
은 모두 동일합니다.
RAID 3+Spare 구성에서 스토리지 용량은 드라이브의 수에서 2를 뺀 다음 디스크의 용량을 곱해서 계산합니다. 
C = (n-2)*d

여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량

예를 들어 RAID 3+Spare 어레이에서 각각의 용량이 1,000 GB인 드라이브가 4개 있다면 어레이의 총 용량은 2,000 GB가 됩니다.
C = (4-2)*1,000


RAID 5 용량 계산 방법
RAID 5 시스템 내 각 디스크의 용량은 모두 동일합니다.
RAID 레벨 5 구성에서 스토리지 용량은 드라이브의 수에서 1을 뺀 다음 디스크의 용량을 곱해서 계산합니다. 즉
C = (n-1)*d
여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량

예를 들어 RAID 5 어레이에서 각각의 용량이 1,000 GB인 드라이브가 4개 있다면 어레이의 총 용량은 3,000 GB가 됩니다.
C = (4-1)*1,000


RAID 5+Spare 용량 계산 방법
RAID 5+Spare 시스템 내 각 디스크의 용량은 모두 동일합니다.

RAID 5+Spare 구성에서 스토리지 용량은드라이브의 수에서 2를 뺀 다음 디스크의
용량을 곱해서 계산합니다. 즉
C = (n-2)*d

여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량

예를 들어 RAID 5+Spare 어레이에서 각각의 용량이 1,000 GB인 드라이브가 4개 있
다면 어레이의 총 용량은 2,000 GB가 됩니다.
C = (4-2)*1,000


RAID 6 용량 계산 방법
RAID 6 시스템 내 각 디스크의 용량은 모두
동일합니다.

RAID 6 구성에서 스토리지 용량은 드라이
브의 수에서 2를 뺀 다음 디스크의 용량을
곱해서 계산합니다. 즉
C = (n-2)*d

여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량

예를 들어 RAID 6 어레이에서 각각의 용량 이 1,000 GB인 드라이브가 5개 있다면 어
                                                               레이의 총 용량은 3,000 GB가 됩니다.
C = (5-2)*1,000


RAID 0+1 용량 계산 방법

RAID 0+1 시스템 내 각 디스크의 용량은 모두 동일합니다.
RAID 0+1 구성에서 스토리지 용량은 드라이브의 수에 디스크 용량을 곱한 다음 2로
나누어 계산합니다. 
C = n*d/2
여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량
예를 들어 RAID 0+1 어레이에서 각각의 용량이 1,000 GB인 드라이브가 4개 있다면                                                         어레이의 총 용량은 2,000 GB가 됩니다.
C = (4*1,000)/2



RAID 10 용량 계산 방법
RAID 10 시스템 내 각 디스크의 용량은 모
두 동일합니다.
RAID 10 구성에서 스토리지 용량은 드라이브의 수에 디스크 용량을 곱한 다음 2로 나                                                                 누어 계산합니다. 
C = n*d/2
여기서:
C = 사용 가능한 용량
n = 디스크의 수
d = 디스크의 용량
예를 들어 RAID 10 어레이에서 각각의 용량
                                    이 1,000 GB인 드라이브가 4개 있다면 어
                                                           레이의 총 용량은 2,000 GB가 됩니다.
C = (4*1,000)/2


리눅스 파일시스템

저널링 파일시스템 분석
http://www.ibm.com/developerworks/kr/library/l-journaling-filesystems/

저널링 파일 시스템 소개
http://blog.daum.net/_blog/BlogTypeView.do?blogid=0CNH3&articleno=5463186&categoryId=469591&regdt=20060911200234#ajax_history_home

대표적인종류 :ext3JFSReiserFSXFS


2012년 7월 18일 수요일

2012년 7월 17일 화요일

erlang에서 when 구분에서 or 사용법


http://stackoverflow.com/questions/1110601/in-erlang-when-do-i-use-or-or

; => or  : F(A,B) when A=:=B ; A > 0- > 
, => and :  F(A,B) when A=:=B, A > 0- > 


---------------------------------------------
댓글보고 수정했습니다. whne -> when ^^;;



python + unbutu notification

http://developer.ubuntu.com/resources/technologies/notification/2/#icon-summary-body-python


#!/usr/bin/python
################################################################################
##3456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
##      10        20        30        40        50        60        70        80
##
## Info:
##    Example of how to use libnotify correctly and at the same time comply to
##    the new jaunty notification spec (read: visual guidelines)
##
## Run:
##    chmod +x icon-summary-body.py
##    ./icon-summary-body.py
##
## Copyright 2009 Canonical Ltd.
##
## Author:
##    Mirco "MacSlow" Mueller <mirco.mueller@canonical.com>
##
## This program is free software: you can redistribute it and/or modify it
## under the terms of the GNU General Public License version 3, as published
## by the Free Software Foundation.
##
## This program is distributed in the hope that it will be useful, but
## WITHOUT ANY WARRANTY; without even the implied warranties of
## MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
## PURPOSE.  See the GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License along
## with this program.  If not, see <http://www.gnu.org/licenses/>.
##
################################################################################
import sys
import pynotify
# even in Python this is globally nasty <img src="http://developer.ubuntu.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley"> , do something nicer in your own code
capabilities = {'actions':             False,
        'body':                False,
        'body-hyperlinks':     False,
        'body-images':         False,
        'body-markup':         False,
        'icon-multi':          False,
        'icon-static':         False,
        'sound':               False,
        'image/svg+xml':       False,
        'private-synchronous': False,
        'append':              False,
        'private-icon-only':   False}
def initCaps ():
    caps = pynotify.get_server_caps ()
    if caps is None:
            print "Failed to receive server caps."
        sys.exit (1)
    for cap in caps:
        capabilities[cap] = True
def printCaps ():
    info = pynotify.get_server_info ()
    print "Name:          " + info["name"]
    print "Vendor:        " + info["vendor"]
    print "Version:       " + info["version"]
    print "Spec. Version: " + info["spec-version"]
    caps = pynotify.get_server_caps ()
    if caps is None:
            print "Failed to receive server caps."
        sys.exit (1)
    print "Supported capabilities/hints:"
    if capabilities['actions']:
        print "\tactions"
    if capabilities['body']:
        print "\tbody"
    if capabilities['body-hyperlinks']:
        print "\tbody-hyperlinks"
    if capabilities['body-images']:
        print "\tbody-images"
    if capabilities['body-markup']:
        print "\tbody-markup"
    if capabilities['icon-multi']:
        print "\ticon-multi"
    if capabilities['icon-static']:
        print "\ticon-static"
    if capabilities['sound']:
        print "\tsound"
    if capabilities['image/svg+xml']:
        print "\timage/svg+xml"
    if capabilities['private-synchronous']:
        print "\tprivate-synchronous"
    if capabilities['append']:
        print "\tappend"
    if capabilities['private-icon-only']:
        print "\tprivate-icon-only"
    print "Notes:"
    if info["name"] == "notify-osd":
        print "\tx- and y-coordinates hints are ignored"
        print "\texpire-timeout is ignored"
        print "\tbody-markup is accepted but filtered"
    else:
        print "\tnone"
if __name__ == '__main__':
    if not pynotify.init ("icon-summary-body"):
        sys.exit (1)
    # call this so we can savely use capabilities dictionary later
    initCaps ()
    # show what's supported
    printCaps ()
    # try the icon-summary-body case
    n = pynotify.Notification ("Cole Raby",
                   "Hey pal, what's up with the party "
                   "next weekend? Will you join me "
                   "and Anna?",
                   "notification-message-im")
    n.show ()