Ceph je open source úložná platforma, která poskytuje 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ů a může fungovat bez jediného bodu selhání.
V tomto tutoriálu vás provedu instalací a vytvořením clusteru Ceph na serveru Ubuntu 16.04. Cluster Ceph se skládá z těchto komponent:
- Ceph OSD (ceph-osd) - Zvládá ukládání dat, replikaci dat a obnovu. Cluster Ceph potřebuje alespoň dva servery Ceph OSD. V tomto nastavení použijeme tři servery Ubuntu 16.04.
- Ceph Monitor (ceph-mon) - Monitoruje stav clusteru a spouští mapu OSD a mapu CRUSH. Zde budeme používat jeden server.
- Ceph Meta Data Server (ceph-mds) - to je potřeba, pokud chcete používat Ceph jako systém souborů.
Předpoklady
- 6 serverových uzlů s nainstalovaným serverem Ubuntu 16.04
- Oprávnění root ve všech uzlech
Použiji následující název hostitele / nastavení 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.
Krok 1 – Konfigurace všech uzlů
V tomto kroku nakonfigurujeme všech 6 uzlů, abychom je připravili na instalaci softwaru Ceph Cluster. Musíte se tedy řídit a spouštět níže uvedené příkazy na všech uzlech. A ujistěte se, že ssh-server je nainstalován na všech uzlech.
Vytvořte uživatele Ceph
Vytvořte nového uživatele s názvem 'cephuser ' na všech uzlech.
useradd -m -s /bin/bash cephuser
passwd cephuser
Po vytvoření nového uživatele musíme nakonfigurovat cephuser pro oprávnění sudo bez hesla. To znamená, že 'cephuser' může spustit a získat oprávnění sudo, aniž by bylo nutné nejprve zadávat heslo.
Chcete-li toho dosáhnout, spusťte níže uvedené příkazy.
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
Nainstalujte a nakonfigurujte NTP
Nainstalujte NTP pro synchronizaci data a času na všech uzlech. Spusťte příkaz ntpdate a nastavte datum a čas přes NTP. Budeme používat servery NTP amerického fondu. Poté spusťte a povolte spuštění serveru NTP při spouštění.
sudo apt-get install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl povolit ntp
start systemctl ntp
Nainstalujte Open-vm-tools
Pokud používáte všechny uzly uvnitř VMware, musíte nainstalovat tento virtualizační nástroj.
sudo apt-get install -y open-vm-tools
Nainstalujte Python a parted
V tomto tutoriálu potřebujeme balíčky pythonu pro vytvoření clusteru ceph. Nainstalujte python a python-pip.
sudo apt-get install -y python python-pip parted
Nakonfigurujte soubor Hosts
Upravte soubor hosts na všech uzlech pomocí editoru vim.
vim /etc/hosts
Vložte konfiguraci níže:
10.0.15.10 ceph-admin
10.0.15.11 po1
10.0.15.21 ceph-osd1
10.0.15.22 3. d. 3. 5 >10.0.15.15 ceph-client
Uložte soubor hosts a ukončete editor vim.
Nyní můžete zkusit ping mezi názvy serverů a otestovat tak připojení k síti.
ping -c 5 mon1
Krok 2 – Konfigurace serveru SSH
V tomto kroku nakonfigurujeme ceph-admin node . Uzel správce se používá pro konfiguraci uzlu monitoru a uzlů osd. Přihlaste se do uzlu ceph-admin a získejte přístup k 'cephuser '.
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' v uzlu 'ceph-admin'.
Vygenerujte klíče ssh pro 'cephuser '.
ssh-keygen
Ponechat přístupové heslo je prázdné/prázdné.
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
Hostitel ceph-osd1
Název hostitele ceph-osd1
Uživatel cephuser
Hostitel ceph-osd2
Název hostitele ceph-osd2
hu Uživatel br />Hostitel ceph-osd3
Název hostitele ceph-osd3
Uživatel cephuser
Hostitel ceph-client
Název hostitele ceph-client
hu před uživatelem>Uložte soubor a ukončete vim.
Změňte oprávnění konfiguračního souboru na 644.
chmod 644 ~/.ssh/configNyní přidejte klíč do všech uzlů pomocí příkazu ssh-copy-id.
ssh-keyscan ceph-osd1 ceph-osd2 ceph-osd3 ceph-client mon1>> ~/.ssh/known_hosts
ssh-copy-id ceph-osd1
ssh-copy-id ceph- osd2
ssh-copy-id ceph-osd3
ssh-copy-id mon1Až budete požádáni, zadejte své heslo cephuser.
Nyní se pokuste o přístup k serveru osd1 z uzlu ceph-admin a otestujte, zda přihlášení bez hesla funguje.
ssh ceph-osd1
Krok 3 – Konfigurace brány Ubuntu Firewall
Z bezpečnostních důvodů musíme na serverech zapnout firewall. K ochraně systému přednostně používáme Ufw (Uncomplicated Firewall), výchozí firewall Ubuntu. V tomto kroku povolíme ufw na všech uzlech a poté otevřeme porty potřebné pro ceph-admin, ceph-mon a ceph-osd.
Přihlaste se do uzlu ceph-admin a nainstalujte balíčky ufw.
ssh [e-mail chráněný]
sudo apt-get install -y ufwOtevřete port 80, 2003 a 4505-4506 a poté znovu načtěte firewall.
sudo ufw povolit 22/tcp
sudo ufw povolit 80/tcp
sudo ufw povolit 2003/tcp
sudo ufw povolit 4505:4506/tcpSpusťte a povolte spuštění ufw při spouštění.
povolit sudo ufw
Z uzlu ceph-admin se přihlaste do monitorovacího uzlu 'mon1' a nainstalujte ufw.
ssh mon1
sudo apt-get install -y ufwOtevřete porty pro uzel monitoru ceph a spusťte ufw.
sudo ufw povolit 22/tcp
sudo ufw povolit 6789/tcp
sudo ufw povolitNakonec otevřete tyto porty na každém uzlu osd:ceph-osd1, ceph-osd2 a ceph-osd3 - port 6800-7300.
Přihlaste se ke každému z uzlů ceph-osd od správce ceph-admin a nainstalujte ufw.
ssh ceph-osd1
sudo apt-get install -y ufwOtevřete porty na uzlech osd a znovu načtěte firewall.
sudo ufw povolit 22/tcp
sudo ufw povolit 6800:7300/tcp
sudo ufw povolitKonfigurace ufw firewallu je dokončena.
Krok 4 – Konfigurace uzlů Ceph OSD
V tomto tutoriálu máme 3 OSD uzly, každý z těchto uzlů má dva oddíly pevného disku.
- /dev/sda pro kořenový oddíl
- /dev/sdb je prázdný oddíl – 20 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 souborový systém.
ssh ceph-osd1
ssh ceph-osd2
ssh ceph-osd3Zkontrolujte schéma 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 %Dále naformátujte oddíl ve formátu XFS pomocí příkazu mkfs.
sudo mkfs.xfs -f /dev/sdbNyní zkontrolujte oddíl a uvidíte oddíl XFS /dev/sdb.
sudo fdisk -s /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 ceph-admin. Chcete-li začít, přihlaste se do uzlu ceph-admin.
ssh [e-mail chráněný]
su - cephuserNainstalujte ceph-deploy na ceph-admin node
V prvním kroku jsme již do systému nainstalovali python a python-pip. Nyní musíme nainstalovat nástroj pro nasazení Ceph 'ceph-deploy ' z úložiště pypi python.
Nainstalujte ceph-deploy na uzel ceph-admin pomocí příkazu pip.
instalace sudo pip ceph-deployPoznámka: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řte nový cluster
Vytvořte nový adresář clusteru.
mkdir cluster
cd cluster/Dále vytvořte nový cluster pomocí 'ceph-deploy ' definováním monitorovacího uzlu '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 bloku [global] vložte níže uvedenou konfiguraci.
# Adresa vaší sítě
veřejná síť =10.0.15.0/24
Výchozí velikost fondu osd =2Uložte soubor a ukončete editor.
Nainstalujte Ceph na všechny uzly
Nyní nainstalujte Ceph na všechny uzly z uzlu ceph-admin jediným příkazem.
ceph-deploy install ceph-admin ceph-osd1 ceph-osd2 ceph-osd3 mon1Příkaz automaticky nainstaluje Ceph na všechny uzly:mon1, osd1-3 a ceph-admin - Instalace bude nějakou dobu trvat.
Nyní nasaďte uzel monitoru na uzel mon1.
ceph-deploy mon create-initialPříkaz vytvoří klíč monitoru, zkontrolujte klíč pomocí tohoto příkazu ceph.
ceph-deploy collectkeys mon1
Přidání OSDS do clusteru
Poté, co byl Ceph nainstalován na všechny uzly, nyní můžeme přidat démony OSD do clusteru. OSD démoni vytvoří oddíl dat a žurnálu na disku /dev/sdb.
Zkontrolujte dostupný disk /dev/sdb na všech uzlech osd.
seznam disků ceph-deploy ceph-osd1 ceph-osd2 ceph-osd3
Uvidíte /dev/sdb s formátem XFS, který jsme vytvořili dříve.
Dále odstraňte tabulky oddílů na všech uzlech pomocí možnosti zap.
ceph-deploy disk zap ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdbPříkaz vymaže všechna data na /dev/sdb na Ceph OSD uzlech.
Nyní připravte všechny uzly OSD a ujistěte se, že ve výsledcích nejsou žádné chyby.
ceph-deploy osd připravit ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdbKdyž ve výsledku uvidíte, že ceph-osd1-3 je připraven k použití OSD, příkaz byl úspěšný.
Aktivujte OSD pomocí příkazu níže:
ceph-deploy osd aktivovat ceph-osd1:/dev/sdb ceph-osd2:/dev/sdb ceph-osd3:/dev/sdbNyní můžete znovu zkontrolovat sdb disk na OSDS uzlech.
seznam disků ceph-deploy ceph-osd1 ceph-osd2 ceph-osd3
Výsledkem je, že /dev/sdb má nyní dva oddíly:
- /dev/sdb1 - Ceph Data
- /dev/sdb2 - Ceph Journal
Nebo to zkontrolujete přímo v uzlu OSD.
ssh ceph-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 ceph-osd1 ceph-osd2 ceph-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 Ubuntu 16.04 byl vytvořen.
Krok 6 – Testování Ceph
V kroku 4 jsme nainstalovali a vytvořili nový cluster Ceph a přidali do clusteru uzly OSDS. Nyní bychom měli cluster otestovat, abychom se ujistili, že funguje tak, jak má.
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 -sVýsledky můžete vidět níže:
Ujistěte se, že stav Ceph je OK a je zde monitorovací uzel 'mon1 ' s IP adresou '10.0.15.11 '. K dispozici jsou 3 OSD servery a všechny jsou v provozu a běží a na disku by mělo být volné místo 45 GB - 3x15GB Ceph Data OSD oddíl.
Úspěšně jsme vybudovali nový Ceph Cluster na Ubuntu 16.04.
Jak nainstalovat Jenkins Automation Server s Apache na Ubuntu 16.04 Jak nainstalovat OTRS (OpenSource Trouble Ticket System) na Ubuntu 16.04Ubuntu