RE: v12.2.0 Luminous released

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 1 Sep 2017, Felix, Evan J wrote:
> Is there documentation about how to deal with a pool application 
> association that is not one of cephfs, rbd, or rgw? We have multiple 
> pools that have nothing to do with those applications, we just use the 
> objects in them directly using the librados API calls.  I don’t really 
> want health warnings always showing in my status screens.

Hi Evan,

Just

 ceph osd pool application enable $pool myapp

See

 http://docs.ceph.com/docs/master/rados/operations/pools/#associate-pool-to-application

sage


> 
> Evan Felix
> 
> -----Original Message-----
> From: ceph-devel-owner@xxxxxxxxxxxxxxx [mailto:ceph-devel-owner@xxxxxxxxxxxxxxx] On Behalf Of Abhishek Lekshmanan
> Sent: Tuesday, August 29, 2017 11:20 AM
> To: ceph-devel@xxxxxxxxxxxxxxx; ceph-users@xxxxxxxx; ceph-maintainers@xxxxxxxx; ceph-announce@xxxxxxxx
> Subject: v12.2.0 Luminous released 
> 
> 
> We're glad to announce the first release of Luminous v12.2.x long term stable release series. There have been major changes since Kraken
> (v11.2.z) and Jewel (v10.2.z), and the upgrade process is non-trivial.
> Please read the release notes carefully.
> 
> For more details, links & changelog please refer to the complete release notes entry at the Ceph blog:
> http://ceph.com/releases/v12-2-0-luminous-released/
> 
> 
> Major Changes from Kraken
> -------------------------
> 
> - *General*:
>   * Ceph now has a simple, built-in web-based dashboard for monitoring cluster
>     status.
> 
> - *RADOS*:
>   * *BlueStore*:
>     - The new *BlueStore* backend for *ceph-osd* is now stable and the
>       new default for newly created OSDs.  BlueStore manages data
>       stored by each OSD by directly managing the physical HDDs or
>       SSDs without the use of an intervening file system like XFS.
>       This provides greater performance and features.
>     - BlueStore supports full data and metadata checksums
>       of all data stored by Ceph.
>     - BlueStore supports inline compression using zlib, snappy, or LZ4. (Ceph
>       also supports zstd for RGW compression but zstd is not recommended for
>       BlueStore for performance reasons.)
> 
>   * *Erasure coded* pools now have full support for overwrites
>     allowing them to be used with RBD and CephFS.
> 
>   * *ceph-mgr*:
>     - There is a new daemon, *ceph-mgr*, which is a required part of
>       any Ceph deployment.  Although IO can continue when *ceph-mgr*
>       is down, metrics will not refresh and some metrics-related calls
>       (e.g., `ceph df`) may block.  We recommend deploying several
>       instances of *ceph-mgr* for reliability.  See the notes on
>       Upgrading below.
>     - The *ceph-mgr* daemon includes a REST-based management API.
>       The API is still experimental and somewhat limited but
>       will form the basis for API-based management of Ceph going forward.
>     - ceph-mgr also includes a Prometheus exporter plugin, which can provide Ceph
>       perfcounters to Prometheus.
>     - ceph-mgr now has a Zabbix plugin. Using zabbix_sender it sends trapper
>       events to a Zabbix server containing high-level information of the Ceph
>       cluster. This makes it easy to monitor a Ceph cluster's status and send
>       out notifications in case of a malfunction.
> 
>   * The overall *scalability* of the cluster has improved. We have
>     successfully tested clusters with up to 10,000 OSDs.
>   * Each OSD can now have a device class associated with
>     it (e.g., `hdd` or `ssd`), allowing CRUSH rules to trivially map
>     data to a subset of devices in the system.  Manually writing CRUSH
>     rules or manual editing of the CRUSH is normally not required.
>   * There is a new upmap exception mechanism that allows individual PGs to be moved around to achieve
>     a *perfect distribution* (this requires luminous clients).
>   * Each OSD now adjusts its default configuration based on whether the
>     backing device is an HDD or SSD. Manual tuning generally not required.
>   * The prototype mClock QoS queueing algorithm is now available.
>   * There is now a *backoff* mechanism that prevents OSDs from being
>     overloaded by requests to objects or PGs that are not currently able to
>     process IO.
>   * There is a simplified OSD replacement process that is more robust.
>   * You can query the supported features and (apparent) releases of
>     all connected daemons and clients with `ceph features`
>   * You can configure the oldest Ceph client version you wish to allow to
>     connect to the cluster via `ceph osd set-require-min-compat-client` and
>     Ceph will prevent you from enabling features that will break compatibility
>     with those clients.
>   * Several `sleep` settings, include `osd_recovery_sleep`,
>     `osd_snap_trim_sleep`, and `osd_scrub_sleep` have been
>     reimplemented to work efficiently.  (These are used in some cases
>     to work around issues throttling background work.)
>   * Pools are now expected to be associated with the application using them.
>     Upon completing the upgrade to Luminous, the cluster will attempt to associate
>     existing pools to known applications (i.e. CephFS, RBD, and RGW). In-use pools
>     that are not associated to an application will generate a health warning. Any
>     unassociated pools can be manually associated using the new
>     `ceph osd pool application enable` command. For more details see
>     `associate pool to application` in the documentation.
> 
> - *RGW*:
> 
>   * RGW *metadata search* backed by ElasticSearch now supports end
>     user requests service via RGW itself, and also supports custom
>     metadata fields. A query language a set of RESTful APIs were
>     created for users to be able to search objects by their
>     metadata. New APIs that allow control of custom metadata fields
>     were also added.
>   * RGW now supports *dynamic bucket index sharding*. This has to be enabled via
>     the `rgw dyamic resharding` configurable. As the number of objects in a
>     bucket grows, RGW will automatically reshard the bucket index in response.
>     No user intervention or bucket size capacity planning is required.
>   * RGW introduces *server side encryption* of uploaded objects with
>     three options for the management of encryption keys: automatic
>     encryption (only recommended for test setups), customer provided
>     keys similar to Amazon SSE-C specification, and through the use of
>     an external key management service (Openstack Barbican) similar
>     to Amazon SSE-KMS specification.
>   * RGW now has preliminary AWS-like bucket policy API support.  For
>     now, policy is a means to express a range of new authorization
>     concepts.  In the future it will be the foundation for additional
>     auth capabilities such as STS and group policy.
>   * RGW has consolidated the several metadata index pools via the use of rados
>     namespaces.
>   * S3 Object Tagging API has been added; while APIs are
>     supported for GET/PUT/DELETE object tags and in PUT object
>     API, there is no support for tags on Policies & Lifecycle yet
>   * RGW multisite now supports for enabling or disabling sync at a
>     bucket level.
> 
> - *RBD*:
> 
>   * RBD now has full, stable support for *erasure coded pools* via the new
>     `--data-pool` option to `rbd create`.
>   * RBD mirroring's rbd-mirror daemon is now highly available. We
>     recommend deploying several instances of rbd-mirror for
>     reliability.
>   * RBD mirroring's rbd-mirror daemon should utilize unique Ceph user
>     IDs per instance to support the new mirroring dashboard.
>   * The default 'rbd' pool is no longer created automatically during
>     cluster creation. Additionally, the name of the default pool used
>     by the rbd CLI when no pool is specified can be overridden via a
>     new `rbd default pool = <pool name>` configuration option.
>   * Initial support for deferred image deletion via new `rbd
>     trash` CLI commands. Images, even ones actively in-use by
>     clones, can be moved to the trash and deleted at a later time.
>   * New pool-level `rbd mirror pool promote` and `rbd mirror pool
>     demote` commands to batch promote/demote all mirrored images
>     within a pool.
>   * Mirroring now optionally supports a configurable replication delay
>     via the `rbd mirroring replay delay = <seconds>` configuration
>     option.
>   * Improved discard handling when the object map feature is enabled.
>   * rbd CLI `import` and `copy` commands now detect sparse and
>     preserve sparse regions.
>   * Images and Snapshots will now include a creation timestamp.
>   * Specifying user authorization capabilities for RBD clients has been
>     simplified. The general syntax for using RBD capability profiles is
>     "mon 'profile rbd' osd 'profile rbd[-read-only][ pool={pool-name}[, ...]]'".
>     For more details see "User Management" in the documentation.
> 
> - *CephFS*:
> 
>   * *Multiple active MDS daemons* is now considered stable.  The number
>     of active MDS servers may be adjusted up or down on an active CephFS file
>     system.
>   * CephFS *directory fragmentation* is now stable and enabled by
>     default on new filesystems.  To enable it on existing filesystems
>     use "ceph fs set <fs_name> allow_dirfrags".  Large or very busy
>     directories are sharded and (potentially) distributed across
>     multiple MDS daemons automatically.
>   * Directory subtrees can be explicitly pinned to specific MDS daemons in
>     cases where the automatic load balancing is not desired or effective.
>   * Client keys can now be created using the new `ceph fs authorize` command
>     to create keys with access to the given CephFS file system and all of its
>     data pools.
>   * When running 'df' on a CephFS filesystem comprising exactly one data pool,
>     the result now reflects the file storage space used and available in that
>     data pool (fuse client only).
> 
> - *Miscellaneous*:
> 
>   * Release packages are now being built for *Debian Stretch*.  Note
>     that QA is limited to CentOS and Ubuntu (xenial and trusty).  The
>     distributions we build for now include:
> 
>     - CentOS 7 (x86_64 and aarch64)
>     - Debian 8 Jessie (x86_64)
>     - Debian 9 Stretch (x86_64)
>     - Ubuntu 16.04 Xenial (x86_64 and aarch64)
>     - Ubuntu 14.04 Trusty (x86_64)
> 
>   * A first release of Ceph for FreeBSD is available which contains a full set
>     of features, other than Bluestore. It will run everything needed to build a
>     storage cluster. For clients, all access methods are available, albeit
>     CephFS is only accessible through a Fuse implementation. RBD images can be
>     mounted on FreeBSD systems through rbd-ggate
>     Ceph versions are released through the regular FreeBSD ports and packages
>     system. The most current version is available as: net/ceph-devel. Once
>     Luminous goes into official release, this version will be available as
>     net/ceph. Future development releases will be available via net/ceph-devel
> 
>   * *CLI changes*:
> 
>     - The `ceph -s` or `ceph status` command has a fresh look.
>     - `ceph mgr metadata` will dump metadata associated with each mgr
>       daemon.
>     - `ceph versions` or `ceph {osd,mds,mon,mgr} versions`
>       summarize versions of running daemons.
>     - `ceph {osd,mds,mon,mgr} count-metadata <property>` similarly
>       tabulates any other daemon metadata visible via the `ceph
>       {osd,mds,mon,mgr} metadata` commands.
>     - `ceph features` summarizes features and releases of connected
>       clients and daemons.
>     - `ceph osd require-osd-release <release>` replaces the old
>       `require_RELEASE_osds` flags.
>     - `ceph osd pg-upmap`, `ceph osd rm-pg-upmap`, `ceph osd
>       pg-upmap-items`, `ceph osd rm-pg-upmap-items` can explicitly
>       manage `upmap` items
>     - `ceph osd getcrushmap` returns a crush map version number on
>       stderr, and `ceph osd setcrushmap [version]` will only inject
>       an updated crush map if the version matches.  This allows crush
>       maps to be updated offline and then reinjected into the cluster
>       without fear of clobbering racing changes (e.g., by newly added
>       osds or changes by other administrators).
>     - `ceph osd create` has been replaced by `ceph osd new`.  This
>       should be hidden from most users by user-facing tools like
>       `ceph-disk`.
>     - `ceph osd destroy` will mark an OSD destroyed and remove its
>       cephx and lockbox keys.  However, the OSD id and CRUSH map entry
>       will remain in place, allowing the id to be reused by a
>       replacement device with minimal data rebalancing.
>     - `ceph osd purge` will remove all traces of an OSD from the
>       cluster, including its cephx encryption keys, dm-crypt lockbox
>       keys, OSD id, and crush map entry.
>     - `ceph osd ls-tree <name>` will output a list of OSD ids under
>       the given CRUSH name (like a host or rack name).  This is useful
>       for applying changes to entire subtrees.  For example, `ceph
>       osd down `ceph osd ls-tree rack1``.
>     - `ceph osd {add,rm}-{noout,noin,nodown,noup}` allow the
>       `noout`, `noin`, `nodown`, and `noup` flags to be applied to
>       specific OSDs.
>     - `ceph osd safe-to-destroy <osd(s)>` will report whether it is safe to
>       remove or destroy OSD(s) without reducing data durability or redundancy.
>     - `ceph osd ok-to-stop <osd(s)>` will report whether it is okay to stop
>       OSD(s) without immediately compromising availability (i.e., all PGs
>       should remain active but may be degraded).
>     - `ceph log last [n]` will output the last *n* lines of the cluster
>       log.
>     - `ceph mgr dump` will dump the MgrMap, including the currently active
>       ceph-mgr daemon and any standbys.
>     - `ceph mgr module ls` will list active ceph-mgr modules.
>     - `ceph mgr module {enable,disable} <name>` will enable or
>       disable the named mgr module.  The module must be present in the
>       configured `mgr_module_path` on the host(s) where `ceph-mgr` is
>       running.
>     - `ceph osd crush ls <node>` will list items (OSDs or other CRUSH nodes)
>       directly beneath a given CRUSH node.
>     - `ceph osd crush swap-bucket <src> <dest>` will swap the
>       contents of two CRUSH buckets in the hierarchy while preserving
>       the buckets' ids.  This allows an entire subtree of devices to
>       be replaced (e.g., to replace an entire host of FileStore OSDs
>       with newly-imaged BlueStore OSDs) without disrupting the
>       distribution of data across neighboring devices.
>     - `ceph osd set-require-min-compat-client <release>` configures
>       the oldest client release the cluster is required to support.
>       Other changes, like CRUSH tunables, will fail with an error if
>       they would violate this setting.  Changing this setting also
>       fails if clients older than the specified release are currently
>       connected to the cluster.
>     - `ceph config-key dump` dumps config-key entries and their
>       contents.  (The existing `ceph config-key list` only dumps the key
>       names, not the values.)
>     - `ceph config-key list` is deprecated in favor of `ceph config-key ls`.
>     - `ceph config-key put` is deprecated in favor of `ceph config-key set`.
>     - `ceph auth list` is deprecated in favor of `ceph auth ls`.
>     - `ceph osd crush rule list` is deprecated in favor of `ceph osd crush rule ls`.
>     - `ceph osd set-{full,nearfull,backfillfull}-ratio` sets the
>       cluster-wide ratio for various full thresholds (when the cluster
>       refuses IO, when the cluster warns about being close to full,
>       when an OSD will defer rebalancing a PG to itself,
>       respectively).
>     - `ceph osd reweightn` will specify the `reweight` values for
>       multiple OSDs in a single command.  This is equivalent to a series of
>       `ceph osd reweight` commands.
>     - `ceph osd crush {set,rm}-device-class` manage the new
>       CRUSH *device class* feature. Note that manually creating or deleting
>       a device class name is generally not necessary as it will be smart
>       enough to be self-managed. `ceph osd crush class ls` and
>       `ceph osd crush class ls-osd` will output all existing device classes
>       and a list of OSD ids under the given device class respectively.
>     - `ceph osd crush rule create-replicated` replaces the old
>       `ceph osd crush rule create-simple` command to create a CRUSH
>       rule for a replicated pool.  Notably it takes a `class` argument
>       for the *device class* the rule should target (e.g., `ssd` or
>       `hdd`).
>     - `ceph mon feature ls` will list monitor features recorded in the
>       MonMap.  `ceph mon feature set` will set an optional feature (none of
>       these exist yet).
>     - `ceph tell <daemon> help` will now return a usage summary.
>     - `ceph fs authorize` creates a new client key with caps automatically
>       set to access the given CephFS file system.
>     - The `ceph health` structured output (JSON or XML) no longer contains
>       'timechecks' section describing the time sync status.  This
>       information is now available via the 'ceph time-sync-status'
>       command.
>     - Certain extra fields in the `ceph health` structured output that
>       used to appear if the mons were low on disk space (which duplicated
>       the information in the normal health warning messages) are now gone.
>     - The `ceph -w` output no longer contains audit log entries by default.
>       Add a `--watch-channel=audit` or `--watch-channel=*` to see them.
>     - New "ceph -w" behavior - the "ceph -w" output no longer contains
>       I/O rates, available space, pg info, etc. because these are no
>       longer logged to the central log (which is what `ceph -w`
>       shows). The same information can be obtained by running `ceph pg
>       stat`; alternatively, I/O rates per pool can be determined using
>       `ceph osd pool stats`. Although these commands do not
>       self-update like `ceph -w` did, they do have the ability to
>       return formatted output by providing a `--format=<format>`
>       option.
>     - Added new commands `pg force-recovery` and
>       `pg-force-backfill`. Use them to boost recovery or backfill
>       priority of specified pgs, so they're recovered/backfilled
>       before any other. Note that these commands don't interrupt
>       ongoing recovery/backfill, but merely queue specified pgs before
>       others so they're recovered/backfilled as soon as possible. New
>       commands `pg cancel-force-recovery` and `pg
>       cancel-force-backfill` restore default recovery/backfill
>       priority of previously forced pgs.
> 
> Major Changes from Jewel
> ------------------------
> 
> - *RADOS*:
> 
>   * We now default to the AsyncMessenger (`ms type = async`) instead
>     of the legacy SimpleMessenger.  The most noticeable difference is
>     that we now use a fixed sized thread pool for network connections
>     (instead of two threads per socket with SimpleMessenger).
>   * Some OSD failures are now detected almost immediately, whereas
>     previously the heartbeat timeout (which defaults to 20 seconds)
>     had to expire.  This prevents IO from blocking for an extended
>     period for failures where the host remains up but the ceph-osd
>     process is no longer running.
>   * The size of encoded OSDMaps has been reduced.
>   * The OSDs now quiesce scrubbing when recovery or rebalancing is in progress.
> 
> - *RGW*:
> 
>   * RGW now supports the S3 multipart object copy-part API.
>   * It is possible now to reshard an existing bucket offline. Offline
>     bucket resharding currently requires that all IO (especially
>     writes) to the specific bucket is quiesced.  (For automatic online
>     resharding, see the new feature in Luminous above.)
>   * RGW now supports data compression for objects.
>   * Civetweb version has been upgraded to 1.8
>   * The Swift static website API is now supported (S3 support has been added
>     previously).
>   * S3 bucket lifecycle API has been added. Note that currently it only supports
>     object expiration.
>   * Support for custom search filters has been added to the LDAP auth
>     implementation.
>   * Support for NFS version 3 has been added to the RGW NFS gateway.
>   * A Python binding has been created for librgw.
> 
> - *RBD*:
> 
>   * The rbd-mirror daemon now supports replicating dynamic image
>     feature updates and image metadata key/value pairs from the
>     primary image to the non-primary image.
>   * The number of image snapshots can be optionally restricted to a
>     configurable maximum.
>   * The rbd Python API now supports asynchronous IO operations.
> 
> - *CephFS*:
> 
>   * libcephfs function definitions have been changed to enable proper
>     uid/gid control.  The library version has been increased to reflect the
>     interface change.
>   * Standby replay MDS daemons now consume less memory on workloads
>     doing deletions.
>   * Scrub now repairs backtrace, and populates `damage ls` with
>     discovered errors.
>   * A new `pg_files` subcommand to `cephfs-data-scan` can identify
>     files affected by a damaged or lost RADOS PG.
>   * The false-positive "failing to respond to cache pressure" warnings have
>     been fixed.
> 
> 
> Upgrade from Jewel or Kraken
> ----------------------------
> #. Ensure that the `sortbitwise` flag is enabled::
>      # ceph osd set sortbitwise
> #. Make sure your cluster is stable and healthy (no down or
>    recoverying OSDs).  (Optional, but recommended.) #. Do not create any new erasure-code pools while upgrading the monitors.
> #. You can monitor the progress of your upgrade at each stage with the
>    `ceph versions` command, which will tell you what ceph version is
>    running for each type of daemon.
> #. Set the `noout` flag for the duration of the upgrade. (Optional
>    but recommended.)::
>      # ceph osd set noout
> #. Upgrade monitors by installing the new packages and restarting the
>    monitor daemons.  Note that, unlike prior releases, the ceph-mon
>    daemons *must* be upgraded first::
>      # systemctl restart ceph-mon.target
>    Verify the monitor upgrade is complete once all monitors are up by
>    looking for the `luminous` feature string in the mon map.  For
>    example::
>      # ceph mon feature ls
>    should include `luminous` under persistent features::
>      on current monmap (epoch NNN)
>         persistent: [kraken,luminous]
>         required: [kraken,luminous]
> #. Add or restart `ceph-mgr` daemons.  If you are upgrading from
>    kraken, upgrade packages and restart ceph-mgr daemons with::
>      # systemctl restart ceph-mgr.target
>    If you are upgrading from kraken, you may already have ceph-mgr
>    daemons deployed.  If not, or if you are upgrading from jewel, you
>    can deploy new daemons with tools like ceph-deploy or ceph-ansible.
>    For example::
>      # ceph-deploy mgr create HOST
>    Verify the ceph-mgr daemons are running by checking `ceph -s`::
>      # ceph -s
>      ...
>        services:
>         mon: 3 daemons, quorum foo,bar,baz
>         mgr: foo(active), standbys: bar, baz
>      ...
> #. Upgrade all OSDs by installing the new packages and restarting the
>    ceph-osd daemons on all hosts::
>      # systemctl restart ceph-osd.target
>    You can monitor the progress of the OSD upgrades with the new
>    `ceph versions` or `ceph osd versions` command::
>      # ceph osd versions
>      {
>         "ceph version 12.2.0 (...) luminous (stable)": 12,
>         "ceph version 10.2.6 (...)": 3,
>      }
> #. Upgrade all CephFS daemons by upgrading packages and restarting
>    daemons on all hosts::
>      # systemctl restart ceph-mds.target #. Upgrade all radosgw daemons by upgrading packages and restarting
>    daemons on all hosts::
>      # systemctl restart radosgw.target
> #. Complete the upgrade by disallowing pre-luminous OSDs and enabling
>    all new Luminous-only functionality::
>      # ceph osd require-osd-release luminous
>    If you set `noout` at the beginning, be sure to clear it with::
>      # ceph osd unset noout
> #. Verify the cluster is healthy with `ceph health`.
> 
> 
> Upgrading from pre-Jewel releases (like Hammer)
> -----------------------------------------------
> 
> You *must* first upgrade to Jewel (10.2.z) before attempting an upgrade to Luminous.
> 
> 
> Upgrade compatibility notes, Kraken to Luminous
> -----------------------------------------------
> 
> * The configuration option `osd pool erasure code stripe width` has
>   been replaced by `osd pool erasure code stripe unit`, and given
>   the ability to be overridden by the erasure code profile setting
>   `stripe_unit`. For more details see
>   :ref:`erasure-code-profiles`.
> 
> * rbd and cephfs can use erasure coding with bluestore. This may be
>   enabled by setting `allow_ec_overwrites` to `true` for a pool. Since
>   this relies on bluestore's checksumming to do deep scrubbing,
>   enabling this on a pool stored on filestore is not allowed.
> 
> * The `rados df` JSON output now prints numeric values as numbers instead of
>   strings.
> 
> * The `mon_osd_max_op_age` option has been renamed to
>   `mon_osd_warn_op_age` (default: 32 seconds), to indicate we
>   generate a warning at this age.  There is also a new
>   `mon_osd_err_op_age_ratio` that is a expressed as a multitple of
>   `mon_osd_warn_op_age` (default: 128, for roughly 60 minutes) to
>   control when an error is generated.
> 
> * The default maximum size for a single RADOS object has been reduced from
>   100GB to 128MB.  The 100GB limit was completely impractical in practice
>   while the 128MB limit is a bit high but not unreasonable.  If you have an
>   application written directly to librados that is using objects larger than
>   128MB you may need to adjust `osd_max_object_size`.
> 
> * The semantics of the `rados ls` and librados object listing
>   operations have always been a bit confusing in that "whiteout"
>   objects (which logically don't exist and will return ENOENT if you
>   try to access them) are included in the results.  Previously
>   whiteouts only occurred in cache tier pools.  In luminous, logically
>   deleted but snapshotted objects now result in a whiteout object, and
>   as a result they will appear in `rados ls` results, even though
>   trying to read such an object will result in ENOENT.  The `rados
>   listsnaps` operation can be used in such a case to enumerate which
>   snapshots are present.
>   This may seem a bit strange, but is less strange than having a
>   deleted-but-snapshotted object not appear at all and be completely
>   hidden from librados's ability to enumerate objects.  Future
>   versions of Ceph will likely include an alternative object
>   enumeration interface that makes it more natural and efficient to
>   enumerate all objects along with their snapshot and clone metadata.
> 
> * The deprecated `crush_ruleset` property has finally been removed;
>   please use  `crush_rule` instead for the `osd pool get ...` and `osd
>   pool set ...` commands.
> 
> * The `osd pool default crush replicated ruleset` option has been
>   removed and replaced by the `psd pool default crush rule` option.
>   By default it is -1, which means the mon will pick the first type
>   replicated rule in the CRUSH map for replicated pools.  Erasure
>   coded pools have rules that are automatically created for them if
>   they are not specified at pool creation time.
> 
> * We no longer test the FileStore ceph-osd backend in combination with
>   btrfs.  We recommend against using btrfs.  If you are using
>   btrfs-based OSDs and want to upgrade to luminous you will need to
>   add the follwing to your ceph.conf::
> 
>     enable experimental unrecoverable data corrupting features = btrfs
> 
>   The code is mature and unlikely to change, but we are only
>   continuing to test the Jewel stable branch against btrfs.  We
>   recommend moving these OSDs to FileStore with XFS or BlueStore.
> * The `ruleset-*` properties for the erasure code profiles have been
>   renamed to `crush-*` to (1) move away from the obsolete 'ruleset'
>   term and to be more clear about their purpose.  There is also a new
>   optional `crush-device-class` property to specify a CRUSH device
>   class to use for the erasure coded pool.  Existing erasure code
>   profiles will be converted automatically when upgrade completes
>   (when the `ceph osd require-osd-release luminous` command is run)
>   but any provisioning tools that create erasure coded pools may need
>   to be updated.
> * The structure of the XML output for `osd crush tree` has changed
>   slightly to better match the `osd tree` output.  The top level
>   structure is now `nodes` instead of `crush_map_roots`.
> * When assigning a network to the public network and not to
>   the cluster network the network specification of the public
>   network will be used for the cluster network as well.
>   In older versions this would lead to cluster services
>   being bound to 0.0.0.0:<port>, thus making the
>   cluster service even more publicly available than the
>   public services. When only specifying a cluster network it
>   will still result in the public services binding to 0.0.0.0.
> 
> * In previous versions, if a client sent an op to the wrong OSD, the OSD
>   would reply with ENXIO.  The rationale here is that the client or OSD is
>   clearly buggy and we want to surface the error as clearly as possible.
>   We now only send the ENXIO reply if the osd_enxio_on_misdirected_op option
>   is enabled (it's off by default).  This means that a VM using librbd that
>   previously would have gotten an EIO and gone read-only will now see a
>   blocked/hung IO instead.
> 
> * The "journaler allow split entries" config setting has been removed.
> 
> * The 'mon_warn_osd_usage_min_max_delta' config option has been
>   removed and the associated health warning has been disabled because
>   it does not address clusters undergoing recovery or CRUSH rules that do
>   not target all devices in the cluster.
> 
> * Added new configuration "public bind addr" to support dynamic
>   environments like Kubernetes. When set the Ceph MON daemon could
>   bind locally to an IP address and advertise a different IP address
>   `public addr` on the network.
> 
> * The crush `choose_args` encoding has been changed to make it
>   architecture-independent. If you deployed Luminous dev releases or
>   12.1.0 rc release and made use of the CRUSH choose_args feature, you
>   need to remove all choose_args mappings from your CRUSH map before
>   starting the upgrade.
> 
> 
> - *librados*:
> 
>   * Some variants of the omap_get_keys and omap_get_vals librados
>     functions have been deprecated in favor of omap_get_vals2 and
>     omap_get_keys2.  The new methods include an output argument
>     indicating whether there are additional keys left to fetch.
>     Previously this had to be inferred from the requested key count vs
>     the number of keys returned, but this breaks with new OSD-side
>     limits on the number of keys or bytes that can be returned by a
>     single omap request.  These limits were introduced by kraken but
>     are effectively disabled by default (by setting a very large limit
>     of 1 GB) because users of the newly deprecated interface cannot
>     tell whether they should fetch more keys or not.  In the case of
>     the standalone calls in the C++ interface
>     (IoCtx::get_omap_{keys,vals}), librados has been updated to loop on
>     the client side to provide a correct result via multiple calls to
>     the OSD.  In the case of the methods used for building
>     multi-operation transactions, however, client-side looping is not
>     practical, and the methods have been deprecated.  Note that use of
>     either the IoCtx methods on older librados versions or the
>     deprecated methods on any version of librados will lead to
>     incomplete results if/when the new OSD limits are enabled.
> 
>   * The original librados rados_objects_list_open (C) and objects_begin
>     (C++) object listing API, deprecated in Hammer, has finally been
>     removed.  Users of this interface must update their software to use
>     either the rados_nobjects_list_open (C) and nobjects_begin (C++) API or
>     the new rados_object_list_begin (C) and object_list_begin (C++) API
>     before updating the client-side librados library to Luminous.
>     Object enumeration (via any API) with the latest librados version
>     and pre-Hammer OSDs is no longer supported.  Note that no in-tree
>     Ceph services rely on object enumeration via the deprecated APIs, so
>     only external librados users might be affected.
>     The newest (and recommended) rados_object_list_begin (C) and
>     object_list_begin (C++) API is only usable on clusters with the
>     SORTBITWISE flag enabled (Jewel and later).  (Note that this flag is
>     required to be set before upgrading beyond Jewel.)
> 
> - *CephFS*:
> 
>   * When configuring ceph-fuse mounts in /etc/fstab, a new syntax is
>     available that uses "ceph.<arg>=<val>" in the options column, instead
>     of putting configuration in the device column.  The old style syntax
>     still works.  See the documentation page "Mount CephFS in your
>     file systems table" for details.
>   * CephFS clients without the 'p' flag in their authentication capability
>     string will no longer be able to set quotas or any layout fields.  This
>     flag previously only restricted modification of the pool and namespace
>     fields in layouts.
>   * CephFS will generate a health warning if you have fewer standby daemons
>     than it thinks you wanted.  By default this will be 1 if you ever had
>     a standby, and 0 if you did not.  You can customize this using
>     `ceph fs set <fs> standby_count_wanted <number>`.  Setting it
>     to zero will effectively disable the health check.
>   * The "ceph mds tell ..." command has been removed.  It is superceded
>     by "ceph tell mds.<id> ..."
>   * The `apply` mode of cephfs-journal-tool has been removed
> 
> Getting Ceph
> ------------
> 
> * Git at git://github.com/ceph/ceph.git
> * Tarball at http://download.ceph.com/tarballs/ceph-12.2.0.tar.gz
> * For packages, see http://docs.ceph.com/docs/master/install/get-packages/
> * For ceph-deploy, see http://docs.ceph.com/docs/master/install/install-ceph-deploy
> * Release git sha1: 32ce2a3ae5239ee33d6150705cdb24d43bab910c
> 
> --
> Abhishek Lekshmanan
> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at  http://vger.kernel.org/majordomo-info.html
> N?????r??y??????X??ǧv???)޺{.n?????z?]z????ay?ʇڙ??j??f???h??????w??????j:+v???w????????????zZ+???????j"????i

[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux