Ceph Squid : क्लस्टर कॉन्फ़िगर करें #12024/05/03 |
स्टोरेज क्लस्टर को कॉन्फ़िगर करने के लिए वितरित फ़ाइल सिस्टम Ceph स्थापित करें।
उदाहरण के लिए, यहां Ceph क्लस्टर को 3 नोड्स के साथ निम्नानुसार कॉन्फ़िगर करें।
इसके अलावा, प्रत्येक स्टोरेज नोड में Ceph नोड्स पर उपयोग करने के लिए एक निःशुल्क ब्लॉक डिवाइस है। (use [/dev/sdb] on this example) | +----------------------------+----------------------------+ | | | |10.0.0.51 |10.0.0.52 |10.0.0.53 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [node01.srv.world] | | [node02.srv.world] | | [node03.srv.world] | | Object Storage +----+ Object Storage +----+ Object Storage | | Monitor Daemon | | | | | | Manager Daemon | | | | | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | [Monitor Daemon] नोड पर SSH कुंजी-जोड़ी बनाएं (इसे यहां एडमिन नोड कहें) और इसे प्रत्येक नोड पर सेट करें। यहां पर कुंजी-जोड़ी को बिना-पासफ़्रेज़ के [root] खाते के रूप में कॉन्फ़िगर करें। यदि आप एक सामान्य खाते का उपयोग करते हैं, तो उसे Sudo को भी कॉन्फ़िगर करना होगा। यदि आप पासफ़्रेज़ को SSH कुंजी-जोड़ी पर सेट करते हैं, तो उसे SSH एजेंट भी सेट करना होगा। |
root@node01:~# ssh-keygen -q -N "" Enter file in which to save the key (/root/.ssh/id_ed25519):
root@node01:~#
vi ~/.ssh/config # नया बनाएं (प्रत्येक नोड और SSH उपयोगकर्ता को परिभाषित करें) Host node01 Hostname node01.srv.world User root Host node02 Hostname node02.srv.world User root Host node03 Hostname node03.srv.world User root
root@node01:~#
chmod 600 ~/.ssh/config
# सार्वजनिक कुंजी स्थानांतरित करें root@node01:~# ssh-copy-id node01
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_ed25519.pub"
The authenticity of host 'node01.srv.world (10.0.0.51)' can't be established.
ED25519 key fingerprint is SHA256:6wnWGpzjyIur7FRtJi3sbyGj3JolsRW1sEWC4tNM9ao.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@node01.srv.world's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'node01'"
and check to make sure that only the key(s) you wanted were added.
root@node01:~# ssh-copy-id node02 root@node01:~# ssh-copy-id node03 |
[2] | एडमिन नोड से प्रत्येक नोड पर Ceph इंस्टॉल करें। |
root@node01:~# for NODE in node01 node02 node03
do
ssh $NODE "apt update; apt -y install ceph python3-packaging"
done
|
[3] | एडमिन नोड पर [Monitor Daemon], [Manager Daemon] कॉन्फ़िगर करें। |
root@node01:~#
uuidgen 3666a474-14e0-4c5f-ad1e-daf2e30aed8f # नई कॉन्फ़िगरेशन फ़ाइल बनाएं # फ़ाइल का नाम ⇒ (किसी भी क्लस्टर का नाम).conf # इस उदाहरण पर क्लस्टर नाम [ceph] (डिफ़ॉल्ट) सेट करें ⇒ [ceph.conf] root@node01:~# vi /etc/ceph/ceph.conf [global] # निगरानी के लिए क्लस्टर नेटवर्क निर्दिष्ट करें cluster network = 10.0.0.0/24 # specify public network public network = 10.0.0.0/24 # ऊपर उत्पन्न UUID निर्दिष्ट करें fsid = 3666a474-14e0-4c5f-ad1e-daf2e30aed8f # मॉनिटर डेमॉन का आईपी पता निर्दिष्ट करें mon host = 10.0.0.51 # मॉनिटर डेमॉन का होस्टनाम निर्दिष्ट करें mon initial members = node01 osd pool default crush rule = -1 # mon.(नोड नाम) [mon.node01] # मॉनिटर डेमॉन का होस्टनाम निर्दिष्ट करें host = node01 # मॉनिटर डेमॉन का आईपी पता निर्दिष्ट करें mon addr = 10.0.0.51 # पूल हटाने की अनुमति दें mon allow pool delete = true # क्लस्टर निगरानी के लिए गुप्त कुंजी उत्पन्न करें root@node01:~# ceph-authtool --create-keyring /etc/ceph/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *' creating /etc/ceph/ceph.mon.keyring # क्लस्टर व्यवस्थापक के लिए गुप्त कुंजी उत्पन्न करें root@node01:~# ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *' creating /etc/ceph/ceph.client.admin.keyring # बूटस्ट्रैप के लिए कुंजी उत्पन्न करें root@node01:~# ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r' creating /var/lib/ceph/bootstrap-osd/ceph.keyring # उत्पन्न कुंजी आयात करें root@node01:~# ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring importing contents of /etc/ceph/ceph.client.admin.keyring into /etc/ceph/ceph.mon.keyring root@node01:~# ceph-authtool /etc/ceph/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring importing contents of /var/lib/ceph/bootstrap-osd/ceph.keyring into /etc/ceph/ceph.mon.keyring # मॉनिटर मैप तैयार करें root@node01:~# FSID=$(grep "^fsid" /etc/ceph/ceph.conf | awk {'print $NF'}) root@node01:~# NODENAME=$(grep "^mon initial" /etc/ceph/ceph.conf | awk {'print $NF'}) root@node01:~# NODEIP=$(grep "^mon host" /etc/ceph/ceph.conf | awk {'print $NF'}) root@node01:~# monmaptool --create --add $NODENAME $NODEIP --fsid $FSID /etc/ceph/monmap monmaptool: monmap file /etc/ceph/monmap setting min_mon_release = quincy monmaptool: set fsid to 3666a474-14e0-4c5f-ad1e-daf2e30aed8f monmaptool: writing epoch 0 to /etc/ceph/monmap (1 monitors) # मॉनिटर डेमॉन के लिए एक निर्देशिका बनाएं # निर्देशिका का नाम ⇒ (क्लस्टर का नाम)-(नोड नाम) root@node01:~# mkdir /var/lib/ceph/mon/ceph-node01
# कुंजी और मोनमैप को मॉनिटर डेमॉन से संबद्ध करें # --cluster (क्लस्टर का नाम) root@node01:~# ceph-mon --cluster ceph --mkfs -i $NODENAME --monmap /etc/ceph/monmap --keyring /etc/ceph/ceph.mon.keyring
root@node01:~#
chown ceph:ceph /etc/ceph/ceph.* root@node01:~# chown -R ceph:ceph /var/lib/ceph/mon/ceph-node01 /var/lib/ceph/bootstrap-osd root@node01:~# systemctl enable --now ceph-mon@$NODENAME
# मैसेंजर v2 प्रोटोकॉल सक्षम करें root@node01:~# ceph mon enable-msgr2
root@node01:~#
ceph config set mon auth_allow_insecure_global_id_reclaim false
# प्लेसमेंट समूह ऑटो स्केल मॉड्यूल सक्षम करें root@node01:~# ceph mgr module enable pg_autoscaler
# प्रबंधक डेमॉन के लिए एक निर्देशिका बनाएँ # निर्देशिका का नाम ⇒ (क्लस्टर का नाम)-(नोड नाम) root@node01:~# mkdir /var/lib/ceph/mgr/ceph-node01
# प्रमाणीकरण कुंजी बनाएं root@node01:~# ceph auth get-or-create mgr.$NODENAME mon 'allow profile mgr' osd 'allow *' mds 'allow *' [mgr.node01] key = AQC16DJm2Uc/CRAAncSMTkko6s9ne0GHIkeGNw==root@node01:~# ceph auth get-or-create mgr.node01 | tee /etc/ceph/ceph.mgr.admin.keyring root@node01:~# cp /etc/ceph/ceph.mgr.admin.keyring /var/lib/ceph/mgr/ceph-node01/keyring root@node01:~# chown ceph:ceph /etc/ceph/ceph.mgr.admin.keyring root@node01:~# chown -R ceph:ceph /var/lib/ceph/mgr/ceph-node01 root@node01:~# systemctl enable --now ceph-mgr@$NODENAME |
[4] | क्लस्टर स्थिति की पुष्टि करें. यह ठीक है यदि [Monitor Daemon] और [Manager Daemon] इस प्रकार सक्षम हैं। OSD (ऑब्जेक्ट स्टोरेज डिवाइस) के लिए, उन्हें अगले अनुभाग पर कॉन्फ़िगर करें, ताकि इस बिंदु पर [HEALTH_WARN] होने पर कोई समस्या न हो। |
root@node01:~# ceph -s cluster: id: 3666a474-14e0-4c5f-ad1e-daf2e30aed8f health: HEALTH_WARN OSD count 0 < osd_pool_default_size 3 services: mon: 1 daemons, quorum node01 (age 117s) mgr: node01(active, since 25s) 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: |
Sponsored Link |
|