Chapter 21. Storage Cluster Upgrade

Upgrading Ceph daemons involves installing the upgraded packages, and restarting each Ceph daemon. We recommend upgrading in this order:

  • Ceph Deploy
  • Ceph Monitors
  • Ceph OSD Daemons
  • Ceph Object Gateways

    1. To upgrade ceph-deploy, execute:

      sudo yum install ceph-deploy
    2. To upgrade monitors, execute the following on your monitor nodes:

      ceph-deploy install <ceph-node>[<ceph-node> ...]

      ceph-deploy will install the latest version of Ceph.

      Restart your monitors one at a time. Give each daemon time to come up and in, rejoining the quorum before you restart the next instance. To restart a monitor, execute ceph with the restart command. Use the following syntax:

      sudo /etc/init.d/ceph [options] restart mon.[id]
    3. To upgrade OSDs, execute the following on your OSD nodes:

      ceph-deploy install <ceph-node>[<ceph-node> ...]

      ceph-deploy will install the latest version of Ceph.

      We recommend upgrading OSDs by CRUSH hierarchy—​i.e., by failure domain or performance domain. Give each daemon time to come up and in with the cluster reaching a HEALTH_OK state before proceeding to the next CRUSH hierarchy. To restart an OSD, execute ceph with the restart command. Use the following syntax:

      sudo /etc/init.d/ceph [options] restart osd.[id]
    4. To upgrade a Ceph Object Gateway daemon, execute the following:

      sudo yum install ceph-radosgw

      To upgrade the Ceph Object Gateway synchronization agent, execute the following:

      sudo yum install radosgw-agent

      Restart each Ceph Object gateway daemon. To do so, execute the following on each host:

      On RHEL 7:

      sudo systemctl restart ceph-radosgw

      On RHEL 6:

      sudo service ceph-radosgw restart

      If you are running a federated architecture, restart your sync agent(s). For data replication agents, go to the terminal and execute ctrl + c; then, execute:

      radosgw-agent -c [config-file]

      For metadata replication agents, go to the terminal and execute ctrl + c; then, execute:

      radosgw-agent -c [config-file] --metadata-only