Como monte um dos vários sistemas de arquivos em um cluster ceph?

1

O Ceph agora inclui suporte (experimental) para vários sistemas de arquivos em um único cluster de armazenamento; mas as opções de montagem parecem não permitir a especificação de qual sistema de arquivos montar.

Eu configurei dois sistemas de arquivos de teste, cada um com seus próprios mds e backing pools; mas não pode obter um nó cliente para montar os dois; como as opções de montagem especificam apenas um monitor, que é o mesmo para ambos.

root@ws:~# ceph status
cluster 92ed87a5-559c-4b79-90c7-6b381374d431
 health HEALTH_OK
 monmap e7: 1 mons at {mon-jacopo=10.0.1.22:6789/0}
        election epoch 17, quorum 0 mon-jacopo
  fsmap e59: burninatorfs-1/1/1 up mediafs-1/1/1 up {[burninatorfs:0]=mds-jacopo=up:active,[mediafs:0]=mds-media=up:active}
 osdmap e404: 2 osds: 2 up, 2 in
        flags sortbitwise
  pgmap v36088: 288 pgs, 5 pools, 48411 bytes data, 40 objects
        10315 MB used, 5540 GB / 5554 GB avail
             288 active+clean

Não consigo encontrar nenhuma opção para fstab que me permita montar um ceph ou outro. O resultado de qualquer combinação de caminhos de montagem e opções que eu tentei foi uma seleção desconhecida dos dois sistemas de arquivos sendo montados em ambos os pontos.

root@jacopo:/media# cat /etc/fstab | grep ceph
mon-jacopo.burninator.net:/ /media/burninator   ceph        noshare,noatime,_netdev,name=burninator,secret=XXXX==   0 0
mon-jacopo.burninator.net:/ /media/media    ceph        noshare,noatime,_netdev,name=media,secret=YYYY==    0 0

Estranhamente, mesmo quando isolo as permissões para ambos os sistemas de arquivos por diferentes identidades e segredos, elas são montadas como se fossem as mesmas.

client.burninator
    key: XXXX==
    caps: [mds] allow rw
    caps: [mon] allow r
    caps: [osd] allow rw pool=burninatorfs-data,allow rw pool=burninatorfs-metadata
client.media
    key: YYYY==
    caps: [mds] allow rw
    caps: [mon] allow r
    caps: [osd] allow rw pool=mediafs-data,allow rw pool=mediafs-metadata

As alterações são permitidas para qualquer sistema de arquivos que esteja realmente montado (não foi possível determinar isso) - e ambos os pontos de montagem refletem o resultado como se fosse uma montagem de ligação. Tenho certeza que a última parte é um bug, como a conexão do cliente não deve ser compartilhada ( noshare mount option) e as credenciais de montagem só devem ser permitidas para modificar no máximo a montagem que está apontando para o sistema de arquivos 'correto' .

root@jacopo:~# mount | grep ceph
mon-jacopo.burninator.net:/ on /media/burninator type ceph (rw,noatime,name=burninator,secret=<hidden>,noshare,acl,_netdev)
mon-jacopo.burninator.net:/ on /media/media type ceph (rw,noatime,name=media,secret=<hidden>,noshare,acl,_netdev)
root@jacopo:~# cd /media
root@jacopo:/media# find burninator/
burninator/
burninator/foo
root@jacopo:/media# find media/
media/
media/foo
root@jacopo:/media# mkdir media/newdir
root@jacopo:/media# touch media/newdir/1
root@jacopo:/media# touch media/newdir/2
root@jacopo:/media# rm burninator/newdir/1
root@jacopo:/media# find burninator/
burninator/
burninator/newdir
burninator/newdir/2
burninator/foo
root@jacopo:/media# find media/
media/
media/newdir
media/newdir/2
media/foo
root@jacopo:/media# 

Todos os nós estão executando o Ubuntu 16.04 LTS, no ou próximo ao kernel 4.4.0-45-genérico, ceph versão 10.2.2 (45107e21c568dd033c2f0a3107dec8f0b0e58374) instalado pelo ceph-deploy 1.5.32.

    
por rvalue 14.11.2016 / 10:16

1 resposta

3

Ao ler este commit , você pode usar a opção mount mds_namespace .

# mount -t ceph -o mds_namespace=burninatorfs 10.0.0.1:/ /mnt/burninatorfs
# mount -t ceph -o mds_namespace=mediafs 10.0.0.1:/ /mnt/mediafs
    
por 21.03.2017 / 15:48

Tags