Ceph adalah platform penyimpanan sumber terbuka, ia menawarkan kinerja tinggi, keandalan, dan skalabilitas. Ini adalah sistem penyimpanan terdistribusi gratis yang menyediakan antarmuka ke objek, blok, dan penyimpanan tingkat file tanpa satu titik kegagalan.
Ini adalah bagian ketiga dari seri tutorial Ceph. Di bagian pertama, saya telah menunjukkan kepada Anda cara membangun 'Ceph Cluster' dengan banyak node di CentOS7. Bagian kedua adalah panduan yang menunjukkan cara menggunakan Ceph sebagai Block Device di CentOS 7. Di bagian ketiga ini, saya akan menunjukkan cara memasang Ceph sebagai File System di CentOS 7 sebagai Client.
Prasyarat
- Cluster Ceph - 1 node Ceph-admin, 1 node Moinitor (ceph-mon), 3 node Ceph-osd (lihat bagian 1).
- Klien2 - server CentOS 7 (lihat bagian 2).
- Hak istimewa root
Langkah 1 - Konfigurasi Node Client2
Pada langkah pertama ini, kita akan membuat instalasi dasar dari klien. Ini adalah prosedur yang sama yang kami gunakan pada node cluster lainnya. Kami akan membuat pengguna baru bernama cephuser pada kotak, sinkronkan waktu dengan ntpdate, konfigurasikan sudo tanpa kata sandi untuk cephuser dll. Jadi mari kita mulai...
Hubungkan ke node client2 dengan SSH sebagai pengguna root:
ssh [email protected]
Kami masuk ke server dengan akses root, sekarang kami dapat membuat cephuser baru.
useradd -m -d /home/cephuser cephuser
passwd cephuser
TYPE YOUR NEW PASSWORD
Setelah pengguna baru dibuat, aktifkan sudo tanpa kata sandi untuk pengguna dengan membuat file konfigurasi baru di direktori 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
Selanjutnya, instal NTP, alat baris perintah ntpdate dan alat open-vm. Kemudian perbarui dan sinkronkan waktu sistem dengan 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
Nonaktifkan SELinux dan edit file host.
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
vim /etc/hosts
Tempelkan konfigurasi host 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.23 osd3
10.0.15.15 client
10.0.15.16 client2
Simpan file host dan keluar dari editor. Sekarang coba ping ke node ceph-admin untuk menguji koneksi dan pengaturan nama host.
ping -c 3 ceph-admin
Anda akan melihat alamat IP node ceph-admin sebagai hasilnya.
Langkah 2 - Instal Utilitas Umum Ceph di Client2 Node
Paket ceph-common dapat diinstal dari repositori Ceph. Ini berisi utilitas Ceph untuk memasang dan berinteraksi dengan Ceph Storage Cluster.
Sebelum kita dapat melanjutkan penginstalan paket ceph-common, kita harus menambahkan repositori epel dan repositori 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
Perbarui sistem dan instal utilitas umum Ceph.
sudo yum -y update
sudo yum -y install ceph-common
Selanjutnya, kita harus menambahkan konfigurasi pada node ceph-admin.
Langkah 3 - Konfigurasi Node Ceph-admin
Pada langkah ini, kita akan mengkonfigurasi cluster sehingga kita dapat terhubung dari admin ke node client2 dengan kunci ssh (tanpa password).
Hubungkan ke node ceph-admin sebagai root, lalu login ke cephuser dengan su.
ssh [email protected]
su - cephuser
Edit file konfigurasi ssh dan tentukan bagian konfigurasi client2 baru.
vim ~/.ssh/config
Di akhir file, rekatkan konfigurasi di bawah ini:
Host client2
Hostname client2
User cephuser
Selanjutnya, tambahkan baris konfigurasi host untuk node klien ke file '/etc/hosts' di node ceph-admin.
sudo vim /etc/hosts
Tempelkan konfigurasi host di bawah ini di akhir file.
10.0.15.16 client2
Simpan file host dan keluar dari editor.
Sekarang tambahkan kunci ssh dari node ceph-admin ke node client2.
ssh-keyscan client2 >> ~/.ssh/known_hosts
ssh-copy-id client2
TYPE THE client2 PASSWORD
Kunci ceph-admin telah ditambahkan. Sekarang kita dapat mengakses node client2 tanpa password dari node ceph-admin.
ssh client2
Langkah 4 - Buat Server MetaData Ceph
Jika ingin menjalankan dan memasang CephFS, Anda memerlukan server metadata ceph (Ceph MDS). Ceph MDS berjalan pada node OSD. Kita dapat menginstal Ceph MDS ke node OSD dengan perintah ceph-deploy dari node ceph-admin.
Login ke node ceph-admin dan jadilah cephuser.
ssh [email protected]
su - cephuser
Buka direktori cluster dan jalankan perintah ceph-deploy untuk membuat server metadata ceph baru (Ceph MDS). Saya akan menggunakan node 'osd1' sebagai server metadata.
cd cluster/
ceph-deploy mds create osd1
Setelah membuat server MDS pada node osd1, kita harus menghubungkan node tersebut dengan ssh.
ssh osd1
Selanjutnya buat pool baru untuk server MDS, minimal kita membutuhkan 2 pool - cephfs_data dan cephfs_metadata.
Buat kumpulan baru di simpul 'osd1'.
ceph osd pool create cephfs_data 128
ceph osd pool create cephfs_metadata 128
Kolam baru sudah siap. Sekarang kita dapat membuat sistem file baru dengan menggunakan kumpulan bernama:cephfs_data dan cephfs_metadata.
ceph fs new cephfs cephfs_metadata cephfs_data
cephfs =Nama Sistem File.
Ketika Anda menyelesaikan langkah ini tanpa kesalahan, maka periksa server MDS dengan perintah di bawah ini.
Periksa daftar server MDS:
ceph fs ls
Sekarang Anda dapat melihat bahwa nama sistem file adalah 'cephfs', kumpulan metadata adalah 'cephfs_metadata', dan kumpulan data adalah 'cephfs_data'.
Tampilkan Status MDS:
ceph mds stat
Pastikan MDS aktif dan aktif sebelum Anda melanjutkan.
Langkah 5 - Pasang CephFS dengan Driver Kernel
Server Ceph MDS telah dibuat pada node 'osd1'. Sekarang kita bisa menggunakan CephFS. Pada langkah ini, kita akan me-mount CephFS pada node client2 sebagai sistem file dengan perintah mount.
Sebelum kita mulai dengan langkah berikutnya, kita perlu menginstal ceph-fuse dari repositori ceph di node client2.
sudo yum -y install ceph-fuse
Ketika instalasi selesai, salin kunci pengguna. Dalam konfigurasi default kami, autentikasi cephx diaktifkan. Pengguna default adalah 'admin'.
Salin kunci dari node server MDS 'osd1' ke node client2 dengan perintah scp, lalu ubah izin kunci.
ssh [email protected] 'sudo ceph-authtool -p /etc/ceph/ceph.client.admin.keyring' > ceph.key
chmod 600 ceph.key
Selanjutnya, buat direktori cephfs baru dan mount CephFS ke direktori tersebut.
sudo mkdir -p /mnt/cephfs
sudo mount -t ceph mon1:6789:/ /mnt/cephfs -o name=admin,secretfile=ceph.key
Catatan:
Nama pengguna default =admin
secretfile =ceph.key dari node MDS osd1
Anda akan melihat sistem file baru dengan tipe 'ceph' terpasang di daftar.
sudo df -hT
Untuk melepas sistem file, gunakan utilitas perintah umount.
umount /mnt/cephfs
Langkah 6 - Pasang CephFS sebagai Fuse
Setelah kami berhasil memasang CephFS sebagai sistem file, kami akan memasang CephFS sebagai Fuse (Sistem file di USERspace). Untuk pengaturan ini, kita perlu menyalin file konfigurasi 'ceph.conf' dan kunci dari node pemantauan 'mon1'.
Buat direktori ceph baru pada node client2 dan salin file dan kunci konfigurasi.
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
Ubah izin file.
sudo chmod 644 /etc/ceph/ceph.conf
sudo chmod 644 /etc/ceph/ceph.client.admin.keyring
Selanjutnya, buat direktori fuse baru dan mount CephFS sebagai Fuse ke direktori '/mnt/fuse'.
sudo mkdir -p /mnt/fuse
sudo ceph-fuse -m mon1:6789 /mnt/fuse
Pastikan tidak ada kesalahan, dan periksa apakah CephFS sudah terpasang.
sudo df -hT
Untuk meng-umount CephFS Fuse, gunakan perintah kill.
sudo ps -aux | grep ceph-fuse
kill -2 PID
Langkah 7 - Pasang CephFS menggunakan fstab
Pada langkah ini, kita akan me-mount CephFS secara permanen dengan fstab. Kita akan mengedit /etc/fstab dan menambahkan konfigurasi untuk memasang CephFS dengan driver kernel, menggunakan perintah mount.
Edit file fstab.
sudo vim /etc/fstab
Tempelkan konfigurasi di bawah ini di akhir file:
mon1:6789:/ /mnt/cephfs ceph name=admin,secretkey=/home/cephuser/ceph.key,_netdev,noatime 0 0
Simpan file dan keluar dari vim.
Pasang semua disk dari fstab dengan perintah mount -a, lalu daftarkan semua disk yang tersedia.
sudo mount -a
sudo df -hT
Terakhir, reboot sistem dan periksa disk yang tersedia untuk memastikan bahwa konfigurasi aman untuk boot ulang.
reboot
sudo df -hT
Anda akan melihat bahwa CephFS telah di-mount secara otomatis dengan fstab.