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!