以下內(nèi)容均在華為云ECS Centos7.4上測試。
修改主機名,后面使用到的節(jié)點名稱就是對應的主機名稱
# 把主機名稱修改為ceph1
hostnamectl set-hostname ceph1
關(guān)閉selinux和firewall
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
systemctl disable firewalld.service
systemctl stop firewalld.service
修改hosts文件
首先使用$ ip addr
查看主機的內(nèi)網(wǎng)IP地址吟秩,結(jié)果如下圖示,主機內(nèi)網(wǎng)IP地址為192.168.0.119/24
厕隧,此IP地址非常重要,之后頻繁使用俄周。
然后將IP地址和主機名稱寫入hosts文件
# 192.168.0.119 為內(nèi)網(wǎng)IP吁讨,ceph1為節(jié)點名稱
echo "192.168.0.119 ceph1" >> /etc/hosts
安裝ceph-deploy
首先配置 ceph 源,可以自己編寫峦朗,也可使用如下阿里云提供的源:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
cat <<END >/etc/yum.repos.d/ceph.repo
[norch]
name=norch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
enabled=1
gpgcheck=0
[x86_64]
name=x86_64
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
enabled=1
gpgcheck=0
END
配置源后建丧,開始安裝
yum -y install ceph-deploy && yum -y install ceph ceph-radosgw python-setuptools python2-subprocess32
運行Ceph
創(chuàng)建配置文件目錄,后續(xù)命令都是在該目錄下執(zhí)行
mkdir ~/ceph
cd ~/ceph
初始化ceph集群
ceph-deploy new ceph1
修改ceph.conf配置文件為單節(jié)點:
echo "osd pool default min_size = 1" >>ceph.conf
echo "osd pool default size = 1" >>ceph.conf
echo "public_network =192.168.0.119/24" >>ceph.conf
初始化ceph的監(jiān)控波势,啟動mon 進程茶鹃。目錄下會新生成ceph.client.admin.keyring 等5個配置文件
ceph-deploy mon create-initial
將ceph.client.admin.keyring拷貝到各個節(jié)點上
ceph-deploy admin ceph1
啟動mgr進程
ceph-deploy mgr create ceph1
$ ceph -s
查看集群狀態(tài),如圖所示艰亮,HEALTH_OK
, HEALTH_WARN
都表明ceph集群安裝成功可以使用了
準備數(shù)據(jù)盤
fdisk -l
上圖表明主機已經(jīng)有一塊系統(tǒng)盤
/dev/vda
還有一塊/dev/vdb
未分區(qū)我們對
/dev/vdb
進行分區(qū)并作為數(shù)據(jù)盤使用闭翩。
fdisk /dev/vdb
在鍵盤上依次輸入
# 添加一個分區(qū)
n
# 主分區(qū)
P
# 第一個回車指是開始的磁盤扇區(qū)大小
ENTER
# 第二個回車指是結(jié)束的磁盤扇區(qū)大小
ENTER
# 寫入磁盤
w
此時數(shù)據(jù)盤被分好了。
格式化磁盤
mkfs.ext4 /dev/vdb
創(chuàng)建osd
ceph-deploy osd create --data /dev/vdb ceph1
啟動rgw
啟動rgw對象存儲進程
ceph-deploy rgw create ceph1
輸入以下命令迄埃,查看集rgw是否正常啟動疗韵。RGW服務(wù)默認啟動的7480端口
curl 192.168.0.119:7480
curl 公網(wǎng)IP:7480
出現(xiàn)如下結(jié)果表示RGW進程正常啟動
設(shè)置pool 和 pgs的值:
ceph osd pool set .rgw.root pg_num 64
ceph osd pool set .rgw.root pgp_num 64
利用s3創(chuàng)建 桶來測試,先輸入以下命令侄非,創(chuàng)建用戶蕉汪,并賦予讀寫權(quán)限 :
radosgw-admin user create --uid="admin" --display-name="administrator"
radosgw-admin caps add --uid="admin" --caps="users=read, write; usage=read,write; buckets=read,write"
查看用戶信息,記錄access_key和secret_access_key的值
radosgw-admin user info --uid="admin"
輸入以下命令逞怨,利用python腳本來驗證 桶是否創(chuàng)建成功:
yum install python-boto -y
vi s3.py
import boto
import boto.s3.connection
host = '192.168.0.119'
access_key = ''
secret_key = ''
conn = boto.connect_s3(
aws_access_key_id = access_key,
aws_secret_access_key = secret_key,
host =host, port=7480,
is_secure=False,
calling_format = boto.s3.connection.OrdinaryCallingFormat()
)
bucket = conn.create_bucket('py-first')
for bucket in conn.get_all_buckets():
print "{name}\t{created}".format(name = bucket.name, created = bucket.creation_date)
出現(xiàn)上述內(nèi)容說明ceph部署成功者疤。之后可以使用python操作ceph。推薦boto3叠赦。
[Reference]:
Centos--單節(jié)點Ceph對象存儲部署
單節(jié)點Ceph對象存儲簡單部署(1)
Centos掛載硬盤完整圖文教程(查看驹马、分區(qū)、格式化除秀、掛載)磁盤