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 - cephuserUzel 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-keygenponechte přístupovou frázi prázdnou/prázdnou.
Dále vytvořte konfigurační soubor pro konfiguraci ssh.
vim ~/.ssh/configVlož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 cephuserUložte soubor.
Změňte oprávnění konfiguračního souboru.
chmod 644 ~/.ssh/configNyní 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-idNa 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 firewalldOtevř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 --reloadZ uzlu ceph-admin se přihlaste do monitorovacího uzlu 'mon1' a spusťte firewalld.
ssh mon1
sudo systemctl spustit firewalld
sudo systemctl povolit firewalldOtevř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 --reloadNakonec 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 firewalldOtevřete porty a znovu načtěte bránu firewall.
sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
sudo firewall-cmd --reloadKonfigurace 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.
- /dev/sda pro kořenový oddíl.
- /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 osd3Zkontrolujte oddíl pomocí příkazu fdisk.
sudo fdisk -l /dev/sdbNaformá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 -fNyní 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 -yUjistě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 mon1Příkaz vygeneruje konfigurační soubor Ceph clusteru 'ceph.conf' v adresáři clusteru.
Upravte soubor ceph.conf pomocí vim.
vim ceph.confDo čá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 =2Ulož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 osd3Pří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-initialPří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/sdbPří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/sdbPokud 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/sdb1Než 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:
- /dev/sdb1 - Ceph Data
- /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 osd3Změň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.keyringCeph 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 mon1Spusťte níže uvedený příkaz a zkontrolujte stav clusteru.
zdraví sudo cephNyní zkontrolujte stav clusteru.
sudo ceph -sA 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.
Jak nainstalovat Percona XtraDB Cluster na CentOS 7 Jak nainstalovat ownCloud 9.1 s Nginx a MariaDB na CentOS 7Cent OS