GNU/Linux >> Znalost Linux >  >> Cent OS

Jak vytvořit Ceph Distributed Storage Cluster na CentOS 7

Ceph je široce používaná open source úložná platforma. Poskytuje vysoký výkon, spolehlivost a škálovatelnost. Bezplatný distribuovaný úložný systém Ceph poskytuje rozhraní pro ukládání na úrovni objektů, bloků a souborů. Ceph je vytvořen tak, aby poskytoval distribuovaný úložný systém bez jediného bodu selhání.

V tomto tutoriálu vás provedu instalací a vytvořením clusteru Ceph na CentOS 7. Cluster Ceph vyžaduje tyto komponenty Ceph:

  • Ceph OSD (ceph-osd) - Zvládá úložiště dat, replikaci dat a obnovu. Cluster Ceph potřebuje alespoň dva servery Ceph OSD. Zde budu používat tři servery CentOS 7 OSD.
  • Ceph Monitor (ceph-mon) - Monitoruje stav clusteru, mapu OSD a mapu CRUSH. Budu používat jeden server.
  • Ceph Meta Data Server (ceph-mds) - To je nutné pro použití Ceph jako systému souborů.

Předpoklady

  • 6 serverových uzlů, všechny s nainstalovaným CentOS 7.
  • Oprávnění root ve všech uzlech.

Servery v tomto tutoriálu budou používat následující názvy hostitelů a adresy IP.

název hostitele IP adresa

Ceph-admin 10.0.15.10
mon1 10.0.15.11
OSD1 10.0.15.21
OSD2 10.0.15.22
OSD3 10.0.15.23
klient                 10.0.15.

Všechny OSD uzly potřebují dva oddíly, jeden kořenový (/) oddíl a prázdný oddíl, který se později použije jako úložiště dat Ceph.

Krok 1 – Konfigurace všech uzlů

V tomto kroku nakonfigurujeme všech 6 uzlů, abychom je připravili na instalaci Ceph Clusteru. Musíte sledovat a spouštět všechny níže uvedené příkazy na všech uzlech. A ujistěte se, že ssh-server je nainstalován na všech uzlech.

Vytvořit uživatele Ceph

Vytvořte nového uživatele s názvem 'cephuser ' na všech uzlech.

useradd -d /home/cephuser -m cephuser
passwd cephuser

Po vytvoření nového uživatele musíme nakonfigurovat sudo pro 'cephuser'. Musí být schopen spouštět příkazy jako root a získávat práva root bez hesla.

Spuštěním příkazu níže vytvořte soubor sudoers pro uživatele a upravte soubor /etc/sudoers pomocí sed.

echo "cephuser ALL =(root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
chmod 0440 /etc/sudoers.d/cephuser
sed -i s'/Defaults requiretty/#Defaults requiredtty'/g /etc/sudoers

Instalace a konfigurace NTP

Nainstalujte NTP pro synchronizaci data a času na všech uzlech. Spusťte příkaz ntpdate a nastavte datum a čas pomocí protokolu NTP, použijeme server NTP fondu us. Poté spusťte a povolte spuštění serveru NTP při spouštění.

yum install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl povolit ntpd.service
systemctl spustit ntpd .service

Instalovat Open-vm-tools

Pokud používáte všechny uzly uvnitř VMware, musíte nainstalovat tento virtualizační nástroj. Jinak tento krok přeskočte.

yum install -y open-vm-tools

Zakázat SELinux

Deaktivujte SELinux na všech uzlech úpravou konfiguračního souboru SELinux pomocí editoru sed stream.

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Konfigurovat soubor hostitelů

Upravte soubor /etc/hosts na všech uzlech pomocí editoru vim a přidejte řádky s IP adresou a názvy hostitelů všech uzlů clusteru.

vim /etc/hosts

Vložte konfiguraci níže:

10.0.15.10        ceph-admin
10.0.15.11        po1
10.0.15.21        osd1
10.0.15.22 d. 

Uložte soubor a ukončete vim.

Nyní můžete zkusit ping mezi servery s jejich názvem hostitele a otestovat připojení k síti. Příklad:

ping -c 5 mon1

Krok 2 – Konfigurace serveru SSH

V tomto kroku nakonfiguruji ceph-admin node . Uzel admin se používá pro konfiguraci uzlu monitoru a uzlů osd. Přihlaste se do uzlu ceph-admin a staňte se 'cephuserem '.

ssh [e-mail chráněný]
su - cephuser

Uzel admin se používá pro instalaci a konfiguraci všech uzlů clusteru, takže uživatel v uzlu ceph-admin musí mít oprávnění připojit se ke všem uzlům bez hesla. Musíme nakonfigurovat přístup SSH bez hesla pro 'cephuser' na uzlu 'ceph-admin'.

Vygenerujte klíče ssh pro 'cephuser '.

ssh-keygen

ponechte přístupovou frázi prázdnou/prázdnou.

Dále vytvořte konfigurační soubor pro konfiguraci ssh.

vim ~/.ssh/config

Vložte konfiguraci níže:

Hostitel ceph-admin
        Název hostitele ceph-admin
        Uživatel cephuser

Hostitel mon1
        Název hostitele mon1
        Uživatel cephuser

Host osd1
        Název hostitele osd1
        Uživatel cephuser

Host osd2
        Název hostitele osd2
        Uživatel cephuser

Host>        Název hostitele osd3
        Uživatel cephuser

Hostitelský klient
        Klient název hostitele
        Uživatel cephuser

Uložte soubor.

Změňte oprávnění konfiguračního souboru.

chmod 644 ~/.ssh/config

Nyní přidejte klíč SSH do všech uzlů pomocí příkazu ssh-copy-id.

ssh-keyscan osd1 osd2 osd3 mon1 klient>> ~/.ssh/known_hosts
ssh-copy-id osd1
ssh-copy-id osd2
ssh-copy-id osd3
ssh-copy-id mon1
klient ssh-copy-id

Na požádání zadejte své heslo „cephuser“.

Až budete hotovi, pokuste se o přístup k serveru osd1 z uzlu ceph-admin.

ssh osd1

Krok 3 – Konfigurace brány firewall

K ochraně systému použijeme Firewalld. V tomto kroku povolíme firewald na všech uzlech a poté otevřeme porty potřebné pro ceph-admon, ceph-mon a ceph-osd.

Přihlaste se do uzlu ceph-admin a spusťte firewalld.

ssh [e-mail chráněný]
systemctl spustit firewalld
systemctl povolit firewalld

Otevřete port 80, 2003 a 4505-4506 a poté znovu načtěte bránu firewall.

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2003/tcp --permanent
sudo firewall-cmd --zone=public --add-port=4505-4506/tcp --permanent
sudo firewall-cmd --reload

Z uzlu ceph-admin se přihlaste do monitorovacího uzlu 'mon1' a spusťte firewalld.

ssh mon1
sudo systemctl spustit firewalld
sudo systemctl povolit firewalld

Otevřete nový port na monitorovacím uzlu Ceph a znovu načtěte firewall.

sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent
sudo firewall-cmd --reload

Nakonec otevřete port 6800-7300 na každém z uzlů osd – osd1, osd2 a os3.

Přihlaste se ke každému uzlu osd z uzlu ceph-admin.

ssh osd1
sudo systemctl spustit firewalld
sudo systemctl povolit firewalld

Otevřete porty a znovu načtěte bránu firewall.

sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
sudo firewall-cmd --reload

Konfigurace brány firewall je dokončena.

Krok 4 – Konfigurace uzlů Ceph OSD

V tomto tutoriálu máme 3 uzly OSD a každý uzel má dva oddíly.

  1. /dev/sda pro kořenový oddíl.
  2. /dev/sdb je prázdný oddíl – v mém případě 30 GB.

Použijeme /dev/sdb pro Ceph disk. Z uzlu ceph-admin se přihlaste ke všem uzlům OSD a naformátujte oddíl /dev/sdb pomocí XFS .

ssh osd1
ssh osd2
ssh osd3

Zkontrolujte oddíl pomocí příkazu fdisk.

sudo fdisk -l /dev/sdb

Naformátujte oddíl /dev/sdb pomocí souborového systému XFS a tabulky oddílů GPT pomocí příkazu parted.

sudo parted -s /dev/sdb mklabel gpt mkpart primární xfs 0 % 100 %
sudo mkfs.xfs /dev/sdb -f

Nyní zkontrolujte oddíl a získáte oddíl xfs /dev/sdb.

sudo blkid -o hodnota -s TYP /dev/sdb

Krok 5 – Sestavení clusteru Ceph

V tomto kroku nainstalujeme Ceph na všechny uzly z uzlu ceph-admin.

Přihlaste se do uzlu ceph-admin.

ssh [e-mail chráněný]
su - cephuser

Instalovat ceph-deploy na uzel ceph-admin

Přidejte úložiště Ceph a nainstalujte nástroj pro nasazení Ceph 'ceph-deploy ' pomocí příkazu yum.

sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm
aktualizace sudo yum -y &&sudo yum nainstalovat ceph-deploy -y

Ujistěte se, že jsou všechny uzly aktualizovány.

Po instalaci nástroje ceph-deploy vytvořte nový adresář pro konfiguraci clusteru ceph.

Vytvořit novou konfiguraci clusteru

Vytvořte nový adresář clusteru.

mkdir cluster
cd cluster/

Dále vytvořte novou konfiguraci clusteru pomocí 'ceph-deploy ', definujte uzel monitoru jako 'mon1 '.

ceph-deploy new mon1

Příkaz vygeneruje konfigurační soubor Ceph clusteru 'ceph.conf' v adresáři clusteru.

Upravte soubor ceph.conf pomocí vim.

vim ceph.conf

Do části [global] block vložte konfiguraci níže.

# Adresa vaší sítě
veřejná síť =10.0.15.0/24
Výchozí velikost fondu osd =2

Uložte soubor a ukončete vim.

Instalovat Ceph na všechny uzly

Nyní nainstalujte Ceph na všechny ostatní uzly z uzlu ceph-admin. To lze provést jediným příkazem.

instalace ceph-deploy ceph-admin mon1 osd1 osd2 osd3

Příkaz automaticky nainstaluje Ceph na všechny uzly:mon1, osd1-3 a ceph-admin - Instalace bude nějakou dobu trvat.

Nyní nasaďte ceph-mon na uzel mon1.

ceph-deploy mon create-initial

Příkaz vytvoří klíč monitoru, zkontroluje a získá klíče pomocí příkazu 'ceph'.

ceph-deploy collectkeys mon1

Přidání OSDS do clusteru

Když je Ceph nainstalován na všechny uzly, můžeme do clusteru přidat démony OSD. OSD démoni vytvoří svůj oddíl dat a žurnálu na disku /dev/sdb.

Zkontrolujte, zda je oddíl /dev/sdb dostupný na všech uzlech OSD.

seznam disků ceph-deploy osd1 osd2 osd3

Uvidíte disk /dev/sdb s formátem XFS.

Dále odstraňte tabulky oddílů /dev/sdb na všech uzlech s možností zap.

ceph-deploy disk zap osd1:/dev/sdb osd2:/dev/sdb osd3:/dev/sdb

Příkaz vymaže všechna data na /dev/sdb na Ceph OSD uzlech.

Nyní připravte všechny uzly OSDS. Ujistěte se, že ve výsledcích nejsou žádné chyby.

ceph-deploy osd připravit osd1:/dev/sdb osd2:/dev/sdb osd3:/dev/sdb

Pokud vidíte, že osd1-3 je připraven k použití OSD, pak bylo nasazení úspěšné.

Aktivujte OSD pomocí příkazu níže:

ceph-deploy osd aktivovat osd1:/dev/sdb1 osd2:/dev/sdb1 osd3:/dev/sdb1

Než budete pokračovat, zkontrolujte výstup, zda neobsahuje chyby. Nyní můžete zkontrolovat sdb disk na OSD uzlech pomocí příkazu list.

seznam disků ceph-deploy osd1 osd2 osd3

Výsledkem je, že /dev/sdb má nyní dva oddíly:

  1. /dev/sdb1 - Ceph Data
  2. /dev/sdb2 - Ceph Journal

Nebo to můžete zkontrolovat přímo v uzlu OSD pomocí fdisk.

ssh osd1
sudo fdisk -l /dev/sdb

Dále nasaďte klíč pro správu do všech přidružených uzlů.

ceph-deploy admin ceph-admin mon1 osd1 osd2 osd3

Změňte oprávnění souboru klíče spuštěním příkazu níže na všech uzlech.

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

Ceph Cluster na CentOS 7 byl vytvořen.

Krok 6 – Testování nastavení Ceph

V kroku 4 jsme nainstalovali a vytvořili náš nový cluster Ceph a poté jsme do clusteru přidali uzly OSDS. Nyní můžeme otestovat cluster a ujistit se, že v nastavení clusteru nejsou žádné chyby.

Z uzlu ceph-admin se přihlaste k serveru ceph monitor 'mon1 '.

ssh mon1

Spusťte níže uvedený příkaz a zkontrolujte stav clusteru.

zdraví sudo ceph

Nyní zkontrolujte stav clusteru.

sudo ceph -s

A měli byste vidět výsledky níže:

Ujistěte se, že je zdraví Ceph OK a je zde monitorovací uzel 'mon1 ' s IP adresou '10.0.15.11 '. Mělo by existovat 3 OSD servery a všechny by měly být v provozu a spuštěn a měl by být k dispozici disk o velikosti přibližně 75 GB - 3x25GB datový oddíl Ceph.

Gratulujeme, úspěšně jste vybudovali nový Ceph Cluster.

V další části tutoriálu Ceph vám ukážu, jak používat Ceph jako blokové zařízení nebo jej připojit jako souborový systém.


Cent OS
  1. Distribuované replikované úložiště napříč čtyřmi uzly úložiště s GlusterFS na CentOS 5.4

  2. Distribuované replikované úložiště mezi čtyři uzly úložiště s GlusterFS 3.2.x na CentOS 6.3

  3. Jak vytvořit Ceph Storage Cluster na Ubuntu 16.04

  1. Jak nainstalovat Kubernetes Cluster na CentOS 7

  2. Distribuované úložiště mezi čtyřmi uzly úložiště s GlusterFS na CentOS 5.4

  3. Distribuované úložiště mezi čtyřmi uzly úložiště s GlusterFS 3.2.x na CentOS 6.3

  1. Jak nainstalovat Go na CentOS 8

  2. Jak nastavit úložiště GlusterFS na CentOS 7 / RHEL 7

  3. Rychlý průvodce instalací a konfigurací Ceph Cluster na CentOS 7