環境
角色 | 操作系統 | 主機名 | 公用地址 | 集羣地址 | 數據裸盤 | ceph 版本 |
---|---|---|---|---|---|---|
部署機 | CentOS7.4 | deploy | 192.168.1.220 | 無 | 無 | jewel |
節點 | CentOS7.4 | ceph221 | 192.168.1.221 | 10.10.10.221 | /dev/vdb | jewel |
節點 | CentOS7.4 | ceph222 | 192.168.1.222 | 10.10.10.222 | /dev/vdb | jewel |
節點 | CentOS7.4 | ceph223 | 192.168.1.223 | 10.10.10.223 | /dev/vdb | jewel |
準備
- 在部署機上準備 yum 源
yum install epel-release cat > /etc/yum.repos.d/ceph.repo <<-END [ceph-noarch] name=Ceph noarch packages baseurl=http://download.ceph.com/rpm-jewel/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc END
- 在全部服務器上關閉 firewalld、NetworkManager 和 SELinux
systemctl stop firewalld systemctl disable firewalld systemctl stop NetworkManager systemctl disable NetworkManager sed -i '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config # 重啓操作系統生效
- 爲全部服務器配置相同的時間同步服務器
# 修改 /etc/chrony.conf,重啓 chronyd 服務
- 在全部服務器上創建 cephdeploy 用戶,並配置免密 sudo
useradd -m cephdeploy passwd cephdeploy echo "cephdeploy ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/cephdeploy chmod 0440 /etc/sudoers.d/cephdeploy
- 在部署機上配置各節點主機名解析
echo "192.168.1.221 ceph221" >> /etc/hosts echo "192.168.1.222 ceph222" >> /etc/hosts echo "192.168.1.223 ceph223" >> /etc/hosts
- 在部署機上配置 cephdeploy 用戶免密 ssh 到各節點的 cephdeploy 用戶
su - cephdeploy ssh-keygen for host in $(seq -f 'ceph%g' 221 223); do ssh-copy-id $host done
安裝集羣
- 在部署機上執行以下命令,安裝集羣基本組件
su - cephdeploy mkdir $HOME/my-cluster cd $HOME/my-cluster ceph-deploy new ceph221 ceph-deploy install ceph221 ceph-deploy install ceph222 ceph-deploy install ceph223 ceph-deploy mon create-initial ceph-deploy admin ceph221 ceph222 ceph223 ceph-deploy osd create ceph221:vdb ceph222:vdb ceph223:vdb ceph-deploy mon add ceph222 ceph-deploy mon add ceph223
- 在集羣中任一節點上執行以下命令,查看集羣狀態
ceph -s
創建對象存儲網關
- 在部署機上執行以下命令,安裝對象存儲網關服務
su - cephdeploy ceph-deploy rgw create ceph221 ceph-deploy rgw create ceph222 ceph-deploy rgw create ceph223
- 在集羣中的任一節點上執行以下命令,創建 swift 用戶
radosgw-admin user create --subuser="admin:swift_user" --uid="swift_id" --display-name="swift_name" --key-type=swift --secret="swift_password" --access=full # admin:swift_user: swift接口使用的"用戶名:子用戶名" # swift_id: swfit用戶id # swift_name: swift用戶名 # swift_password: swift密碼
- 在部署機上執行以下命令,安裝 swift 客戶端
yum install python2-pip pip install python-swiftclient
- 在 ceph 集羣中創建 swift 容器
swift -A http://192.168.1.221/auth/v1 -Uadmin:swift_user -Kswift_password post container_name # container_name: 容器名