학습자료/tools 2015. 2. 3. 13:44

https://browserling.com/#

'학습자료 > tools' 카테고리의 다른 글

CTDB(cifs/nfs/iSCSI/ftp with ceph) 구성 - 문서 첨부  (0) 2014.06.30
linux cron 사용법  (0) 2014.02.11
xming 사용(putty gui)  (0) 2014.02.03
xshell 파일전송  (0) 2013.12.23
이클립스 단축키  (0) 2013.09.25
posted by cozyboy
:
학습자료/tools 2014. 6. 30. 18:06

CTDB.docx

요약 : 클러스터 게이트 웨이. arp를 이용하여 fail over/fail back 수행을 한다. 



목차

환경   4

네트워크 설정   5

  Udev rule 변경, 적용... 5

  인터페이스(private, public) 설정... 5

스토리지 준비   7


  Ceph Fs 마운트

  Block Device 생성/맵핑... 7

설치   8

  ctdb. 8

  SAMBA.. 8

  NFS. 8

    서버... 8

    클라이언트... 8

  Iscsi 8

    서버

    클라이언트... 9

vsftpd. 9

설정   10

  ctdb. 10

  upstart 설정... 12

  onnode 스크립트 변경 (sudo 추가) 13

  samba. 13

  nfs-kernerl-server 14

  iSCSI 16

  Vsftpd. 17

서비스 점검   18

  ceph. 18

    마운트 포인트 확인... 18

    initctl 확인... 18

    ceph 상태 확인... 18

    로그 위치... 19

  CTDB. 19

    ping 확인... 19

    ctdb 상태 확인... 19

    ctdb 서비스 처리 노드 확인... 19

    Log 위치... 20

  SAMBA.. 20

    설정 체크... 20

  NFS. 22

    rpcinfo 체크(리모트 nfs 서버) 22

    리모트 nfs 서버의 서비스 체크... 23

    rcpbind 체크... 23

  iSCSI 24

    rbd 지원 확인... 24

    target 체크... 24

    bind 체크... 26

    Remote iSCSI 타겟 찾기... 26

체크 리스트   27

참고사이트   29

  ctdb. 29

  samba. 29

  nfs. 29

  Stgt 30

 

 

 

 

 

 

 

 

 


 

 

OS : Ubuntu 14.04 LTS

Kernel : Linux version 3.14.0

smbd : Version 4.1.6-Ubuntu

 


 

 

 

$ sudo vim /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:d7:73:19", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="p1p2"

 

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:21:d7:73:19", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth2"

 

$ sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="biosdevname=0"

 

$sudo update-grub

$ sudo reboot

 

udev rule을 변경하지 않으면, interface를 인식하지 못한다.

 

$ sudo vim /etc/network/interface

auto lo

iface lo inet loopback

 

 

auto eth0                    # private network

iface eth0 inet static

address 11.0.0.11

netmask 255.255.255.0

 

auto p1p1                   

iface p1p1 inet static

address 192.168.3.11

netmask 255.255.252.0

gateway 192.168.0.1

dns-nameserver 8.8.8.8

 

auto eth2                     # public network

iface eth2 inet manual

 

 


 

<!--[if !supportLists]-->1.     <!--[endif]-->CephFS 마운트

$ sudo mount -t ceph 192.168.2.18:6789:/ /mnt/storage/ -o name=admin,secretfile=/etc/ceph/ceph.client.admin.keyfile

<!--[if !supportLists]-->2.     <!--[endif]-->Fstab 등록

$ sudo vim /etc/fstab

192.168.2.18:6789:/          /mnt/storage     ceph           name=admin,secretfile=/etc/ceph/ceph.client.admin.keyfile,noatime       0       2

 

<!--[if !supportLists]-->1.     <!--[endif]-->블럭 생성

$ sudo rbd create block1 --size 1024

Rbd를 지원하는 stgt를 사용한다면 블록 생성만 해도 된다

 

<!--[if !supportLists]-->2.     <!--[endif]-->블럭 매핑

$ sudo rbd map block1

 

<!--[if !supportLists]-->3.     <!--[endif]-->블럭 매핑 유지

$ sudo vim /etc/ceph/rbdmap

rbd/block1      id=admin,keyring=/etc/ceph/ceph.client.admin.keyring

 

 

$ sudo apt-get install ctdb libctdb-dev

 

$ sudo apt-get install samba samba-common samba-dev

 

서버

$ sudo apt-get install nfs-common nfs-kernel-server rpcbind quota

클라이언트

$ sudo apt-get install nfs-common

 

서버

$ sudo apt-get install tgt

 

클라이언트

$ sudo apt-get install open-iscsi

 

$ sudo apt-get install vsftpd


 

 

ctdb

Ctdb 설정

sudo vim /etc/default/ctdb

 

CTDB_RECOVERY_LOCK=/mnt/storage/ctdb/.ctdb.lock

CTDB_NODES=/etc/ctdb/nodes  

CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses

CTDB_MANAGES_SAMBA=yes

CTDB_MANAGES_NFS=yes

CTDB_MANAGES_ISCSI=yes

CTDB_MANAGES_VSFTPD=yes

CTDB_DEBUGLEVEL=NOTICE

 

CTDB_SOCKET=/var/lib/run/ctdb/ctdbd.socket

CTDB_INIT_STYLE=debian

CTDB_DBDIR=/var/ctdb

CTDB_DBDIR_PERSISTENT=/var/ctdb/persistent

 

sudo mkdir /var/lib/run/ctdb/ -p

sudo ln -s /usr/sbin/service /sbin/service

sudo mkdir /mnt/storage/ctdb

 

Ctdb 네트워크 설정

<!--[if !supportLists]-->1.     <!--[endif]-->Private 주소

sudo vim /etc/ctdb/nodes

11.0.0.11

11.0.0.12

11.0.0.13

 

<!--[if !supportLists]-->2.     <!--[endif]-->Public 주소

sudo vim /etc/ctdb/public_addresses

12.0.0.11/24 eth2

12.0.0.12/24 eth2

12.0.0.13/24 eth2

 

samba 이벤트 스크립트 수정

sudo vim /etc/ctdb/events.d/50.samba  수정

debian)

                CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-samba}

                CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-""}

 

debian)

                CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-smbd}

                CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-nmbd}

 

nfs 이벤트 스크립트 수정

$ sudo vim /etc/ctdb/functions  (730 라인정도의 startstop_nfs()에 삽입)

.........

unknown)

                case $1 in

                start)

                        service nfs-kernel-server start

                        ;;

                stop)

                        service nfs-kernel-server stop

                        ;;

                restart)

                        set_proc "fs/nfsd/threads" 0

                        service nfs-kernel-server stop > /dev/null 2>$1

                        pkill -9 nfsd

                        nfs_dump_some_threads

                        service nfs-kernel-server start

                        ;;

                esac

                ;;

        *)

                exit 1

                ;;

        esac

........

 

functions이 아닌 이벤트 스크립트로 수정해도 되는지 확인 하자. Restart는 불안한 것 같음(테스트 1번밖에 안해봄)

 

iSCSI 이벤트 스크립트 수정

$ sudo vim /etc/ctdb/events.d/70.iscsi

………..

# start the iscsi daemon

        tgtd >/dev/null 2>/dev/null

        tgt-admin –e              #재 시작할 때 타겟 정보가 항상 사라져서 삽입

………..

 

upstart 설정

<!--[if !supportLists]-->l  <!--[endif]-->만약 disable이 실패하면 sudo update-rc.d {service name} defaults을 먼저 해준다.

sudo update-rc.d ctdb enable

sudo update-rc.d {smbd | nmbd | nfsd rpcbind | tgt} disable

sudo sh -c "echo 'manual' > /etc/init/{ smbd | nmbd | nfs-kernel-server rpcbind | tgt}.override"

ctdb가 실행되기 전에 위의 서비스들이 미리 실행되고 있으면 ctdb 상태가 불안정 할 수 있다.

 

onnode 스크립트 변경 (sudo 추가)

$ sudo vim /usr/bin/onnode

for n in $nodes ; do

    set -o pipefail 2>/dev/null

    if $parallel ; then

        { exec 3>&1 ; { $SSH $ssh_opts $EXTRA_SSH_OPTS $n "sudo $command" | stdout_filter >&3 ; } 2>&1 | stderr_filter ; } &

        pids="${pids} $!"

    else

        if $verbose ; then

            echo >&2 ; echo ">> NODE: $n <<" >&2

        fi 

 

        { exec 3>&1 ; { $SSH $ssh_opts $EXTRA_SSH_OPTS $n "sudo $command" | stdout_filter >&3 ; } 2>&1 | stderr_filter ; }

        [ $? = 0 ] || retcode=$?

    fi 

done

Root 사용자 생성하지 않고 하려면 위와 같이 변경.

 

samba

smb 설정

$ sudo vim /etc/samba/smb.conf    (global 섹션 삽입, anycloud 섹션 생성)

[global]

clustering = yes

   idmap backend = tdb2

   cluster addresses = 12.0.0.11 12.0.0.12 12.0.0.13

   ctdbd socket = /var/lib/run/ctdb/ctdbd.socket

   private dir = /mnt/storage/ctdb

   security = user

   groupdb:backend = tdb

   smb passwd file = /etc/samba/smbpasswd

 

 

[anycloud]

path = /mnt/storage

browseable=yes

public=no

writeable=yes

 

nfs-kernerl-server

export 설정

$ sudo vim /etc/export

/mnt/storage *(rw,fsid=1235,subtree_check,no_root_squash)

 

nfs-kernel-server 설정

$ sudo vim /etc/default/nfs-kernel-server

 

 

Nfs port 설정

 

$ sudo vim /etc/default/nfs-kernel-server

RPCMOUNTDOPTS="-p 597"

 

$ sudo vim /etc/services

status          595/tcp

status          595/udp

rquotad         598/tcp

rqoutad         598/udp

 

$ sudo vim /etc/modprobe.d/options.conf

options lockd nlm_udpport=599 nlm_tcpport=599

 

$ sudo vim /etc/modules

lockd

 

$ sudo reboot

$ rpcinfo –p

storage@s1:~$ rpcinfo -p

   program vers proto   port  service

    100000    4   tcp    111  portmapper

    100000    3   tcp    111  portmapper

    100000    2   tcp    111  portmapper

    100000    4   udp    111  portmapper

    100000    3   udp    111  portmapper

    100000    2   udp    111  portmapper

    100024    1   udp    595  status

    100024    1   tcp    595  status

    100011    1   udp    895  rquotad

    100011    2   udp    895  rquotad

    100011    1   tcp    598  rquotad

    100011    2   tcp    598  rquotad

    100003    2   tcp   2049  nfs

    100003    3   tcp   2049  nfs

    100003    4   tcp   2049  nfs

    100227    2   tcp   2049

    100227    3   tcp   2049

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100003    4   udp   2049  nfs

    100227    2   udp   2049

    100227    3   udp   2049

    100021    1   udp    599  nlockmgr

    100021    3   udp    599  nlockmgr

    100021    4   udp    599  nlockmgr

    100021    1   tcp    599  nlockmgr

    100021    3   tcp    599  nlockmgr

    100021    4   tcp    599  nlockmgr

    100005    1   udp    597  mountd

    100005    1   tcp    597  mountd

    100005    2   udp    597  mountd

    100005    2   tcp    597  mountd

    100005    3   udp    597  mountd

    100005    3   tcp    597  mountd

 

iSCSI

타겟 설정

$ sudo vim /etc/tgt/targets.conf

include /etc/tgt/conf.d/*.conf

default-driver iscsi

<target iqn.2014.6.anycloud:iscsi.target.storage1.block1>

 backing-store  /dev/rbd/rbd/block1

</target>

 

타겟 설정(with rbd)

$ sudo vim /etc/tgt/targets.conf

include /etc/tgt/conf.d/*.conf

<target iqn.2014-06.anycloud:rbd>

    driver iscsi

    bs-type rbd

    backing-store rbd/block1   #pool_name/image_name  

</target>

 

타겟 커맨드 설정(수동)

$ sudo tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2014.6.anycloud:iscsi.target.storage1.block1

$ sudo tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/rbd/rbd/block1

$ sudo tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL

 

 

$ adduser ftp1

$ sudo usermod -d /mnt/storage ftp1   (각 게이트웨이 노드에 ftp 유저 생성 후 사용)

 

Active directory 연동은 추후 update


 

 

ceph

마운트 포인트 확인

$ mount

……………

192.168.2.18:6789:/ on /mnt/storage type ceph (name=admin,key=client.admin)

 

initctl 확인

initctl list | grep ceph

ceph-mds-all start/running

ceph-osd-all start/running

ceph-mds-all-starter stop/waiting

ceph-osd-all-starter stop/waiting

ceph-all start/running

ceph-mon-all start/running

ceph-mon-all-starter stop/waiting

ceph-mon (ceph/s1) start/running, process 1188      

ceph-create-keys stop/waiting

ceph-osd stop/waiting

ceph-mds (ceph/s1) start/running, process 27502

 

ceph 상태 확인

$ ceph health

HEALTH_OK

로그 위치

/var/log/ceph/

 

 

ping 확인

$ sudo ctdb ping –n all

response from 0 time=0.000826 sec  (1 clients)

response from 1 time=0.000318 sec  (2 clients)

response from 2 time= 0.000092sec  (2 clients)

 

ctdb 상태 확인

$ sudo ctdb status

Number of nodes:3

pnn:0 11.0.0.11     OK (THIS NODE)

pnn:1 11.0.0.12     OK

pnn:1 11.0.0.13     OK

Generation:619257139

Size:3

hash:0 lmaster:0

hash:1 lmaster:1

hash:2 lmaster:2

Recovery mode:NORMAL (0)

Recovery master:1

 

ctdb 서비스 처리 노드 확인

$ sudo ctdb ip

Public IPs on node 0

12.0.0.11 0

12.0.0.12 1

12.0.0.13 2

 

12.0.0.12가 꺼졌을 때 )

Public IPs on node 0

12.0.0.11 0

12.0.0.12 0

12.0.0.13 2

12.0.0.11 (서비스가 가능한 다른 노드)에서 12.0.0.12 대신 서비스 중이란 것을 확인 할 수 있다

 

Log 위치

/var/log/ctdb/

 

 

설정 체크

$ testparm

Load smb config files from /etc/samba/smb.conf

rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)

WARNING: The "idmap backend" option is deprecated

Processing section "[printers]"

Processing section "[print$]"

Processing section "[anycloud]"

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

 

[global]

           server string = %h server (Samba, Ubuntu)

           server role = standalone server

           map to guest = Bad User

           obey pam restrictions = Yes

           private dir = /mnt/storage/ctdb

           pam password change = Yes

           passwd program = /usr/bin/passwd %u

           passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

           unix password sync = Yes

           syslog = 0

           log file = /var/log/samba/log.%m

           max log size = 1000

           ctdbd socket = /var/lib/run/ctdb/ctdbd.socket

           cluster addresses = 12.0.0.11, 12.0.0.12, 12.0.0.13

           clustering = Yes

           dns proxy = No

           usershare allow guests = Yes

           panic action = /usr/share/samba/panic-action %d

           groupdb:backend = tdb

           idmap config * : backend = tdb2

 

[printers]

           comment = All Printers

           path = /var/spool/samba

           create mask = 0700

           printable = Yes

           print ok = Yes

           browseable = No

 

[print$]

           comment = Printer Drivers

           path = /var/lib/samba/printers

 

[anycloud]

           path = /mnt/storage

           read only = No

ctdb를 위해 Smb 설정에 추가한 부분이 존재하는지 확인

 

 

 

rpcinfo 체크(리모트 nfs 서버)

$ rpcinfo -s anycloud-ds-1

program version(s) netid(s)                            service     owner

    100000  2,3,4     local,udp,tcp,udp6,tcp6          portmapper  superuser

    100024  1         tcp6,udp6,tcp,udp                status      105

    100011  2,1       tcp,udp                          rquotad     superuser

    100003  4,3,2     udp6,tcp6,udp,tcp                nfs         superuser

    100227  3,2       udp6,tcp6,udp,tcp                -           superuser

    100021  4,3,1     tcp6,udp6,tcp,udp                nlockmgr    superuser

    100005  3,2,1     tcp6,udp6,tcp,udp                mountd      superuser

 

$ rpcinfo –p anycloud-ds-2

program vers proto   port  service

    100000    4   tcp    111  portmapper

    100000    3   tcp    111  portmapper

    100000    2   tcp    111  portmapper

    100000    4   udp    111  portmapper

    100000    3   udp    111  portmapper

    100000    2   udp    111  portmapper

    100024    1   udp    595  status

    100024    1   tcp    595  status

    100011    1   udp    895  rquotad

    100011    2   udp    895  rquotad

    100011    1   tcp    598  rquotad

    100011    2   tcp    598  rquotad

    100003    2   tcp   2049  nfs

    100003    3   tcp   2049  nfs

    100003    4   tcp   2049  nfs

    100227    2   tcp   2049

    100227    3   tcp   2049

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100003    4   udp   2049  nfs

    100227    2   udp   2049

    100227    3   udp   2049

    100021    1   udp    599  nlockmgr

    100021    3   udp    599  nlockmgr

    100021    4   udp    599  nlockmgr

    100021    1   tcp    599  nlockmgr

    100021    3   tcp    599  nlockmgr

    100021    4   tcp    599  nlockmgr

    100005    1   udp    597  mountd

    100005    1   tcp    597  mountd

    100005    2   udp    597  mountd

    100005    2   tcp    597  mountd

    100005    3   udp    597  mountd

    100005    3   tcp    597  mountd

 

리모트 nfs 서버의 서비스 체크

$ showmount -e anycloud-ds-1

Export list for anycloud-ds-1:

/mnt/storage          *

 

rcpbind 체크

$ ps -ef |grep rpcbind

root       569     1  0 09:33 ?        00:00:00 rpcbind

storage  29825  1404  0 17:02 pts/0    00:00:00 grep --color=auto rpcbind

 

 

rbd 지원 확인

$ sudo tgtadm --lld iscsi --mode system --op show

System:

    State: ready

    debug: off

LLDs:

    iscsi: ready

Backing stores:

    rbd (bsoflags sync:direct)

    sheepdog

    bsg

    sg

    null

    ssc

    rdwr (bsoflags sync:direct)

Device types:

    disk

    cd/dvd

    osd

    controller

    changer

    tape

    passthrough

iSNS:

    iSNS=Off

    iSNSServerIP=

    iSNSServerPort=3205

    iSNSAccessControl=Off

 

 

target 체크

$ sudo tgt-admin –s  (or tgtadm --lld iscsi --mode target --op show)

Target 1: iqn.2014.6.anycloud:iscsi.target.storage1.block1

    System information:

        Driver: iscsi

        State: ready

    I_T nexus information:

    LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET     00010000

            SCSI SN: beaf10

            Size: 0 MB, Block size: 1

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            SWP: No

            Thin-provisioning: No

            Backing store type: null

            Backing store path: None

            Backing store flags:

        LUN: 1

            Type: disk

            SCSI ID: IET     00010001

            SCSI SN: beaf11

            Size: 1074 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            SWP: No

            Thin-provisioning: No

            Backing store type: rdwr

            Backing store path: /dev/rbd/rbd/block1

            Backing store flags:

    Account information:

    ACL information:

        ALL

 

bind 체크

$ sudo netstat -atnp | grep 3260

tcp        0      0 0.0.0.0:3260            0.0.0.0:*               LISTEN      10881/tgtd     

tcp6       0      0 :::3260                 :::*                    LISTEN      10881/tgtd

 

Remote iSCSI 타겟 찾기

$ sudo iscsiadm --mode discovery --type sendtargets --portal 12.0.0.11

12.0.0.11:3260,1 iqn.2014.6.anycloud:iscsi.target.storage1.block1

 

 


 

 

 

구분

체크 사항

비고

파일시스템

서버 재가동시 ceph 데몬들은 자동 실행 되는가?

ceph의 상태는 정상 상태인가?

fstab은 작성되어 있는가?

ceph는 마운트 되어 있는가?

 

 

 

블록시스템

블록은 존재하는가

서비스 블록은 매핑되어 있는가?

rbdmap은 작성되어 있는가?

 

네트워크

private 네트워크는 동작중인가?

private 네트워크를 통해 서로 ping이 갈 수 있는 상황인가?

public 네트워크는 준비되어 있는가?

 

CTDB

설정파일은 제대로 작성 되어 있는가?

프로세스는 존재하는가?

CTDB가 동작한 후 에 공유서비스 데몬들이 동작하는가?

CTDB 동작 후 public 네트워크 주소가 제대로 할당 되는가?

노드 모두 OK 상태인가?

Recovery master가 할당되어 있는가?

Recovery mode NOMAL 상태 인가?

ctdb가 구성된 모든 노드에게 ping이 가는가?

장애 발생 시 정상인 다른노드가 대신 서비스 처리를 해주는가?

 

Samba

설정은 제대로 적용되었는가?

samba user 는 추가되어 있는가?

upstart disable 되어 있는가?

smbd, nmbd 프로세스가 존재하는가?

pair over, pair back는 제대로 동작하는가?

Global locking은 제대로 동작하는가?

 

Nfs

설정은 제대로 적용되었는가?

upstart disable 되어 있는가?

nfsd, rpc 프로세스들은 존재하는가?

pair over, pair back는 제대로 동작하는가?

 

iSCSI

설정은 제대로 적용되었는가?

target은 생성되어 있는가?

tgtd 프로세스는 존재하는가?

pair over, pair back는 제대로 동작하는가?

 

 


 

 

 

samba ctdb 사이트 - https://ctdb.samba.org/

samba ctdb 위키 - https://wiki.samba.org/index.php/CTDB_Setup

 

readhat ctdb 설정(한글) – https://access.redhat.com/site/documentation/ko-KR/Red_Hat_Enterprise_Linux/6/html/Cluster_Administration/s1-CTDB-Configuration-CA.html

 

ctdb 설명 ppt -

https://www.snia.org/sites/default/files2/sdc_archives/2010_presentations/monday/VolkerLendecke_Status_Clustered_CIFS.pdf

http://niranjanmr.wordpress.com/2011/12/05/ctdb/

http://www.samba.org/~obnox/presentations/sambaXP-2011/sambaxp-2011-tutorial-ctdb-handout.pdf

 

우분투 파일 서버 - http://developinghappiness.com/?p=82

우분투 nfs howto - https://help.ubuntu.com/community/SettingUpNFSHowTo

Nfs how to - http://chschneider.eu/linux/server/nfs.shtml

 

Nfs 포트 변경 :

Configuring NFS under Linux for Firewall control - http://www.lowth.com/LinWiz/nfs_help.html

http://rockball.tistory.com/entry/NFS-Port-%EA%B3%A0%EC%A0%95%EB%B0%A9%ED%99%94%EB%B2%BD-%EC%82%AC%EC%9A%A9

Lockd 변경 -http://ubuntuforums.org/showthread.php?t=1263114&page=2&p=7959294#post7959294

http://cdral.net/948

 

 

ceph rbd+stgt 설명 사이트 - http://ceph.com/dev-notes/adding-support-for-rbd-to-stgt/

Stgt 소스코드 주소 - https://github.com/fujita/tgt

Stgt+rbd 설정 - http://stuartl.longlandclan.yi.org/blog/2014/02/25/ceph-and-stgt/

Stgt 퀵 가이드 - https://fedoraproject.org/wiki/Scsi-target-utils_Quickstart_Guide

Tgt 페키지 - http://stgt.sourceforge.net/

 






'학습자료 > tools' 카테고리의 다른 글

[tools] 크로스브라우저 테스트  (0) 2015.02.03
linux cron 사용법  (0) 2014.02.11
xming 사용(putty gui)  (0) 2014.02.03
xshell 파일전송  (0) 2013.12.23
이클립스 단축키  (0) 2013.09.25
posted by cozyboy
:
학습자료/tools 2014. 2. 11. 14:15



crond 데몬 /etc/rec.d/init.d/crond 스크립트에 의해 시작, 종료,재시작될 수 있다

기본 명령의 위치 :/user/bin/crontab

 =>아무곳에서도 실행 가능 함 등록,수정, 보기



사용형식

crontab [ -u 사용자 id] 파일

crontab [-u 사용자 id] { -l | -r | -e}


crontab -l : 예약된 작업리스트

crontab -e : 예약된 작업 수정

crontab -r : 예약된 작업 삭제



crond 실행 확인

=> ps -ef | grep crond



crond 시작

=> /etc/rc.d/init.d/crond start{restart | stop}


일반사용자에게 crontab 명령어 사용하도록 설정 허가

=> /etc/cron.allow 여기에 ID 등록


일반사용자의 crontab 명령어사용을 제한하고자 한다면

=>/etc/cron.deny  에 ID를 등록

즉,

=> /etc/cron.allow : 허용할 사용자 ID 목록
=> /etc/cron.deny  : 거부할 사용자 ID 목록

cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
cron.deny  파일이 있으면 이 파일에 들어있는 ID는 사용 불가

따라서 cron.deny에 truefeel ID를 추가해주면 됩니다.



환경변수 영역   --->> 환경변수중에 PATH문제가 자주 발생. cron은 유저의 환경변수를 모두 가져오지 않는다.

(http://cozyboy.tistory.com/entry/linux-crontab-%EC%97%90%EB%9F%AC)


첫번째 영역에서는 몇가지 변수를 설정한다.

SHELL
등록된 프로그램을 실행시킬 쉘프로그램을 지정한다. 정의 하지 않을 경우 /bin/sh이 쉘 프로그램으로 지정된다.
PATH
cron은 별도로 쉘을 띄우귀 때문에, 쉘에서 프로그램을 찾기 위한 PATH도 지정해줄 필요가 있다. 왜냐하면 로그인을 해서 shell을 실행시키지 않으므로, 로그인과정에서의 PATH변수를 사용할 수 없기 때문이다.
MAILTO
cron이 수행한 작업의 결과를 mail로 보낼 수 있다. 위의 경우 root유저에게 메일을 전송한다. 만약 MAILTO를 설정하지 않으면 crontab의 실행유저에게 메일이 전송된다.
HOME
cront의 home 디렉토리(:12)경로를 설정한다. 기본적으로는 crontab의 실행유저의 홈디렉토리로 /etc/passwd에 설정된 경로를 따른다. 


등록 내용 설정

"분,시,일,월,요일, 실행명령" 순으로 설정

# min       hours       day       month       day      command
   34            2           *            *            *       sh /root/backup.sh

crontab 파일 형식
------    --------  ---------------------------------------------------
필  드    의  미    범  위
------    --------  ---------------------------------------------------
첫번째    분        0-59
두번째    시        0-23
세번째    일        0-31
네번째    월        1-12
다섯번째  요일      0-7 (0 또는 7=일요일, 1=월, 2=화,...)
여섯번째  명령어    실행할 명령을 한줄로 쓴다.
------    --------  ---------------------------------------------------

- 한 줄당 하나의 명령 (두줄로 나눠서 표시할 수 없음)
- # 으로 시작하는 줄은 실행하지 않는다 (주석)

 

 

crontab -e 을 하면 vi 에디터가 나온다.(환경변수 EDITOR에 따라 다른 에디터를 사용할 수 있다.)


  $ crontab -e
  # /home 디렉토리를 /BACKUP/home 으로 백업해둠
  # 30분, 새벽 4시와 낮 12시, 모든 일, 모든 월, 모든 요일
  30 4,12 * * *  /usr/bin/rsync -avxH --delete /home /BACKUP/home > /dev/null 2>&1

  # 파일/디렉토리 퍼미션 설정
  # 40분, 새벽 1시, 매주 일요일
  40 1    * * 0  /root/bin/perm_set.sh   > /dev/null 2>&1


  # 20분마다 실행

  */20 * * * * /shell/mrtg


위는 매일 4:30분과 12:30분에 rsync 명령을, 매주 일요일 1:40분에 perm_set.sh를 실행함을 의미한다.

vi 에디터를 통해 설정을 하므로 중요한 몇 가지 에디터 사용법은 익혀야 한다.

----  -----------------------------------------------------------------------------
키    의미
----  -----------------------------------------------------------------------------
i     현재 칸에 글을 넣는다.
o     다음줄에 글을 넣는다.
dd    한줄을 삭제한다.
:wq   저장하고 빠져나온다.
ESC   설정중에 명령어 모드(위의 i, o, dd 등을 사용할 수 있는 상태)로 빠져 나온다.
----  -----------------------------------------------------------------------------


설정 예

시간 설정에서 몇가지 의미있는 것들을 알아보자.

- '*'표시는 해당 필드의 모든 시간을 의미한다.
- 3,5,7 와 같이 콤마(,)로 구분하여 여러 시간대를 지정할 수 있다.
- 2-10와 같이 하이픈(-)으로 시간 범위도 지정할 수 있다.
- 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/)로 시간 간격을 지정할 수 있다.
  (2~10까지 3간격으로. 즉, 3,6,9를 의미함)

=>  > /dev/null  2>&1 이 무슨 뜻입니까?
  지정한 명령어 처리 결과와 발생할지 모르는 에러메시지를 출력하지 않고 모두 버린다는(/dev/null)는
  뜻입니다. 만약 결과와 에러를 파일로 저장하려면 /dev/null 대신 파일명을 적어주면 됩니다.


예)

20  2     *  *  6  명령어 => 매주 토요일 새벽 2:20

0  4-6   *  *  *  명령어 => 매일 오후 4,5,6시

5  */2 *  *  * 명령어 => 매일 2시간간격으로 5분대에

15  1   1  *  *  명령어 => 매월 1일 새벽 1:15

30  0   1  1,7  *  명령어 => 1,7월 1일 새벽 0:30


10 2 * * * /app11/minsang/APP/ldap/run.sh > /app11/minsang/APP/ldap/cron_error.log
55 13 * * * /run.sh > /mail_cron_error.log
0,30 8-19 * * * /sendAdmin.sh > /cron_admin_error.log  


별표(*)는 all을 의미한다.

* * * * *  /bin/bash /usr/local/bin/myprog  # 매분 마다 myprog를 실행


시간을 특정할 수 있다.
30 * * * *  /bin/bash /usr/local/bin/myprog  # 매시 30분에 실행 
5,10 * * * *  /bin/bash /usr/local/bin/myprog  # 매시 5,10분에 실행 
5 1 * * 0  /bin/bash /usr/local/bin/myprog  # 매주 일요일 새벽 1시 5분에 실행 


/를 이용해서 실행 간격을 조정할 수 있다.
*/5 * * * *  /bin/bash /usr/local/bin/myprog  # 5분 간격으로 실행 
*/20 * * * *  /bin/bash /usr/local/bin/myprog  # 20분 간격으로 실행 


-를 이용해서 범위를 지정할 수도 있다.
5-30 * * * *  /bin/bash /usr/local/bin/myprog  # 매시 5-30분에 분간격으로 실행 
5 4-5 * * *  /bin/bash /usr/local/bin/myprog  # 새벽 4시5분, 5시 5분에 실행 


-와 /를 조합할 수도 있다.
5-30/5 * * * *  /bin/bash /usr/local/bin/myprog  # 매시 5-30분에 5분간격으로 실행 


Crontab file 위치

  1. Linux and Unix-like operating system may change the default from /var/spool/cron/ to something else. Use the following as a guideline for your OS (assuming that user name is vivek):
  2. Mac OS X - /usr/lib/cron/tabs/ (user cron location /usr/lib/cron/tabs/vivek)
  3. FreeBSD/OpenBSD/NetBSD - /var/cron/tabs/ (user cron location /var/cron/tabs/vivek)
  4. CentOS/Red Hat/RHEL/Fedora/Scientific Linux - /var/spool/cron/ (user cron location/var/spool/cron/vivek)
  5. Debian / Ubuntu Linux - /var/spool/cron/crontabs/ (user cron location/var/spool/cron/crontabs/vivek)
  6. HP-UX Unix - /var/spool/cron/crontabs/ (user cron location/var/spool/cron/crontabs/vivek)
  7. IBM AIX Unix - /var/spool/cron/ (user cron location /var/spool/cron/vivek)



[출처]

http://program.egloos.com/viewer/802690

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/System_management/Crontab

http://www.cyberciti.biz/faq/where-is-the-crontab-file/

'학습자료 > tools' 카테고리의 다른 글

[tools] 크로스브라우저 테스트  (0) 2015.02.03
CTDB(cifs/nfs/iSCSI/ftp with ceph) 구성 - 문서 첨부  (0) 2014.06.30
xming 사용(putty gui)  (0) 2014.02.03
xshell 파일전송  (0) 2013.12.23
이클립스 단축키  (0) 2013.09.25
posted by cozyboy
:
학습자료/tools 2014. 2. 3. 13:34

1. 다운로드

putty 다운로드 : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html


xming 다운로드 : http://sourceforge.net/projects/xming/


2. xming 설정

XLanuch  실행 -> one window -> start no client -> 클립보드 체크 -> 설정파일 저장

 

저장한 Config  파일 실행

 

3. putty 설정


호스트명에 접속할 리눅스 서버의 ip 혹은 호스트명을 입력


좌측 메뉴에서 접속(Connection) > SSH > X11 선택


X11 포워딩 사용(Enable X11 forwarding) 체크 후 X 디스플레이 위치(X display location) 항목에 " localhost:0 " 입력


좌측 메뉴에서 세션(Session) 메뉴 선택 후 입력한 내용 저장 후 하단의 열기 버튼 선택


4. putty GUI 접속


'학습자료 > tools' 카테고리의 다른 글

CTDB(cifs/nfs/iSCSI/ftp with ceph) 구성 - 문서 첨부  (0) 2014.06.30
linux cron 사용법  (0) 2014.02.11
xshell 파일전송  (0) 2013.12.23
이클립스 단축키  (0) 2013.09.25
한글 iso-8859-1 변환  (0) 2013.07.10
posted by cozyboy
:
학습자료/tools 2013. 12. 23. 14:10


1. 파일전송 위한 패키지 설치

sudo apt-get install lrzsz


2. 리모트 -> 로컬 전송

sz filename


3. 로컬 ->리모트

파일을 xshell에 드래그

'학습자료 > tools' 카테고리의 다른 글

linux cron 사용법  (0) 2014.02.11
xming 사용(putty gui)  (0) 2014.02.03
이클립스 단축키  (0) 2013.09.25
한글 iso-8859-1 변환  (0) 2013.07.10
Nagios 구조요약 및 샘플 코드(모니터링)  (0) 2013.07.03
posted by cozyboy
:
학습자료/tools 2013. 9. 25. 17:33

Ctrl + O

클래스안에 있는 메소드들의 타입을 확인할 수 있습니다.




Ctrl + Shift + F

문자 자동정렬


Ctrl + Shift + P

매칭되는 괄호로 이동


Ctrl + Shift + O

자동으로 import할 때 사용합니다.



Ctrl + D

커서가 위치한 줄 소스 삭제할 때 사용합니다.



Ctrl + Space

클래스나 그에 소속된 메소드 등의 목록을 띄워 원클릭으로 적용하기 쉽게 선택할 수 있는 자동완성 기능입니다.



Ctrl + F

문자열을 검색할 때 사용합니다.

찾아 바꾸기 (Replace with) 기능을 제공하여 한번에 문자열 치환이 가능합니다.


 

Ctrl + L

위의 단축키를 누르고 줄번호를 입력 시 해당 줄(Line number)로 커서가 이동합니다.



Ctrl + K

Ctrl + f와 같은 기능입니다.

검색하려는 키워드를 블록 설정하고 위의 단축키를 누르면 검색이됩니다.



Alt +  ←

이전에 했던 Action



Alt +  →

이후에 했던 Action

 


Ctrl + F11

전에 실행된 Run as 파일 실행 됩니다. 



Ctrl + W

페이지 닫기 기능입니다.

인터넷 브라우저(IE, Chrome 등), 윈도우 파일탐색기 등 여러 곳에서 동일하게 사용 가능합니다.


Ctrl + Shift + W

전체 페이지 닫기 기능입니다.



Ctrl + /

주석처리를 위한 단축키입니다.(단축키를 누르면 해당 줄 전체가 주석처리 됩니다.)



Alt + ↓

Alt + ↑ 

커서가 위치한 줄의 내용이 위치할 순서를 바꿀 때 사용합니다.




Ctrl + M

소스코드의 창을 전체화면으로 변경합니다.(좌측의 익스플로러 창이 숨는 기능)



Ctrl + Alt + ↓/↑

커서가 위치한 줄의 내용 복사 시 사용합니다



Ctrl + N

새로운 프로젝트를 생성하거나 새로운 파일을 생성할 때 사용하는 단축키입니다.



F11

Debug 시작

 


F8

Debug 계속 진행

 


F6

Debug 라인 실행

 


F5

Debug 라인 단위로 실행(함수 내부로 들어갑니다.)

 


Ctrl + Shift + B

현재 커서 라인에 브레이크 포인트(Break point) 설정



Ctrl + Shift +X

대문자로 변환



Ctrl + Shift + Y

소문자로 변환



Ctrl + Shift + L

모든 단축키의 내용을 출력합니다.




펌 : http://h5bak.tistory.com/161

'학습자료 > tools' 카테고리의 다른 글

xming 사용(putty gui)  (0) 2014.02.03
xshell 파일전송  (0) 2013.12.23
한글 iso-8859-1 변환  (0) 2013.07.10
Nagios 구조요약 및 샘플 코드(모니터링)  (0) 2013.07.03
옛날 싸이트 찾기  (0) 2013.05.22
posted by cozyboy
:
학습자료/tools 2013. 7. 10. 15:15

이클립스에서 *.properties 파일을 생성하면 기본 인코딩이 ISO-8859-1 형식으로 설정된다.
이는 규약때문이다. *.properties 파일은 원래 ISO-8859-1 로 저장되어야 한다.

따라서 한글 같은 경우에 유니코드 이스케이프 시퀀스를 이용해서 기록해야 한다.
그렇지 않으면 java.util.Properties 객체로 읽어올때 제대로 읽혀지지 않는다. 자바의 Properties 클래스를 이용하는 한
무조건 ISO-8859-1 인코딩으로만 인식하고 읽기 때문에 이문제는 피할 수는 없을것 같다.

모든 작업파일들의 기본 문자인코딩 설정에 대해 확인하고자 하면
이클립스의 Window -> Preferences
Content Types -> Text  트리 메뉴를 확인해 보면 Java, JSP 혹은 JavaScript 등 여러 파일형식을 확인할 수 있다.

위에서 한글같은 경우 유니코드 이스케이프 시퀀스를 이용해야 한다고 했는데
native2ascii 명령으로 iso-8859-1로 변환할 수 있다. 아래와 같은 방식이다.

개발 원본 파일 : example.properties-in 의
example.message       = 잘못된 값을 입력하셨습니다.

native2ascii example.properties-in >example.properties 실행하면

실제 설정 파일 : example.properties
example.message       = \si734\ubaf7 \ub53c\ubwr3\ub678\uc318\ub1b4 \.......................................


위의 방식도 가능하지만 매번 번거로운 작업이므로 실제 개발에서는 사실상 이클립스의 플러그인을 사용한다.
properties 파일 작성시, 변환을 자동으로 해주는 플러그인이 몇가지 있다.
eclipse properties 검색하면 여러 정보를 찾을 수 있을 것이다.

그중에 Propedit(http://propedit.sourceforge.jp/)가 비교적 많이 알려지고 사용되는 파일 인코딩 관련 플러그인이 있다.

- 플러그인 설치(Eclipse Galileo 기준)

1. Eclipse > Help > Install New Software 메뉴 선택
2. Add 클릭 > 주소창에 http://propedit.sourceforge.jp/eclipse/updates/ 를 입력 후 추가.
3. 목록에서 PropertiesEditor를 선택하고 설치.

설치가 완료되고 Properties 파일을 열면 파일탭에 P라는 아이콘이 나타난다.
이제 Properties 파일에 한글을 입력할수가 있게된다.
파일 저장시 자동으로 변환해 주는데 사용자에게는 한글로 변환해서 보여주며. 실제 소스에는 iso-8859형식으로 저장된다.



[펌] : http://finewoo.tistory.com/38

'학습자료 > tools' 카테고리의 다른 글

xshell 파일전송  (0) 2013.12.23
이클립스 단축키  (0) 2013.09.25
Nagios 구조요약 및 샘플 코드(모니터링)  (0) 2013.07.03
옛날 싸이트 찾기  (0) 2013.05.22
[tolls] ceph install (linux centOS 6)  (0) 2013.04.22
posted by cozyboy
:
학습자료/tools 2013. 7. 3. 11:59

1년전에 쓴거라, 최신버전과는 어떨지 모르겠으나..

개념파악을 할 수 있을거라 생각됩니다.

 


 

목차

nagios란

전체 구성

- nagios 실행과 config 검증

- 로그, 캐쉬, 설정 파일

- plugins

- external command file

- notification commands

- event handler

- object configuration

- addons(NRPE, NSCA)

-요약

 

이하 내용은 쓸모없는내용임..

 

Nagios.pdf

 

posted by cozyboy
:
학습자료/tools 2013. 5. 22. 18:23

오픈진영 프로젝트때문에 manual을 보던중, 업글이 되며 예전 버전이 사라졌다. 

그런데 예전 버전을 봐야만 한다. 


아래 싸이트에 모든게 저장되어 있다. url 입력 후, 변경 날짜를 선택하면 그 당시의 웹 사이트가 보인다. 


http://archive.org/web/web.php



posted by cozyboy
:
학습자료/tools 2013. 4. 22. 09:51

간단 설치 방법 : http://ceph.com/docs/master/install/rpm/


  • 각 노드에 설치

    rpm --import 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc'
    rpm -Uvh http://ceph.com/rpm-bobtail/el6/x86_64/ceph-release-1-0.el6.noarch.rpm
    yum install ceph



  • 확인

ceph -v

결과 : ceph version 0.56.4 ~


  • configuration (/etc/ceph/ceph.conf)
[global]

	# For version 0.55 and beyond, you must explicitly enable 
	# or disable authentication with "auth" entries in [global].
	
	auth cluster required = cephx
	auth service required = cephx
	auth client required = cephx

[osd]
	osd journal size = 1000
	
	#The following assumes ext4 filesystem.
	filestore xattr use omap = true


	# For Bobtail (v 0.56) and subsequent versions, you may 
	# add settings for mkcephfs so that it will create and mount
	# the file system on a particular OSD for you. Remove the comment `#` 
	# character for the following settings and replace the values 
	# in braces with appropriate values, or leave the following settings 
	# commented out to accept the default values. You must specify the 
	# --mkfs option with mkcephfs in order for the deployment script to 
	# utilize the following settings, and you must define the 'devs'
	# option for each osd instance; see below.

	#osd mkfs type = {fs-type}
	#osd mkfs options {fs-type} = {mkfs options}   # default for xfs is "-f"	
	#osd mount options {fs-type} = {mount options} # default mount option is "rw,noatime"

	# For example, for ext4, the mount option might look like this:
	
	#osd mkfs options ext4 = user_xattr,rw,noatime

	# Execute $ hostname to retrieve the name of your host,
	# and replace {hostname} with the name of your host.
	# For the monitor, replace {ip-address} with the IP
	# address of your host.

[mon.a]

	host = {hostname}
	mon addr = {ip-address}:6789

[osd.0]
	host = {hostname}
	
	# For Bobtail (v 0.56) and subsequent versions, you may 
	# add settings for mkcephfs so that it will create and mount
	# the file system on a particular OSD for you. Remove the comment `#` 
	# character for the following setting for each OSD and specify 
	# a path to the device if you use mkcephfs with the --mkfs option.
	
	#devs = {path-to-device}

[osd.1]
	host = {hostname}
	#devs = {path-to-device}

[mds.a]
	host = {hostname}
  1. Open a command line on your Ceph server machine and execute hostname -s to retrieve the name of your Ceph server machine.

  2. Replace {hostname} in the sample configuration file with your host name.

  3. Execute ifconfig on the command line of your Ceph server machine to retrieve the IP address of your Ceph server machine.

  4. Replace {ip-address} in the sample configuration file with the IP address of your Ceph server host.

  5. Save the contents to /etc/ceph/ceph.conf on Ceph server host.

  6. Copy the configuration file to /etc/ceph/ceph.conf on your client host.


  • 각 노드에 config 복사

chmod 644 ceph.conf

scp {user}@{server-machine}:/etc/ceph/ceph.conf /etc/ceph/ceph.conf

 
  • 호스트 등록
    vi /etc/hosts

각 노드의 hostname -s 결과와 ip를 기입해 둔다.


  • 각 데몬이 사용할 장소 지정

mkdir -p /var/lib/ceph/osd/ceph-0 mkdir -p /var/lib/ceph/osd/ceph-1 mkdir -p /var/lib/ceph/mon/ceph-a mkdir -p /var/lib/ceph/mds/ceph-a

※osd 쪽은 new disk를 마운트 시키자. 그냥 하다가 저널링 걸리면 파일시스템 어찌 될지 모름.


 

  • v.56 이후의 bobtail에서 설정 (용도를 정확히는 모르겠다.)

mon 에서 작업(통합 컨트롤은 mon에서 한다?)

cd /etc/ceph mkcephfs -a -c /etc/ceph/ceph.conf -k ceph.keyring

Among other things, mkcephfs will deploy Ceph and generate a client.admin user and key. For Bobtail and subsequent versions (v 0.56 and after), the mkcephfs script will create and mount the filesystem for you provided you specify osd mkfs osd mount and devs settings in your Ceph configuration file.



※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

에러) 2013-04-22 13:39:48.909389 7fe39ca14760 -1 provided osd id 0 != superblock's -1
2013-04-22 13:39:48.910138 7fe39ca14760 -1 ** ERROR: error creating empty object store in /var/lib/ceph/osd/ceph-0: (22) Invalid argument
failed: 'ssh root@ds1 /sbin/mkcephfs -d /tmp/mkfs.ceph.a06aefb0287e9bb354b62ba535


해결) 실행 중 잘못 세팅한 설정으로 실패할 경우, /var/lib/ceph/의 모든 파일을 지우고 해야 한다.

리로드 할때 이곳의 파일들을 지우고 하지 않기에 수동으로 삭제 후, 재시도 해야 한다.

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
  • 시작

service ceph -a start (allhosts)

    일부 시작 - ceph start osd.0


  • 정상 동작 확인

ceph health 예상 결과 : HEALTH_OK



  • 클라이언트 마운트


yum install ceph-fuse

ceph-fuse -m 192.168.2.13:6789 /mnt/cephClient/


원래는 mount -t ceph 192.168.2.13:6789 /mnt/cephClient/ 로 하지만

mount.ceph: modprobe failed, exit status 1
mount error: ceph filesystem not supported by the system
에러가 발생한다.


cent에는 ceph이 쓰는 modprobe가 없어서 커널을 재 컴파일해야 한다.

대신 yum install ceph-fuse를 설치하여 fuse를 이용한다.






  • 설치 시, 각 장치에 띄어지는 프로세스

ps aux | grep ceph


[결과]

mon

/usr/bin/ceph-mon -i a --pid-file /var/run/ceph/mon.a.pid -c /etc/ceph/ceph.conf


[mds]

root      3342  0.1  0.1 1090944 7916 ?        Ssl  03:13   0:00 /usr/bin/ceph-mds -i a --pid-file /var/run/ceph/mds.a.pid -c /tmp/ceph.conf.d6ddf446d1563675cb148db3eb3ca5f0


[osd.0]

root      3223  0.1  0.2 2486928 38388 ?       Ssl  17:25   0:03 /usr/bin/ceph-osd -i 0 --pid-file /var/run/ceph/osd.0.pid -c /tmp/ceph.conf.17f3c04281dcf4407506b6e8c67ad89b


[osd.1]

root      2816  0.0  0.2 2486796 41292 ?       Ssl  17:29   0:02 /usr/bin/ceph-osd -i 1 --pid-file /var/run/ceph/osd.1.pid -c /tmp/ceph.conf.839e7a5eeec05fb3198260a93aea402a

 

posted by cozyboy
:
학습자료/tools 2013. 4. 18. 09:40

 

Windows 기반 컴퓨터에 프로그램을 설치하거나 제거할 때 발생하는 문제를 해결하는 방법

http://support.microsoft.com/kb/2438651/ko

(여러 버전, 여러가지 방법 등제)

 

 

이중 http://support.microsoft.com/kb/928218/ko#Method2

에있는 fixit 프로그램을 이용하여 자동으로 제거 하는것이 편하다.

'학습자료 > tools' 카테고리의 다른 글

옛날 싸이트 찾기  (0) 2013.05.22
[tolls] ceph install (linux centOS 6)  (0) 2013.04.22
[tools] one note 블로그로 포팅하기  (0) 2013.04.17
이클립스 cdt 설치(c 환경)  (0) 2013.04.11
[tolls]redmine 2.x (fedora 16) 설치법  (0) 2013.04.10
posted by cozyboy
:
학습자료/tools 2013. 4. 17. 15:40

 

m/s one Note를 쓰다가

 

펜으로 작성한 노트를 블로그로 포팅도 할수 있다는 것을 알게되었다.

그 외에도 word, pdf, html? 등 여러가지 포맷으로 포팅가능하다.

 

하는 방법은 아래 링크를 따라서..

 

1. 티스토리 api 설정 : http://blog.kinesis.kr/38

2. 네이버 블로그 api 설정 : http://onnuri114.blog.me/70151436747

3. m/s word에서 블로그로 포팅하기 : http://notice.tistory.com/114

 

 

[결과]


 

  • m/s one note에 적은 내용

 

 

  • 위 내용을 블로그로 포팅 한 내용

manual

작성 임해야해

쟈성국해야애

   

test page.

window of platform.

 

잘돼는군요..

 

 

 

 


글씨 인식률이 좋군요. 

대단한 마이크로 소프트. 조금만 더 가다듬으면 note쪽에선 에버노트, 네이버 노트, 삼성 s노트 중에서 가장 좋을듯.

개인적으론 지금도 가장 좋은것 같음.

posted by cozyboy
:
학습자료/tools 2013. 4. 11. 10:24

http://www.eclipse.org/cdt/downloads.php 에서 자신의 버전에 맞는 cdt 주소를 찾아야 한다.

juno는 다음과 같은 url이다.

http://download.eclipse.org/tools/cdt/releases/juno

posted by cozyboy
:
학습자료/tools 2013. 4. 10. 09:32
  • redmine 활용

redmine은 ALM, 프로젝트 관리, 품질관리 등을 통합적으로 하는 툴이다.

CI라고도 하며 형상관리라고도 한다.

플러그인 형태로 기능을 추가 할수 있다.

 

웹에서 svn, 프로젝트 일정관리, 일감관리, 이슈관리, 소스검증(동적/정적) 등.. 을 할수 있다.

 

 


 

  • 설치 환경

OS : fedora 16 64bit (developer용 설치), virual box 가상운영

redmine : 2.3 (최신)

 


 

 

페도라는 centos와 달리 리눅스의 실험적인 것들이 많이 들어가서, 사용법 정리가 안되있는것이 많다.

 

1.x 버전과 2.x 버전은 설치 시 조금씩 다른점이 있다.

대부분 1.x 버전의 정리가 대부분이라, 에러와 이슈트래커를 찾으며 정리 함.

 

중간에 몇개 빠뜨리고 안적었을수도 있음.

 

 


  • 설치법 간단 정리

 

1. yum install ruby
2. yum install rubygems
3. yum install ruby-devel
4. gem install rails

5. redmine 다운
http://rubyforge.org/frs/?group_id=1850


 

6. mysql  설정

yum install mysql-devel
gem install mysql

 

CREATE DATABASE redmine CHARACTER SET utf8;GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'passwordf'

 

7. redmine config 설정(아래부터 redmine 설치 폴더에서 실행)

mv config/database.yml.example config/database.yml

 

vim production (설정 변경)


production:  adapter: mysql  database: redmine  host: localhost  username: redmine  password: password

 

8. redmine 필요 패키지 다운


bundle install    (루비의 연관패키지 다운)

yum install php-gd glib glib2 libpng libjpeg libtiff ghostscript freetype   (ImageMagick을 yum으로 받으려면 이것들이 전부 설치되어야 한다)

 
yum install ImageMagick ImageMagick-devel

gem install rmagick             (devel까지 설치하지 않으면 에러)
bundle install   

 

   ☞ 여기까지 bundle install 할때, 에러가 없어야 한다. 만약 부족한 부분이 더 있다면 완료해야 레드마인을 실행할 수 있다.

 

 

9. 관리자 계정생성

rake generate_secret_token
rake db:migrate RAILS_ENV=production

 

10. 언어 설정
rake redmine:load_default_data RAILS_ENV=production
ko

 

11. 아파치 웹서버의 쓰기 권한이 가능하도록 권한 설정

chmod -R 755 files log tmp public/plugin_assets

 

12. 실행

ruby script/rails server webrick -e production

 

13. 접속 (default port == 3000)

localhost:3000

posted by cozyboy
:
학습자료/tools 2013. 4. 9. 10:54

c, c++, java, script? 각종언어에 대해 함수 연관도를 그려준다.

javadoc 처럼 document도 나온다.

흠. 한마디로 소스 분석툴.

 

 

모듈 연관도 그림을 그릴필요가 있을때, doxygen을 사용하면 편하게 작성할수 있다.

 

  • 설치

yum install doxygen

yum install graphviz    -> 연관도 등 그래픽 관련 내용을 보고 싶으면 깔아야 함.

yum install doxygen-doxywizard  -> doxygen gui 유틸

 

 

 

  • 실행(간단하게만 정리)

doxywizard

 

 1. 프로젝트(이름, 문서화 할 코드 폴더, 결과물 남길 폴더 설정)

 

2. 문서 추출방식, 언어 선택

 

3. 출력 문서 형식 설정(LaTeX는 off 해도 됨)

 

4. 아까 설치한 GraphViz를 사용(함수간 관계를 그래프로 보기위해)

 

5. doxy 문서 만들기(Run doxygen 클릭후, show HTML output 선택)

 

6. 모듈 관계도

 

위와 같은 내용 외에도

javadoc 처럼 각 함수에 대해 문서가 나온다.

 

직접 소스보기도 가능하며, struct 구조같은 내용도 나온다.

 

 

 

 

posted by cozyboy
:
학습자료/tools 2013. 2. 27. 17:46

1. 마켓에서 maven plugin install


2. 프로젝트를 Maven project로 변경


3. pom.xml을 작성

README나 사이트에 보면 pom.xml에 추가하라는 부분이 있다. 그것을 pom.xml에 추가하면 


4. 결과 (필요한 jar파일들이 주르르르륵. )


5. messagepack-RPC for java  Quick Start  :

http://wiki.msgpack.org/display/MSGPACK/QuickStart+for+Java#QuickStartforJava-MessagePackRPCforJava


예제소스를 돌려보면 추르르륵~



'학습자료 > tools' 카테고리의 다른 글

[tolls]redmine 2.x (fedora 16) 설치법  (0) 2013.04.10
doxygen linux(소스 분석 툴)  (0) 2013.04.09
Amazon Simple Storage Service(Amazon S3) 사용  (0) 2013.02.18
rrdtool  (0) 2012.10.31
[tools]Nagios 설치(모니터링)  (2) 2012.10.17
posted by cozyboy
:
학습자료/tools 2013. 2. 18. 11:19

한마디로 네이버의 Ndrive 같은 것이다.

대신 아마존에서 제공한 것이며, 사용 용량과 트래픽 숫자에 따라 결제가 된다.


대신 값이 매우 싸며, 현재 초기 어느정도는 무료이다. 

또한 sdk까지 제공하므로, 관련개발이 손쉬워졌다.




aws(amazon web service) s3 페이지 : http://aws.amazon.com/ko/s3/#getting-started

 

1. 웹 클라이언트 AWS management Confsole 이용:

http://aws.amazon.com/ko/console/

 

 

2. 오픈소스 데스크탑 어플리케이션 cyberduck 이용방법 :

http://aws.amazon.com/ko/s3/#getting-started 에서

My Account(내계정) > Security Credentials(보안 자격 증명) > 이동

Access Key ID와 Secret Access Key를  사이버덕에 기입

 

 

3. 윈도우에 네트워크 드라이브로 이용 :

http://gladinet.blogspot.kr/2011/06/amazon-s3-as-network-drive.html

http://tntdrive.com/

 

 

Amazon sdk (with 이클립스)

마켓에서 amazon 검색 -> AWS Toolkit for Eclipse 을 install. 

sdk와 s3브라우저 플러그인이 깔린다. 

http://aws.amazon.com/eclipse

http://aws.amazon.com/articles/3586?_encoding=UTF8&jiveRedirect=1

sdk 다운 경로 : http://aws.amazon.com/ko/sdkforjava/

 

amazon sdk javadoc -

http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/index.html

 

 

 

'학습자료 > tools' 카테고리의 다른 글

[tolls]redmine 2.x (fedora 16) 설치법  (0) 2013.04.10
doxygen linux(소스 분석 툴)  (0) 2013.04.09
[Java] eclipse로 maven 사용(msgpackRPC 사용법)  (0) 2013.02.27
rrdtool  (0) 2012.10.31
[tools]Nagios 설치(모니터링)  (2) 2012.10.17
posted by cozyboy
:
학습자료/tools 2012. 10. 31. 11:05

Function

create : 새로운 Round Robin Database(RRD)를 만든다

update : RRD에 새로운 값으로 갱신/저장한다.

graph : Rrd에 저장된 데이터를 이용하여 그래프를 생성한다. 이 데이터는 stdout으로 추출할 수 있다.

dump : rrd데이터를 다른 architecture의 컴퓨터에서도 사용 할 수 있도록 xml 포멧으로 변형하여 저장

restore : xml 포멧으로 저장된 RRD를 binary RRD로 재저장 한다.

fetch : rrd로부터 특정시간의 데이터를 얻을 수 있다. graph 기능이 rrd에서 데이터를 얻기 위해 fetch를 사용한다.

tune : rrd를 고친다.

last : RRD의 가장 마지막 update 시간을 찾는다.

info : rrd에 대한 정보를 얻는다

rrdresize : RRAs를 변경한다. 이것은 매우 위험하다

flushcached : memory로부터 특정 RRD를 위한 값을 flush 한다.

rrdcgi :

xport :

updatev :

 

 

RRD 데이터 확인(명령어+결과)

: rrdtool graph를 사용하지 않고 직접 그래프를 그려야 할때, 필요 하겠지

 

rrdtool fetch cluster.rrd AVERAGE -r 900 -s -1h

1351653000: 5.0396000000e+10 1.4584000000e+10 3.5812000000e+10 1.3936553333e+04 1.1113766667e+04 2.8227866667e+03 4.7611493333e+04 6.2746666667e+01 4.7548746667e+04
1351653300: 5.0396000000e+10 1.4584000000e+10 3.5812000000e+10 5.3596386667e+04 4.3166866667e+04 1.0429520000e+04 5.0934720000e+04 2.7266666667e+01 5.0907453333e+04
1351653600: 5.0396000000e+10 1.4584000000e+10 3.5812000000e+10 5.3679180000e+04 4.3181840000e+04 1.0497340000e+04 5.0096360000e+04 1.9086666667e+01 5.0077273333e+04

 

rrdtool dump cluster.rrd > cluster.xml 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
<!-- Round Robin Database Dump --><rrd> <version> 0003 </version>
        <step> 10 </step> <!-- Seconds -->
        <lastupdate> 1351656486 </lastupdate> <!-- 2012-10-31 13:08:06 KST -->

        <ds>
                <name> storage_total </name>
                <type> GAUGE </type>
                <minimal_heartbeat> 30 </minimal_heartbeat>
                <min> NaN </min>
                <max> NaN </max>

                <!-- PDP Status -->
                <last_ds> 50396000000 </last_ds>
                <value> 3.0237600000e+11 </value>
                <unknown_sec> 0 </unknown_sec>
        </ds>
                                        ...................

 

 

참고 사이트 :

http://oss.oetiker.ch/rrdtool/doc/rrdfetch.en.html

 

링크 :

전체적 정리 - http://blog.syszone.co.kr/590

rrd4j(rrd Java Library document) - http://rrd4j.googlecode.com/svn/trunk/javadoc/reference/org/rrd4j/core/package-summary.html

 

rrdturorial 번역? :

http://blog.naver.com/PostView.nhn?blogId=monovision&logNo=140054589924&parentCategoryNo=2&viewDate=&currentPage=1&listtype=0

posted by cozyboy
:
학습자료/tools 2012. 10. 17. 11:03

[첨부파일] : Naios_basic.pdf

목차는 다음과 같다. nagios site에 제공되는 문서를 기반으로 정리, 설치, 운용 해보았다. 한마디로 nagios 문서를 번역, 요약 하며 실습 해보았다.

모니터링 툴에 필요한 기본적인 운용이 가능하다. 로컬과 리모트 서버의 모니터링이 가능하며, 알림기능이 가능하다.

리눅스/윈도우 모두 가능하며 가장 중요한 점은 open sorce project이다.

selinux, 방화벽 모두 off 한후 테스트 하였다. 그것에 대한 내용은 이문서에 없음. nagios site 참고(잘 설명해줌)


실습 : 64bit fedora 16(virture box 사용함) 

1 개요
2 정리 개요 및 순서
3 nagios 설치
4 nrpe 설치
5 nrpe Customizing Configuraton
6 nsca 설치
7 NSCA Sample script(passive_check)
 
8 Nagios api 조사
9 nagios rest api
....... 
12 관련 페이지
13 HA 관련 페이지
 

목차 8,9는 굳이 하지 않아도 된다. 조사 페이지이며 필요하다면 관련 자료가 있다는 정도 일뿐.

하지만 목차 13 HA는 그닥 도움이 되지 않을 것 이다. nagios에서 추후 ha관련 모듈을 만든다는 내용, 혹은 ha스럽게 운용할 수 있는 구조, 리눅스 ha를 사용하는 법 정도가 링크되어 있다.

 

 

nagios site에 보면 nigios 설치, core 구조, 운용법, 세팅법 모든 것들이 잘 적혀 있다. 하지만!! 영어.. 그것들은 전부 보며 해석 비스므리하게 해둔 문서가 있지만.. 전부 다 하기엔 너무 많다. 오 육백 페이지가 넘는.. 그래서 필요 한 부분만 정리했음.

추 후 update.

 

posted by cozyboy
: