swift/doc/manpages/swift-dispersion-populate.1
Florian Hines 42f4b150e3 Faster swift-dispersion-populate
- Makes swift-dispersion-populate a bit faster when using a larger
  dispersion_coverage with a larger part_power.
- Adds option to only run population for container OR objects
- Adds option to let you resume population at given point (useful if you
  need to resume population after a previous run error'd out or the
  like) by specifying which suffix to start at.

The original populate just randomly used uuid4().hex as a suffix on the
container/object names until all the partition's required where covered.
This isn't a big deal if you're only doing 1% coverage on a ring with a
small part power but takes ages if you're doing 100% on a larger ring.

Change-Id: I52f890a774412c1d6179f12db9081aedc58b6bc2
2013-09-05 18:12:15 -05:00

117 lines
3.8 KiB
Groff

.\"
.\" Author: Joao Marcelo Martins <marcelo.martins@rackspace.com> or <btorch@gmail.com>
.\" Copyright (c) 2010-2011 OpenStack Foundation.
.\"
.\" Licensed under the Apache License, Version 2.0 (the "License");
.\" you may not use this file except in compliance with the License.
.\" You may obtain a copy of the License at
.\"
.\" http://www.apache.org/licenses/LICENSE-2.0
.\"
.\" Unless required by applicable law or agreed to in writing, software
.\" distributed under the License is distributed on an "AS IS" BASIS,
.\" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
.\" implied.
.\" See the License for the specific language governing permissions and
.\" limitations under the License.
.\"
.TH swift-dispersion-populate 1 "8/26/2011" "Linux" "OpenStack Swift"
.SH NAME
.LP
.B swift-dispersion-populate
\- Openstack-swift dispersion populate
.SH SYNOPSIS
.LP
.B swift-dispersion-populate [--container-suffix-start] [--object-suffix-start] [--container-only|--object-only] [--insecure] [conf_file]
.SH DESCRIPTION
.PP
This is one of the swift-dispersion utilities that is used to evaluate the
overall cluster health. This is accomplished by checking if a set of
deliberately distributed containers and objects are currently in their
proper places within the cluster.
.PP
For instance, a common deployment has three replicas of each object.
The health of that object can be measured by checking if each replica
is in its proper place. If only 2 of the 3 is in place the object's health
can be said to be at 66.66%, where 100% would be perfect.
.PP
We need to place the containers and objects throughout the system so
that they are on distinct partitions. The \fBswift-dispersion-populate\fR tool
does this by making up random container and object names until they fall
on distinct partitions. Last, and repeatedly for the life of the cluster,
we need to run the \fBswift-dispersion-report\fR tool to check the health of each
of these containers and objects.
.PP
These tools need direct access to the entire cluster and to the ring files.
Installing them on a proxy server will probably do or a box used for swift
administration purposes that also contains the common swift packages and ring.
Both \fBswift-dispersion-populate\fR and \fBswift-dispersion-report\fR use the
same configuration file, /etc/swift/dispersion.conf . The account used by these
tool should be a dedicated account for the dispersion stats and also have admin
privileges.
.SH OPTIONS
.RS 0
.PD 1
.IP "\fB--insecure\fR"
Allow accessing insecure keystone server. The keystone's certificate will not
be verified.
.IP "\fB--container-suffix-start=NUMBER\fR"
Start container suffix at NUMBER and resume population at this point; default: 0
.IP "\fB--object-suffix-start=NUMBER\fR"
Start object suffix at NUMBER and resume population at this point; default: 0
.IP "\fB--object-only\fR"
Only run object population
.IP "\fB--container-only\fR"
Only run container population
.IP "\fB--object-only\fR"
Only run object population
.SH CONFIGURATION
.PD 0
Example \fI/etc/swift/dispersion.conf\fR:
.RS 3
.IP "[dispersion]"
.IP "auth_url = https://127.0.0.1:443/auth/v1.0"
.IP "auth_user = dpstats:dpstats"
.IP "auth_key = dpstats"
.IP "swift_dir = /etc/swift"
.IP "# dispersion_coverage = 1.0"
.IP "# retries = 5"
.IP "# concurrency = 25"
.IP "# endpoint_type = publicURL"
.RE
.PD
.SH EXAMPLE
.PP
.PD 0
$ swift-dispersion-populate
.RS 1
.IP "Created 2621 containers for dispersion reporting, 38s, 0 retries"
.IP "Created 2621 objects for dispersion reporting, 27s, 0 retries"
.RE
.PD
.SH DOCUMENTATION
.LP
More in depth documentation about the swift-dispersion utilities and
also Openstack-Swift as a whole can be found at
.BI http://swift.openstack.org/admin_guide.html#cluster-health
and
.BI http://swift.openstack.org
.SH "SEE ALSO"
.BR swift-dispersion-report(1),
.BR dispersion.conf (5)