GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Membuat Cluster Penyimpanan Ceph di Ubuntu 16.04

Ceph adalah salah satu teknologi penyimpanan open source yang paling menarik untuk keluar dalam beberapa tahun terakhir. Dapat diskalakan hingga exabyte, dan dapat diperluas ke beberapa pusat data, para pengembang Ceph telah memudahkan Administrator Sistem dan Arsitek Infrastruktur untuk menyebarkan perangkat lunak mereka. Artikel ini akan menawarkan panduan langkah demi langkah tentang cara membuat cluster stroage Ceph dasar. Ini telah diuji pada Ubuntu 16.04. Perhatikan bahwa kecuali dinyatakan lain, semua perintah dijalankan sebagai root. Perhatikan juga bahwa ketika dokumen ini menyebutkan "semua node Ceph", ini termasuk node Admin juga.

Penyiapan Umum

Dalam contoh kita, kita akan membuat cluster Ceph tiga node dasar, masing-masing dengan dua OSD. Kami akan menggunakan konvensi nama host "Penyimpanan-x ", di mana "x" adalah angka dari 1 hingga 3, digunakan untuk merujuk ke node tertentu. Kami akan menggunakan komputer eksternal (bisa komputer atau laptop Anda sendiri) sebagai ceph Admin Node.

Penyiapan Jaringan

Setiap node akan berada di jaringan pribadi yang sama, dengan gateway melalui mana Internet dapat diakses.
Node Admin juga harus berada di jaringan yang sama, tetapi tidak harus selalu tersedia di jaringan. Akibatnya, komputer kerja Anda mungkin adalah node Admin, dan dapat menggunakan VPN untuk terhubung ke jaringan node Ceph.

Ceph menggunakan port TCP 6789 untuk node Ceph Monitor dan port 6800-7100 untuk OSD Ceph ke zona publik. Misalnya pada iptables :

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

Siapkan Node

Setiap node penyimpanan perlu disinkronkan, jadi kita akan menginstal ntp pada node tersebut, dan memastikan bahwa kita dapat mengaksesnya melalui SSH melalui Jaringan.

sudo apt install ntp ssh

Pastikan bahwa setiap nama host node Ceph dapat diselesaikan dari semua node Ceph. Pada setiap node Ceph, edit file /etc/hosts dan tambahkan berikut ini:

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

Ganti alamat IP setiap node yang sesuai.
Untuk menguji apakah resolusi berfungsi, lakukan hal berikut:

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

Pastikan bahwa admin-node hostname ditetapkan ke Alamat IP jaringan eksternal Node Admin, bukan Alamat IP loopback (127.0.0.1).

Pada setiap node Ceph (artinya node Admin dan semua node Storage), kita akan menambahkan repositori paket Ceph Ubuntu ke apt, kemudian memperbarui cache lokal dengan konten repositori baru:

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

Buat cephadmin pengguna di semua node Ceph. Pengguna ini akan digunakan untuk menginstal dan mengelola Ceph di seluruh cluster node, jadi pastikan untuk memaksimalkan keamanan kredensial bagi pengguna ini.

ssh-keygen -t rsa
useradd cephadmin

Menyiapkan SSH tanpa kata sandi

Skrip dan alat pemasangan Ceph dari node Admin harus dapat mengakses semua anggota cluster tanpa kata sandi.
Pada simpul admin, alihkan ke cephadmin pengguna dan buat kunci SSH:

Salin kunci ssh yang Anda buat ke tiga node Penyimpanan:

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

Sebagai pengguna cephadmin di simpul Admin Anda, uji apakah ssh tanpa kata sandi ke dalam simpul Penyimpanan sekarang berfungsi dengan baik:

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

Mengatur Sudo Tanpa Kata Sandi

Sekarang akses tanpa kata sandi melalui SSH sudah diatur, konfigurasikan sudo tanpa kata sandi untuk pengguna cephadmin di semua node Ceph:

visudo

Anda akan melihat yang berikut ini:

#
# 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

Tambahkan baris berikut di bagian bawah:

cephadmin ALL=(ALL) NOPASSWD: ALL

Ini sekarang seharusnya mengizinkan sudo tanpa kata sandi untuk cephadmin pengguna di semua node Ceph.

Instal ceph-deploy

Ceph-deploy adalah alat yang dibuat oleh pengembang Ceph untuk memfasilitasi penyebaran cepat cluster Ceph dengan membuat skrip langkah-langkah individual yang diperlukan untuk menyebarkan sebuah node. Kami akan memanfaatkan ini dengan memasang alat ini di simpul Admin kami.

apt install ceph-deploy

Pada node Admin, alihkan ke cephadmin pengguna yang kami buat di Bagian 1 tutorial, beralih ke direktori home, dan buat subdirektori yang akan digunakan untuk menampung semua file yang diperlukan untuk penerapan dan pengelolaan cluster Ceph kami:

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

Pada titik ini, semua perintah penerapan yang akan dieksekusi harus dilakukan hanya dari dalam /home/cephadmin/my-first-ceph-cluster . Perintah administrasi juga harus dilakukan dari dalam direktori yang sama.

Konfigurasi Ceph

Tetapkan semua Node Penyimpanan sebagai Node Monitor:

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

Dalam direktori kerja Anda, Anda sekarang akan melihat bahwa file telah dibuat oleh ceph-deploy, termasuk file keyring dan file konfigurasi Ceph.

Tambahkan baris berikut ke ceph.conf berkas:

osd pool default size = 2

Karena kami hanya memiliki dua OSD per Node Penyimpanan di cluster kami, ini akan memungkinkan Ceph puas dengan hanya memiliki satu salinan tambahan dari setiap data yang kami simpan di dalamnya.
Tambahkan baris berikut ke ceph.conf juga:

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

Di mana Anda akan mengganti bagian jaringan dengan nilai sebenarnya. Misalnya, jika node penyimpanan Anda berada di jaringan 192.168.1.0/24, itu akan menjadi nilainya. Jangan bingung ketika menyebutkan "jaringan publik"; itu hanya mengacu pada jaringan eksternal ke cluster Ceph. Jaringan replikasi internal tidak tercakup dalam tutorial ini.

Menerapkan Ceph

Perangkat lunak dan file konfigurasi sekarang akan diinstal dan disalin ke Ceph Nodes.

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

Ini akan menginstal semua paket Ceph dasar ke node.

Instal dan Konfigurasikan perangkat lunak Ceph Monitor ke Storage Nodes:

ceph-deploy mon create-initial

OSD Ceph

Meskipun dimungkinkan untuk menggunakan direktori sebagai OSD, namun tidak disarankan dalam pengaturan produksi. Dengan asumsi bahwa OSD Ceph yang akan digunakan pada setiap Node Penyimpanan adalah /dev/sda dan /dev/sdb , kami meminta Ceph menyiapkan disk untuk digunakan.

PERINGATAN: Perintah berikut akan menghancurkan data yang ada pada OSD yang ditentukan, jadi berhati-hatilah agar tidak ada kesalahan dalam menjalankan perintah.

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

Jika perintah sebelumnya berjalan tanpa kesalahan, maka OSD sudah siap, dan sekarang kita dapat mengaktifkannya sebagai sumber daya yang berjalan di cluster:

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

Finalisasi

Salin keyrings admin ke setiap node Ceph sehingga administrasi Ceph pada setiap node dimungkinkan:

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

Periksa status semua OSD di semua Node Penyimpanan:

ceph osd tree

Periksa status keseluruhan cluster Ceph Anda:

ceph health

Jika Anda mendapatkan

HEALTH_OK

itu berarti cluster berfungsi dengan baik.

Jika Anda ingin melihat lebih banyak statistik cluster, perintah berikut harus dilakukan:

ceph status

Kesimpulan

Kami sekarang memiliki cluster Ceph tiga node yang aktif dan berjalan. Dengan penyiapan ini, cluster mungkin kehilangan satu node, tidak kehilangan data, dan terus melayani permintaan. Layanan monitor yang sangat tersedia juga tersedia di setiap node penyimpanan. Ini adalah pengaturan tingkat produksi yang sangat mendasar. Jika Anda ingin mempelajari lebih lanjut, kunjungi dokumentasi resmi Ceph untuk informasi tambahan.


Ubuntu
  1. Cara Membuat Ubuntu Live USB di Windows

  2. Cara Menginstal Node.js &NPM di Ubuntu 18.04 dan 20.04

  3. Cara Menginstal Node.js di Ubuntu 16.04

  1. Cara Membuat Pengguna Sudo di Ubuntu

  2. Cara Menginstal Cluster MySQL di Ubuntu 16.04

  3. Cara membangun Cluster Penyimpanan Terdistribusi Ceph di CentOS 7

  1. Cara menginstal Ceph Storage Cluster di Ubuntu 16.04

  2. Cara membuat drive USB Live Penyimpanan Persisten Ubuntu

  3. Cara membuat Dokumen di Ubuntu