GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak vytvořit Ceph Storage Cluster na Ubuntu 16.04

Ceph je jednou z nejvíce vzrušujících technologií úložiště s otevřeným zdrojovým kódem, které se objevily v posledních letech. Vývojáři Ceph, který je škálovatelný na exabajty a rozšiřitelný do více datových center, usnadnili systémovým administrátorům a architektům infrastruktury nasazení jejich softwaru. Tento článek nabídne krok za krokem návod, jak vytvořit základní stroage cluster Ceph. To bylo testováno na Ubuntu 16.04. Vezměte na vědomí, že pokud není uvedeno jinak, všechny příkazy jsou prováděny jako root. Všimněte si také, že když tento dokument zmiňuje „všechny uzly Ceph“, zahrnuje to také uzel Admin.

Obecné nastavení

V našem příkladu vytvoříme základní tříuzlový cluster Ceph, každý se dvěma OSD. Použijeme konvenci názvu hostitele "Storage-x ", kde "x" je číslo od 1 do 3, které se používá k označení konkrétních uzlů. Jako ceph Admin Node použijeme externí počítač (může to být váš vlastní počítač nebo notebook).

Nastavení sítě

Každý uzel bude ve stejné privátní síti s bránou, přes kterou lze přistupovat k Internetu.
Administrátorský uzel by měl být také ve stejné síti, ale nemusí být pro síť neustále dostupný. V důsledku toho může být váš pracovní počítač administrátorským uzlem a může používat VPN pro připojení k síti uzlů Ceph.

Ceph používá TCP porty 6789 pro uzly Ceph Monitor a porty 6800-7100 pro Ceph OSD do veřejné zóny. Například na iptables :

sudo iptables -A INPUT -i {iface} -p tcp -s {ip-address}/{netmask} --dport 6789 -j ACCEPT

Připravte uzly

Každý storage node musí být synchronizován, takže na něj nainstalujeme ntp a zajistíme, že k nim můžeme přistupovat přes SSH prostřednictvím sítě.

sudo apt install ntp ssh

Ujistěte se, že název hostitele každého uzlu Ceph je rozlišitelný ze všech uzlů Ceph. Na každém uzlu Ceph upravte soubor /etc/hosts a přidejte následující:

[Admin Node IP Address] admin-node
[Storage-1 IP Address] Storage-1
[Storage-2 IP Address] Storage-2
[Storage-3 IP Address] Storage-3

Podle toho nahraďte IP adresu každého uzlu.
Chcete-li otestovat, zda rozlišení funguje, proveďte následující:

ping admin-node
ping Storage-1
ping Storage-2
ping Storage-3

Ujistěte se, že uzel správce název hostitele se překládá na externí síťovou IP adresu administrátorského uzlu, nikoli na IP adresu zpětné smyčky (127.0.0.1).

Na každý uzel Ceph (to znamená uzel správce a všechny uzly úložiště) přidáme úložiště balíčků Ceph Ubuntu do apt a poté aktualizujeme místní mezipaměť obsahem nového úložiště:

wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -
echo deb http://download.ceph.com/debian-{ceph-stable-release}/ $(lsb_release -sc) main | tee /etc/apt/sources.list.d/ceph.list
apt-get update

Vytvořte cephadmin uživatele na všech uzlech Ceph. Tento uživatel bude použit k instalaci a správě Ceph na celém clusteru uzlů, takže zajistěte maximální zabezpečení přihlašovacích údajů pro tohoto uživatele.

ssh-keygen -t rsa
useradd cephadmin

Nastavte SSH bez hesla

Instalační skripty a nástroje Ceph z uzlu Admin budou muset mít přístup ke všem členům clusteru bez hesla.
V administrátorském uzlu se přepněte na cephadmin uživatele a vytvořte klíč SSH:

Zkopírujte vygenerovaný ssh klíč do tří uzlů úložiště:

ssh-copy-id Storage-1
ssh-copy-id Storage-2
ssh-copy-id Storage-3

Jako uživatel cephadmin ve vašem uzlu Admin otestujte, zda nyní správně funguje ssh bez hesla do uzlů úložiště:

ssh Storage-1
ssh Storage-2
ssh Storage-3

Nastavit sudo bez hesla

Nyní, když je nastaven přístup bez hesla přes SSH, nakonfigurujte sudo bez hesla pro uživatele cephadmin na všech uzlech Ceph:

visudo

Měli byste vidět následující:

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Dole přidejte následující řádek:

cephadmin ALL=(ALL) NOPASSWD: ALL

To by nyní mělo umožnit sudo bez hesla pro cephadmin uživatele na všech uzlech Ceph.

Instalovat ceph-deploy

Ceph-deploy je nástroj vytvořený vývojáři Ceph pro usnadnění rychlého nasazení clusterů Ceph pomocí skriptování jednotlivých kroků potřebných k nasazení uzlu. Toho využijeme instalací nástroje do našeho administrátorského uzlu.

apt install ceph-deploy

V uzlu Admin se přepněte na cephadmin uživatele, kterého jsme vytvořili v části 1 výukového programu, přepněte se do domovského adresáře a vytvořte podadresář, který bude použit pro uložení všech souborů potřebných pro nasazení a správu našeho clusteru Ceph:

su cephadmin
cd
mkdir my-first-ceph-cluster
cd my-first-ceph-cluster

V tomto okamžiku se všechny příkazy nasazení, které se mají provést, mají provádět pouze z /home/cephadmin/my-first-ceph-cluster . Administrační příkazy je také třeba provádět ze stejného adresáře.

Konfigurace Ceph

Přiřaďte všechny uzly úložišť jako monitorovací uzly:

ceph-deploy new Storage-1 Storage-2 Storage-3

Ve vašem pracovním adresáři byste nyní měli vidět, že soubory byly vygenerovány ceph-deploy, včetně souborů keyring a konfiguračního souboru Ceph.

Přidejte následující řádek do ceph.conf soubor:

osd pool default size = 2

Vzhledem k tomu, že v našem clusteru máme pouze dvě OSD na každý uzel úložiště, umožní to Cephu spokojit se s tím, že bude mít pouze jednu extra kopii všech dat, která v něm uložíme.
Přidejte následující řádek do ceph.conf také:

public network = {ip-address}/{netmask}

Kde vyměníte síťovou část za skutečné hodnoty. Pokud jsou například vaše uzly úložiště v síti 192.168.1.0/24, měla by to být tato hodnota. Nenechte se zmást, když se zmiňuje „veřejná síť“; odkazuje pouze na síť mimo cluster Ceph. Tento kurz nepokrývá interní replikační sítě.

Nasadit Ceph

Software a konfigurační soubory budou nyní nainstalovány a zkopírovány do Ceph Nodes.

ceph-deploy install admin-node Storage-1 Storage-2 Storage-3

To nainstaluje všechny základní balíčky Ceph do uzlů.

Nainstalujte a nakonfigurujte software Ceph Monitor na Storage Nodes:

ceph-deploy mon create-initial

Ceph OSD

I když je možné používat adresáře jako OSD, nedoporučuje se to v produkčním nastavení. Za předpokladu, že Ceph OSD, které mají být použity na každém z Storage Node, jsou /dev/sda a /dev/sdb , máme Ceph připravit disky k použití.

UPOZORNĚNÍ: Následující příkaz zničí existující data na zadaných OSD, takže je třeba dbát na to, aby při provádění příkazu nedošlo k žádným chybám.

ceph-deploy osd prepare Storage-1:/dev/sda
ceph-deploy osd prepare Storage-1:/dev/sdb
ceph-deploy osd prepare Storage-2:/dev/sda
ceph-deploy osd prepare Storage-2:/dev/sdb
ceph-deploy osd prepare Storage-3:/dev/sda
ceph-deploy osd prepare Storage-3:/dev/sdb

Pokud předchozí příkazy běží bez chyb, pak jsou OSD připraveny a nyní je můžeme aktivovat jako běžící prostředek v clusteru:

ceph-deploy osd activate Storage-1:/dev/sda
ceph-deploy osd activate Storage-1:/dev/sdb
ceph-deploy osd activate Storage-2:/dev/sda
ceph-deploy osd activate Storage-2:/dev/sdb
ceph-deploy osd activate Storage-3:/dev/sda
ceph-deploy osd activate Storage-3:/dev/sdb

Dokončení

Zkopírujte svazky klíčů správce do každého uzlu Ceph, aby bylo možné spravovat Ceph na každém uzlu:

ceph-deploy admin admin-node Storage-1 Storage-2 Storage-3

Zkontrolujte stav všech OSD na všech Storage Node:

ceph osd tree

Zkontrolujte celkový stav vašeho clusteru Ceph:

ceph health

Pokud získáte

HEALTH_OK

znamená to, že cluster funguje správně.

Pokud chcete zobrazit další statistiky clusteru, měl by to udělat následující příkaz:

ceph status

Závěr

Nyní máme v provozu tříuzlový cluster Ceph. S tímto nastavením může cluster ztratit jeden uzel, nedojde ke ztrátě dat a bude nadále obsluhovat požadavky. Na každém storage nodu jsou k dispozici také vysoce dostupné monitorovací služby. Toto je velmi základní nastavení na úrovni výroby. Pokud se chcete dozvědět více, přejděte do oficiální dokumentace Ceph pro další informace.


Ubuntu
  1. Jak vytvořit Ubuntu Live USB ve Windows

  2. Jak nainstalovat Node.js &NPM na Ubuntu 18.04 a 20.04

  3. Jak nainstalovat Node.js na Ubuntu 16.04

  1. Jak vytvořit uživatele Sudo na Ubuntu

  2. Jak nainstalovat cluster MySQL na Ubuntu 16.04

  3. Jak vytvořit Ceph Distributed Storage Cluster na CentOS 7

  1. Jak nainstalovat Ceph Storage Cluster na Ubuntu 16.04

  2. Jak vytvořit Ubuntu Persistent Storage Live USB disk

  3. Jak vytvářet dokumenty v Ubuntu