首頁 >運維 >安全 >中興新支點系統離線安裝ceph 16.2.10

中興新支點系統離線安裝ceph 16.2.10

WBOY
WBOY轉載
2023-06-08 15:33:471227瀏覽

中兴新支点系统离线安装ceph 16.2.10

關於中興新支點系統

中興新支點作業系統基於Linux穩定內核,分為嵌入式作業系統(NewStart CGEL)、伺服器作業系統(NewStart CGSL )、桌面作業系統(NewStart NSDL),經過近10年專業研發團隊的累積與發展,產品形成安全加固、自主可控、易用管理的突出優勢。目前,中興新支點作業系統已在國內外各大電信業者、國有大中型企業及電子化政府解決方案中投入使用,服務於交換網路、核心網路、骨幹網路、智慧城市、視訊監控等系統底層。以上轉自某乎。

背景

在國家數位轉型和國產化替代的大背景下,尤其是政務類項目,現在基本上用國產化的CPU和作業系統來承載其業務,實現自主創新和安全可靠。在本文中,我們以中興新支點系統(CGSL)和海光處理器進行了ceph的離線部署。下面方法也適用於龍蜥和centos8。

製作離線安裝套件

要開始製作ceph的離線rpm來源,首先需要找一台已連接網路的中興新支點機器。中興新支點系統會預設安裝一些元件(如libvirt、qemu),為避免安裝ceph時與其他套件產生依賴衝突問題,安裝系統的時候可以選擇最小安裝。專案中其他需要安裝的組件後面一起安裝。我這邊除了ceph,libvirt的包也會用到,系統預設安裝libvirt的版本較低,我這裡都採用手動方式部署並製作離線的rpm包。

yum來源配置

中興新支點系統目前沒有發現有官方的線上yum來源位址。線上安裝可以使用龍蜥和epel8的yum來源。下面是yum來源的配置。

AnolisOS.repo[AppStream]name=AnolisOS-8.6 - AppStreambaseurl=http://mirrors.openanolis.cn/anolis/8.6/AppStream/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[BaseOS]name=AnolisOS-8.6 - BaseOSbaseurl=http://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[DDE]name=AnolisOS-8.6 - DDEbaseurl=http://mirrors.openanolis.cn/anolis/8.6/DDE/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[AppStream-debuginfo]name=AnolisOS-8.6 - AppStream Debuginfobaseurl=http://mirrors.openanolis.cn/anolis/8.6/AppStream/x86_64/debugenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[BaseOS-debuginfo]name=AnolisOS-8.6 - BaseOS Debuginfobaseurl=http://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/debugenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[Plus-debuginfo]name=AnolisOS-8.6 - Plus Debuginfobaseurl=http://mirrors.openanolis.cn/anolis/8.6/Plus/x86_64/debugenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[PowerTools-debuginfo]name=AnolisOS-8.6 - PowerTools Debuginfobaseurl=http://mirrors.openanolis.cn/anolis/8.6/PowerTools/x86_64/debugenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[DDE-debuginfo]name=AnolisOS-8.6 - DDE Debuginfobaseurl=http://mirrors.openanolis.cn/anolis/8.6/DDE/x86_64/debugenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[Extras]name=AnolisOS-8.6 - Extrasbaseurl=http://mirrors.openanolis.cn/anolis/8.6/Extras/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[HighAvailability]name=AnolisOS-8.6 - HighAvailabilitybaseurl=http://mirrors.openanolis.cn/anolis/8.6/HighAvailability/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[Plus]name=AnolisOS-8.6 - Plusbaseurl=http://mirrors.openanolis.cn/anolis/8.6/Plus/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6[PowerTools]name=AnolisOS-8.6 - PowerToolsbaseurl=http://mirrors.openanolis.cn/anolis/8.6/PowerTools/x86_64/osenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CGSL-V6
epel.repo[epel]name=Extra Packages for Enterprise Linux 8 - $basearch# It is much more secure to use the metalink, but if you wish to use a local mirror# place its address here.baseurl=https://mirrors.aliyun.com/epel/8/Everything/$basearchmetalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch&infra=$infra&content=$contentdirenabled=1gpgcheck=1countme=1gpgkey=file:///etc/yum.repos.d/RPM-GPG-KEY-EPEL-8
ceph.repo[Ceph]name=Ceph packages for $basearchbaseurl=http://download.ceph.com/rpm-pacific/el8/$basearchenabled=1gpgcheck=0type=rpm-mdgpgkey=https://download.ceph.com/keys/release.asc[Ceph-noarch]name=Ceph noarch packagesbaseurl=http://download.ceph.com/rpm-pacific/el8/noarchenabled=1gpgcheck=0type=rpm-mdgpgkey=https://download.ceph.com/keys/release.asc[ceph-source]name=Ceph source packagesbaseurl=http://download.ceph.com/rpm-pacific/el8/SRPMSenabled=1gpgcheck=0type=rpm-mdgpgkey=https://download.ceph.com/keys/release.asc

設定yum快取:

[main]gpgcheck=1installonly_limit=3clean_requirements_on_remove=Truebest=Trueskip_if_unavailable=Falsecachedir=/data/yumkeepcache=1

安裝ceph

yum install ceph -y

製作離線倉庫

find /data/cache -name "*.rpm" -exec cp {} /mnt \;createrepo /mnttar -zcvf offline.tar.gz mnt/

安裝ceph

使用做的離線rpm套件安裝ceph。

tar -zxvf offline.tar.gz cd mntrpm -ivh *.rpm --nodeps --force

部署monitor節點

Ceph叢集必須至少有一個監控器,且所需的OSD數量至少應與叢集中儲存的物件副本數量相同。引導初始mon是部署 Ceph 儲存叢集的第一步,這裡我直接在node1、node2、node3建立三個mon。

在node1新增monitor

為叢集產生唯一的fsid,fsid是叢集的唯一標識符,代表 Ceph 儲存叢集主要用於 Ceph 檔案系統的檔案系統 ID。

uuidgen

建立ceph設定文件,將產生的fsid加入到設定檔中。

vim /etc/ceph/ceph.conf[global]fsid=9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4mon initial members = node1mon host = 192.168.2.16public network = 192.168.2.0/24auth cluster required = cephxauth service required = cephxauth client required = cephxosd journal size = 1024osd pool default size = 3osd pool default min size = 2osd pool default pg num = 8osd pool default pgp num = 8osd crush chooseleaf type = 1

建立keyring並產生監視器keyring來為群集做準備。 monitor透過密鑰相互通訊。在引導初始監控時,必須提供已產生的具有監控金鑰的鍵環。

ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'

建立管理keyring並新增使用者到client.admin的keyring。必須建立一個使用者並將其新增至monitor keyring,才能使用 CLI 工具。

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 *'

產生引導 osd 金鑰,產生使用者並將使用者新增至client.bootstrap-osd keyring。

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'

將產生的鍵加入 ceph.mon.keyring。

ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyringceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring

改變 ceph.mon.keyring的擁有者。

chown ceph:ceph /tmp/ceph.mon.keyring

產生monitor映射時,需使用到主機名稱、主機IP位址和FSID。將其儲存為 :/tmp/monmap。

monmaptool --create --add `hostname` 192.168.2.16--fsid 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4 /tmp/monmap

在monitor主機上建立預設資料目錄,目錄名稱是{cluster-name}-{hostname}格式。

sudo -u ceph mkdir /var/lib/ceph/mon/ceph-`hostname`

在node1節點對monitor進行初始化。

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

啟動mon。

systemctl start ceph-mon@`hostname` && systemctl enable ceph-mon@`hostname`

在另外兩個節點安裝mon

將金鑰和設定檔拷貝至其他節點。

scp /tmp/ceph.mon.keyring ceph2:/tmp/ceph.mon.keyringscp /etc/ceph/* root@ceph2:/etc/ceph/scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph2:/var/lib/ceph/bootstrap-osd/scp /tmp/ceph.mon.keyring ceph3:/tmp/ceph.mon.keyringscp /etc/ceph/* root@ceph3:/etc/ceph/scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph3:/var/lib/ceph/bootstrap-osd/

在兩個節點上修改ceph.mon.keyring屬主和屬組為ceph。

chown ceph.ceph /tmp/ceph.mon.keyring

取得monmap資訊。

ceph mon getmap -o /tmp/ceph.mon.mapgot monmap epoch 1

在mon節點上進行mon初始化。

sudo -u ceph ceph-mon --mkfs -i `hostname` --monmap /tmp/ceph.mon.map --keyring /tmp/ceph.mon.keyringsudo -u ceph ceph-mon --mkfs -i `hostname` --monmap /tmp/ceph.mon.map --keyring /tmp/ceph.mon.keyring

在兩個節點上啟動mon。

systemctl start ceph-mon@`hostname` && systemctl enable ceph-mon@`hostname`

修改ceph.conf並重啟ceph-mon(所有節點操作)。

vim /etc/ceph/ceph.confmon initial members = node1,node2,node3mon host = 192.168.2.16,192.168.2.17,192.168.2.18systemctl restart ceph-mon@`hostname`

移除mon

ceph mon remove {mon-id}

新增osd

Ceph可使用其ceph-volume工具來準備邏輯磁碟區、磁碟或分割區。 ceph-volume工具會增加索引來建立OSD ID。

建立osd

在node1執行。

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

上面的建立過程可以分為兩個階段(準備和啟動):

ceph-volume lvm prepare --data /dev/sdb查看osd fsidceph-volume lvm listceph-volume lvm activate {ID} {FSID}

#啟動各個節點osd進程。

#node1systemctl restart ceph-osd@0systemctl enable ceph-osd@0 #node2systemctl restart ceph-osd@1systemctl enable ceph-osd@1#node3systemctl restart ceph-osd@2systemctl enable ceph-osd@2

建立MGR

在每個執行ceph-mon守護程式的節點上,也應該設定一個ceph-mgr守護程式。

建立金鑰目錄

所有mgr節點都要執行。

sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-`hostname -s`cd /var/lib/ceph/mgr/ceph-`hostname -s`

建立身份驗證金鑰

ceph auth get-or-create mgr.`hostname -s` mon 'allow profile mgr' osd 'allow *' mds 'allow *' > keyringchown ceph.ceph /var/lib/ceph/mgr/ceph-`hostname`/keyring

啟動mgr守護程式

systemctl enable ceph-mgr@`hostname -s` && systemctl start ceph-mgr@`hostname -s`或者ceph-mgr -i `hostname`

最後查看ceph運行狀態,我只新增了兩個osd。

中兴新支点系统离线安装ceph 16.2.10

以上是中興新支點系統離線安裝ceph 16.2.10的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除