#ssh-keygen 产生公钥与私钥对.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:MUqzOeTzemcBzQ6p95z+ldfZxJ/Vz5kzktn/w1StWdE root@plotter1
The keys randomart image is:
+---[RSA 3072]----+
| .|
| .E|
| + o+ o|
| + =+oo .=|
| B.S+ +*|
| .+. o *=@|
| ..o o +=OB|
| .. * ..++|
| .. +... =|
+----[SHA256]-----+
#ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,
#ssh-copy-id 也能让你有到远程机器的home(~), ~/.ssh, 和 ~/.ssh/authorized_keys的权利.
#ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx
$ ssh-copy-id -i ~/.ssh/id_rsa.pub plotter@192.168.0.1
$ ssh plotter@192.168.0.1
# install docker
apt install docker.io
# 旧,已弃用
docker pull ceph/daemon
docker pull ceph/ceph:v16
# 新
docker pull quay.io/ceph/daemon
docker pull quay.io/ceph/ceph:v16.2.7
# Deploy a monitor
docker run -d \
--name=ceph-mon \
--net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph:/var/lib/ceph \
-e MON_IP=192.168.0.1 \
-e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
quay.io/ceph/daemon mon
# 不使用KV backend时,需要复制配置文件
rm -rf /tmp/ceph-etc && mkdir /tmp/ceph-etc
cp -r /etc/ceph /tmp/ceph-etc && chown -R plotter:plotter /tmp/ceph-etc
ll -T /tmp/ceph-etc
rm -rf /tmp/ceph-var-lib && mkdir /tmp/ceph-var-lib
cp -r /var/lib/ceph /tmp/ceph-var-lib && chown -R plotter:plotter /tmp/ceph-var-lib
ll -T /tmp/ceph-var-lib
mkdir -p /etc/ceph /var/lib/ceph
scp -r plotter@192.168.0.1:/tmp/ceph-etc/ceph/* /etc/ceph
scp -r plotter@192.168.0.1:/tmp/ceph-var-lib/ceph/bootstrap* /var/lib/ceph
rm -rf /etc/ceph /var/lib/ceph
ll /etc/ceph /var/lib/ceph
ll -T /etc/ceph /var/lib/ceph
docker run -d \
--name=ceph-mon \
--net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph:/var/lib/ceph \
-e MON_IP=192.168.0.2 \
-e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
quay.io/ceph/daemon mon
docker run -d \
--name=ceph-mon \
--net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph:/var/lib/ceph \
-e MON_IP=192.168.0.3 \
-e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
quay.io/ceph/daemon mon
docker run -d \
--name=ceph-mon \
--net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph:/var/lib/ceph \
-e MON_IP=192.168.0.4 \
-e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
quay.io/ceph/daemon mon
# Deploy an OSD
mkdir -p /plot1/ceph/osd && chown -R 167:167 /plot1/ceph/osd
docker exec ceph-mon ceph osd create
docker exec ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
docker run -d \
--name=ceph-osd \
--net=host \
--privileged=true \
--pid=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph \
-v /plot1/ceph/osd:/var/lib/ceph/osd/ceph-0 \
-e OSD_TYPE=directory \
quay.io/ceph/daemon osd
docker run -d \
--name=ceph-osd \
--net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph \
-v /plot1/ceph/osd:/var/lib/ceph/osd/ceph-0 \
quay.io/ceph/daemon osd_directory_single
# Deploy a Manager daemon
docker run -d \
--name=ceph-mgr \
--net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph:/var/lib/ceph \
quay.io/ceph/daemon mgr
# 查看集群状态
docker run --rm quay.io/ceph/daemon ceph -h
docker exec ceph-mon ceph -h
docker exec ceph-mon ceph -v
docker exec ceph-mon ceph -s
# delete
docker start ceph-mon ceph-mgr
docker stop ceph-mon ceph-mgr
docker rm ceph-mon ceph-mgr
docker stop ceph-mon && docker rm ceph-mon && docker ps -a
docker stop ceph-osd && docker rm ceph-osd
# Deploy Populate Key Value store(失败,有问题)
docker run -d \
--name=ceph-kv \
--net=host \
-e KV_TYPE=etcd \
-e KV_IP=127.0.0.1 \
-e KV_PORT=2379 \
quay.io/ceph/daemon populate_kvstore
docker run -d \
--name ceph-kv \
--net=host \
-v /etc/ceph/:/etc/ceph/ \
-v /var/lib/ceph/:/var/lib/ceph \
-e CLUSTER=ceph \
-e KV_TYPE=etcd \
-e KV_IP=192.168.0.1 \
-e KV_PORT=4001 \
quay.io/ceph/daemon populate_kvstore