Ceph je open source úložná platforma, která nabízí vysoký výkon, spolehlivost a škálovatelnost. Je to bezplatný distribuovaný úložný systém, který poskytuje rozhraní pro úložiště na úrovni objektů, bloků a souborů bez jediného bodu selhání.
Toto je třetí díl série výukových programů Ceph. V první části jsem vám ukázal, jak vytvořit 'Ceph Cluster' s více uzly na CentOS7. Druhá část je průvodce, který ukazuje, jak používat Ceph jako blokové zařízení na CentOS 7. V této třetí části vám ukážu, jak připojit Ceph jako souborový systém na CentOS 7 jako klienta.
Předpoklady
- Ceph Cluster – 1 Ceph-admin uzel, 1 Moinitor uzel (ceph-mon), 3 Ceph-osd uzly (viz část 1).
- Klient2 – server CentOS 7 (viz část 2).
- Oprávnění uživatele root
Krok 1 – Konfigurace uzlu Client2
V tomto prvním kroku provedeme základní instalaci klienta. Toto je stejný postup, který jsme použili na ostatních uzlech clusteru. Vytvoříme nového uživatele s názvem cephuser na krabici synchronizujte čas s ntpdate, nakonfigurujte sudo bez hesla pro cephuser atd. Takže začneme...
Připojte se k uzlu client2 pomocí SSH jako uživatel root:
ssh [email protected]
Přihlásili jsme se na server s přístupem root, nyní můžeme vytvořit nový cephuser.
useradd -m -d /home/cephuser cephuser
passwd cephuser
TYPE YOUR NEW PASSWORD
Po vytvoření nového uživatele povolte uživateli sudo bez hesla vytvořením nového konfiguračního souboru v adresáři sudoers.
echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser
sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers
chmod 0440 /etc/sudoers.d/cephuser
Dále nainstalujte NTP, nástroj příkazového řádku ntpdate a nástroje open-vm. Poté aktualizujte a synchronizujte systémový čas s ntpdate.
yum install -y open-vm-tools
yum install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl enable ntpd.service
systemctl start ntpd.service
Zakažte SELinux a upravte soubor hostitele.
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
vim /etc/hosts
Níže vložte konfiguraci hostitelů:
10.0.15.10 ceph-admin
10.0.15.11 mon1
10.0.15.21 osd1
10.0.15.22 osd2
10.0.15.23 osd3
10.0.15.15 client
10.0.15.16 client2
Uložte soubor hosts a ukončete editor. Nyní zkuste ping na uzel ceph-admin a otestujte připojení a nastavení názvu hostitele.
ping -c 3 ceph-admin
Jako výsledek byste měli vidět IP adresu uzlu ceph-admin.
Krok 2 – Instalace Ceph Common Utilities na uzel Client2
Balíček ceph-common lze nainstalovat z úložiště Ceph. Obsahuje nástroje Ceph pro připojení a interakci s Ceph Storage Cluster.
Než budeme moci pokračovat v instalaci balíčku ceph-common, musíme přidat úložiště epel-repository a úložiště Ceph.
sudo yum -y install epel-release
sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm
Aktualizujte systém a nainstalujte běžné nástroje Ceph.
sudo yum -y update
sudo yum -y install ceph-common
Dále musíme přidat konfiguraci na uzlu ceph-admin.
Krok 3 – Konfigurace Ceph-admin Node
V tomto kroku nakonfigurujeme cluster tak, abychom se mohli připojit od admina k uzlu client2 pomocí klíče ssh (bez hesla).
Připojte se k uzlu ceph-admin jako root a poté se přihlaste k cephuseru pomocí su.
ssh [email protected]
su - cephuser
Upravte konfigurační soubor ssh a definujte novou konfigurační sekci klienta2.
vim ~/.ssh/config
Na konec souboru vložte konfiguraci níže:
Host client2
Hostname client2
User cephuser
Dále přidejte řádek konfigurace hostitele pro klientský uzel do souboru '/etc/hosts' v uzlu ceph-admin.
sudo vim /etc/hosts
Vložte konfiguraci hostitele níže na konec souboru.
10.0.15.16 client2
Uložte soubor hosts a ukončete editor.
Nyní přidejte klíč ssh uzlu ceph-admin do uzlu client2.
ssh-keyscan client2 >> ~/.ssh/known_hosts
ssh-copy-id client2
TYPE THE client2 PASSWORD
Byl přidán klíč ceph-admin. Nyní můžeme přistupovat k uzlu client2 bez hesla z uzlu ceph-admin.
ssh client2
Krok 4 – Vytvoření serveru metadat Ceph
Pokud chcete spustit a připojit CephFS, potřebujete server metadat ceph (Ceph MDS). Ceph MDS běží na uzlech OSD. Ceph MDS můžeme nainstalovat do uzlu OSD pomocí příkazu ceph-deploy z uzlu ceph-admin.
Přihlaste se do ceph-admin node a staňte se cephuserem.
ssh [email protected]
su - cephuser
Přejděte do adresáře clusteru a spusťte příkaz ceph-deploy pro vytvoření nového serveru metadat ceph (Ceph MDS). Jako server metadat použiji uzel 'osd1'.
cd cluster/
ceph-deploy mds create osd1
Po vytvoření serveru MDS na uzlu osd1 se musíme k uzlu připojit pomocí ssh.
ssh osd1
Dále vytvořte nové fondy pro server MDS, potřebujeme alespoň 2 fondy – cephfs_data a cephfs_metadata.
Vytvořte nové fondy na uzlu 'osd1'.
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128
Nové bazény jsou připraveny. Nyní můžeme vytvořit nový souborový systém pomocí pojmenovaných fondů:cephfs_data a cephfs_metadata.
ceph fs new cephfs cephfs_metadata cephfs_data
cephfs =Název systému souborů.
Po dokončení tohoto kroku bez chyby zkontrolujte server MDS pomocí příkazu níže.
Zkontrolujte seznam serverů MDS:
ceph fs ls
Nyní můžete vidět, že název souborového systému je 'cephfs', fond metadat je 'cephfs_metadata' a fond dat je 'cephfs_data'.
Zobrazit stav MDS:
ceph mds stat
Než budete pokračovat, ujistěte se, že je MDS aktivní a aktivní.
Krok 5 – Připojte CephFS pomocí ovladače jádra
Server Ceph MDS byl vytvořen na uzlu 'osd1'. Nyní jsme schopni používat CephFS. V tomto kroku připojíme CephFS na uzel client2 jako souborový systém pomocí příkazu mount.
Než začneme s dalším krokem, musíme nainstalovat ceph-fuse z úložiště ceph na uzel client2.
sudo yum -y install ceph-fuse
Po dokončení instalace zkopírujte klíč uživatele. V naší výchozí konfiguraci je povoleno ověřování cephx. Výchozí uživatel je 'admin'.
Zkopírujte klíč z uzlu serveru MDS 'osd1' do uzlu client2 pomocí příkazu scp a poté změňte oprávnění klíče.
ssh [email protected] 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key
chmod 600 ceph.key
Dále vytvořte nový adresář cephfs a připojte CephFS do tohoto adresáře.
sudo mkdir -p /mnt/cephfs
sudo mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secretfile=ceph.key
Poznámka:
Výchozí uživatelské jméno =admin
secretfile =ceph.key z uzlu MDS osd1
V seznamu uvidíte připojený nový souborový systém typu 'ceph'.
sudo df -hT
Chcete-li odpojit souborový systém, použijte nástroj příkazu umount.
umount /mnt/cephfs
Krok 6 – Připojte CephFS jako pojistku
Poté, co úspěšně připojíme CephFS jako souborový systém, připojíme CephFS jako Fuse (systém souborů v USErspace). Pro toto nastavení potřebujeme zkopírovat konfigurační soubor 'ceph.conf' a klíč z monitorovacího uzlu 'mon1'.
Vytvořte nový adresář ceph na uzlu client2 a zkopírujte konfigurační soubor a klíč.
sudo mkdir -p /etc/ceph/
sudo scp [email protected]:/etc/ceph/ceph.conf /etc/ceph/ceph.conf
sudo scp [email protected]:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring
Změňte oprávnění souborů.
sudo chmod 644 /etc/ceph/ceph.conf
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring
Dále vytvořte nový adresář fuse a připojte CephFS jako Fuse do adresáře '/mnt/fuse'.
sudo mkdir -p /mnt/fuse
sudo ceph-fuse -m mon1:6789 /mnt/fuse
Ujistěte se, že nedošlo k žádné chybě, a zkontrolujte, zda je připojen CephFS.
sudo df -hT
Chcete-li odpojit CephFS Fuse, použijte příkaz kill.
sudo ps -aux | grep ceph-fuse
kill -2 PID
Krok 7 – Připojte CephFS pomocí fstab
V tomto kroku trvale připojíme CephFS pomocí fstab. Upravíme /etc/fstab a přidáme konfiguraci pro připojení CephFS pomocí ovladače jádra pomocí příkazu mount.
Upravte soubor fstab.
sudo vim /etc/fstab
Vložte konfiguraci níže na konec souboru:
mon1:6789:/ /mnt/cephfs ceph name=admin,secretkey=/home/cephuser/ceph.key,_netdev,noatime 0 0
Uložte soubor a ukončete vim.
Připojte všechny disky z fstab pomocí příkazu mount -a a poté vypište všechny dostupné disky.
sudo mount -a
sudo df -hT
Nakonec restartujte systém a zkontrolujte dostupné disky, abyste se ujistili, že konfigurace je bezpečná pro restart.
reboot
sudo df -hT
Uvidíte, že CephFS byl automaticky připojen pomocí fstab.