OpenStack:Essex Swift Administrator's Guide
From DocWiki
(Difference between revisions)
m (→Introduction) |
m (→Dependencies) |
||
| Line 13: | Line 13: | ||
*swift-container: 1.4.8+stable+17-0~precise1 | *swift-container: 1.4.8+stable+17-0~precise1 | ||
*swift-object: 1.4.8+stable+17-0~precise1 | *swift-object: 1.4.8+stable+17-0~precise1 | ||
| + | |||
| + | == Remove a Bad Drive == | ||
| + | |||
| + | <ol style="list-style-type: decimal;"> | ||
| + | <li><p>Comment-out or remove definitions for the bad hard drive from the container, object, account rings of the swift-nodes manifest. Here is an example of commenting-out device sdb from a Swift Storage Node named swift01:</p> | ||
| + | |||
| + | <pre>#@@ring_object_device { "${swift01_local_net_ip}:6000/sdb": | ||
| + | # zone => $swift_zone, | ||
| + | # weight => 1, | ||
| + | #} | ||
| + | |||
| + | #@@ring_account_device { "${swift01_local_net_ip}:6002/sdb": | ||
| + | # zone => $swift_zone, | ||
| + | # weight => 1, | ||
| + | #} | ||
| + | |||
| + | #@@ring_container_device { "${swift01_local_net_ip}:6001/sdb": | ||
| + | # zone => $swift_zone, | ||
| + | # weight => 1, | ||
| + | #}</pre> | ||
| + | |||
| + | <li><p>From the Proxy Node, remove the bad drive from the 3 swift rings:</p> | ||
| + | |||
| + | <pre>swift-ring-builder /etc/swift/account.builder remove <ip_address>/<device_name> | ||
| + | |||
| + | swift-ring-builder /etc/swift/container.builder remove <ip_address>/<device_name> | ||
| + | |||
| + | swift-ring-builder /etc/swift/object.builder remove <ip_address>/<device_name></pre> | ||
| + | |||
| + | <li><p>From the Proxy Node, rebalance the Swift rings:</p> | ||
| + | |||
| + | <pre>swift-ring-builder /etc/swift/account.builder rebalance | ||
| + | |||
| + | swift-ring-builder /etc/swift/container.builder rebalance | ||
| + | |||
| + | swift-ring-builder /etc/swift/object.builder rebalance</pre> | ||
| + | |||
| + | <li><p>Verify the drive has been removed from the 3 rings:</p> | ||
| + | |||
| + | <pre>swift-ring-builder /etc/swift/account.builder | ||
| + | |||
| + | swift-ring-builder /etc/swift/container.builder | ||
| + | |||
| + | swift-ring-builder /etc/swift/object.builder</pre> | ||
| + | |||
| + | <li><p>Repeat steps 3-5 if you have additional proxy nodes.</li><p></ol> | ||
Revision as of 21:32, 31 October 2012
Introduction
The Essex Swift Administrator's Guide provides instructions for managing an OpenStack Swift environment. The guide is meant to compliment the existing [Swift Administrator’s Guide http://docs.openstack.org/developer/swift/admin_guide.html].
Dependencies
The Admin Guide is based on the following software versions:
- Ubuntu: 12.04
- Puppet: 2.7.11
- swift-proxy: 1.4.8+stable+17-0~precise1
- swift-account: 1.4.8+stable+17-0~precise1
- swift-container: 1.4.8+stable+17-0~precise1
- swift-object: 1.4.8+stable+17-0~precise1
Remove a Bad Drive
Comment-out or remove definitions for the bad hard drive from the container, object, account rings of the swift-nodes manifest. Here is an example of commenting-out device sdb from a Swift Storage Node named swift01:
#@@ring_object_device { "${swift01_local_net_ip}:6000/sdb": # zone => $swift_zone, # weight => 1, #} #@@ring_account_device { "${swift01_local_net_ip}:6002/sdb": # zone => $swift_zone, # weight => 1, #} #@@ring_container_device { "${swift01_local_net_ip}:6001/sdb": # zone => $swift_zone, # weight => 1, #}From the Proxy Node, remove the bad drive from the 3 swift rings:
swift-ring-builder /etc/swift/account.builder remove <ip_address>/<device_name> swift-ring-builder /etc/swift/container.builder remove <ip_address>/<device_name> swift-ring-builder /etc/swift/object.builder remove <ip_address>/<device_name>
From the Proxy Node, rebalance the Swift rings:
swift-ring-builder /etc/swift/account.builder rebalance swift-ring-builder /etc/swift/container.builder rebalance swift-ring-builder /etc/swift/object.builder rebalance
Verify the drive has been removed from the 3 rings:
swift-ring-builder /etc/swift/account.builder swift-ring-builder /etc/swift/container.builder swift-ring-builder /etc/swift/object.builder
Repeat steps 3-5 if you have additional proxy nodes.</li><p></ol>