1. #ssh-keygen 产生公钥与私钥对.
    2. $ ssh-keygen
    3. Generating public/private rsa key pair.
    4. Enter file in which to save the key (/root/.ssh/id_rsa):
    5. /root/.ssh/id_rsa already exists.
    6. Overwrite (y/n)? y
    7. Enter passphrase (empty for no passphrase):
    8. Enter same passphrase again:
    9. Your identification has been saved in /root/.ssh/id_rsa
    10. Your public key has been saved in /root/.ssh/id_rsa.pub
    11. The key fingerprint is:
    12. SHA256:MUqzOeTzemcBzQ6p95z+ldfZxJ/Vz5kzktn/w1StWdE root@plotter1
    13. The keys randomart image is:
    14. +---[RSA 3072]----+
    15. | .|
    16. | .E|
    17. | + o+ o|
    18. | + =+oo .=|
    19. | B.S+ +*|
    20. | .+. o *=@|
    21. | ..o o +=OB|
    22. | .. * ..++|
    23. | .. +... =|
    24. +----[SHA256]-----+
    25. #ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,
    26. #ssh-copy-id 也能让你有到远程机器的home(~), ~/.ssh, 和 ~/.ssh/authorized_keys的权利.
    27. #ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx
    28. $ ssh-copy-id -i ~/.ssh/id_rsa.pub plotter@192.168.0.1
    29. $ ssh plotter@192.168.0.1
    1. # install docker
    2. apt install docker.io
    3. # 旧,已弃用
    4. docker pull ceph/daemon
    5. docker pull ceph/ceph:v16
    6. # 新
    7. docker pull quay.io/ceph/daemon
    8. docker pull quay.io/ceph/ceph:v16.2.7
    9. # Deploy a monitor
    10. docker run -d \
    11. --name=ceph-mon \
    12. --net=host \
    13. -v /etc/ceph:/etc/ceph \
    14. -v /var/lib/ceph:/var/lib/ceph \
    15. -e MON_IP=192.168.0.1 \
    16. -e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
    17. quay.io/ceph/daemon mon
    18. # 不使用KV backend时,需要复制配置文件
    19. rm -rf /tmp/ceph-etc && mkdir /tmp/ceph-etc
    20. cp -r /etc/ceph /tmp/ceph-etc && chown -R plotter:plotter /tmp/ceph-etc
    21. ll -T /tmp/ceph-etc
    22. rm -rf /tmp/ceph-var-lib && mkdir /tmp/ceph-var-lib
    23. cp -r /var/lib/ceph /tmp/ceph-var-lib && chown -R plotter:plotter /tmp/ceph-var-lib
    24. ll -T /tmp/ceph-var-lib
    25. mkdir -p /etc/ceph /var/lib/ceph
    26. scp -r plotter@192.168.0.1:/tmp/ceph-etc/ceph/* /etc/ceph
    27. scp -r plotter@192.168.0.1:/tmp/ceph-var-lib/ceph/bootstrap* /var/lib/ceph
    28. rm -rf /etc/ceph /var/lib/ceph
    29. ll /etc/ceph /var/lib/ceph
    30. ll -T /etc/ceph /var/lib/ceph
    31. docker run -d \
    32. --name=ceph-mon \
    33. --net=host \
    34. -v /etc/ceph:/etc/ceph \
    35. -v /var/lib/ceph:/var/lib/ceph \
    36. -e MON_IP=192.168.0.2 \
    37. -e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
    38. quay.io/ceph/daemon mon
    39. docker run -d \
    40. --name=ceph-mon \
    41. --net=host \
    42. -v /etc/ceph:/etc/ceph \
    43. -v /var/lib/ceph:/var/lib/ceph \
    44. -e MON_IP=192.168.0.3 \
    45. -e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
    46. quay.io/ceph/daemon mon
    47. docker run -d \
    48. --name=ceph-mon \
    49. --net=host \
    50. -v /etc/ceph:/etc/ceph \
    51. -v /var/lib/ceph:/var/lib/ceph \
    52. -e MON_IP=192.168.0.4 \
    53. -e CEPH_PUBLIC_NETWORK=192.168.0.0/24 \
    54. quay.io/ceph/daemon mon
    55. # Deploy an OSD
    56. mkdir -p /plot1/ceph/osd && chown -R 167:167 /plot1/ceph/osd
    57. docker exec ceph-mon ceph osd create
    58. docker exec ceph-mon ceph auth get client.bootstrap-osd -o /var/lib/ceph/bootstrap-osd/ceph.keyring
    59. docker run -d \
    60. --name=ceph-osd \
    61. --net=host \
    62. --privileged=true \
    63. --pid=host \
    64. -v /etc/ceph:/etc/ceph \
    65. -v /var/lib/ceph/:/var/lib/ceph \
    66. -v /plot1/ceph/osd:/var/lib/ceph/osd/ceph-0 \
    67. -e OSD_TYPE=directory \
    68. quay.io/ceph/daemon osd
    69. docker run -d \
    70. --name=ceph-osd \
    71. --net=host \
    72. -v /etc/ceph:/etc/ceph \
    73. -v /var/lib/ceph/:/var/lib/ceph \
    74. -v /plot1/ceph/osd:/var/lib/ceph/osd/ceph-0 \
    75. quay.io/ceph/daemon osd_directory_single
    76. # Deploy a Manager daemon
    77. docker run -d \
    78. --name=ceph-mgr \
    79. --net=host \
    80. -v /etc/ceph:/etc/ceph \
    81. -v /var/lib/ceph:/var/lib/ceph \
    82. quay.io/ceph/daemon mgr
    83. # 查看集群状态
    84. docker run --rm quay.io/ceph/daemon ceph -h
    85. docker exec ceph-mon ceph -h
    86. docker exec ceph-mon ceph -v
    87. docker exec ceph-mon ceph -s
    88. # delete
    89. docker start ceph-mon ceph-mgr
    90. docker stop ceph-mon ceph-mgr
    91. docker rm ceph-mon ceph-mgr
    92. docker stop ceph-mon && docker rm ceph-mon && docker ps -a
    93. docker stop ceph-osd && docker rm ceph-osd
    1. # Deploy Populate Key Value store(失败,有问题)
    2. docker run -d \
    3. --name=ceph-kv \
    4. --net=host \
    5. -e KV_TYPE=etcd \
    6. -e KV_IP=127.0.0.1 \
    7. -e KV_PORT=2379 \
    8. quay.io/ceph/daemon populate_kvstore
    9. docker run -d \
    10. --name ceph-kv \
    11. --net=host \
    12. -v /etc/ceph/:/etc/ceph/ \
    13. -v /var/lib/ceph/:/var/lib/ceph \
    14. -e CLUSTER=ceph \
    15. -e KV_TYPE=etcd \
    16. -e KV_IP=192.168.0.1 \
    17. -e KV_PORT=4001 \
    18. quay.io/ceph/daemon populate_kvstore