Cephfs: Difference between revisions

From Hobbynet Admin Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=doel=  
=doel=  
De shared storage is uit besteed aan bit, hier wat uitleg er voor
De shared storage is uitbesteed aan Bit, hier wat uitleg er voor
= installatie bij hobbynet =
 
Ken een ip toe uit de 2001:7b8:89:0::/64 standaard pakken wij het ipv4 adres van de interne interface en dat plakken we in het ipv6 adres dus 172.31.1.19 wordt 2001:7b8:89:0:172:31:1:19/64.  
= installatie bij Hobbynet =
En er moet route worden toegevoegd voor 2001:7b8:80::/48 naar 2001:7b8:89::1
Ken een IP adres toe uit de reeks 2001:7b8:89:0::/64<br>
je interface ziet er dan zo uit:
Standaard pakken wij het IPv4 adres van de interne interface en dat plakken we in het IPv6 adres, dus 172.31.1.19 wordt 2001:7b8:89:0:172:31:1:19/64. <br>
En er moet een route worden toegevoegd voor 2001:7b8:80::/48 naar 2001:7b8:89::1
 
Je interface ziet er dan zo uit:
         ens224:
         ens224:
             dhcp6: no
             dhcp6: no
             accept-ra: no
             accept-ra: no
             addresses:
             addresses:
             - 2001:7b8:89::456/48
             - 2001:7b8:89:0:172:31:1:19/64
             routes:
             routes:
             - to: 2001:7b8:80::/48
             - to: 2001:7b8:80::/48
Line 15: Line 18:
             critical: true
             critical: true


 
Installeer eerst de Hobbunet cephfs repo en daarna het pakket 'hobby-cephfs'
eerst repo en dan hobby-cephfs
   apt install hobby-cephfs-repo
   apt install hobby-cephfs-repo
   apt install hobby-cephfs
   apt install hobby-cephfs
= fstab =
== read write ==
Een read/write entry ziet er zo uit :
  [2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/site/etc/ssl /disk/site/etc/ssl ceph name=HCCHC-170920-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170920-cephfs.key,noatime,_netdev 0 2
'''1 regel'''
== read only==
Een readonly entry ziet er zo uit :
  [2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/site/etc/ssl/wildcard.hcc.nl /disk/site/etc/ssl/wildcard.hcc.nl ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
== standaard mounts in fstab ==
Deze mounts worden standaard in fstab geplaatst (terwille van de leesbaarheid zijn de regels afgebroken met '--' op het eind):
  #cephfs
  #Hobbynet shared Directory's
   
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/bin  --
  /usr/local/hobbynet/bin ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/etc --
  /usr/local/hobbynet/etc ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/lib --
  /usr/local/hobbynet/lib ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/home --
  /usr/local/hobbynet/home ceph name=HCCHC-170920-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170920-cephfs.key,noatime,_netdev 0 2
 
#firewall
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/firewall/general  --
  /usr/local/hobbynet/firewall/general ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2


= firewalling =  
= firewalling =  
In de algemene ipv6 firewall regels staan we al het verkeer van en naar 2001:7b8:80::/48 met uitzondering van port 22 (ssh) inkomend.<br>
In de algemene IPv6 firewall regels staan we al het verkeer toe van en naar 2001:7b8:80::/48, met uitzondering van port 22 (ssh) inkomend.<br>
Voor inkommend staat dit in '''/usr/local/hobbynet/firewall/general/in_up.ip6''':
Voor inkomend staat dit in '''/usr/local/hobbynet/firewall/general/in_up.ip6''':
   #drop ssh van cephstorage bit
   #drop ssh van cephstorage bit
   $IP6TABLES -A INPUT -p tcp -s 2001:7b8:80::/48 --dport 22  -j ACCEPT
   $IP6TABLES -A INPUT -p tcp -s 2001:7b8:80::/48 --dport 22  -j ACCEPT
Line 28: Line 56:
   #overig verkeer van cephstorage bit moet mogen
   #overig verkeer van cephstorage bit moet mogen
   $IP6TABLES -A INPUT -s 2001:7b8:80::/48  -j ACCEPT
   $IP6TABLES -A INPUT -s 2001:7b8:80::/48  -j ACCEPT
Voor uitgaand is dat in /usr/local/hobbynet/firewall/general/out_up.ip6
Voor uitgaand is dat in '''/usr/local/hobbynet/firewall/general/out_up.ip6'''
   #verkeer naar cephstorage bit moet mogen
   #verkeer naar cephstorage bit moet mogen
   $IP6TABLES -A OUTPUT -d 2001:7b8:80::/48  -j ACCEPT
   $IP6TABLES -A OUTPUT -d 2001:7b8:80::/48  -j ACCEPT


= keys =  
= keys =  
Line 42: Line 68:
   caps mon = "allow r"
   caps mon = "allow r"
   caps osd = "allow rw pool=BITED-153874-cephfs_data namespace=HCCHC-01"
   caps osd = "allow rw pool=BITED-153874-cephfs_data namespace=HCCHC-01"


RO user:
RO user:
Line 52: Line 77:


= uitleg bit =  
= uitleg bit =  
Uit bit ticket 170920 https://status.bit.nl/tickets/?id=170920&query=f35a540e5379df8ed2c734707a7984e3
Uit Bit ticket 170920 https://status.bit.nl/tickets/?id=170920&query=f35a540e5379df8ed2c734707a7984e3
   Hieronder de uitleg voor het instellen van de Cephfs.
   Hieronder de uitleg voor het instellen van de Cephfs.
    
    
Line 69: Line 94:
    
    
   4) Maak een bestand aan in /etc/ceph/ceph.conf met onderstaande informatie:
   4) Maak een bestand aan in /etc/ceph/ceph.conf met onderstaande informatie:
 
     
 
   [global]
   [global]
   # IPs here instead of hostname so we work independent of DNS
   # IPs here instead of hostname so we work independent of DNS
Line 94: Line 118:
    
    
   Hierna zal het mogelijk moeten zijn om /mnt/data te mounten met Cephfs. Wanneer er alleen RO rechten toegestaan zijn, dan dien je vanaf stap 5 de key te gebruiken voor de RO user.
   Hierna zal het mogelijk moeten zijn om /mnt/data te mounten met Cephfs. Wanneer er alleen RO rechten toegestaan zijn, dan dien je vanaf stap 5 de key te gebruiken voor de RO user.
{{Note}} In orginele bit ticket ontbrak apt install ceph-common deze toegevoegd <br>
{{Note}} In orginele bit ticket ontbrak 'apt install ceph-common'. deze toegevoegd <br>
{{Note}} In orginele bit ticket zat typo in mount path /HCCHC/17092 moest /HCCHC/170920 zijn gecorigeerd<br>
{{Note}} In orginele bit ticket zat typo in mount path /HCCHC/17092 moest /HCCHC/170920 zijn (gecorrigeerd)<br>
{{Note}} De aan ons toegekende /48 wordt allen de 1e /64 gebruikt dus 2001:7b8:89:0::/64
{{Note}} Van de aan ons toegekende /48 wordt alleen de 1e /64 gebruikt dus 2001:7b8:89:0::/64<br>
{{Note}} ook het bionic (18.04) repo gebruiken voor focal (20.4) gebruiken zoals in ticket vermeld staat

Latest revision as of 11:37, 18 November 2020

doel

De shared storage is uitbesteed aan Bit, hier wat uitleg er voor

installatie bij Hobbynet

Ken een IP adres toe uit de reeks 2001:7b8:89:0::/64
Standaard pakken wij het IPv4 adres van de interne interface en dat plakken we in het IPv6 adres, dus 172.31.1.19 wordt 2001:7b8:89:0:172:31:1:19/64.
En er moet een route worden toegevoegd voor 2001:7b8:80::/48 naar 2001:7b8:89::1

Je interface ziet er dan zo uit:

       ens224:
           dhcp6: no
           accept-ra: no
           addresses:
           - 2001:7b8:89:0:172:31:1:19/64
           routes:
           - to: 2001:7b8:80::/48
             via: 2001:7b8:89::1
           critical: true

Installeer eerst de Hobbunet cephfs repo en daarna het pakket 'hobby-cephfs'

  apt install hobby-cephfs-repo
  apt install hobby-cephfs

fstab

read write

Een read/write entry ziet er zo uit :

  [2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/site/etc/ssl /disk/site/etc/ssl ceph name=HCCHC-170920-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170920-cephfs.key,noatime,_netdev 0 2

1 regel

read only

Een readonly entry ziet er zo uit :

  [2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/site/etc/ssl/wildcard.hcc.nl /disk/site/etc/ssl/wildcard.hcc.nl ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2

standaard mounts in fstab

Deze mounts worden standaard in fstab geplaatst (terwille van de leesbaarheid zijn de regels afgebroken met '--' op het eind):

  #cephfs
  #Hobbynet shared Directory's
    
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/bin  --
  /usr/local/hobbynet/bin ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/etc --
  /usr/local/hobbynet/etc ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/lib --
  /usr/local/hobbynet/lib ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/home --
  /usr/local/hobbynet/home ceph name=HCCHC-170920-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170920-cephfs.key,noatime,_netdev 0 2
  
#firewall
[2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]:/HCCHC/170920/disk/usr/local/hobbynet/firewall/general  --
  /usr/local/hobbynet/firewall/general ceph name=HCCHC-170989-cephfs,secretfile=/etc/ceph/ceph.client.HCCHC-170989-cephfs.key,noatime,_netdev,ro 0 2

firewalling

In de algemene IPv6 firewall regels staan we al het verkeer toe van en naar 2001:7b8:80::/48, met uitzondering van port 22 (ssh) inkomend.
Voor inkomend staat dit in /usr/local/hobbynet/firewall/general/in_up.ip6:

  #drop ssh van cephstorage bit
  $IP6TABLES -A INPUT -p tcp -s 2001:7b8:80::/48 --dport 22  -j ACCEPT
  
  #overig verkeer van cephstorage bit moet mogen
  $IP6TABLES -A INPUT -s 2001:7b8:80::/48  -j ACCEPT

Voor uitgaand is dat in /usr/local/hobbynet/firewall/general/out_up.ip6

  #verkeer naar cephstorage bit moet mogen
  $IP6TABLES -A OUTPUT -d 2001:7b8:80::/48  -j ACCEPT

keys

RW user:

  [client.HCCHC-170920-cephfs]
  key = AQBOo5Zf3rJQCxAA/yqzR0OX9LajCv+waicd2w==
  caps mds = "allow rw path=/HCCHC/170920"
  caps mon = "allow r"
  caps osd = "allow rw pool=BITED-153874-cephfs_data namespace=HCCHC-01"

RO user:

  [client.HCCHC-170989-cephfs]
  key = AQBRo5Zfx9FzBRAAMuNwqySs17SJJJ9bPHnuew==
  caps mds = "allow r path=/HCCHC/170920"
  caps mon = "allow r"
  caps osd = "allow r pool=BITED-153874-cephfs_data namespace=HCCHC-01"

uitleg bit

Uit Bit ticket 170920 https://status.bit.nl/tickets/?id=170920&query=f35a540e5379df8ed2c734707a7984e3

  Hieronder de uitleg voor het instellen van de Cephfs.
  
  1) Zorg ervoor dat de server een IP adres krijgt in de netwerk range 2001:7b8:89::/48
  2) Zorg ervoor dat er een route is ingesteld naar de Ceph storage omgeving
  
  /sbin/ip -6 route add 2001:7b8:80::/48 via 2001:7b8:89::1
  
  3) Installeer de Ceph tooling
  
  $ wget -qO- https://download.ceph.com/keys/release.asc | apt-key add -
  $ echo "deb http://ceph.download.bit.nl/debian-mimic bionic main" \
      | sudo tee /etc/apt/sources.list.d/ceph.list
  $ apt update
  $ apt install ceph-common
  
  4) Maak een bestand aan in /etc/ceph/ceph.conf met onderstaande informatie:
     
  [global]
  # IPs here instead of hostname so we work independent of DNS
  mon_host = [2001:7b8:80:1:0:1:1:1],[2001:7b8:80:1:0:1:1:2],[2001:7b8:80:3:0:2c:1:3],[2001:7b8:80:3:0:2c:1:4],[2001:7b8:80:2:0:2a:1:5]
  
  5) Plaats de client key waarmee de authenticatie plaatsvind op de Cephfs. De nodige gegevens hiervan zijn te vinden in de securebox.
  
  $ cat /etc/ceph/ceph.client.FOOBA-123456-cephfs.keyring
  [client.FOOBA-123456-cephfs]
  key = AQDpqB....
  caps mds = "allow rw path=/FOOBA/123456"
  caps mon = "allow r"
  caps osd = "allow rw pool=BITED-153874-cephfs_data namespace=FOOBA-01"
  
  6) Plaats de key zelf ook nog los in een file. Dit is dezelfde key als in stap 5 is gebruikt.
  
  $ cat /etc/ceph/ceph.client.FOOBA-123456-cephfs.key
  AQDpqB....
  
  7) Zet onderstaande regel in fstab
  
  mon1.ceph.bit.nl,mon2.ceph.bit.nl,mon3.ceph.bit.nl,mon4.ceph.bit.nl,mon5.ceph.bit.nl:/HCCHC/170920 /mnt/data ceph name=FOOBA-123456-cephfs,secretfile=/etc/ceph/ceph.client.FOOBA-123456-cephfs.key,noatime,_netdev 0 2
  
  Hierna zal het mogelijk moeten zijn om /mnt/data te mounten met Cephfs. Wanneer er alleen RO rechten toegestaan zijn, dan dien je vanaf stap 5 de key te gebruiken voor de RO user.

In orginele bit ticket ontbrak 'apt install ceph-common'. deze toegevoegd
In orginele bit ticket zat typo in mount path /HCCHC/17092 moest /HCCHC/170920 zijn (gecorrigeerd)
Van de aan ons toegekende /48 wordt alleen de 1e /64 gebruikt dus 2001:7b8:89:0::/64
ook het bionic (18.04) repo gebruiken voor focal (20.4) gebruiken zoals in ticket vermeld staat