Như mọi người đã biết, tên các phiên bản của Ceph bao gồm 3 số, ngăn cách nhau bởi dấu chấm dạng x.y.z. Mọi người có thể tham khảo thêm về các phiên bản của Ceph tại đây .
Thông thường, Ceph sẽ được cài đặt thông qua ceph-deploy, một công cụ cho phép tự động hóa các bước. Hiện tại, ceph-deploy chỉ hỗ trợ specify version (ví dụ: luminous, mimic, nautilus) khi chạy chứ không thể chỉ định minor version (ví dụ: 12.2.8, 12.2.12).
Điều này sẽ gây khó khăn nếu ta muốn chỉ định cài đặt một phiên bản bất kì nào đó để test tính năng hoặc lab upgrade.
Vì vậy bài viết này sẽ hướng dẫn các bạn cài đặt Ceph theo phiên bản chỉ định bằng cách dựng local repo (ở đây mình sẽ chọn phiên bản Luminous 12.2.8).
1. Mô hình dựng lab
2. Các bước cài đặt
2.1. Cài đặt repo offline trên node local-repo
Cài đặt nginx
yum install epel-release -y yum install nginx -y
Start nginx
systemctl start nginx systemctl enable nginx systemctl status nginx
Thêm rule firewalld
firewall-cmd --zone=public --permanent --add-service=http firewall-cmd --zone=public --permanent --add-service=https firewall-cmd --reload
Cài đặt package để tạo và quản lí repo
yum install createrepo yum-utils wget -y
Tạo repo folder
mkdir -p /var/www/html/repos/{SRPMS,x86_64,noarch}
Tải về các gói cài đặt của Ceph
cd /var/www/html/repos/SRPMS && wget -nH --cut-dirs=3 -r --no-parent https://download.ceph.com/rpm-luminous/el7/SRPMS/ cd /var/www/html/repos/noarch && wget -nH --cut-dirs=3 -r --no-parent https://download.ceph.com/rpm-luminous/el7/noarch/ cd /var/www/html/repos/x86_64 && wget -r -nH --cut-dirs=3 --no-parent -A '*-12.2.8-0.el7.x86_64.rpm' https://download.ceph.com/rpm-luminous/el7/x86_64/
Lưu ý: Ở phía trên mình có dùng tùy chọn của wget để exclude toàn bộ các package không phải của phiên bản 12.2.8 trong folder x86_64 nhằm tránh mất thời gian tải về.
Vì ở folder SRPMS không chỉ có các package của Ceph theo version nên ta sẽ tải hết về và loại bỏ sau.
Sau khi tải về xong, xóa thư mục repodata mặc định
cd /var/www/html/repos/x86_64/ && rm -rf repodata index.html cd /var/www/html/repos/SRPMS/ && rm -rf repodata index.html cd /var/www/html/repos/noarch/ && rm -rf repodata index.html
Ta sẽ lọc các packages trong thư mục /var/www/html/repos/SRPMS/ chỉ giữ lại version 12.2.8
rm -rf $(ls /var/www/html/repos/SRPMS/ -I "ceph-12.2.8-0.el7.src.rpm" | grep ceph-12)
Thực hiện tạo repo
createrepo -v /var/www/html/repos/SRPMS/ createrepo -v /var/www/html/repos/x86_64/ createrepo -v /var/www/html/repos/noarch/
Cấu hình nginx
cat << EOF >> /etc/nginx/conf.d/repos.conf server { listen 80; server_name 10.10.11.243; root /var/www/html/repos; location / { index index.php index.html index.htm; autoindex on; #enable listing of directory index } } EOF
Lưu ý: Thay IP hoặc domain cho phù hợp
Restart lại nginx sau đó truy cập để kiểm tra
nginx -s reload
2.2. Cài đặt Ceph từ local-repo
Vì đã có những bài viết hướng dẫn cụ thể nên mình sẽ không đi vào chi tiết các bước. Các bạn có thể tham khảo bài hướng dẫn cài đặt Ceph Nautilus 3 node tại đây.
Để cài đặt Ceph từ local repo, các bạn lưu ý những điểm sau:
1. Không khai báo repo mặc định mà trỏ về local repo với cú pháp sau
cat <<EOF> /etc/yum.repos.d/ceph.repo [ceph] name=Ceph packages for $basearch baseurl=http://10.10.11.243/x86_64/ enabled=1 priority=2 gpgcheck=0 gpgkey=https://download.ceph.com/keys/release.asc [ceph-noarch] name=Ceph noarch packages baseurl=http://10.10.11.243/noarch enabled=1 priority=2 gpgcheck=0 gpgkey=https://download.ceph.com/keys/release.asc [ceph-source] name=Ceph source packages baseurl=http://10.10.11.243/SRPMS enabled=0 priority=2 gpgcheck=0 gpgkey=https://download.ceph.com/keys/release.asc EOF
Lưu ý: Thay IP phù hợp
2. Khi install bằng ceph-deploy, khai báo sử dụng local-repo thông qua cú pháp sau:
ceph-deploy install --repo-url http://10.10.11.243/ ceph1 ceph2 ceph3
3. Sau khi cài đặt xong, check lại version của Ceph
ceph -v
Chúc các bạn thành công. Nếu tài liệu này có điều gì thiếu sót, mong được sự góp ý từ các bạn.
Xin chân thành cảm ơn!