arthurd2

Instalação CEPH

Oct 19th, 2017
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 5.64 KB | None | 0 0
  1. ############# FASE 0 - FEITO NA VM
  2. # Puxar a VM de http://vmubuntu.setic.ufsc.br
  3. # Extrair e identificar o arquivo .VDI
  4. # Importar a VM no VirtualBox com:
  5. ## Use an existing virtual hard disk -> VDI extraido
  6. ## 4GB de RAM
  7. ## Um HD extra de 10GB
  8. ## Rede como Bridge (Settings > Network > Attached To > Bridged Adapter)
  9.  
  10. # Credencial padrao -  osboxes / osboxes.org
  11. # Mudar a senha de root para cephserver
  12. sudo su -
  13. passwd
  14.  
  15. # Instalar pacotes basicos
  16. apt install -y ssh vim
  17. echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
  18.  
  19. # Em /etc/cloud/cloud.cfg , mudar preserve_hostname: para True
  20. echo date > /etc/machine-id
  21. reboot
  22.  
  23. # Instalar Pacotes
  24. wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
  25. echo deb http://download.ceph.com/debian-mimic/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
  26. apt update
  27. apt install ceph-deploy ceph
  28.  
  29. ############# FASE 1 - Criar o MON1
  30. # Mudar o conteudos do /etc/hostname para o nome da maquina (mon1, osd1, osd2, osd3, etc)
  31. hostnamectl set-hostname NOME
  32.  
  33. # Identificar os IPs dos servidores ( ifconfig|grep 150.162 ) e adicionar no /etc/hosts
  34. 150.162.x.y mon1 mds1
  35. 150.162.x.y osd1
  36. 150.162.x.y osd2
  37. 150.162.x.y osd3
  38.  
  39. # Troca de chaves
  40. # No keygen, basta ir dando ENTER
  41. ssh-keygen
  42. ssh-copy-id root@mon1
  43. ssh-copy-id root@osd1
  44. ssh-copy-id root@osd2
  45. ssh-copy-id root@osd3
  46.  
  47. # Testar se a Troca de chaves funcionou:
  48. # O seguinte comando não deve pedir senha
  49. ssh root@mon1 hostname
  50. ssh root@osd1 hostname
  51. ssh root@osd2 hostname
  52. ssh root@osd3 hostname
  53.  
  54. ### Configurações iniciais do cluster
  55. cd /etc/ceph
  56. ceph-deploy new mon1 --public-network  '150.162.X.0/24'
  57. ceph-deploy install mon1
  58. ceph-deploy mon create-initial
  59. ceph-deploy mon create mon1
  60.  
  61. ### testar se o Mon esta correto:
  62. ceph -s
  63. # Aparecerá algo assim
  64.   cluster:
  65.     id:     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  66.     health: HEALTH_OK
  67.  
  68.   services:
  69.     mon: 1 daemons, quorum mon1
  70.     mgr: no daemons active
  71.     osd: 0 osds: 0 up, 0 in
  72.  
  73.   data:
  74.     pools:   0 pools, 0 pgs
  75.     objects: 0  objects, 0 B
  76.     usage:   0 B used, 0 B / 0 B avail
  77.     pgs:
  78.  
  79.  
  80.  
  81.  
  82.  
  83. ############# FASE 2 - Criar o MGR1
  84. ceph-deploy mgr create mon1
  85. ceph mgr module enable dashboard
  86. ceph config set mgr mgr/dashboard/ssl false
  87. ceph config set mgr mgr/dashboard/mon1/server_port 7000
  88. ceph config set mgr mgr/dashboard/mon1/server_addr ip-do-mon1
  89. ceph dashboard set-login-credentials admin ceph
  90.  
  91. # Adicionar no /etc/ceph/ceph.conf
  92. [mon]
  93. mgr initial modules = dashboard
  94.  
  95. service ceph-mgr@mon1 restart
  96. service ceph-mon@mon1 restart
  97.  
  98. ### Testar se o MGR esta correto:
  99. Acessar no browser http://150.162.x.y:7000
  100.  
  101. ############# FASE 3 - Criar o OSDs
  102. # No MON1 - Executar os comandos abaixo
  103. cd /etc/ceph
  104. ceph-deploy install osd1 osd2 osd3
  105. ceph-deploy admin osd1 osd2 osd3
  106.  
  107. # No OSD1
  108. # Criar uma particao
  109. ceph-volume lvm create --data /dev/sdb
  110.  
  111.  
  112. ###  Criando os Pools Replicados
  113. # No Mon1
  114. ceph osd pool create fr-data 64 64
  115. ceph osd pool create fr-metadata 64 64
  116.  
  117. # Comando de Teste
  118. #ceph osd pool ls
  119. #ceph df
  120. #ceph osd pool get fr-data all
  121. #ceph status
  122.  
  123. #### Fase 4 - Instalar o CEPHFS
  124. # No Mon1
  125. # Instalar o MDS1
  126. ceph-deploy mds create mon1
  127.  
  128. # Criar o Sistema de Arquivos
  129. ceph fs new fs_padrao fr-metadata fr-data
  130.  
  131. # Testar
  132. ceph fs ls
  133. # Deve responder
  134. name: fs_padrao, metadata pool: fr-metadata, data pools: [fr-data ]
  135.  
  136.  
  137. #### Fase 5 - Configurar o Cliente CEPHFS
  138. mkdir /ceph
  139. key=`ceph auth print_key client.admin`
  140. mount -t ceph mon1:6789:/ /ceph/ -o name=admin,secret=$key
  141. df -h | grep ceph
  142.  
  143. ################################################################################################
  144. ################################################################################################
  145. ################################################################################################
  146. ################################################################################################
  147. ################################################################################################
  148. ################################################################################################
  149.  
  150.  
  151. ### Criando as Imagens
  152. rbd create bloco1 --size 1G  -p br-teste --image-format=2
  153. rbd feature -p br-teste disable bloco1 exclusive-lock,object-map,fast-diff,deep-flatten
  154.  
  155. ### Montando a Imagem no MON1
  156. # Adicionar no arquivo /etc/ceph/rbdmap
  157. br-teste/bloco1 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
  158. service rbdmap restart
  159. #ls -lh /dev/rbd/
  160. #mkfs.xfs /dev/rbd/bloco1
  161. #mkdir /ceph
  162. #mount /dev/rbd/bloco1 /ceph
  163. #dd if=/dev/zero of=/ceph/zero.iso bs=1M count=100
  164. #ceph df
  165.  
  166. ### Alterando os Pools
  167. #ceph status
  168. #ceph osd pool get br-teste all
  169. ceph osd pool set br-teste size 2
  170. ceph osd pool set br-teste min_size 1
  171. #ceph status
  172.  
  173. ### Criando os Pools Erasure Code
  174. ceph osd erasure-code-profile set erasure-2-1 ruleset-failure-domain=osd k=2 m=1
  175. ceph osd pool create be-teste 128 128 erasure erasure-2-1
  176.  
  177. ceph osd tier add be-teste br-teste
  178. ceph osd tier cache-mode br-teste writeback
  179. ceph osd tier set-overlay be-teste br-teste
  180.  
  181. #ceph df
  182.  
  183. ### Substituindo HDs
  184. # Executando no HOST!!!
  185. OSD_RUIM=3
  186. DEV=/dev/sdb
  187.  
  188. ceph osd out $OSD_RUIM
  189. while ! ceph osd safe-to-destroy $OSD_RUIM ; sleep 10; echo -n "." ; done ; echo; echo "Pode continuar...";echo
  190. ceph osd destroy $OSD_RUIM --yes-i-really-mean-it
  191. ceph-disk prepare --bluestore $DEV --osd-id $OSD_RUIM
  192.  
  193. ### Editando o Crushmap
  194. # Puxando
  195. ceph osd getcrushmap -o crushmapdump
  196. crushtool -d crushmapdump -o cm-decompilado.tier
  197. vi cm-decompilado.tier
  198.  
  199. # Salvando
  200. crushtool -c cm-decompilado.tier -o cm-compilado.tier
  201. ceph osd setcrushmap -i cm-compilado.tier
Advertisement
Add Comment
Please, Sign In to add comment