2023年8月18日 星期五

Ceph-12(luminous)安裝架設

Ceph 是一個開源的分佈式儲存系統,設計用於提供可擴展的對象儲存、區塊儲存和檔案系統服務。版本 12(代號 Luminous)是 Ceph 的一個重要版本,引入了一些新功能和改進,並提升了系統的穩定性和性能。


Ceph-12(luminous)安裝架設



#建立節點
#hostname 要注意不可以亂取,後面config對應錯誤 new ceph的initial會錯誤
admin
node1  #節點要保留磁區空間至少5G
node2   #節點要保留磁區空間至少5G
node3    #節點要保留磁區空間至少5G
ceph-client


#全部節點台都要
vi /etc/hosts  #建立host解析
192.168.50.102 admin
192.168.50.103 node1
192.168.50.104 node2
192.168.50.105 node3
192.168.50.106 ceph-client


#全部節點台都要
useradd cephu
passwd cephu
#關閉selinux
#關閉防火牆(不關)
visudo
cephu   ALL=(root)      NOPASSWD:ALL


#在admin操作
ssh-keygen
ssh-copy-id cephu@node1
ssh-copy-id cephu@node2
ssh-copy-id cephu@node3
ssh-copy-id cephu@ceph-client


#在admin操作
vi ~/.ssh/config
Host node1
Hostname node1
User cephu

Host node2
Hostname node2
User cephu

Host node3
Hostname node3
User cephu


#添加下載源,安裝ceph-deploy (admin節點,root用戶)
vi /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
#更新源安裝ceph-deploy
yum makecache -y
yum update -y
vi /etc/yum.conf    #開啟yum緩存
keepcache=1
yum install ceph-deploy -y


#在admin節點操作
yum install ntp -y
vi /etc/ntp.conf
#四行server註解掉,換以下
server 127.127.1.0  #clcok
fudge 127.127.1.0 stratum 10
systemctl start ntpd
systemctl enable ntpd
firewall-cmd --permanent --zone=public --add-port=123/tcp
firewall-cmd --permanent --zone=public --add-port=123/udp
firewall-cmd --reload


#所有節點安裝ntp
yum install ntpdate -y  #ntpdate工具
ntpdate 192.168.50.102  #每台節點要跟 admin ip地址校時連線


#每個node節點要開通,不然部屬OSD時會卡住
firewall-cmd --permanent --zone=public --add-port=6789/tcp
firewall-cmd --permanent --zone=public --add-port=6789/udp
firewall-cmd --reload


#使用admin節點 -> cephu用戶執行
su - cephu
mkdir my-cluster
sudo yum install python-setuptools.noarch -y #python distribute 工具
cd my-cluster/
ceph-deploy new node1
ceph-deploy install --release luminous node1 node2 node3 #自動部屬#手動安裝luminous 這邊沒操作
ceph-deploy mon create-initial  #初始化 new的節點(node1)
ceph --version #到每個node節點測試



ceph-deploy admin node1 node2 node3 #授權每個節點使用命令免權限
ceph-deploy mgr create node1 #為dashboard做準備



#添加OSD  #這裡會部屬到node節點的 /var/lib/ceph/osd/
ceph-deploy osd create --data /dev/sdb node1
ceph-deploy osd create --data /dev/sdb node2
ceph-deploy osd create --data /dev/sdb node3

ssh node1 lsblk -f  #ssh查看

會出現這樣的標籤
ssh node1 sudo ceph -s #查看所有節點加起來空間


#node1節點操作
su - cephu
sudo ceph auth get-or-create mgr.node1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'
sudo ceph-mgr -i node1
sudo ceph status
sudo ceph mgr module enable dashboard #打開dashboard模塊
sudo ceph config-key set mgr/dashboard/node1/server_addr 192.168.50.103 #設定node1節點IP
ss -plunt #查看端端口
192.168.50.103:7000  #web瀏覽


#配置客戶端
儲存池相關命令需要在mon節點操作(node)
sudo ceph osd pool create rbd 128   128     #設置pg數量
sudo rbd pool init rbd #初始化儲存池


#到ceph-client操作
uname -r  #查詢核版本,當前是3.1. 
#yum install -y epel-release  #centis安裝擴充倉庫(不需要)
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org  #導入key
rpm -Uvh http://elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm   #安裝elrepo源
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y #安裝內核最新版本
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg #查看內核
grub2-set-default 0   #默認啟動順序從0開始,新內核位置在1,所以要選擇0
reboot
uname -r  #這時看就會試新版本



yum remove kernel -y  #刪除舊內核
yum install python-setuptools -y #python distribute 工具
yum install -y epel*  #安裝epel源


vi /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for $basearch
baseurl=https://download.ceph.com/rpm-nautilus/el7/$basearch
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
vi /etc/yum.conf    #開啟yum緩存
keepcache=1
yum clean all
su - cephu
sudo yum install ceph ceph-radosgw -y
ceph --version


#到admin節點操作,賦予client 免用戶名權限
su - cephu
cd my-cluster
ceph-deploy admin ceph-client


#到client節點操作
su - cephu
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
sudo vi /etc/ceph/ceph.conf   #global s ection 下面添加
  • rbd_default_features = 1 
rbd create foo --size 4096 #創建節點鏡像
sudo rbd map foo --name client.admin #client節點映射到主機
sudo mkfs.ext4 -m 0 /dev/rbd/rbd/foo  #client
#client節點mount設備
sudo mkdir /mnt/ceph-block-device #創建掛載點
sudo mount /dev/rbd/rbd/foo /mnt/ceph-block-device #掛載
cd /mnt/ceph-block-device
sudo touch a.txt


#客戶端重啟後,需要重做映射,不然可能會卡死
sudo rbd map foo --name client.admin #client節點映射到主機


發生錯誤

>創建節點錯誤
- 方法A:#node節點存放文件/etc/ceph,如果node節點錯誤導致admin部屬時失敗把裡面文件全部刪除,再重新inital
- 方法B:#重新創建初始化 ceph-deploy --overwrite-conf mon create-initial
#磁區格式不可以用GPT,目前測試msdos可以使用

#其他指令
ceph-volume lvm list #查詢
/var/lib/ceph/osd #node節點存放osd位置

ceph-deploy disk list node1 #列出節點硬碟狀況

#刪除OSD節點
ceph osd tree #查看OSD
ceph osd crush reweight osd.0
systemctl stop ceph-osd@{osd-num} #關閉OSD {osd-num}=輸入0 ->就是節點0
ceph osd crush remove osd.0 #刪除osd節點

ceph-deploy purge node1 #清除/var/lib/ceph下所有數據>在admin操作

ceph auth del osd.0 #刪除OSD認證密要
ceph osd rm 0 #刪除OSD






沒有留言:

張貼留言