Ceph 가상 계정 생성후 pool 할당 해주기

리눅스/Ceph|2016. 8. 2. 09:15
반응형

(ceph node 에서)

 

# su - cephuser

 

$ cd ~/ceph

 

$ ceph-authtool ceph.client.sysdocu.keyring --create-keyring --name client.sysdocu --gen-key --set-uid 458 --cap mon 'allow profile simple-rados-client' --cap osd 'allow rwx pool=sysdocu-pool'

// ceph.client.sysdocu.keyring : 계정 정보를 출력한 파일 (아래 명령으로 서버에 인식 시킨 후, 삭제해도 됨)

// sysdocu : 사용자명

// --set-uid 458 형식의 옵션으로 사용자 번호를 매기면, 추후 계정 생성 순서를 알 수 있게 됩니다. (생략 가능)

// [참고] 사용중인 계정 정보 (사용자명, key, 권한) 출력 : $ ceph auth list

$ ceph auth import --in-file ceph.client.sysdocu.keyring

// 생성된 사용자와 키 파일을 서버에 인식시키는 절차입니다. 명령 이후에 파일을 삭제해도 됩니다.

 

$ ceph auth get client.sysdocu

// 시스템에 잘 들어갔는지 정보 출력해 봅니다.

 

ceph osd pool create sysdocu-pool 128 128

// (의미) ceph osd pool create {pool-name} {pg-num} {pgp-num}

// 설명 계속...

기본 pg_num 을 정하는 기준은 아래를 권장합니다.

 

osd 가 5개 미만일 경우 pg_num 128,

5~10 개는 pg_num 512,

10~50 개는 pg_num 4096 이 적절 합니다.

50개 이상은 pgcalc 계산을 참조하여 설정하면 됩니다.

 

현재 테스트 문서에서는 osd 가 2개 이므로 pg_num 128 로 설정하여 진행합니다.

 

ceph osd pool set-quota sysdocu-pool max_bytes 100M

// 참고 : 용량 1G 를 줄 경우 $((1024 * 1024 * 1024)) 이렇게 계산식으로 정확하게 입력이 가능합니다.

 

$ rados put --pool sysdocu-pool GROUP /etc/group

// 왜 있는지 모름... 테스트 할때는 없어도 됐음. 추후 삭제 예정..

 

생성된 사용자 keyring 파일과 ceph 설정 파일을 client 서버로 복사합니다.

// 잠깐!

아래 두 개의 파일을 client 에게 전송시 client 가 rbd pool 및 image 를 생성하거나 용량을 늘려 사용이 가능하므로

client 에게 마운트 권한만 부여하려면 아래 두 줄을 생략하도록 합니다. (아래 계속 설명)

 

$ scp ceph.client.sysdocu.keyring root@ceph-client:/etc/ceph/

 

$ scp ceph.conf root@ceph-client:/etc/ceph/

 

 

pool 내에 image 생성하기

 

$ rbd --pool sysdocu-pool create --size 100M vda --image-feature layering

 

$ rbd --pool sysdocu-pool info vda

 

 

 

(ceph-client 에서)

 

# cd /etc/ceph/

 

# rbd --name client.sysdocu --keyring ceph.client.sysdocu.keyring --pool sysdocu-pool map vda

// 보안상 두 개의 파일을 가져오지 않았다면, 아래 '참고' 부분 맨 마지막 명령줄을 사용하면 됩니다.

// 사용자 계정 및 key 확인 명령 : (ceph node 에서) $ 

ceph auth list

 

mkfs -t xfs -f /dev/rbd0

 

# mkdir /data

 

# mount /dev/rbd0 /data

 

# df -h

 
Filesystem      Size  Used Avail Use% Mounted on
udev            982M     0  982M   0% /dev
tmpfs           201M  3.3M  197M   2% /run
/dev/sda1       7.8G  2.0G  5.4G  28% /
tmpfs          1001M     0 1001M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs          1001M     0 1001M   0% /sys/fs/cgroup
tmpfs           100K     0  100K   0% /run/lxcfs/controllers
tmpfs           201M     0  201M   0% /run/user/0
/dev/rbd0        94M  5.0M   89M   6% /data

 

 

* 참고

실 서비스에서는 client 가 admin keyring 파일이나 다른 client keyring 파일을 가지고 있으면, (id 와 key를 안다면)

rbd 명령을 통해 pool 을 생성한다던지, pool 사이즈를 마음대로 늘릴 수 있게 됩니다.

이를 방지하려면 ceph node 에서 ceph-client 에 전송했던 keyring 파일은 삭제를 하고, rbd 명령으로 마운트할때 아래와 같이 옵션으로 key 를 사용하도록 합니다. 그리고 명령줄은 쉘스크립트로 만들어 암호화(바이러니) 시키면 됩니다.

 

예) rbd --name client.sysdocu --key CRXJ3UxEBAAFxLI1hMRop6AVLa3wr6ruQ== --pool sysdocu-pool info vda

 

한 client 서버에 ceph.conf 까지 보관하지 않으려면 아래 옵션을 추가 하면 됩니다.

 

예) rbd --mon_host 192.168.10.2 --name client.sysdocu --key CRXJ3UxEBAAFxLI1hMRop6AVLa3wr6ruQ== --pool sysdocu-pool info vda

 

여기에 한가지 팁을 붙이자면, mapping 할때 화면에 conf 파일 및 keyring 파일이 없다는 로그가 출력되므로, 아래와 같은 옵션을 주어 출력이 되지 않도록 할 수 있습니다.

 

예) rbd --mon_host 192.168.10.2 --conf /dev/null --keyring /dev/null --name client.sysdocu --key CRXJ3UxEBAAFxLI1hMRop6AVLa3wr6ruQ== --pool sysdocu-pool info vda

 

 

[원문] http://dachary.org/?p=2930

[수정] sysdocu

 

반응형

댓글()

Ceph Document URL

리눅스/Ceph|2016. 7. 26. 16:27
반응형

http://ceph-doc.readthedocs.io/en/latest/

반응형

댓글()

DHCP 설치

리눅스/Network|2016. 7. 22. 06:40
반응형

DHCP [Dynamic Host Configuration Protocol]
 - IP 할당을 요청하는 클라이언트에게 자동으로 IP를 할당해주는 프로토콜

1. DHCP 설치 (yum install -y dhcp)

 


2. Dhcpd.conf 생성
  가. 기본설치시 /etc/dhcp.conf에 아무 내용이 없으므로 샘플 설정파일을 복사
  나. cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

3. Dhcpd.conf 파일 수정
  가. vi /etc/dhcpd/conf


   1) subnet x.x.x.x netmask x.x.x.x : 내부 IP 대역 범위 지정
   2) option routers 0.0.0.0; option subnet-mask 0.0.0.0; : DHCP 서버의 IP, 서브넷마스크 설정
   3) option domain-name "도메인"; option~ 네임서버IP, 보조네임서버IP;
       : 클라이언트에게 자동으로 지정할 네임서버 설정
   4) range dynamic-bootp x.x.x.x x.x.x.x;   :  동적으로 할당할 IP 주소 범위
   5) host ns ~     :  고정 IP를 할당 할 때 사용

4. 방화벽 추가
  -A INPUT -m state --state NEW -m udp -p udp --dport 67:68 -j ACCEPT

5. 실행
  service iptables restart
  service dhcpd restart


[출처] http://gntpapa.tistory.com/entry/CentOS-2


반응형

댓글()

[Ceph 에러] rbd: sysfs write failed rbd: map failed: (6) No such device or address

리눅스/Ceph|2016. 7. 19. 12:51
반응형

# rbd create client01/vm_disk01 --size 4096


# rbd list client01

vm_disk01


# rbd info client01/vm_disk01

rbd image 'vm_disk01':

size 4096 MB in 1024 objects

order 22 (4096 kB objects)

block_name_prefix: rbd_data.10282ae8944a

format: 2

features: layering, exclusive-lock, object-map, fast-diff, deep-flatten

flags: 


root@ceph:~# rbd map client01/vm_disk01

rbd: sysfs write failed

rbd: map failed: (6) No such device or address


root@ceph:~# rbd create client01/vm_disk02 --size 2G --image-feature layering


root@ceph:~# rbd info client01/vm_disk02

rbd image 'vm_disk02':

size 2048 MB in 512 objects

order 22 (4096 kB objects)

block_name_prefix: rbd_data.10322ae8944a

format: 2

features: layering

flags: 


root@ceph:~# rbd map client01/vm_disk02

/dev/rbd0


반응형

댓글()

Ceph pool 생성, client 마운트, 볼륨 크기 조절, pool 삭제, 이름변경, 복제, image 삭제

리눅스/Ceph|2016. 7. 19. 11:53
반응형

1. 볼륨 스토리지 나누기


(ceph node 에서)

(root 계정으로 진행)


호스팅사에서 서비스 구성시 위와 같이 통파티션을 제공해 줄 수는 없으므로, 블록단위로 용량을 쪼개서

각 Client Server 들에게 제공할 필요가 있습니다.


블록을 생성하고 용량을 지정하는 방법은 아래와 같습니다.


(현재 생성된  pool 확인)

# ceph osd lspools

0 rbd,

(쉽게보기)

# ceph osd lspools |sed -e 's/,/\n/g'


# ceph osd pool create client01 128 128

(의미) ceph osd pool create {pool-name} {pg-num} {pgp-num}


기본 pg_num 을 정하는 기준은 아래를 권장합니다.


osd 가 5개 미만일 경우 pg_num 128,

5~10 개는 pg_num 512,

10~50 개는 pg_num 4096 이 적절 합니다.

50개 이상은 pgcalc 계산을 참조하여 설정하면 됩니다.


현재 테스트 문서에서는 osd 가 2개 이므로 pg_num 128 로 설정하여 진행합니다.


# ceph osd pool set-quota client01 max_bytes 4G    // pool 용량 제한

# rbd create client01/vm_disk01 --size 4G --image-feature layering    // volume 을 1개만 생성한다면 최대용량 설정

# ceph osd pool get-quota client01    // 용량 제한 확인


* 참고

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

풀 안에 볼륨 확인

# rbd list client01


볼륨 정보 보기

# rbd info client01/vm_disk01

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


아래 박스 안의 명령은 ceph-node 에서 해도 되고, ceph-client 에서 해도 됩니다.

ceph-client 에서 할 경우 ceph-node 에서 아래와 같은 명령이 선수행 되어야 합니다.


* ceph-node 에서 수행시

   - 장점 : 관리자가 용량을 정해줄수 있음

   - 단점 : client 에게 서비스 하기 위해 nfs, samba, iscsi 같은 데몬이 추가로 필요함

* ceph-client 에서 수행시

   - 장점 : client 에서 직접 스토리지 용량 일정양을 mount 해서 이용이 가능함

   - 단점 : client 가 용량 증설, 다른 client 의 pool 을 mount 할 수 있음


(ceph-node)

# su - cephuser

$ cd ceph

$ ssh-copy-id cephuser@ceph-client

$ ceph-deploy install ceph-client

$ ceph-deploy admin ceph-client


(ceph-client)


로컬 맵 생성

# rbd map client01/vm_disk01    // client 서버를 리부팅 했다면 이 명령을 수행해야 이용할 준비가 되고,


로컬 맵 확인 (맵 생성 후 확인가능)

# rbd showmapped

id pool     image     snap device    

0  client01 vm_disk01 -    /dev/rbd0


파일시스템 생성 및 마운트

# mkfs -t xfs -f /dev/rbd0

# mkdir /data

# mount /dev/rbd0 /data    // client 서버를 리부팅 했다면 map 수행후 mount 를 해야 합니다.


여기까지하면 df -h 명령으로 ceph node 에 4G 파티션이 디렉토리로 마운트된것이 확인됩니다.

/dev/rbd0       4.0G   33M  4.0G   1% /data




2. 볼륨 크기 조절


1) 증가


(기존 4G에서 8G로 늘리기) ★사용하던 데이타는 그대로 보존됩니다.


(ceph node 에서)

$ ceph osd pool set-quota client01 max_bytes 8G    // 본 명령을 생략하면 늘어난 용량이 꽉찰 경우 '용량 제한' 메세지 없이 콘솔이 먹통 됩니다.

$ rbd resize client01/vm_disk01 --size 8G    // 실제 사용가능한 용량을 늘려주는 부분


(ceph-client 에서)

# xfs_growfs /data


df -h 명령으로 증가된것 확인

/dev/rbd0        8G   34M   8G   1% /data



/etc/fstab 파일을 설정하여 부팅시 자동 마운트되게 합니다.

/dev/rbd0 /data xfs defaults,noatime,netdev 0 0


고객이 마운트하여 사용할수 있게 umount /data 다시 실행..

(이부분은 ceph node 에서 마운트 해놓는건지, umount 상태로 놔두는지 확인해봐야함)


2) 축소


볼륨 크기 축소 (기존 8G에서 4G로 축소) 시에, 반드시 --allow-shrink 옵션을 주어야 합니다.


# rbd resize client01/vm_disk01 --size 4G --allow-shrink

# xfs_growfs /data


5G 데이타 사용중 볼륨을 8G 에서 4G 로 줄일 경우, 데이타는 손실없이 존재하며 더 이상 쓰기가 되지 않습니다.

실 데이타 삭제시 최대 한도도 같이 4G 까지 줄어듭니다. (좀 더 확인 필요)



3. pool 삭제


pool 삭제시 그 안에 생성한 여러 volume들은 함께 삭제가 됩니다.


# ceph osd pool delete {pool-name} {pool-name} --yes-i-really-really-mean-it


이와 같이 실수로 삭제하는것을 방지하기 위하여 pool 이름을 두 번 씁니다.

또한 명령을 인지하고 있다는 옵션(문장)도 적어줘야 합니다.


[이미지만 삭제하려는 경우]

# rbd rm {pool-name}/{image-name}

스냅샷이 존재해서 삭제가 되지 않는 이미지는 아래처럼 스냅샷을 모두 제거 후 삭제시도를 합니다.

# rbd --pool {pool-name} snap purge {image-name}



4. pool 이름 변경


# ceph osd pool rename {current-pool-name} {new-pool-name}



5. pool 복제


# rados cppool {current-pool-name} {new-pool-name}



반응형

댓글()

Ceph osd node 추가 및 제거

리눅스/Ceph|2016. 7. 19. 11:46
반응형

디스크 용량이 부족하여 osd 를 추가로 연결하고자 할때 아래와 같은 명령을 통해 사용이 가능합니다.



(추가 전)


$ ceph -s |grep osdmap

     sdmap e66: 2 osds: 2 up, 2 in; 32 remapped pgs


$ ceph osd tree

ID WEIGHT  TYPE NAME     UP/DOWN REWEIGHT PRIMARY-AFFINITY 

-1 0.00980 root default                                    

-2 0.00980     host ceph                                   

 0 0.00490         osd.0      up  1.00000          1.00000 

 1 0.00490         osd.1      up  1.00000          1.00000 




1. 추가


(ceph node 에서)


# vi /etc/hosts

192.168.56.15    osd-3    // 추가하려는 osd 의 호스트 추가


# su - cephuser


$ cd ceph


$ ssh-copy-id cephuser@osd-3    // osd-3 에 cephuser 계정이 있다는 전제하에 진행합니다.


$ ceph-deploy install osd-3


$ ceph-deploy admin osd-3


$ ceph-deploy disk zap osd-3:sdb


$ ceph-deploy osd prepare osd-3:sdb


$ ceph-deploy osd activate osd-3:sdb1



(추가 후)

$ ceph -s |grep osdmap

     osdmap e71: 3 osds: 3 up, 3 in; 74 remapped pgs


$ ceph osd tree
ID WEIGHT  TYPE NAME     UP/DOWN REWEIGHT PRIMARY-AFFINITY 
-1 0.01469 root default                                    
-2 0.01469     host ceph                                   
 0 0.00490         osd.0      up  1.00000          1.00000 
 1 0.00490         osd.1      up  1.00000          1.00000 
 2 0.00490         osd.2      up  1.00000          1.00000 



2. 제거


순서를 반드시 지켜야 정상적으로 제거할 수 있습니다.


$ ceph osd out osd.2    // REWEIGHT 값을 0 으로 변경

marked out osd.2. 


$ ceph osd down osd.2    // UP/DOWN 값을 down 으로 변경
marked down osd.2.


$ ceph osd tree

ID WEIGHT  TYPE NAME     UP/DOWN REWEIGHT PRIMARY-AFFINITY 

-1 0.00980 root default                                    

-2 0.00980     host ceph                                   

 0 0.00490         osd.0      up  1.00000          1.00000 

 1 0.00490         osd.1      up  1.00000          1.00000 

 2       0 osd.2            down        0          1.00000


$ ceph osd rm osd.2    // osd.2 서버를 사용 리스트에서 제외

removed osd.2


$ ceph osd tree

ID WEIGHT  TYPE NAME     UP/DOWN REWEIGHT PRIMARY-AFFINITY 

-1 0.00980 root default                                    

-2 0.00980     host ceph                                   

 0 0.00490         osd.0      up  1.00000          1.00000 

 1 0.00490         osd.1      up  1.00000          1.00000 

// 이 자리에 있던 osd.2 가 사라진 것을 볼 수 있습니다.

혹시라도 ceph osd tree 명령으로 출력되는 결과에 'DNE’ 상태로 표시된다면 (DNE = do not exists)
아래와 같은 명령으로 깔끔히 지워줄 수 있습니다.

$ ceph osd crush remove osd.2

removed item id 2 name 'osd.2' from crush map



반응형

댓글()

Ceph 10.2.0 설치 on Ubuntu (jewel 버전)

리눅스/Ceph|2016. 7. 19. 11:31
반응형

구축 환경


- Ceph node : 1대 (VM / RAM 2G / OS HDD 10G)

- OSD node : 2대 (VM / RAM 2G / OS HDD 10G, 데이타 저장용 10G)

   > 데이타 저장용 HDD는 스토리지의 경우 RAID로 묶어 사용해야 합니다. 절대로 LVM으로 묶으면 안됩니다.

- OS 는 모두 Ubuntu 16.04 LTS (64bit / Server) 버전으로 설치하였습니다.

- Ceph 의 버전은 10.2.0 (jewel) 입니다.

- Openstack과 연동 되는 부분은 제외하였으며, Ceph 스토리지를 구축하는 방법만 기술하였습니다.




1. OS 설치


(모든 node 동일)


1) 파티션


    - 자동 파티션으로 설치

    - LVM 사용안함 (중요)


2) 호스트 이름


    ceph node의 호스트네임은 ceph로 합니다. (정해진 규칙은 아님)

    첫번째 osd node의 호스트네임은 osd-1,

    두번째 OSD node의 호스트네임은 osd-2 으로 합니다.


3) 패키지 설치


    기본 선택된 'standard system utilities' 외에 'OpenSSH server' 를 추가하고 설치를 진행합니다.




2. OS 환경 설정


(모든 node 동일)


1) root의 ssh 원격접속 허용


# sudo passwd root    // sudo su - 전 후 상관없이 패스워드 설정 반드시 해주어야 원격접속이 가능함 / passwd 아니고 passwd root

> 현재 사용자 및 root 패스워드 입력


# sudo su -


# vi /etc/ssh/sshd_config

기존 : PermitRootLogin prohibit-password

변경 : PermitRootLogin yes


그리고 ssh 데몬을 재시작하여 설정값을 적용해줍니다.


# /etc/init.d/ssh restart


2) 네트워크  설정


테스트 VM을 서로 묶기 위해서 서버마다 두 개의 네트워크를 설정 설정합니다.


# vi /etc/network/interfaces


eth0 (dhcp)

eth1 (static)

- ceph node의 경우 : 192.168.56.11

- osd-1 node의 경우 : 192.168.56.12

- osd-2 node의 경우 : 192.168.56.13


(ceph node 예)

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

source /etc/network/interfaces.d/*


auto lo

iface lo inet loopback


auto eth0

iface eth0 inet dhcp


auto eth1

iface eth1 inet static

address 192.168.56.11

netmask 255.255.255.0

gateway 192.168.56.1


dns-nameservers 164.124.101.2

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


네트워크 설정 값 적용을 위해 networking 을 재시작 합니다.


# /etc/init.d/networking restart


재시작중 failed 메세지가 보여도 ssh 접속과, 외부로 ping 8.8.8.8 이 되면 문제 없다고 봐도 됩니다.

앞으로 수월한 작업을 위해 VM콘솔창이 아닌 ssh client 프로그램으로 ssh 접속하여 작업을 진행하도록 합니다.


* 참고

VM 환경 서버는 추후 리부팅 작업을 할때 networking 이 되지 않는 경우가 발생하면

/etc/init.d/networking restart 를 해주어 해결이 가능합니다.


3) hosts 설정


# vi /etc/hosts

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

192.168.56.11 ceph

192.168.56.12 osd-1

192.168.56.13 osd-2

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


4) OS 패키지 업데이트


# apt-get update

# apt-get -y dist-upgrade


* 참고

업데이트가 되지 않을 경우 확인사항

- /etc/init.d/networking 재시작 해보기

- rm -rf /var/lib/apt/lists/* 이후 다시 해보기


5) ceph 설치


# apt-get -y install ceph-common ceph-deploy ceph-mds


버전 확인

# ceph -v

ceph version 10.2.0 (3a9fba20ec743699b69bd0181dd6c54dc01c64b9)


6) 방화벽 설정


ceph node : TCP 6789 Open

osd-1, osd-2 node : TCP 6800:7100 Open


7) ceph 계정 생성


# useradd -d /home/cephuser -m cephuser

# passwd cephuser

# echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser

# chmod 0440 /etc/sudoers.d/cephuser


8) 인증키 생성 및 복사


(ceph node)

인증키 생성은 ceph 마스터 서버에서만 합니다.

앞으로의 작업은 cephuser 로 계정을 전환하여 진행합니다.


사용자 전환

# su - cephuser


키 생성

$ ssh-keygen


각 노드로 ssh key 전송

$ ssh-copy-id cephuser@osd-1

$ ssh-copy-id cephuser@osd-2




3. 설정


(ceph node 에서만 실행)


1) 기본 설정


ceph 관리 서버에서만 진행합니다.


$ mkdir ceph

$ cd ceph

$ ceph-deploy new ceph    // ceph 호스트 서버를 모니터 서버로 활용하겠다는 뜻

$ vi ceph.conf


마지막줄에 추가

osd pool default size = 2    // raid 5 의 형태. osd 서버가 두개 깨지면 문제가 됌. 값을 3으로 주면 3개 깨질때 문제가 됌.

[client]

rbd_cache = false    // 마스터에서 동일 image 를 map, mount 하고 해제할때 캐시를 저장하지 않음으로써

                                  추후 해당 image 를 map, mount 했을때 그동안 client 가 변경한 데이타가 보이게 됩니다.

                                  아직 현 버전에서는 journaling 외에 실제 사용량을 확일할 방법이 없으므로 이렇게 봐야합니다.

                                   (주의 : 마스터에서 client 이미지를 마운트하고 보게되면 그 안에 데이타를 쓰지 말것.

                                             쓰게되는경우 별도의 이미지로 분리되어 client 데이타가 변경되어도 못 봄)

                                  나중에 추가했다면, 아래 '설정 파일 배포' 처럼 --overwrite-conf 옵션과 함께 ceph 및 각 osd 로 

                                  배포하도록 합니다.


각 osd 노드에 ceph 설치

$ ceph-deploy install ceph osd-1 osd-2


모니터링 및 공유키 초기 설정

$ ceph-deploy mon create-initial    // 실행시 모니터 서버의 포트가 열리고, (tcp 6789)


위와 같이 실행하면 모니터 노드 (ceph node) 에서 netstat -nltp 했을때 :6789 포트 열린것이 확인됩니다.

그리고 아래와 같은 파일이 생성됩니다.


ceph.bootstrap-mds.keyring

ceph.bootstrap-osd.keyring

ceph.bootstrap-rgw.keyring

ceph.client.admin.keyring


그리고 최신버전에서는 아래 두 줄 추가해주세요. (어디에 사용되는지 나중에 알아볼것)


$ ceph-deploy mon create ceph

$ ceph-deploy gatherkeys ceph


2) 스토리지 클러스터 설정


선택 디스크 파티션 삭제, xfs 포맷 (데이타가 삭제되니 주의하세요.)

$ ceph-deploy disk zap osd-1:sdb osd-2:sdb    // 호스트:장치명

$ ceph-deploy osd prepare osd-1:sdb osd-2:sdb       // 호스트:장치명

$ ceph-deploy osd activate osd-1:sdb1 osd-2:sdb1    // 호스트:파티션명    // 실행시 osd 서버의 포트가 열림


설정 파일 배포

$ ceph-deploy admin ceph osd-1 osd-2

$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring


3) 상태 확인


모니터 노드(ceph node)에서 상태 확인이 가능합니다.


$ ceph health

결과는 HEALTH_OK 라고 떠야합니다.

만약 Warning이 뜨면 몇 분정도 기다렸다가 다시 명령어를 내려보거나 그래도 안되면 서비스 데몬을 재시작 해봅니다.

Warning 메세지는 디스크 남은양이 적을 때에도 뜰 수 있으므로, /etc/ceph/ceph.log 파일을 확인하여 어떤 문제인지 확실히 알아봐야 합니다.


$ ceph pg stat

v22: 64 pgs: 64 active+clean; 0 bytes data, 68864 kB used, 10150 MB / 10217 MB avail


$ ceph osd tree

ID WEIGHT  TYPE NAME      UP/DOWN REWEIGHT PRIMARY-AFFINITY 

-1 0.00980 root default                                     

-2 0.00490     host osd-1                                   

 0 0.00490         osd.0       up  1.00000          1.00000 

-3 0.00490     host osd-2                                   

 1 0.00490         osd.1       up  1.00000          1.00000


* 참고

로그 파일 : /var/log/ceph/ceph.log


ceph node 를 메타데이타서버로 지정합니다.

(디렉토리를 다수 생성하여 사용자에게 하나씩 마운트 할 수 있게 할때 필수. 그 외 없어도 됨)


$ ceph-deploy mds create ceph    // 실행을 해야 client 에서 mount 가 가능해지며, 포트가 열립니다. (tcp 6800)




4. 삭제


설정을 하지 않은 최초의 상태로 돌아가는 방법 입니다. (초기화)


처음부터 다시 구성을 하려면 아래와 같이 명령을 내립니다.


(ceph node 에서만)


1) 패키지 삭제


$ ceph-deploy purge ceph osd-1 osd-2


2) 설정 정보 삭제


$ ceph-deploy purgedata ceph osd-1 osd-2

$ ceph-deploy forgetkeys

$ rm -f ~/.cephdeploy.conf

$ rm -f ~/ceph/*


3) 각 osd 데이타 삭제


(osd-1)

# rm -rf /var/lib/ceph/osd/ceph-1/*

(osd-2)

# rm -rf /var/lib/ceph/osd/ceph-2/*


4) 데몬 강제 종료


모니터 노드 데몬을 강제 종료합니다.

# ps -ef |grep ceph  (pid값 확인후)

# kill -9 [pid]



반응형

댓글()

ubuntu apt-get 에러

리눅스/OS 일반|2016. 7. 5. 13:21
반응형

[에러]

Some index files failed to download. They have been ignored, or old ones used instead.



[해결]

sudo rm -rf /var/lib/apt/lists/*


반응형

댓글()

yum epel 저장소 추가 (많은 패키지 설치 가능)

리눅스/OS 일반|2016. 6. 30. 11:22
반응형

 

EPEL (Extra Packages for Enterprise Linux)

엔터프라이즈 리눅스를 위한 추가패키지

페도라팀에서 제공해주는 고품질 오픈소스를 위한 커뮤니티 저장소

저장소를 추가한 이후 YUM 명령어로 간단히 설치가 가능

 

 

저장소 추가하기


 

  

OS가 설치된 이후에 사용자들은 패키지를 설치하기 위해 아래 명령어로 인스톨을 한다.

$ yum install 패키지이름

 

간혹 패키지가 없다고 나오는 경우 패키지 사이트로 찾아가서 소스를 다운받아서 설치를 하는데

EPEL 저장소를 지정해놓으면 yum 명령시에 EPEL 저장소도 같이 검색을 하여 패키지가 존재하면 설치를 한다.

 

리눅스 서버의 기본저장소를 검색해보자

$ yum repolist (입력)

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.navercorp.com
* extras: mirror.navercorp.com
* rpmforge: ftp.neowiz.com
* updates: mirror.navercorp.com
repo id repo name status
base CentOS-6 - Base 6,575
extras CentOS-6 - Extras 62
rpmforge RHEL 6 - RPMforge.net - dag 4,718
updates CentOS-6 - Updates 1,582
repolist: 12,937

 

epel 저장소 활성화 하기

$ yum install epel-release.noarch  

 

다시 저장소를 확인해보면 아래와 같이 추가된것을 볼수 있다.

$ yum repolist (입력)

Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
epel/metalink | 4.6 kB 00:00 
* base: mirror.navercorp.com
* epel: mirror.premi.st
* extras: mirror.navercorp.com
* rpmforge: ftp.neowiz.com
* updates: mirror.navercorp.com
epel | 4.3 kB 00:00 
epel/primary_db | 5.9 MB 00:00 
repo id repo name status
base CentOS-6 - Base 6,575
epel Extra Packages for Enterprise Linux 6 - x86_64 12,238
extras CentOS-6 - Extras 62
rpmforge RHEL 6 - RPMforge.net - dag 4,718
updates CentOS-6 - Updates 1,582
repolist: 25,175 

 

기본 저장소만을 사용할 경우 필요한 패키지를 일일히 찾거나 소스컴파일을 하는 불편함이 있으나

epel 저장소를 함께 사용할 경우에는 번거로움을 줄여줄 수 있다.



[작성] 김진현

반응형

'리눅스 > OS 일반' 카테고리의 다른 글

openssl 로 random 하게 난수 생성  (0) 2016.08.03
ubuntu apt-get 에러  (0) 2016.07.05
lsyncd 설정  (0) 2016.04.25
Darwin Streaming Server 6.0.3 설치 (스트리밍 서버)  (0) 2016.04.12
VirtualBox 디스크 용량 늘리기(LINUX)  (0) 2016.03.29

댓글()

AfterLogic Webmail Lite 설치 (작성중)

리눅스/Mail|2016. 5. 19. 17:52
반응형

내용....


계정은 시스템 계정을 사용합니다.

dovecot 사용자라면 아래와 같이 설정파일을 수정한 후에, 로그인할때 'userid@domain' 형식으로 로그인하면 됩니다.


# vi /etc/dovecot/conf.d/10-auth.conf

auth_username_format = %Ln 



반응형

댓글()

mod_perl + apache2 연동

리눅스/APACHE|2016. 4. 27. 15:38
반응형

mod_perl 2.0.4 받아서 설치한다.
다운로드는 http://apache.perl.org/download/index.html

# tar -xvzf mod_perl-2.x.xx.tar.gz
# cd modperl-2.0
# perl Makefile.PL MP_APXS=$HOME/httpd/prefork/bin/apxs
# make && make test && make install


httpd.conf 수정

LoadModule perl_module modules/mod_perl.so


vhosts.conf 수정

  <Location /사용하고자하는 디렉토리>
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options ExecCGI
    allow from all
    PerlSendHeader On
  </Location>


전체 설정에서 pl 파일 만 적용하고 싶다면...

  <Directory /home/>
    <FilesMatch "\.(pl)$">
    SetHandler perl-script
    PerlResponseHandler ModPerl::Registry
    Options ExecCGI
    allow from all
    PerlSendHeader On
    </FilesMatch>
  </Directory>




[출처] http://onlybible.tistory.com/1650

반응형

댓글()