diff --git a/README.md b/README.md index 4ee5366..632cefd 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ [Cài đặt Ceph bản Nautilus](docs/setup/ceph-nautilus.md) +[Cài đặt Ceph bản Octopus](docs/setup/ceph-octopus.md) + [Cài đặt Ceph-RadosGW HA bản Nautilus](docs/setup/ceph-radosgw.md) # Tài liệu tích hợp @@ -50,6 +52,25 @@ # Tài liệu vận hành + +## Thêm osd + +[Thêm osd](docs/operating/add-osd.md) + +## Cập nhật osd + +## Xoá osd + +[Xoá osd](docs/operating/del-osd.md) + +## Bật rgw + +[Bật rgw](docs/operating/enable-rgw.md) + +## Tắt/bật cluster + +[Tắt/bật cluster](docs/operating/off-on-cluster.md) + ## CheatSheet thao tác [Ceph Cheat sheet](docs/operating/ceph-cheat-sheet.md) @@ -60,6 +81,8 @@ # Benchmark & Troubleshooting +- [Lỗi không tạo bucket](docs/operating/bucket-err.md) + - [Node Ceph hỏng](docs/operating/ceph-hardware-crash.md) -- [Note case vận hành](docs/operating/note.md) \ No newline at end of file +- [Note case vận hành](docs/operating/note.md) diff --git a/docs/operating/add-osd.md b/docs/operating/add-osd.md new file mode 100644 index 0000000..a2257d9 --- /dev/null +++ b/docs/operating/add-osd.md @@ -0,0 +1,63 @@ +## Thêm mới osd cho cluster ceph đã cài đặt trên ubuntu 18.04 + +## Tạo user "cephuser" trên ceph4 +```sh +sudo useradd -m -s /bin/bash cephuser +passwd cephuser +echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser +sudo chmod 0440 /etc/sudoers.d/cephuser +sudo sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers +``` +## Lệnh bên dưới đều thao tác bằng user "cephuser", trên node ceph1 +- Thêm node mới (ceph4) vào file hosts: +``` +/etc/hots +``` +- File quản lý clush: +``` +/etc/clustershell/groups +``` +## Copy id từ ceph1 lên ceph4 +```sh +ssh-copy-id ceph4 +``` +## Cài đặt python, ntp +```sh +ssh ceph4 "sudo apt install python ntp -y; timedatectl" +``` +## Thay đổi hostname (nếu cần) +```sh +ssh ceph4 "hostnamectl set-hostname ceph4" +``` +## Cài cmdlog +ssh ceph4 "curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/scripts/master/Utilities/cmdlog.sh | sudo bash" + +## Add key, resource +```sh +ssh ceph4 "wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add - ; sudo apt update -y" +ssh ceph4 "echo deb https://download.ceph.com/debian-nautilus/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list" +``` + +## Cài ceph lên node ceph4 +```sh +ceph-deploy install --release nautilus ceph4 + +``` +## Kiểm tra, so sánh, phiên bản +```sh +clush -a "ceph --version" +``` + +## Chỉ định, tạo osd trên ceph4 +```sh +ceph-deploy disk zap ceph4 /dev/vdb +ceph-deploy disk zap ceph4 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph4 +ceph-deploy osd create --data /dev/vdc ceph4 +``` + +## Kiểm tra lại +```sh +sudo ceph --status +sudo ceph osd tree +``` diff --git a/docs/operating/bucket-err.md b/docs/operating/bucket-err.md new file mode 100644 index 0000000..9ad2828 --- /dev/null +++ b/docs/operating/bucket-err.md @@ -0,0 +1,20 @@ +``` +ceph version 14.2.8 (2d095e947a02261ce61424021bb43bd3022d35cb) nautilus (stable) +``` +## Khi tạo bucket mới có hiện lỗi + + +``` +500 - Internal Server Error +RGW REST API failed request with status code 416 '{"Code":"InvalidRange","BucketName":"1111111111","RequestId":"tx000000000000000000126-005e6f7c7e-fc18-default","HostId":"fc18-default-default"}' +``` +## Check lỗi trong "/var/log/ceph/ceph-client.rgw.ceph1.log" có xuất hiện: + +``` +rgw_init_ioctx ERROR: librados::Rados::pool_create returned (34) Numerical result out of range (this can be due to a pool or placement group misconfiguration, e.g. pg_num < pgp_num or mon_max_pg_per_osd exceeded) +``` +## - Nguyên nhân: có thể do quá nhiều PGs trên OSD. +## - Giải quyết: điều chỉnh lại PGs, xoá bớt pool ko cần thiết + +Links tham khảo: +https://ceph-users.ceph.narkive.com/zwPBOjFr/luminous-rgw-errors-at-start diff --git a/docs/operating/del-osd.md b/docs/operating/del-osd.md new file mode 100644 index 0000000..8d78c21 --- /dev/null +++ b/docs/operating/del-osd.md @@ -0,0 +1,21 @@ +## Kiểm tra trạng thái cluster + +```sh +ceph osd tree +``` +## Thực hiện gỡ osd (ví dụ osd có id là 6, trên ceph4) +```sh +sudo ceph osd out osd.6 +ssh ceph4 "sudo systemctl stop ceph-osd@6" +ssh ceph4 "sudo umount /var/lib/ceph/osd/ceph-6" +sudo ceph osd crush remove osd.6 +sudo ceph auth del osd.6 +sudo ceph osd rm osd.6 +ceph-deploy purge ceph4 +``` + + + +## Links tham khảo +https://www.virtualtothecore.com/adventures-with-ceph-storage-part-7-add-a-node-and-expand-the-cluster-storage/ +https://medium.com/@george.shuklin/how-to-remove-osd-from-ceph-cluster-b4c37cc0ec87 diff --git a/docs/operating/enable-rgw.md b/docs/operating/enable-rgw.md new file mode 100644 index 0000000..0955d62 --- /dev/null +++ b/docs/operating/enable-rgw.md @@ -0,0 +1,43 @@ +## Bật Object Gateway Management(OGM). + +Để dùng được OGM chúng ta cần cung cấp thông tài khoản có cờ "system". + +Cú pháp tạo user với cờ "system" + +```sh +sudo radosgw-admin user create --uid= --display-name= --system +``` +Lưu lại access_key và secret_key. + +Command sử dụng trong trường hợp không nhớ access_key và secret_key của use: + +```sh +sudo radosgw-admin user info --uid= +``` + +Command gán quyền truy xuất dashboard cho user: + +```sh +sudo ceph dashboard set-rgw-api-access-key +sudo ceph dashboard set-rgw-api-secret-key +``` + +Nếu sử dụng chứng chỉ tự ký, có thể sẽ gặp một số lỗi về chứng chỉ, vậy chúng ta sẽ tắt xác nhận ssl của rgw: + +```sh +sudo ceph dashboard set-rgw-api-ssl-verify False +``` +Tắt/bật lại dashboard + +```sh +sudo ceph mgr module disable dashboard +sudo ceph mgr module enable dashboard +``` +Khởi tạo node rgw trên cả 3 node ceph + +```sh +cd ceph-deploy +ceph-deploy install --rgw ceph01 ceph02 ceph03 +ceph-deploy rgw create ceph01 ceph02 ceph03 +``` +Ceph Object Gateway được chạy trên Civetweb (được tích hợp sẵn trong ceph-radosgw daemon) bao gồm Apache và FastCGI. Civetweb của RGW chạy dưới port 7480 diff --git a/docs/operating/note.md b/docs/operating/note.md index 76a1f66..e02d37e 100644 --- a/docs/operating/note.md +++ b/docs/operating/note.md @@ -1,3 +1,10 @@ # Note các case vận hành Ceph -[Sử dụng cached WALL & DB trên SSD cho OSD](bluestore-blockwall.md) \ No newline at end of file +[Sử dụng cached WALL & DB trên SSD cho OSD](bluestore-blockwall.md) + +# Bật, tắt mon_allow_pool_delete +``` +ceph config set mon mon_allow_pool_delete true +``` +Links tham khảo: +https://stackoverflow.com/a/58750208/4435643 diff --git a/docs/operating/off-on-cluster.md b/docs/operating/off-on-cluster.md new file mode 100644 index 0000000..1491a12 --- /dev/null +++ b/docs/operating/off-on-cluster.md @@ -0,0 +1,49 @@ +## Hướng dẫn cách tắt/bật cluster + + +# Tắt (không thực hiện bước tiếp, nếu các bước trước không thoả mãn). +1. Dừng sử dụng RBD images/Rados Gateway trên tất cả clients. +2. Hãy chắc chắn cluster đang ở trạng thái "healthy". +3. Bật cờ noout, norecover, norebalance, nobackfill, nodown and pause. + +```sh +##Chạy trên ceph01 (mng node) + +ceph osd set noout +ceph osd set norecover +ceph osd set norebalance +ceph osd set nobackfill +ceph osd set nodown +ceph osd set pause +``` +> Status hiển thị +``` + OSDMAP_FLAGS: pauserd,pausewr,nodown,noout,nobackfill,norebalance,norecover flag(s) set +``` +4. Shutdown lần lượt osd node. +5. Shutdown lần lượt monitor node. +6. Shutdown admin node. + + +# Bật + +1. Bật nguồn admin node. +2. Bật nguồn monitor node. +3. Bật nguồn osd node. +4. Đợi tới khi tất cả các node được bật, kiểm tra kết nối thành công giữa các node. +5. Tắt cờ noout,norecover,noreblance, nobackfill, nodown and pause. + +```sh +##Run on ceph1(mng node) +ceph osd unset noout +ceph osd unset norecover +ceph osd unset norebalance +ceph osd unset nobackfill +ceph osd unset nodown +ceph osd unset pause +``` + +6. Kiểm tra trạng thái của cluster và kết nối lại từ các client. + +# Links tham khảo: +https://ceph.io/planet/how-to-do-a-ceph-cluster-maintenance-shutdown/ diff --git a/docs/setup/ceph-nautilus-centos.md b/docs/setup/ceph-nautilus-centos.md new file mode 100644 index 0000000..ec13011 --- /dev/null +++ b/docs/setup/ceph-nautilus-centos.md @@ -0,0 +1,520 @@ +## Hướng dẫn cài đặt CEPH sử dụng `ceph-deploy` + +### Mục tiêu LAB +- Mô hình này sử dụng 3 server, trong đó: +- Host `ceph01` cài đặt `ceph-deploy`, `ceph-mon`,` ceph-osd`, `ceph-mgr` +- Host `ceph02` cài đặt `ceph-osd` +- Host `ceph03` cài đặt `ceph-osd` +- Mô hình khá cơ bản cho việc áp dụng vào môi trường Product + +## Chuẩn bị và môi trường LAB (3 Node) + +- CentOS7 - 64 bit +- 03: HDD, trong đó: + - `sda`: sử dụng để cài OS + - `vdb`,`vdc`: sử dụng làm OSD (nơi chứa dữ liệu) +- 03 NICs: + - `eth0`: dùng để ssh và tải gói cài đặt + - `eth1`: dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào + - `eth2`: dùng để đồng bộ dữ liệu giữa các OSD +- Phiên bản cài đặt : Ceph Nautilus + + +## Mô hình +- Sử dụng mô hình + +![](../../images/topo.png) + + +## IP Planning +- Phân hoạch IP cho các máy chủ trong mô hình trên + +![](../../images/ip-planning1.png) + + +## Các bước chuẩn bị trên từng Server + +- Cài đặt NTPD +```sh +yum install chrony -y +``` + +- Enable NTPD +```sh +systemctl start chronyd +systemctl enable chronyd +``` + +- Kiểm tra chronyd hoạt động +```sh +chronyc sources -v +timedatectl +``` + +- Set hwclock +```sh +hwclock --systohc +``` + +- Đặt hostname +```sh +hostnamectl set-hostname ceph01 +``` + +- Đặt IP cho các node +```sh +echo "Setup IP eth0" +nmcli c modify eth0 ipv4.addresses 10.10.10.61/24 +nmcli c modify eth0 ipv4.gateway 10.10.10.1 +nmcli c modify eth0 ipv4.dns 8.8.8.8 +nmcli c modify eth0 ipv4.method manual +nmcli con mod eth0 connection.autoconnect yes + +echo "Setup IP eth1" +nmcli c modify eth1 ipv4.addresses 10.10.13.61/24 +nmcli c modify eth1 ipv4.method manual +nmcli con mod eth1 connection.autoconnect yes + +echo "Setup IP eth2" +nmcli c modify eth2 ipv4.addresses 10.10.14.61/24 +nmcli c modify eth2 ipv4.method manual +nmcli con mod eth2 connection.autoconnect yes + +systemctl disable NetworkManager +systemctl enable network +systemctl start network +``` + +- Cài đặt epel-relese và update OS +```sh +yum install epel-release -y +yum update -y +``` + +- Cài đặt CMD_log +```sh +curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/scripts/master/Utilities/cmdlog.sh | bash +``` +Hoặc +```sh +#!/bin/bash +echo "Install rsyslog" +yum -y install rsyslog || apt-get -y install rsyslog +systemctl enable rsyslog.service || chkconfig rsyslog on +systemctl start rsyslog.service || service rsyslog start + +echo "Config log History" +touch ~/.bash_profile +cp ~/{.bash_profile,.bash_profile.bk} +echo "export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug \"[\$(echo \$SSH_CLIENT | cut -d\" \" -f1)] # \$(history 1 | sed \"s/^[ ]*[0-9]\+[ ]*//\" )\"'" >> ~/.bash_profile +echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile +touch /var/log/cmdlog.log + +echo "Config rsyslog" +mv /etc/rsyslog.{conf,conf.bk} +cat >> /etc/rsyslog.conf << EOF +\$ModLoad imuxsock +\$ModLoad imklog +\$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat +\$FileOwner root +\$FileGroup adm +\$FileCreateMode 0640 +\$DirCreateMode 0755 +\$Umask 0022 +auth,authpriv.*-/var/log/auth.log +daemon.*-/var/log/daemon.log +kern.*-/var/log/kern.log +cron.*-/var/log/cron.log +user.*-/var/log/user.log +mail.*-/var/log/mail.log +local7.*-/var/log/boot.log +local6.*-/var/log/cmdlog.log +EOF + +echo "Restart rsyslog" +systemctl restart rsyslog.service || service rsyslog restart +source ~/.bash_profile +``` + +- Bổ sung user `cephuser` +```sh +sudo useradd -d /home/cephuser -m cephuser +sudo passwd cephuser +```` + +- Cấp quyền sudo cho `cephuser` +```sh +echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser +sudo chmod 0440 /etc/sudoers.d/cephuser +``` + +- Vô hiệu hóa Selinux +```sh +sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux +sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config +``` + +- Mở port cho Ceph trên Firewalld +```sh +#ceph-admin +systemctl start firewalld +systemctl enable firewalld +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 --reload + +# mon +sudo systemctl start firewalld +sudo systemctl enable firewalld +sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent +sudo firewall-cmd --reload + +# osd +sudo systemctl start firewalld +sudo systemctl enable firewalld +sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent +sudo firewall-cmd --reload +``` + +- Hoặc có thể disable firewall +```sh +sudo systemctl disable firewalld +sudo systemctl stop firewalld +``` + +- Bổ sung file hosts +```sh +cat << EOF >> /etc/hosts +10.10.13.61 ceph01 +10.10.13.62 ceph02 +10.10.13.63 ceph03 +EOF +``` +> Lưu ý network setup trong /etc/hosts chính là đường `eth1` dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào + +- Kiểm tra kết nối +```sh +ping -c 10 ceph01 +``` + +- Khởi động lại máy +```sh +init 6 +``` + +> Các server ceph02 và ceph03 thực hiện tương tự + +## Cài đặt Ceph + +Bổ sung repo cho ceph trên tất cả các node +```sh +cat < /etc/yum.repos.d/ceph.repo +[ceph] +name=Ceph packages for $basearch +baseurl=https://download.ceph.com/rpm-nautilus/el7/x86_64/ +enabled=1 +priority=2 +gpgcheck=1 +gpgkey=https://download.ceph.com/keys/release.asc + +[ceph-noarch] +name=Ceph noarch packages +baseurl=https://download.ceph.com/rpm-nautilus/el7/noarch +enabled=1 +priority=2 +gpgcheck=1 +gpgkey=https://download.ceph.com/keys/release.asc + +[ceph-source] +name=Ceph source packages +baseurl=https://download.ceph.com/rpm-nautilus/el7/SRPMS +enabled=0 +priority=2 +gpgcheck=1 +gpgkey=https://download.ceph.com/keys/release.asc +EOF + +yum update -y +``` + +Các bước ở dưới được thực hiện toàn toàn trên Node `ceph01` + +- Cài đặt `python-setuptools` +```sh +yum install python-setuptools -y +``` + +- Cài đặt `ceph-deploy` +```sh +yum install ceph-deploy -y +``` + +- Kiểm tra cài đặt +```sh +ceph-deploy --version +``` +>Kết quả như sau là đã cài đặt thành công ceph-deploy +```sh +2.0.1 +``` + +- Tạo ssh key +```sh +ssh-keygen +``` +> Bấm ENTER khi có requirement + +- Cấu hình user ssh cho ceph-deploy +```sh +cat < /root/.ssh/config +Host ceph01 + Hostname ceph01 + User cephuser +Host ceph02 + Hostname ceph02 + User cephuser +Host ceph03 + Hostname ceph03 + User cephuser +EOF +``` + +- Copy ssh key sang các node khác +```sh +ssh-copy-id ceph01 +ssh-copy-id ceph02 +ssh-copy-id ceph03 +``` +> Nhập mật khẩu + +- Tạo các thư mục `ceph-deploy` để thao tác cài đặt vận hành Cluster +```sh +mkdir /ceph-deploy && cd /ceph-deploy +``` + +- Khởi tại file cấu hình cho cụm với node quản lý là `ceph01` +```sh +ceph-deploy new ceph01 ceph02 ceph03 +``` + +- Kiểm tra lại thông tin folder `ceph-deploy` +```sh +[root@ceph01 ceph-deploy]# ls -lah +total 12K +drwxr-xr-x 2 root root 75 Jan 31 16:31 . +dr-xr-xr-x. 18 root root 243 Jan 31 16:29 .. +-rw-r--r-- 1 root root 2.9K Jan 31 16:31 ceph-deploy-ceph.log +-rw-r--r-- 1 root root 195 Jan 31 16:31 ceph.conf +-rw------- 1 root root 73 Jan 31 16:31 ceph.mon.keyring +[root@ceph01 ceph-deploy]# +``` +- `ceph.conf` : file config được tự động khởi tạo +- `ceph-deploy-ceph.log` : file log của toàn bộ thao tác đối với việc sử dụng lệnh `ceph-deploy` +- `ceph.mon.keyring` : Key monitoring được ceph sinh ra tự động để khởi tạo Cluster + +- Chúng ta sẽ bổ sung thêm vào file `ceph.conf` một vài thông tin cơ bản như sau: +```sh +cat << EOF >> ceph.conf +osd pool default size = 2 +osd pool default min size = 1 +osd pool default pg num = 128 +osd pool default pgp num = 128 + +osd crush chooseleaf type = 1 + +public network = 10.10.13.0/24 +cluster network = 10.10.14.0/24 +EOF +``` +- Bổ sung thêm định nghĩa + + `public network` : Đường trao đổi thông tin giữa các node Ceph và cũng là đường client kết nối vào + + `cluster network` : Đường đồng bộ dữ liệu +- Bổ sung thêm `default size replicate` +- Bổ sung thêm `default pg num` + + +- Cài đặt ceph trên toàn bộ các node ceph +```sh +ceph-deploy install --release nautilus ceph01 ceph02 ceph03 +``` + +- Kiểm tra sau khi cài đặt trên cả 3 node +```sh +ceph -v +``` +> Kết quả như sau là đã cài đặt thành công ceph trên node +```sh + ceph version 14.2.2 (4f8fa0a0024755aae7d95567c63f11d6862d55be) nautilus (stable) +``` + +- Khởi tạo cluster với các node `mon` (Monitor-quản lý) dựa trên file `ceph.conf` +```sh +ceph-deploy mon create-initial +``` + +- Sau khi thực hiện lệnh phía trên sẽ sinh thêm ra 05 file : +`ceph.bootstrap-mds.keyring`, `ceph.bootstrap-mgr.keyring`, `ceph.bootstrap-osd.keyring`, `ceph.client.admin.keyring` và `ceph.bootstrap-rgw.keyring`. Quan sát bằng lệnh `ll -alh` + +```sh +[root@ceph01 ceph-deploy]# ls -lah +total 348K +drwxr-xr-x 2 root root 244 Feb 1 11:40 . +dr-xr-xr-x. 18 root root 243 Feb 1 11:29 .. +-rw-r--r-- 1 root root 258K Feb 1 11:40 ceph-deploy-ceph.log +-rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-mds.keyring +-rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-mgr.keyring +-rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-osd.keyring +-rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-rgw.keyring +-rw------- 1 root root 151 Feb 1 11:40 ceph.client.admin.keyring +-rw-r--r-- 1 root root 195 Feb 1 11:29 ceph.conf +-rw------- 1 root root 73 Feb 1 11:29 ceph.mon.keyring +``` + +- Để node `ceph01`, `ceph02`, `ceph03` có thể thao tác với cluster chúng ta cần gán cho node quyền admin bằng cách bổ sung key `admin.keying` cho node +```sh +ceph-deploy admin ceph01 ceph02 ceph03 +``` +> Kiểm tra bằng lệnh +```sh +[root@ceph01 ceph-deploy]# ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 1.09337s) + mgr: no daemons active + osd: 0 osds: 0 up, 0 in + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 0 B used, 0 B / 0 B avail + pgs: +``` + +## Khởi tạo MGR + +Ceph-mgr là thành phần cài đặt yêu cầu cần khởi tạo từ bản luminous, có thể cài đặt trên nhiều node hoạt động theo cơ chế `Active-Passive` + +- Cài đặt ceph-mgr trên ceph01 +```sh +ceph-deploy mgr create ceph01 ceph02 +``` + +- Kiểm tra cài đặt +```sh +[root@ceph01 ceph-deploy]# ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 53s) + mgr: ceph01(active, since 11s), standbys: ceph02 + osd: 0 osds: 0 up, 0 in + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 0 B used, 0 B / 0 B avail + pgs: +``` + +- Ceph-mgr hỗ trợ dashboard để quan sát trạng thái của cluster, Enable mgr dashboard trên host ceph01 +```sh +yum install ceph-mgr-dashboard -y +ceph mgr module enable dashboard +ceph dashboard create-self-signed-cert +ceph dashboard ac-user-create administrator +ceph mgr services +``` + +> Lưu ý cài đặt `yum install ceph-mgr-dashboard -y` trên cả `ceph01` và `ceph02` + +- Truy cập vào mgr dashboard với username và password vừa đặt ở phía trên để kiểm tra +```sh +https://:8443 +``` +![](../../images/dashboard-n.png) + + +## Khởi tạo OSD + +Tạo OSD thông qua ceph-deploy tại host `ceph01` + +- Thực hiện zapdisk +```sh +ceph-deploy disk zap ceph01 /dev/vdb +ceph-deploy disk zap ceph01 /dev/vdc +``` + +- Tạo OSD với ceph-deploy +```sh +ceph-deploy osd create --data /dev/vdb ceph01 +ceph-deploy osd create --data /dev/vdc ceph01 +``` + +- Thao tác với các ổ trên `ceph02` và `ceph03` tương tự. Vẫn thực hiện trên thư mục `ceph-deploy` trên `ceph01` +```sh +# ceph02 +ceph-deploy disk zap ceph02 /dev/vdb +ceph-deploy disk zap ceph02 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph02 +ceph-deploy osd create --data /dev/vdc ceph02 + +# ceph03 +ceph-deploy disk zap ceph03 /dev/vdb +ceph-deploy disk zap ceph03 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph03 +ceph-deploy osd create --data /dev/vdc ceph03 +``` + +- Kiểm tra osd vừa tạo bằng lệnh +```sh +ceph osd tree +``` +- Kết quả +```sh +[root@ceph01 ceph-deploy]# ceph osd tree +ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF +-1 0.16974 root default +-3 0.05658 host ceph01 + 0 hdd 0.02829 osd.0 up 1.00000 1.00000 + 1 hdd 0.02829 osd.1 up 1.00000 1.00000 +-5 0.05658 host ceph02 + 2 hdd 0.02829 osd.2 up 1.00000 1.00000 + 3 hdd 0.02829 osd.3 up 1.00000 1.00000 +-7 0.05658 host ceph03 + 4 hdd 0.02829 osd.4 up 1.00000 1.00000 + 5 hdd 0.02829 osd.5 up 1.00000 1.00000 +``` + +## Kiểm tra +Thực hiện trên ceph01 +- Kiểm tra trạng thái của CEPH sau khi cài +```sh +ceph -s +``` + +- Kết quả của lệnh trên như sau: +```sh +[root@ceph01 ceph-deploy]# ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 10m) + mgr: ceph01(active, since 7m), standbys: ceph02 + osd: 6 osds: 6 up (since 51s), 6 in (since 51s) + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 6.0 GiB used, 168 GiB / 174 GiB avail + pgs: +``` + +- Nếu có dòng `health HEALTH_OK` thì việc cài đặt đã ok. diff --git a/docs/setup/ceph-nautilus-ubuntu.md b/docs/setup/ceph-nautilus-ubuntu.md new file mode 100644 index 0000000..c7ab5f7 --- /dev/null +++ b/docs/setup/ceph-nautilus-ubuntu.md @@ -0,0 +1,399 @@ +## Hướng dẫn cài đặt CEPH sử dụng `ceph-deploy` + +### Mục tiêu LAB +- Mô hình này sử dụng 3 server, trong đó: +- Host `ceph01` cài đặt `ceph-deploy`, `ceph-mon`,` ceph-osd`, `ceph-mgr` +- Host `ceph02` cài đặt `ceph-osd` +- Host `ceph03` cài đặt `ceph-osd` +- Mô hình khá cơ bản cho việc áp dụng vào môi trường Product + +## Chuẩn bị và môi trường LAB (3 Node) + +- Ubuntu 18.04.4 - 64 bit +- 03: HDD, trong đó: + - `sda`: sử dụng để cài OS + - `vdb`,`vdc`: sử dụng làm OSD (nơi chứa dữ liệu) +- 03 NICs: + - `eth0`: dùng để ssh và tải gói cài đặt + - `eth1`: dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào + - `eth2`: dùng để đồng bộ dữ liệu giữa các OSD +- Phiên bản cài đặt : Ceph Nautilus + + +## Mô hình +- Sử dụng mô hình + +![](../../images/topo.png) + + +## IP Planning +- Phân hoạch IP cho các máy chủ trong mô hình trên + +![](../../images/ip-planning1.png) + +## Bổ sung file hosts +```sh +cat << EOF >> /etc/hosts +10.10.13.61 ceph01 +10.10.13.62 ceph02 +10.10.13.63 ceph03 +EOF +``` +> Lưu ý network setup trong /etc/hosts chính là đường `eth1` dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào + +## Cài đặt clushter shell +```sh +sudo apt install clustershell -y +echo 'all: ceph[01-03]' > /etc/clustershell/groups +``` + +## Tạo user "cephuser" trên tất cả các node +```sh +sudo useradd -m -s /bin/bash cephuser +sudo passwd cephuser +echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser +sudo chmod 0440 /etc/sudoers.d/cephuser +sudo sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers + +su - cephuser +ssh-keygen + +for i in {1..3}; do ssh-copy-id ceph$i ; done +``` +## Các bước chuẩn bị trên từng Server + +- Cài đặt Python, ntpdate +```sh +clush -a "sudo apt update && sudo apt install ntpdate python -y" +``` + +- Cập nhật thời gian +```sh +clush -a "sudo ntpdate 1.ro.pool.ntp.org" +clush -a "timedatectl" +``` + +- Set hwclock +```sh +clush -a "sudo hwclock --systohc" +``` + +- Đặt hostname (chạy lệnh trên từng node) +```sh +hostnamectl set-hostname ceph01 +``` + +- Cài đặt CMD_log +```sh +clush -a "curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/scripts/master/Utilities/cmdlog.sh | sudo bash" +``` + +Hoặc +```sh +#!/bin/bash +echo "Install rsyslog" +yum -y install rsyslog || apt-get -y install rsyslog +systemctl enable rsyslog.service || chkconfig rsyslog on +systemctl start rsyslog.service || service rsyslog start + +echo "Config log History" +touch ~/.bash_profile +cp ~/{.bash_profile,.bash_profile.bk} +echo "export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug \"[\$(echo \$SSH_CLIENT | cut -d\" \" -f1)] # \$(history 1 | sed \"s/^[ ]*[0-9]\+[ ]*//\" )\"'" >> ~/.bash_profile +echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile +touch /var/log/cmdlog.log + +echo "Config rsyslog" +mv /etc/rsyslog.{conf,conf.bk} +cat >> /etc/rsyslog.conf << EOF +\$ModLoad imuxsock +\$ModLoad imklog +\$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat +\$FileOwner root +\$FileGroup adm +\$FileCreateMode 0640 +\$DirCreateMode 0755 +\$Umask 0022 +auth,authpriv.*-/var/log/auth.log +daemon.*-/var/log/daemon.log +kern.*-/var/log/kern.log +cron.*-/var/log/cron.log +user.*-/var/log/user.log +mail.*-/var/log/mail.log +local7.*-/var/log/boot.log +local6.*-/var/log/cmdlog.log +EOF + +echo "Restart rsyslog" +systemctl restart rsyslog.service || service rsyslog restart +source ~/.bash_profile +``` + +- Khởi động lại máy +```sh +init 6 +``` + +## Cài đặt Ceph + +Bổ sung repo cho ceph trên tất cả các node +```sh +clush -a "curl -Lso- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -" +clush -a "echo deb https://download.ceph.com/debian-nautilus/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list" +clush -a "sudo apt update -y" +``` + +Các bước ở dưới được thực hiện toàn toàn trên Node `ceph01` + +- Cài đặt `ceph-deploy` +```sh +sudo apt -y install ceph-deploy +``` + +- Kiểm tra cài đặt +```sh +ceph-deploy --version +``` + +- Cấu hình user ssh cho ceph-deploy +```sh +cat < ~/.ssh/config +Host ceph01 + Hostname ceph01 + User cephuser +Host ceph02 + Hostname ceph02 + User cephuser +Host ceph03 + Hostname ceph03 + User cephuser +EOF +``` + +- Tạo các thư mục `ceph-deploy` để thao tác cài đặt vận hành Cluster +```sh +mkdir ~/ceph-deploy ; cd ~/ceph-deploy +``` + +- Khởi tại file cấu hình cho cụm với node quản lý là `ceph01` +```sh +ceph-deploy new ceph01 ceph02 ceph03 +``` + +- Kiểm tra lại thông tin folder `ceph-deploy` +```sh +[cephuser@ceph01 ceph-deploy]$ ls -lah +total 12K +drwxr-xr-x 2 cephuser cephuser 75 Jan 31 16:31 . +dr-xr-xr-x. 18 cephuser cephuser 243 Jan 31 16:29 .. +-rw-r--r-- 1 cephuser cephuser2.9K Jan 31 16:31 ceph-deploy-ceph.log +-rw-r--r-- 1 cephuser cephuser 195 Jan 31 16:31 ceph.conf +-rw------- 1 cephuser cephuser 73 Jan 31 16:31 ceph.mon.keyring +[cephuser@ceph01 ceph-deploy]$ +``` +- `ceph.conf` : file config được tự động khởi tạo +- `ceph-deploy-ceph.log` : file log của toàn bộ thao tác đối với việc sử dụng lệnh `ceph-deploy` +- `ceph.mon.keyring` : Key monitoring được ceph sinh ra tự động để khởi tạo Cluster + +- Chúng ta sẽ bổ sung thêm vào file `ceph.conf` một vài thông tin cơ bản như sau: +```sh +cat << EOF >> ceph.conf +osd pool default size = 2 +osd pool default min size = 1 +osd pool default pg num = 128 +osd pool default pgp num = 128 + +osd crush chooseleaf type = 1 + +public network = 10.10.13.0/24 +cluster network = 10.10.14.0/24 +EOF +``` +- Bổ sung thêm định nghĩa + + `public network` : Đường trao đổi thông tin giữa các node Ceph và cũng là đường client kết nối vào + + `cluster network` : Đường đồng bộ dữ liệu +- Bổ sung thêm `default size replicate` +- Bổ sung thêm `default pg num` + + +- Cài đặt ceph trên toàn bộ các node ceph +```sh +ceph-deploy install --release nautilus ceph01 ceph02 ceph03 +``` + +- Kiểm tra sau khi cài đặt trên cả 3 node +```sh +clush -a "ceph -v" +``` + +- Khởi tạo cluster với các node `mon` (Monitor-quản lý) dựa trên file `ceph.conf` +```sh +ceph-deploy mon create-initial +``` + +- Sau khi thực hiện lệnh phía trên sẽ sinh thêm ra 05 file : +`ceph.bootstrap-mds.keyring`, `ceph.bootstrap-mgr.keyring`, `ceph.bootstrap-osd.keyring`, `ceph.client.admin.keyring` và `ceph.bootstrap-rgw.keyring`. + +```sh +[cephuser@ceph01 ceph-deploy]# ls -lah +total 348K +drwxr-xr-x 2 cephuser cephuser 244 Feb 1 11:40 . +dr-xr-xr-x. 18 cephuser cephuser 243 Feb 1 11:29 .. +-rw-r--r-- 1 cephuser cephuser258K Feb 1 11:40 ceph-deploy-ceph.log +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-mds.keyring +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-mgr.keyring +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-osd.keyring +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-rgw.keyring +-rw------- 1 cephuser cephuser 151 Feb 1 11:40 ceph.client.admin.keyring +-rw-r--r-- 1 cephuser cephuser 195 Feb 1 11:29 ceph.conf +-rw------- 1 cephuser cephuser 73 Feb 1 11:29 ceph.mon.keyring +``` + +- Để node `ceph01`, `ceph02`, `ceph03` có thể thao tác với cluster chúng ta cần gán cho node quyền admin bằng cách bổ sung key `admin.keying` cho node +```sh +ceph-deploy admin ceph01 ceph02 ceph03 +``` +> Kiểm tra bằng lệnh +```sh +[cephuser@ceph01 ceph-deploy]# sudo ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 1.09337s) + mgr: no daemons active + osd: 0 osds: 0 up, 0 in + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 0 B used, 0 B / 0 B avail + pgs: +``` + +## Khởi tạo MGR + +Ceph-mgr là thành phần cài đặt yêu cầu cần khởi tạo từ bản luminous, có thể cài đặt trên nhiều node hoạt động theo cơ chế `Active-Passive` + +- Cài đặt ceph-mgr trên ceph01 +```sh +ceph-deploy mgr create ceph01 ceph02 +``` + +- Kiểm tra cài đặt +```sh +[cephuser@ceph01 ceph-deploy]# sudo ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 53s) + mgr: ceph01(active, since 11s), standbys: ceph02 + osd: 0 osds: 0 up, 0 in + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 0 B used, 0 B / 0 B avail + pgs: +``` + +- Ceph-mgr hỗ trợ dashboard để quan sát trạng thái của cluster, Enable mgr dashboard trên host ceph01 +> Sẽ cài đặt `ceph-mgr-dashboard` trên cả `ceph01` và `ceph02` + +```sh +clush -w ceph[01,02] "sudo apt install ceph-mgr-dashboard -y" +sudo ceph mgr module enable dashboard +sudo ceph dashboard create-self-signed-cert +sudo ceph dashboard ac-user-create administrator +sudo ceph mgr services +``` + + +- Truy cập vào mgr dashboard với username và password vừa đặt ở phía trên để kiểm tra +```sh +https://:8443 +``` +![](../../images/dashboard-n.png) + + +## Khởi tạo OSD + +Tạo OSD thông qua ceph-deploy tại host `ceph01` + +- Thực hiện zapdisk +```sh +ceph-deploy disk zap ceph01 /dev/vdb +ceph-deploy disk zap ceph01 /dev/vdc +``` + +- Tạo OSD với ceph-deploy +```sh +ceph-deploy osd create --data /dev/vdb ceph01 +ceph-deploy osd create --data /dev/vdc ceph01 +``` + +- Thao tác với các ổ trên `ceph02` và `ceph03` tương tự. Vẫn thực hiện trên thư mục `ceph-deploy` trên `ceph01` +```sh +# ceph02 +ceph-deploy disk zap ceph02 /dev/vdb +ceph-deploy disk zap ceph02 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph02 +ceph-deploy osd create --data /dev/vdc ceph02 + +# ceph03 +ceph-deploy disk zap ceph03 /dev/vdb +ceph-deploy disk zap ceph03 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph03 +ceph-deploy osd create --data /dev/vdc ceph03 +``` + +- Kiểm tra osd vừa tạo bằng lệnh +```sh +ceph osd tree +``` +- Kết quả +```sh +[cephuser@ceph01 ceph-deploy]$ ceph osd tree +ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF +-1 0.16974 root default +-3 0.05658 host ceph01 + 0 hdd 0.02829 osd.0 up 1.00000 1.00000 + 1 hdd 0.02829 osd.1 up 1.00000 1.00000 +-5 0.05658 host ceph02 + 2 hdd 0.02829 osd.2 up 1.00000 1.00000 + 3 hdd 0.02829 osd.3 up 1.00000 1.00000 +-7 0.05658 host ceph03 + 4 hdd 0.02829 osd.4 up 1.00000 1.00000 + 5 hdd 0.02829 osd.5 up 1.00000 1.00000 +``` + +## Kiểm tra +Thực hiện trên ceph01 +- Kiểm tra trạng thái của CEPH sau khi cài +```sh +ceph -s +``` + +- Kết quả của lệnh trên như sau: +```sh +[cephuser@ceph01 ceph-deploy]$ ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 10m) + mgr: ceph01(active, since 7m), standbys: ceph02 + osd: 6 osds: 6 up (since 51s), 6 in (since 51s) + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 6.0 GiB used, 168 GiB / 174 GiB avail + pgs: +``` + +- Nếu có dòng `health HEALTH_OK` thì việc cài đặt đã thành công. diff --git a/docs/setup/ceph-nautilus.md b/docs/setup/ceph-nautilus.md index c872729..0c61739 100644 --- a/docs/setup/ceph-nautilus.md +++ b/docs/setup/ceph-nautilus.md @@ -1,480 +1,5 @@ -## Hướng dẫn cài đặt CEPH sử dụng `ceph-deploy` -### Mục tiêu LAB -- Mô hình này sử dụng 3 server, trong đó: -- Host `ceph01` cài đặt `ceph-deploy`, `ceph-mon`,` ceph-osd`, `ceph-mgr` -- Host `ceph02` cài đặt `ceph-osd` -- Host `ceph03` cài đặt `ceph-osd` -- Mô hình khá cơ bản cho việc áp dụng vào môi trường Product +[Cài đặt Ceph bản Nautilus trên centos](ceph-nautilus-centos.md) -## Chuẩn bị và môi trường LAB (3 Node) -- CentOS7 - 64 bit -- 03: HDD, trong đó: - - `sda`: sử dụng để cài OS - - `vdb`,`vdc`: sử dụng làm OSD (nơi chứa dữ liệu) -- 03 NICs: - - `eth0`: dùng để ssh và tải gói cài đặt - - `eth1`: dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào - - `eth2`: dùng để đồng bộ dữ liệu giữa các OSD -- Phiên bản cài đặt : Ceph Nautilus - - -## Mô hình -- Sử dụng mô hình - -![](../../images/topo.png) - - -## IP Planning -- Phân hoạch IP cho các máy chủ trong mô hình trên - -![](../../images/ip-planning1.png) - - -## Các bước chuẩn bị trên từng Server - -- Cài đặt NTPD -```sh -yum install chrony -y -``` - -- Enable NTPD -```sh -systemctl start chronyd -systemctl enable chronyd -``` - -- Kiểm tra chronyd hoạt động -```sh -chronyc sources -v -timedatectl -``` - -- Set hwclock -```sh -hwclock --systohc -``` - -- Đặt hostname -```sh -hostnamectl set-hostname ceph01 -``` - -- Đặt IP cho các node -```sh -echo "Setup IP eth0" -nmcli c modify eth0 ipv4.addresses 10.10.10.61/24 -nmcli c modify eth0 ipv4.gateway 10.10.10.1 -nmcli c modify eth0 ipv4.dns 8.8.8.8 -nmcli c modify eth0 ipv4.method manual -nmcli con mod eth0 connection.autoconnect yes - -echo "Setup IP eth1" -nmcli c modify eth1 ipv4.addresses 10.10.13.61/24 -nmcli c modify eth1 ipv4.method manual -nmcli con mod eth1 connection.autoconnect yes - -echo "Setup IP eth2" -nmcli c modify eth2 ipv4.addresses 10.10.14.61/24 -nmcli c modify eth2 ipv4.method manual -nmcli con mod eth2 connection.autoconnect yes - -systemctl disable NetworkManager -systemctl enable network -systemctl start network -``` - -- Cài đặt epel-relese và update OS -```sh -yum install epel-release -y -yum update -y -``` - -- Cài đặt CMD_log -```sh -curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/scripts/master/Utilities/cmdlog.sh | bash -``` - -- Bổ sung user `cephuser` -```sh -sudo useradd -d /home/cephuser -m cephuser -sudo passwd cephuser -```` - -- Cấp quyền sudo cho `cephuser` -```sh -echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser -sudo chmod 0440 /etc/sudoers.d/cephuser -``` - -- Vô hiệu hóa Selinux -```sh -sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux -sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config -``` - -- Mở port cho Ceph trên Firewalld -```sh -#ceph-admin -systemctl start firewalld -systemctl enable firewalld -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 --reload - -# mon -sudo systemctl start firewalld -sudo systemctl enable firewalld -sudo firewall-cmd --zone=public --add-port=6789/tcp --permanent -sudo firewall-cmd --reload - -# osd -sudo systemctl start firewalld -sudo systemctl enable firewalld -sudo firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent -sudo firewall-cmd --reload -``` - -- Hoặc có thể disable firewall -```sh -sudo systemctl disable firewalld -sudo systemctl stop firewalld -``` - -- Bổ sung file hosts -```sh -cat << EOF >> /etc/hosts -10.10.13.61 ceph01 -10.10.13.62 ceph02 -10.10.13.63 ceph03 -EOF -``` -> Lưu ý network setup trong /etc/hosts chính là đường `eth1` dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào - -- Kiểm tra kết nối -```sh -ping -c 10 ceph01 -``` - -- Khởi động lại máy -```sh -init 6 -``` - -> Các server ceph02 và ceph03 thực hiện tương tự - -## Cài đặt Ceph - -Bổ sung repo cho ceph trên tất cả các node -```sh -cat < /etc/yum.repos.d/ceph.repo -[ceph] -name=Ceph packages for $basearch -baseurl=https://download.ceph.com/rpm-nautilus/el7/x86_64/ -enabled=1 -priority=2 -gpgcheck=1 -gpgkey=https://download.ceph.com/keys/release.asc - -[ceph-noarch] -name=Ceph noarch packages -baseurl=https://download.ceph.com/rpm-nautilus/el7/noarch -enabled=1 -priority=2 -gpgcheck=1 -gpgkey=https://download.ceph.com/keys/release.asc - -[ceph-source] -name=Ceph source packages -baseurl=https://download.ceph.com/rpm-nautilus/el7/SRPMS -enabled=0 -priority=2 -gpgcheck=1 -gpgkey=https://download.ceph.com/keys/release.asc -EOF - -yum update -y -``` - -Các bước ở dưới được thực hiện toàn toàn trên Node `ceph01` - -- Cài đặt `python-setuptools` -```sh -yum install python-setuptools -y -``` - -- Cài đặt `ceph-deploy` -```sh -yum install ceph-deploy -y -``` - -- Kiểm tra cài đặt -```sh -ceph-deploy --version -``` ->Kết quả như sau là đã cài đặt thành công ceph-deploy -```sh -2.0.1 -``` - -- Tạo ssh key -```sh -ssh-keygen -``` -> Bấm ENTER khi có requirement - -- Cấu hình user ssh cho ceph-deploy -```sh -cat < /root/.ssh/config -Host ceph01 - Hostname ceph01 - User cephuser -Host ceph02 - Hostname ceph02 - User cephuser -Host ceph03 - Hostname ceph03 - User cephuser -EOF -``` - -- Copy ssh key sang các node khác -```sh -ssh-copy-id ceph01 -ssh-copy-id ceph02 -ssh-copy-id ceph03 -``` -> Nhập mật khẩu - -- Tạo các thư mục `ceph-deploy` để thao tác cài đặt vận hành Cluster -```sh -mkdir /ceph-deploy && cd /ceph-deploy -``` - -- Khởi tại file cấu hình cho cụm với node quản lý là `ceph01` -```sh -ceph-deploy new ceph01 ceph02 ceph03 -``` - -- Kiểm tra lại thông tin folder `ceph-deploy` -```sh -[root@ceph01 ceph-deploy]# ls -lah -total 12K -drwxr-xr-x 2 root root 75 Jan 31 16:31 . -dr-xr-xr-x. 18 root root 243 Jan 31 16:29 .. --rw-r--r-- 1 root root 2.9K Jan 31 16:31 ceph-deploy-ceph.log --rw-r--r-- 1 root root 195 Jan 31 16:31 ceph.conf --rw------- 1 root root 73 Jan 31 16:31 ceph.mon.keyring -[root@ceph01 ceph-deploy]# -``` -- `ceph.conf` : file config được tự động khởi tạo -- `ceph-deploy-ceph.log` : file log của toàn bộ thao tác đối với việc sử dụng lệnh `ceph-deploy` -- `ceph.mon.keyring` : Key monitoring được ceph sinh ra tự động để khởi tạo Cluster - -- Chúng ta sẽ bổ sung thêm vào file `ceph.conf` một vài thông tin cơ bản như sau: -```sh -cat << EOF >> ceph.conf -osd pool default size = 2 -osd pool default min size = 1 -osd pool default pg num = 128 -osd pool default pgp num = 128 - -osd crush chooseleaf type = 1 - -public network = 10.10.13.0/24 -cluster network = 10.10.14.0/24 -EOF -``` -- Bổ sung thêm định nghĩa - + `public network` : Đường trao đổi thông tin giữa các node Ceph và cũng là đường client kết nối vào - + `cluster network` : Đường đồng bộ dữ liệu -- Bổ sung thêm `default size replicate` -- Bổ sung thêm `default pg num` - - -- Cài đặt ceph trên toàn bộ các node ceph -```sh -ceph-deploy install --release nautilus ceph01 ceph02 ceph03 -``` - -- Kiểm tra sau khi cài đặt trên cả 3 node -```sh -ceph -v -``` -> Kết quả như sau là đã cài đặt thành công ceph trên node -```sh - ceph version 14.2.2 (4f8fa0a0024755aae7d95567c63f11d6862d55be) nautilus (stable) -``` - -- Khởi tạo cluster với các node `mon` (Monitor-quản lý) dựa trên file `ceph.conf` -```sh -ceph-deploy mon create-initial -``` - -- Sau khi thực hiện lệnh phía trên sẽ sinh thêm ra 05 file : -`ceph.bootstrap-mds.keyring`, `ceph.bootstrap-mgr.keyring`, `ceph.bootstrap-osd.keyring`, `ceph.client.admin.keyring` và `ceph.bootstrap-rgw.keyring`. Quan sát bằng lệnh `ll -alh` - -```sh -[root@ceph01 ceph-deploy]# ls -lah -total 348K -drwxr-xr-x 2 root root 244 Feb 1 11:40 . -dr-xr-xr-x. 18 root root 243 Feb 1 11:29 .. --rw-r--r-- 1 root root 258K Feb 1 11:40 ceph-deploy-ceph.log --rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-mds.keyring --rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-mgr.keyring --rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-osd.keyring --rw------- 1 root root 113 Feb 1 11:40 ceph.bootstrap-rgw.keyring --rw------- 1 root root 151 Feb 1 11:40 ceph.client.admin.keyring --rw-r--r-- 1 root root 195 Feb 1 11:29 ceph.conf --rw------- 1 root root 73 Feb 1 11:29 ceph.mon.keyring -``` - -- Để node `ceph01`, `ceph02`, `ceph03` có thể thao tác với cluster chúng ta cần gán cho node quyền admin bằng cách bổ sung key `admin.keying` cho node -```sh -ceph-deploy admin ceph01 ceph02 ceph03 -``` -> Kiểm tra bằng lệnh -```sh -[root@ceph01 ceph-deploy]# ceph -s - cluster: - id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 - health: HEALTH_OK - - services: - mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 1.09337s) - mgr: no daemons active - osd: 0 osds: 0 up, 0 in - - data: - pools: 0 pools, 0 pgs - objects: 0 objects, 0 B - usage: 0 B used, 0 B / 0 B avail - pgs: -``` - -## Khởi tạo MGR - -Ceph-mgr là thành phần cài đặt yêu cầu cần khởi tạo từ bản luminous, có thể cài đặt trên nhiều node hoạt động theo cơ chế `Active-Passive` - -- Cài đặt ceph-mgr trên ceph01 -```sh -ceph-deploy mgr create ceph01 ceph02 -``` - -- Kiểm tra cài đặt -```sh -[root@ceph01 ceph-deploy]# ceph -s - cluster: - id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 - health: HEALTH_OK - - services: - mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 53s) - mgr: ceph01(active, since 11s), standbys: ceph02 - osd: 0 osds: 0 up, 0 in - - data: - pools: 0 pools, 0 pgs - objects: 0 objects, 0 B - usage: 0 B used, 0 B / 0 B avail - pgs: -``` - -- Ceph-mgr hỗ trợ dashboard để quan sát trạng thái của cluster, Enable mgr dashboard trên host ceph01 -```sh -yum install ceph-mgr-dashboard -y -ceph mgr module enable dashboard -ceph dashboard create-self-signed-cert -ceph dashboard set-login-credentials -ceph mgr services -``` - -> Lưu ý cài đặt `yum install ceph-mgr-dashboard -y` trên cả `ceph01` và `ceph02` - -- Truy cập vào mgr dashboard với username và password vừa đặt ở phía trên để kiểm tra -```sh -https://:8443 -``` -![](../../images/dashboard-n.png) - - -## Khởi tạo OSD - -Tạo OSD thông qua ceph-deploy tại host `ceph01` - -- Thực hiện zapdisk -```sh -ceph-deploy disk zap ceph01 /dev/vdb -ceph-deploy disk zap ceph01 /dev/vdc -``` - -- Tạo OSD với ceph-deploy -```sh -ceph-deploy osd create --data /dev/vdb ceph01 -ceph-deploy osd create --data /dev/vdc ceph01 -``` - -- Thao tác với các ổ trên `ceph02` và `ceph03` tương tự. Vẫn thực hiện trên thư mục `ceph-deploy` trên `ceph01` -```sh -# ceph02 -ceph-deploy disk zap ceph02 /dev/vdb -ceph-deploy disk zap ceph02 /dev/vdc -ceph-deploy osd create --data /dev/vdb ceph02 -ceph-deploy osd create --data /dev/vdc ceph02 - -# ceph03 -ceph-deploy disk zap ceph03 /dev/vdb -ceph-deploy disk zap ceph03 /dev/vdc -ceph-deploy osd create --data /dev/vdb ceph03 -ceph-deploy osd create --data /dev/vdc ceph03 -``` - -- Kiểm tra osd vừa tạo bằng lệnh -```sh -ceph osd tree -``` -- Kết quả -```sh -[root@ceph01 ceph-deploy]# ceph osd tree -ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF --1 0.16974 root default --3 0.05658 host ceph01 - 0 hdd 0.02829 osd.0 up 1.00000 1.00000 - 1 hdd 0.02829 osd.1 up 1.00000 1.00000 --5 0.05658 host ceph02 - 2 hdd 0.02829 osd.2 up 1.00000 1.00000 - 3 hdd 0.02829 osd.3 up 1.00000 1.00000 --7 0.05658 host ceph03 - 4 hdd 0.02829 osd.4 up 1.00000 1.00000 - 5 hdd 0.02829 osd.5 up 1.00000 1.00000 -``` - -## Kiểm tra -Thực hiện trên ceph01 -- Kiểm tra trạng thái của CEPH sau khi cài -```sh -ceph -s -``` - -- Kết quả của lệnh trên như sau: -```sh -[root@ceph01 ceph-deploy]# ceph -s - cluster: - id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 - health: HEALTH_OK - - services: - mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 10m) - mgr: ceph01(active, since 7m), standbys: ceph02 - osd: 6 osds: 6 up (since 51s), 6 in (since 51s) - - data: - pools: 0 pools, 0 pgs - objects: 0 objects, 0 B - usage: 6.0 GiB used, 168 GiB / 174 GiB avail - pgs: -``` - -- Nếu có dòng `health HEALTH_OK` thì việc cài đặt đã ok. +[Cài đặt Ceph bản Nautilus trên ubuntu](ceph-nautilus-ubuntu.md) diff --git a/docs/setup/ceph-octopus.md b/docs/setup/ceph-octopus.md new file mode 100644 index 0000000..eb1bc6a --- /dev/null +++ b/docs/setup/ceph-octopus.md @@ -0,0 +1,400 @@ +## Hướng dẫn cài đặt CEPH sử dụng `ceph-deploy` + +### Mục tiêu LAB +- Mô hình này sử dụng 3 server, trong đó: +- Host `ceph01` cài đặt `ceph-deploy`, `ceph-mon`,` ceph-osd`, `ceph-mgr` +- Host `ceph02` cài đặt `ceph-osd` +- Host `ceph03` cài đặt `ceph-osd` +- Mô hình khá cơ bản cho việc áp dụng vào môi trường Product + +## Chuẩn bị và môi trường LAB (3 Node) + +- Ubuntu 18.04.4 - 64 bit +- 03: HDD, trong đó: + - `sda`: sử dụng để cài OS + - `vdb`,`vdc`: sử dụng làm OSD (nơi chứa dữ liệu) +- 03 NICs: + - `eth0`: dùng để ssh và tải gói cài đặt + - `eth1`: dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào + - `eth2`: dùng để đồng bộ dữ liệu giữa các OSD +- Phiên bản cài đặt : Ceph Octopus + + +## Mô hình +- Sử dụng mô hình + +![](../../images/topo.png) + + +## IP Planning +- Phân hoạch IP cho các máy chủ trong mô hình trên + +![](../../images/ip-planning1.png) + +## Bổ sung file hosts +```sh +cat << EOF >> /etc/hosts +10.10.13.61 ceph01 +10.10.13.62 ceph02 +10.10.13.63 ceph03 +EOF +``` +> Lưu ý network setup trong /etc/hosts chính là đường `eth1` dùng để các trao đổi thông tin giữa các node Ceph, cũng là đường Client kết nối vào + +## Cài đặt clushter shell +```sh +sudo apt install clustershell -y +echo 'all: ceph[01-03]' > /etc/clustershell/groups +``` + +## Tạo user "cephuser" trên tất cả các node +```sh +sudo useradd -m -s /bin/bash cephuser +sudo passwd cephuser +echo "cephuser ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cephuser +sudo chmod 0440 /etc/sudoers.d/cephuser +sudo sed -i s'/Defaults requiretty/#Defaults requiretty'/g /etc/sudoers + +su - cephuser +ssh-keygen + +for i in {1..3}; do ssh-copy-id ceph$i ; done +``` +## Các bước chuẩn bị trên từng Server + +- Cài đặt Python, ntpdate +```sh +clush -a "sudo apt update && sudo apt install ntpdate python -y" +``` + +- Cập nhật thời gian +```sh +clush -a "sudo ntpdate 1.ro.pool.ntp.org" +clush -a "timedatectl" +``` + +- Set hwclock +```sh +clush -a "sudo hwclock --systohc" +``` + +- Đặt hostname (chạy lệnh trên từng node) +```sh +hostnamectl set-hostname ceph01 +``` + +- Cài đặt CMD_log +```sh +clush -a "curl -Lso- https://raw.githubusercontent.com/nhanhoadocs/scripts/master/Utilities/cmdlog.sh | sudo bash" +``` + +Hoặc +```sh +#!/bin/bash +echo "Install rsyslog" +yum -y install rsyslog || apt-get -y install rsyslog +systemctl enable rsyslog.service || chkconfig rsyslog on +systemctl start rsyslog.service || service rsyslog start + +echo "Config log History" +touch ~/.bash_profile +cp ~/{.bash_profile,.bash_profile.bk} +echo "export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug \"[\$(echo \$SSH_CLIENT | cut -d\" \" -f1)] # \$(history 1 | sed \"s/^[ ]*[0-9]\+[ ]*//\" )\"'" >> ~/.bash_profile +echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile +touch /var/log/cmdlog.log + +echo "Config rsyslog" +mv /etc/rsyslog.{conf,conf.bk} +cat >> /etc/rsyslog.conf << EOF +\$ModLoad imuxsock +\$ModLoad imklog +\$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat +\$FileOwner root +\$FileGroup adm +\$FileCreateMode 0640 +\$DirCreateMode 0755 +\$Umask 0022 +auth,authpriv.*-/var/log/auth.log +daemon.*-/var/log/daemon.log +kern.*-/var/log/kern.log +cron.*-/var/log/cron.log +user.*-/var/log/user.log +mail.*-/var/log/mail.log +local7.*-/var/log/boot.log +local6.*-/var/log/cmdlog.log +EOF + +echo "Restart rsyslog" +systemctl restart rsyslog.service || service rsyslog restart +source ~/.bash_profile +``` + +- Khởi động lại máy +```sh +init 6 +``` + +## Cài đặt Ceph + +Bổ sung repo cho ceph trên tất cả các node +```sh +clush -a "curl -Lso- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -" +clush -a "echo deb https://download.ceph.com/debian-octopus/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list" +clush -a "sudo apt update -y" +``` + +Các bước ở dưới được thực hiện toàn toàn trên Node `ceph01` + +- Cài đặt `ceph-deploy` +```sh +sudo apt -y install ceph-deploy +``` + +- Kiểm tra cài đặt +```sh +ceph-deploy --version +``` + +- Cấu hình user ssh cho ceph-deploy +```sh +cat < ~/.ssh/config +Host ceph01 + Hostname ceph01 + User cephuser +Host ceph02 + Hostname ceph02 + User cephuser +Host ceph03 + Hostname ceph03 + User cephuser +EOF +``` + +- Tạo các thư mục `ceph-deploy` để thao tác cài đặt vận hành Cluster +```sh +mkdir ~/ceph-deploy ; cd ~/ceph-deploy +``` + +- Khởi tại file cấu hình cho cụm với node quản lý là `ceph01` +```sh +ceph-deploy new ceph01 ceph02 ceph03 +``` + +- Kiểm tra lại thông tin folder `ceph-deploy` +```sh +[cephuser@ceph01 ceph-deploy]$ ls -lah +total 12K +drwxr-xr-x 2 cephuser cephuser 75 Jan 31 16:31 . +dr-xr-xr-x. 18 cephuser cephuser 243 Jan 31 16:29 .. +-rw-r--r-- 1 cephuser cephuser2.9K Jan 31 16:31 ceph-deploy-ceph.log +-rw-r--r-- 1 cephuser cephuser 195 Jan 31 16:31 ceph.conf +-rw------- 1 cephuser cephuser 73 Jan 31 16:31 ceph.mon.keyring +[cephuser@ceph01 ceph-deploy]$ +``` +- `ceph.conf` : file config được tự động khởi tạo +- `ceph-deploy-ceph.log` : file log của toàn bộ thao tác đối với việc sử dụng lệnh `ceph-deploy` +- `ceph.mon.keyring` : Key monitoring được ceph sinh ra tự động để khởi tạo Cluster + +- Chúng ta sẽ bổ sung thêm vào file `ceph.conf` một vài thông tin cơ bản như sau: +```sh +cat << EOF >> ceph.conf +osd pool default size = 2 +osd pool default min size = 1 +osd pool default pg num = 128 +osd pool default pgp num = 128 + +osd crush chooseleaf type = 1 + +public network = 10.10.13.0/24 +cluster network = 10.10.14.0/24 +EOF +``` +- Bổ sung thêm định nghĩa + + `public network` : Đường trao đổi thông tin giữa các node Ceph và cũng là đường client kết nối vào + + `cluster network` : Đường đồng bộ dữ liệu +- Bổ sung thêm `default size replicate` +- Bổ sung thêm `default pg num` + + +- Cài đặt ceph trên toàn bộ các node ceph +```sh +ceph-deploy install --release octopus ceph01 ceph02 ceph03 +``` + +- Kiểm tra sau khi cài đặt trên cả 3 node +```sh +clush -a "ceph -v" +``` + +- Khởi tạo cluster với các node `mon` (Monitor-quản lý) dựa trên file `ceph.conf` +```sh +ceph-deploy mon create-initial +``` + +- Sau khi thực hiện lệnh phía trên sẽ sinh thêm ra 05 file : +`ceph.bootstrap-mds.keyring`, `ceph.bootstrap-mgr.keyring`, `ceph.bootstrap-osd.keyring`, `ceph.client.admin.keyring` và `ceph.bootstrap-rgw.keyring`. + +```sh +[cephuser@ceph01 ceph-deploy]# ls -lah +total 348K +drwxr-xr-x 2 cephuser cephuser 244 Feb 1 11:40 . +dr-xr-xr-x. 18 cephuser cephuser 243 Feb 1 11:29 .. +-rw-r--r-- 1 cephuser cephuser258K Feb 1 11:40 ceph-deploy-ceph.log +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-mds.keyring +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-mgr.keyring +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-osd.keyring +-rw------- 1 cephuser cephuser 113 Feb 1 11:40 ceph.bootstrap-rgw.keyring +-rw------- 1 cephuser cephuser 151 Feb 1 11:40 ceph.client.admin.keyring +-rw-r--r-- 1 cephuser cephuser 195 Feb 1 11:29 ceph.conf +-rw------- 1 cephuser cephuser 73 Feb 1 11:29 ceph.mon.keyring +``` + +- Để node `ceph01`, `ceph02`, `ceph03` có thể thao tác với cluster chúng ta cần gán cho node quyền admin bằng cách bổ sung key `admin.keying` cho node +```sh +ceph-deploy admin ceph01 ceph02 ceph03 +``` +> Kiểm tra bằng lệnh +```sh +[cephuser@ceph01 ceph-deploy]# sudo ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 1.09337s) + mgr: no daemons active + osd: 0 osds: 0 up, 0 in + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 0 B used, 0 B / 0 B avail + pgs: +``` + +## Khởi tạo MGR + +Ceph-mgr là thành phần cài đặt yêu cầu cần khởi tạo từ bản luminous, có thể cài đặt trên nhiều node hoạt động theo cơ chế `Active-Passive` + +- Cài đặt ceph-mgr trên ceph01 +```sh +ceph-deploy mgr create ceph01 ceph02 +``` + +- Kiểm tra cài đặt +```sh +[cephuser@ceph01 ceph-deploy]# sudo ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 53s) + mgr: ceph01(active, since 11s), standbys: ceph02 + osd: 0 osds: 0 up, 0 in + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 0 B used, 0 B / 0 B avail + pgs: +``` + +- Ceph-mgr hỗ trợ dashboard để quan sát trạng thái của cluster, Enable mgr dashboard trên host ceph01 +> Sẽ cài đặt `ceph-mgr-dashboard` trên cả `ceph01` và `ceph02` + +```sh +clush -w ceph[01,02] "sudo apt install ceph-mgr-dashboard -y" +sudo ceph mgr module enable dashboard +# Nếu có lỗi "...No module named 'distutils.util' (pass --force to force enablement)", hãy cài "sudo apt-get install python-distutils-extra" +sudo ceph dashboard create-self-signed-cert +sudo ceph dashboard ac-user-create administrator +sudo ceph mgr services +``` + + +- Truy cập vào mgr dashboard với username và password vừa đặt ở phía trên để kiểm tra +```sh +https://:8443 +``` +![](../../images/dashboard-o.jpg) + + +## Khởi tạo OSD + +Tạo OSD thông qua ceph-deploy tại host `ceph01` + +- Thực hiện zapdisk +```sh +ceph-deploy disk zap ceph01 /dev/vdb +ceph-deploy disk zap ceph01 /dev/vdc +``` + +- Tạo OSD với ceph-deploy +```sh +ceph-deploy osd create --data /dev/vdb ceph01 +ceph-deploy osd create --data /dev/vdc ceph01 +``` + +- Thao tác với các ổ trên `ceph02` và `ceph03` tương tự. Vẫn thực hiện trên thư mục `ceph-deploy` trên `ceph01` +```sh +# ceph02 +ceph-deploy disk zap ceph02 /dev/vdb +ceph-deploy disk zap ceph02 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph02 +ceph-deploy osd create --data /dev/vdc ceph02 + +# ceph03 +ceph-deploy disk zap ceph03 /dev/vdb +ceph-deploy disk zap ceph03 /dev/vdc +ceph-deploy osd create --data /dev/vdb ceph03 +ceph-deploy osd create --data /dev/vdc ceph03 +``` + +- Kiểm tra osd vừa tạo bằng lệnh +```sh +ceph osd tree +``` +- Kết quả +```sh +[cephuser@ceph01 ceph-deploy]$ ceph osd tree +ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF +-1 0.16974 root default +-3 0.05658 host ceph01 + 0 hdd 0.02829 osd.0 up 1.00000 1.00000 + 1 hdd 0.02829 osd.1 up 1.00000 1.00000 +-5 0.05658 host ceph02 + 2 hdd 0.02829 osd.2 up 1.00000 1.00000 + 3 hdd 0.02829 osd.3 up 1.00000 1.00000 +-7 0.05658 host ceph03 + 4 hdd 0.02829 osd.4 up 1.00000 1.00000 + 5 hdd 0.02829 osd.5 up 1.00000 1.00000 +``` + +## Kiểm tra +Thực hiện trên ceph01 +- Kiểm tra trạng thái của CEPH sau khi cài +```sh +ceph -s +``` + +- Kết quả của lệnh trên như sau: +```sh +[cephuser@ceph01 ceph-deploy]$ ceph -s + cluster: + id: ba7c7fa1-4e55-450b-bc40-4cf122b28c27 + health: HEALTH_OK + + services: + mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 10m) + mgr: ceph01(active, since 7m), standbys: ceph02 + osd: 6 osds: 6 up (since 51s), 6 in (since 51s) + + data: + pools: 0 pools, 0 pgs + objects: 0 objects, 0 B + usage: 6.0 GiB used, 168 GiB / 174 GiB avail + pgs: +``` + +- Nếu có dòng `health HEALTH_OK` thì việc cài đặt đã thành công. diff --git a/docs/setup/enable-rgw.md b/docs/setup/enable-rgw.md new file mode 100644 index 0000000..2fea2b3 --- /dev/null +++ b/docs/setup/enable-rgw.md @@ -0,0 +1,27 @@ +## Cài đặt rgw trên các node +```sh +cd /ceph-deploy +ceph-deploy install --rgw ceph01 ceph02 ceph03 +ceph-deploy rgw create ceph01 ceph02 ceph03 +``` + +## Tạo user (tuỳ chọn) +```sh +ceph dashboard ac-user-create administrator +``` +## Lấy acesskey, secret key của user +```sh +radosgw-admin user info --uid= +``` + +## Đặt quyền truy cập cho user +```sh +#radosgw-admin user create --uid= --display-name= --system +ceph dashboard set-rgw-api-access-key +ceph dashboard set-rgw-api-secret-key +``` + +Links tham khảo: +https://docs.ceph.com/docs/nautilus/mgr/dashboard/#enabling-the-object-gateway-management-frontend +https://www.gitmemory.com/issue/rook/rook/3026/529326017 + diff --git a/images/dashboard-o.jpg b/images/dashboard-o.jpg new file mode 100644 index 0000000..56adf57 Binary files /dev/null and b/images/dashboard-o.jpg differ