Ceph adalah platform penyimpanan sumber terbuka yang banyak digunakan. Ini memberikan kinerja tinggi, keandalan, dan skalabilitas. Sistem penyimpanan terdistribusi gratis Ceph menyediakan antarmuka untuk objek, blok, dan penyimpanan tingkat file. Ceph dibangun untuk menyediakan sistem penyimpanan terdistribusi tanpa satu titik kegagalan.
Dalam tutorial ini, saya akan memandu Anda untuk menginstal dan membangun cluster Ceph di CentOS 7. Sebuah cluster Ceph membutuhkan komponen Ceph ini:
- OSD Ceph (ceph-osd) - Menangani penyimpanan data, replikasi dan pemulihan data. Sebuah cluster Ceph membutuhkan setidaknya dua server Ceph OSD. Saya akan menggunakan tiga server CentOS 7 OSD di sini.
- Ceph Monitor (ceph-mon) - Memantau status cluster, peta OSD, dan peta CRUSH. Saya akan menggunakan satu server.
- Server Data Meta Ceph (ceph-mds) - Ini diperlukan untuk menggunakan Ceph sebagai Sistem File.
Prasyarat
- 6 node server, semuanya dengan CentOS 7 terinstal.
- Hak istimewa root pada semua node.
Server dalam tutorial ini akan menggunakan nama host dan alamat IP berikut.
nama host Alamat IP
ceph-admin 10.0.15.10
mon1 10.0.15.11
osd1 10.0.15.21
osd2 . br />klien 10.0.15.15
Semua node OSD membutuhkan dua partisi, satu partisi root (/) dan satu partisi kosong yang nantinya digunakan sebagai penyimpanan data Ceph.
Langkah 1 - Konfigurasikan Semua Node
Pada langkah ini, kita akan mengkonfigurasi semua 6 node untuk mempersiapkan mereka untuk instalasi Ceph Cluster. Anda harus mengikuti dan menjalankan semua perintah di bawah ini di semua node. Dan pastikan ssh-server terinstal di semua node.
Buat Pengguna Ceph
Buat pengguna baru bernama 'cephuser ' di semua node.
useradd -d /home/cephuser -m cephuser
passwd cephuser
Setelah membuat pengguna baru, kita perlu mengkonfigurasi sudo untuk 'cephuser'. Dia harus dapat menjalankan perintah sebagai root dan mendapatkan hak akses root tanpa kata sandi.
Jalankan perintah di bawah ini untuk membuat file sudoers bagi pengguna dan edit file /etc/sudoers dengan 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 requiretty'/g /etc/sudoers
Instal dan Konfigurasi NTP
Instal NTP untuk menyinkronkan tanggal dan waktu di semua node. Jalankan perintah ntpdate untuk menyetel tanggal dan waktu melalui protokol NTP, kita akan menggunakan server NTP us pool. Kemudian mulai dan aktifkan server NTP untuk berjalan saat boot.
yum install -y ntp ntpdate ntp-doc
ntpdate 0.us.pool.ntp.org
hwclock --systohc
systemctl aktifkan ntpd.service
systemctl start ntpd .layanan
Instal Open-vm-tools
Jika Anda menjalankan semua node di dalam VMware, Anda perlu menginstal utilitas virtualisasi ini. Jika tidak, lewati langkah ini.
yum install -y open-vm-tools
Nonaktifkan SELinux
Nonaktifkan SELinux di semua node dengan mengedit file konfigurasi SELinux dengan sed stream editor.
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Konfigurasikan File Host
Edit file /etc/hosts di semua node dengan editor vim dan tambahkan baris dengan alamat IP dan nama host dari semua node cluster.
vim /etc/hosts
Rekatkan konfigurasi di bawah ini:
10.0.15.10 ceph-admin
10.0.15.11 mon1
10.0.15.21 osd1
10.0.15.22 osd2
10.0.15 osd1
10.0.15.22 osd2
10.0.15 . /pra>Simpan file dan keluar dari vim.
Sekarang Anda dapat mencoba melakukan ping antara server dengan nama host mereka untuk menguji konektivitas jaringan. Contoh:
ping -c 5 mon1
Langkah 2 - Konfigurasi Server SSH
Pada langkah ini, saya akan mengonfigurasi node ceph-admin . Node admin digunakan untuk mengkonfigurasi node monitor dan node osd. Masuk ke node ceph-admin dan jadilah 'cephuser '.
ssh [dilindungi email]
su - cephuserNode admin digunakan untuk menginstal dan mengkonfigurasi semua node cluster, sehingga pengguna di node ceph-admin harus memiliki hak untuk terhubung ke semua node tanpa kata sandi. Kita harus mengonfigurasi akses SSH tanpa kata sandi untuk 'cephuser' di node 'ceph-admin'.
Buat kunci ssh untuk 'cephuser '.
ssh-keygenbiarkan frasa sandi kosong/kosong.
Selanjutnya, buat file konfigurasi untuk konfigurasi ssh.
vim ~/.ssh/configTempelkan konfigurasi di bawah ini:
Host ceph-admin
Hostname ceph-admin
User cephuser
Host mon1
Hostname mon1
User cephuser
Host osd1
Hostname osd1
User cephuser
Host osd2
Hostname osd2
User cephuser
Host> Hostname osd3
User cephuser
Host client
Hostname client
User cephuserSimpan file.
Ubah izin file konfigurasi.
chmod 644 ~/.ssh/configSekarang tambahkan kunci SSH ke semua node dengan perintah ssh-copy-id.
ssh-keyscan osd1 osd2 osd3 mon1 client>> ~/.ssh/known_hosts
ssh-copy-id osd1
ssh-copy-id osd2
ssh-copy-id osd3
ssh-copy-id mon1
ssh-copy-id klienKetikkan kata sandi 'cephuser' Anda saat diminta.
Setelah selesai, coba akses server osd1 dari node ceph-admin.
ssh osd1
Langkah 3 - Konfigurasi Firewalld
Kami akan menggunakan Firewalld untuk melindungi sistem. Pada langkah ini, kita akan mengaktifkan firewald di semua node, lalu membuka port yang dibutuhkan oleh ceph-admon, ceph-mon dan ceph-osd.
Masuk ke node ceph-admin dan mulai firewalld.
ssh [dilindungi email]
systemctl start firewalld
systemctl aktifkan firewalldBuka port 80, 2003 dan 4505-4506, lalu muat ulang 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 --reloadDari node ceph-admin, login ke node monitor 'mon1' dan mulai firewalld.
ssh mon1
sudo systemctl start firewalld
sudo systemctl aktifkan firewalldBuka port baru pada node monitor Ceph dan muat ulang firewall.
sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent
sudo firewall-cmd --reloadTerakhir, buka port 6800-7300 di setiap node osd - osd1, osd2, dan os3.
Login ke setiap node osd dari node ceph-admin.
ssh osd1
sudo systemctl start firewalld
sudo systemctl aktifkan firewalldBuka port dan muat ulang firewall.
sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent
sudo firewall-cmd --reloadKonfigurasi firewalld selesai.
Langkah 4 - Konfigurasikan Node OSD Ceph
Dalam tutorial ini, kita memiliki 3 node OSD dan setiap node memiliki dua partisi.
- /dev/sda untuk partisi root.
- /dev/sdb adalah partisi kosong - 30GB dalam kasus saya.
Kami akan menggunakan /dev/sdb untuk cakram Ceph. Dari node ceph-admin, login ke semua node OSD dan format partisi /dev/sdb dengan XFS .
ssh osd1
ssh osd2
ssh osd3Periksa partisi dengan perintah fdisk.
sudo fdisk -l /dev/sdbFormat partisi /dev/sdb dengan sistem file XFS dan dengan tabel partisi GPT dengan menggunakan perintah parted.
sudo parted -s /dev/sdb mklabel gpt mkpart primer xfs 0% 100%
sudo mkfs.xfs /dev/sdb -fSekarang periksa partisi, dan Anda akan mendapatkan partisi xfs /dev/sdb.
sudo blkid -o nilai -s TYPE /dev/sdb
Langkah 5 - Bangun Cluster Ceph
Pada langkah ini, kita akan menginstal Ceph pada semua node dari node ceph-admin.
Masuk ke node ceph-admin.
ssh [dilindungi email]
su - cephuser
Instal ceph-deploy pada node ceph-admin
Tambahkan repositori Ceph dan instal alat penerapan Ceph 'ceph-deploy ' dengan perintah yum.
sudo rpm -Uhv http://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-1.el7.noarch.rpm
sudo yum update -y &&sudo yum instal ceph-deploy -yPastikan semua node diperbarui.
Setelah alat ceph-deploy diinstal, buat direktori baru untuk konfigurasi cluster ceph.
Buat Konfigurasi Cluster Baru
Buat direktori cluster baru.
kluster mkdir
cd cluster/Selanjutnya, buat konfigurasi cluster baru dengan 'ceph-deploy ' perintah, tentukan node monitor menjadi 'mon1 '.
ceph-deploy mon1 baruPerintah tersebut akan menghasilkan file konfigurasi cluster Ceph 'ceph.conf' di direktori cluster.
Edit file ceph.conf dengan vim.
vim ceph.confDi bawah blok [global], rekatkan konfigurasi di bawah.
# Alamat jaringan Anda
jaringan publik =10.0.15.0/24
ukuran default kumpulan osd =2Simpan file dan keluar dari vim.
Instal Ceph di Semua Node
Sekarang instal Ceph di semua node lain dari node ceph-admin. Ini dapat dilakukan dengan satu perintah.
ceph-deploy install ceph-admin mon1 osd1 osd2 osd3Perintah tersebut akan menginstal Ceph secara otomatis di semua node:mon1, osd1-3 dan ceph-admin - Instalasi akan memakan waktu.
Sekarang terapkan ceph-mon pada node mon1.
ceph-deploy mon create-initialPerintah akan membuat kunci monitor, memeriksa dan mendapatkan kunci dengan perintah 'ceph'.
ceph-deploy assemblekeys mon1
Menambahkan OSDS ke Cluster
Ketika Ceph telah terinstal di semua node, maka kita dapat menambahkan daemon OSD ke cluster. Daemon OSD akan membuat partisi data dan jurnal mereka pada disk /dev/sdb.
Pastikan partisi /dev/sdb tersedia di semua node OSD.
ceph-deploy daftar disk osd1 osd2 osd3
Anda akan melihat disk /dev/sdb dengan format XFS.
Selanjutnya, hapus tabel partisi /dev/sdb pada semua node dengan opsi zap.
ceph-deploy disk zap osd1:/dev/sdb osd2:/dev/sdb osd3:/dev/sdbPerintah tersebut akan menghapus semua data di /dev/sdb pada node Ceph OSD.
Sekarang siapkan semua node OSDS. Pastikan tidak ada kesalahan dalam hasil.
ceph-deploy osd mempersiapkan osd1:/dev/sdb osd2:/dev/sdb osd3:/dev/sdbJika Anda melihat hasil osd1-3 siap untuk penggunaan OSD, berarti penerapan telah berhasil.
Aktifkan OSD dengan perintah di bawah ini:
ceph-deploy osd aktifkan osd1:/dev/sdb1 osd2:/dev/sdb1 osd3:/dev/sdb1Periksa output untuk kesalahan sebelum Anda melanjutkan. Sekarang Anda dapat memeriksa disk sdb pada node OSD dengan perintah list.
ceph-deploy daftar disk osd1 osd2 osd3
Hasilnya adalah bahwa /dev/sdb sekarang memiliki dua partisi:
- /dev/sdb1 - Data Ceph
- /dev/sdb2 - Jurnal Ceph
Atau Anda dapat memeriksanya langsung di node OSD dengan fdisk.
ssh osd1
sudo fdisk -l /dev/sdb
Selanjutnya, terapkan kunci pengelolaan ke semua node terkait.
ceph-deploy admin ceph-admin mon1 osd1 osd2 osd3Ubah izin file kunci dengan menjalankan perintah di bawah ini pada semua node.
sudo chmod 644 /etc/ceph/ceph.client.admin.keyringCluster Ceph di CentOS 7 telah dibuat.
Langkah 6 - Menguji penyiapan Ceph
Pada langkah 4, kami telah menginstal dan membuat cluster Ceph baru kami, kemudian kami menambahkan node OSDS ke cluster. Sekarang kita dapat menguji kluster dan memastikan tidak ada kesalahan dalam penyiapan kluster.
Dari node ceph-admin, masuk ke server monitor ceph 'mon1 '.
ssh mon1Jalankan perintah di bawah untuk memeriksa kondisi cluster.
kesehatan sudo cephSekarang periksa status cluster.
sudo ceph -sDan Anda akan melihat hasilnya di bawah ini:
Pastikan kesehatan Ceph OK dan ada node monitor 'mon1 ' dengan alamat IP '10.0.15.11 '. Seharusnya ada 3 OSD server dan semuanya harus aktif dan berjalan, dan harus ada disk yang tersedia sekitar 75 GB - Partisi Ceph Data 3x25GB.
Selamat, Anda telah berhasil membangun Cluster Ceph baru.
Di bagian selanjutnya dari tutorial Ceph, saya akan menunjukkan cara menggunakan Ceph sebagai Block Device atau memasangnya sebagai FileSystem.
Cara Menginstal Percona XtraDB Cluster di CentOS 7 Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7Cent OS