使用cosbench对ceph对象存储(s3)进行性能测试
安装cosbench
wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip
# 这里下载的并非最新版,最新版有bug
yum install java-1.7.0-openjdk nmap-ncat
unzip 0.4.2.c4.zip
cd 0.4.2.c4
./start-all.sh
wget https://github.com/intel-cloud/cosbench/releases/download/v0.4.2.c4/0.4.2.c4.zip
# 这里下载的并非最新版,最新版有bug
yum install java-1.7.0-openjdk nmap-ncat
unzip 0.4.2.c4.zip
cd 0.4.2.c4
./start-all.sh
ceph 对象存储兼容两种接口(协议)S3 和 swift. S3 最常用, 这里仅介绍如何连接(使用)S3存储接口。
访问 S3, 你需要 S3 的:
开始使用前请确保你已经拥有以上信息
DS : 负载均衡器的节点
RS: 后端真实节点
因为LVS RS节点需要修改内核参数, DS不需要。所以实际上RS 和DS的内核参数配置必须是不一样的, 所以我理解DS 和RS 不能在同一点节点。加上还要做高可以用的话, 你必须准备4个节点才有意义,即两个RS节点, 两个DS节点。
实际部署中ceph-deploy 可以和ceph node 在同一个节点。
以操作系统centos7.x为例子
# 启用依赖源
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# 添加ceph源
cat /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-noarch]
name=Ceph noarch packages
baseurl=http://mirrors.ustc.edu.cn/ceph/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.ustc.edu.cn/ceph/keys/release.asc
sudo yum makecache
安装NTP
sudo yum install ntp ntpdate ntp-doc -y
# 配置NTP
sudo ntpdate pool.ntp.org
sudo systemctl restart ntpdate
sudo systemctl restart ntpd
sudo systemctl enable ntpd
sudo systemctl enable ntpdate
ssh 服务
sudo yum install openssh-server -y
创建ceph用户
ssh user@ceph-server
sudo useradd -d /home/{username} -m {username}
sudo passwd {username}
# 对于您添加到每个Ceph节点的新用户,请确保该用户具有 sudo特权。
echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}
测试环境直接停掉防火墙
sudo systemctl stop firewalld
sudo systemctl disable firewalld
yum 加速插件
sudo yum install yum-plugin-priorities
修改每个节点的/etc/hosts,如:
10.201.7.2 node1 # 和hostname一致
10.201.7.3 node2
10.201.7.4 node3
配置部署节点(ceph-deploy)到ceph的节点的免密钥
# 此步骤不要使用sudo 或root 帐号
ssh-keygen
ssh-copy-id {username}@node1
ssh-copy-id {username}@node2
ssh-copy-id {username}@node3
(推荐)配置ssh 默认使用ceph 用户
# Modify the ~/.ssh/config
Host node1
Hostname node1
User {username}
Host node2
Hostname node2
User {username}
Host node3
Hostname node3
User {username}
sudo chmod 600 ~/.ssh/config
在每个ceph节点执行
sudo yum install ceph -y
如果需要在某个节点安装对象存储网关,在该节点执行
sudo yum install ceph-radosgw -y
ceph-deploy 节点
sudo yum install ceph-deploy -y
mkdir my-cluster
cd my-cluster
ceph-deploy new node1
# 初始化mon
ceph-deploy mon create-initial
# 传递密钥
ceph-deploy admin node1 node2 node3
# 部署mgr
ceph-deploy mgr create node1
# 部署osd
ceph-deploy osd create --data /dev/vdb node1 # 如果你的虚拟机没有多的磁盘, 需要添加新的磁盘
ceph-deploy osd create --data /dev/vdb node2
ceph-deploy osd create --data /dev/vdb node3
# 部署RGW
ceph-deploy rgw create node1 # 默认端口: 7480
任意ceph节点
# 检查集群健康
sudo ceph -s