Skip to content

Latest commit

 

History

History
340 lines (236 loc) · 8.39 KB

10.Install-Ceph-Manual.md

File metadata and controls

340 lines (236 loc) · 8.39 KB

Cài đặt CEPH mimic

1. Mô hình

  • Mô hình ## chưa cập nhật

  • Network Plan ## chưa cập nhật

2. Cấu hình môi trường

  • Cấu hình SeLinux
sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config
setenforce 0
  • Cấu hình FileHost
cat <<EOF> /etc/hosts

192.168.50.145 ceph_node1
192.168.50.146 ceph_node2
192.168.50.147 ceph_node3

EOF
  • Cấu hình FirewallD
firewall-cmd --add-port=6789/tcp --permanent 
firewall-cmd --add-port=6800-7100/tcp --permanent
firewall-cmd --reload  
  • Cấu hình NTP
yum install -y ntp ntpdate ntp-doc
ntpdate -qu 0.centos.pool.ntp.org 1.centos.pool.ntp.org 2.centos.pool.ntp.org
systemctl start ntpd
systemctl enable ntpd
timedatectl set-ntp true 
hwclock  -w 
  • Khởi tạo Yum Repository
cat <<EOF> /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=https://download.ceph.com/rpm-mimic/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-mimic/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-mimic/el7/SRPMS
enabled=0
priority=2
gpgcheck=1
gpgkey=https://download.ceph.com/keys/release.asc
EOF

3. Cài đặt và cấu hình Ceph

3.1 Cài đặt Ceph trên 3 node

  • Cài đặt Yum yum-plugin-priorities.
yum -y install yum-plugin-priorities

  • Cài đặt EPEL Repository
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • Cài đặt CEPH package
yum -y install snappy leveldb gdisk python-argparse gperftools-libs
yum install -y  ceph

  • Mỗi Cluster yêu cầu ít nhất một MON và các OSD đi kèm. Bootstrap MON là yêu cầu đầu tiên để khởi động một Ceph Cluster. MON cũng yêu cầu tăng tính khả dụng ca như các thnàh phần khác trong Cluster như Object, pool replica.

  • Để bootstrap một MON cần các cấu hình tối thiểu

    • Unique Identifier : ID của cụm
    • Cluster Name : tên của cụm
    • Monitor Name : mỗi MON instance trong cụm sẽ có 1 tên riêng
    • Monitor Map : khi bootstrap một MON đầu tiên sẽ yêu cẩu khởi tạo một monitor map
    • Monitor Keyring: monitor nói chuyện với nhau thông qua các secret key.
    • Administrator Keyring: sử dụng để làm việc vơi CLuster thông qua admin use và key
  • Khởi tạo fsid, sử dụng cho trường fsid

[]# uuidgen
efde9ca7-5b57-4ed6-ae01-8cb3befe5bac

[]# UUID=efde9ca7-5b57-4ed6-ae01-8cb3befe5bac

  • Khởi tạo một MON là yêu cầu đầu tiên và tối thiểu để chạy Ceph cluster. Cấu hình node1 làm MON. Khởi tạo cấu hình Ceph
cat <<EOF> /etc/ceph/ceph.conf
[global]
fsid = efde9ca7-5b57-4ed6-ae01-8cb3befe5bac
public network = 192.168.50.0/24
cluster network = 192.168.30.0/24
mon initial members = ceph_node1, ceph_node2, ceph_node3
mon host =  192.168.50.145, 192.168.50.146, 192.168.50.147
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 1024
osd pool default size = 3
osd pool default min size = 2
osd pool default pg num = 333
osd pool default pgp num = 333
osd crush chooseleaf type = 1
EOF

3.2 . Khởi tạo MONITOR trên node CEPH_Node1

  • Khởi tạo Key cho MON
ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
  • Khởi tạo key boostrap OSD
sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd'
  • Khởi tạo key cho Administrator
sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --set-uid=0 --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
  • Thêm key vào ceph.mon.keyringf
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
  • Khởi tạo monitor map
monmaptool --create --add {hostname} {ip-address} --fsid {uuid} /tmp/monmap

monmaptool --create --add ceph_node1 192.168.50.145:6789 --add ceph_node2 \ 192.168.50.146:6789 --add ceph_node3 192.168.50.147:6789 --fsid $UUID /tmp/monmap
  • Khởi tạo default data directory cho MON ceph_node1
sudo -u ceph mkdir /var/lib/ceph/mon/{cluster-name}-{hostname}

sudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph_node1

  • Phân quyền
chown -R ceph:ceph /tmp/ceph.mon.keyring
chown -R ceph:ceph /tmp/monmaprpm
  • Khởi tạo MON ban đầu từ key rpm
sudo -u ceph ceph-mon [--cluster {cluster-name}] --mkfs -i {hostname} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

sudo -u ceph ceph-mon --mkfs -i ceph_node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

  • Khởi động monitor
sudo touch /var/lib/ceph/mon/ceph-ceph_node1/done

systemctl stop ceph-mon@ceph_node1
systemctl daemon-reload

systemctl start ceph-mon@ceph_node1
systemctl enable ceph-mon@ceph_node1

systemctl status ceph-mon@ceph_node1

3.3. Khởi tạo MONITOR trên node CEPH_Node2 và CEPH_node3

  • Do cơ chế qourum , yêu cầu ít nhất 2 trên 3 mon tham gia vào quá trình qorum

  • Trên node CEPH_node1, sau khi khởi động mon daemon, thực hiện copy key và mon map

scp /etc/ceph/ceph.client.admin.keyring root@ceph_node2:/etc/ceph/ceph.client.admin.keyring
scp /tmp/monmap root@ceph_node2: /tmp/monmap
scp /tmp/ceph.mon.keyring  root@ceph_node2:/tmp/ceph.mon.keyring 
  • Trên các node cần thêm MON thực hiện khởi tạo service.

  • Khởi tạo default data directory cho MON ceph_node2

sudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph_node2
chown -R ceph:ceph /tmp/ceph.mon.keyring
chown -R ceph:ceph /tmp/monmap
  • Khởi tạo MON ban đầu từ key và mon map
sudo -u ceph ceph-mon --mkfs -i ceph_node2 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

  • Khởi động monitor
sudo touch /var/lib/ceph/mon/ceph-ceph_node2/done

systemctl stop ceph-mon@ceph_node2
systemctl daemon-reload

systemctl start ceph-mon@ceph_node2
systemctl enable ceph-mon@ceph_node2

systemctl status ceph-mon@ceph_node2

4. Mở rộng CEPH Cluster

4.1 .Cấu hình MGR

  • Khởi tạo user cho mgr
ceph auth get-or-create mgr.ceph_node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'

  • Khởi tạo folder cho mgr
sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-{hostname}
sudo ceph auth get-or-create mgr.ceph_node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mgr/ceph-{hostname}/keyring
sudo chown -R ceph:ceph /var/lib/ceph/mgr
  • Khởi động mgr service
systemctl start ceph-mgr@{hostname}.service
systemctl enable ceph-mgr@{hostname}.service

systemctl status ceph-mgr@{hostname}.service

4.3. Thêm OSD BlueStone

  • Lấy key bootstrap OSD
ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring

  • Cấu hình Ceph OSD
ceph-volume lvm zap /dev/vdb

sudo ceph-volume lvm prepare --data /dev/vdb

 ceph-volume lvm list ## return ID and osd FSID
[block]    /dev/ceph-c4922ed5-e8c9-43f3-b71e-7d6eace01c72/osd-block-7c8947dd-300a-43c9-a0a5-d56f47377e07

      type                      block
      osd id                    0
      cluster fsid              69624950-e1a4-4048-9e14-deafee51a943
      cluster name              ceph
      osd fsid                  7c8947dd-300a-43c9-a0a5-d56f47377e07
      encrypted                 0
      cephx lockbox secret      
      block uuid                4AXOTY-VvrD-mc0V-RK6n-slrE-9OPy-JmEJQW
      block device              /dev/ceph-c4922ed5-e8c9-43f3-b71e-7d6eace01c72/osd-block-7c8947dd-300a-43c9-a0a5-d56f47377e07
      vdo                       0
      crush device class        None
      devices                   /dev/vdb

sudo ceph-volume lvm activate {ID} {FSID} ## active OSD
sudo ceph-volume lvm activate 0 7c8947dd-300a-43c9-a0a5-d56f47377e07

hoặc


ceph-volume lvm zap /dev/vdb

ceph-volume lvm create --data /dev/vdb

10. Tài liệu