~todd-deshane/openstack-manuals/working

« back to all changes in this revision

Viewing changes to doc/target/docbkx/webhelp/openstack-object-storage-admin/os-objectstorage-adminguide/content/ch04s06s01.html

  • Committer: Anne Gentle
  • Date: 2011-04-14 18:12:25 UTC
  • Revision ID: anne@openstack.org-20110414181225-owwk0h4saf7w9hhw
Added output files

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2
<!DOCTYPE html
 
3
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
4
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:exsl="http://exslt.org/common" xmlns:ng="http://docbook.org/docbook-ng"><head>
 
5
<meta http-equiv="X-UA-Compatible" content="IE=7"/>
 
6
<title xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:d="http://docbook.org/ns/docbook">4.6.1. Database Replication - OpenStack Object Storage Administrator Manual
 
7
   - Trunk (in progress)</title><meta xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:d="http://docbook.org/ns/docbook" name="generator" content="DocBook XSL-NS Stylesheets V1.76.1"/><link rel="home" href="index.html" title="OpenStack Object Storage Administrator Manual"/><link rel="up" href="replication.html" title="4.6. Replication"/><link rel="prev" href="replication.html" title="4.6. Replication"/><link rel="next" href="ch04s06s02.html" title="4.6.2. Object Replication"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><script type="text/javascript">
 
8
            //The id for tree cookie
 
9
            var treeCookieId = "treeview-3584";
 
10
            var language = "en";
 
11
            var w = new Object();
 
12
            //Localization
 
13
            txt_filesfound = 'Results';
 
14
            txt_enter_at_least_1_char = "You must enter at least one character.";
 
15
            txt_browser_not_supported = "Your browser is not supported. Use of Mozilla Firefox is recommended.";
 
16
            txt_please_wait = "Please wait. Search in progress...";
 
17
            txt_results_for = "Results for: ";
 
18
        </script><style type="text/css">
 
19
            input {
 
20
            margin-bottom: 5px;
 
21
            margin-top: 2px;
 
22
            }
 
23
 
 
24
            .folder {
 
25
            display: block;
 
26
            height: 22px;
 
27
            padding-left: 20px;
 
28
            background: transparent url(../common/jquery/treeview/images/folder.gif) 0 0px no-repeat;
 
29
            }
 
30
            
 
31
        </style><link rel="shortcut icon" href="../favicon.ico" type="image/x-icon"/><link rel="stylesheet" type="text/css" href="../common/css/positioning.css"/><link rel="stylesheet" type="text/css" href="../common/jquery/theme-redmond/jquery-ui-1.8.2.custom.css"/><link rel="stylesheet" type="text/css" href="../common/jquery/treeview/jquery.treeview.css"/><script type="text/javascript" src="../common/jquery/jquery-1.4.2.min.js"><!----></script><script type="text/javascript" src="../common/jquery/jquery-ui-1.8.2.custom.min.js"><!----></script><script type="text/javascript" src="../common/jquery/jquery.cookie.js"><!----></script><script type="text/javascript" src="../common/jquery/treeview/jquery.treeview.min.js"><!----></script><script type="text/javascript" src="search/htmlFileList.js"><!----></script><script type="text/javascript" src="search/htmlFileInfoList.js"><!----></script><script type="text/javascript" src="search/nwSearchFnt.js"><!----></script><script type="text/javascript" src="search/stemmers/en_stemmer.js"><!--//make this scalable to other languages as well.--></script><script type="text/javascript" src="search/index-1.js"><!----></script><script type="text/javascript" src="search/index-2.js"><!----></script><script type="text/javascript" src="search/index-3.js"><!----></script></head><body><div xmlns="" id="header"><img src="../common/images/openstack-logo.png" alt="OpenStack Documentation" width="157" height="47"/><p class="breadcrumbs"><a href="http://docs.openstack.org/">OpenStack Manuals</a></p><h1>4.6.1. Database Replication</h1><div id="navheader" align="right"><!----><table class="navLinks"><tr><td><a id="showHideButton" onclick="showHideToc();" class="pointLeft" title="Hide TOC tree">Sidebar
 
32
                            </a></td><td><a accesskey="p" class="navLinkPrevious" href="replication.html">Prev</a>
 
33
                                        |
 
34
                                        <a accesskey="u" class="navLinkUp" href="replication.html">Up</a>
 
35
                                    |
 
36
                                    <a accesskey="n" class="navLinkNext" href="ch04s06s02.html">Next</a></td></tr></table></div></div><div id="content"><!----><div class="section" title="4.6.1. Database Replication"><div class="titlepage"><div><div><h3 class="title"><a id="d252e1332"/>4.6.1. Database Replication</h3></div></div></div><p>The first step performed by db replication is a low-cost hash comparison to find out whether or not two replicas already match.  Under normal operation, this check is able to verify that most databases in the system are already synchronized very quickly.  If the hashes differ, the replicator brings the databases in sync by sharing records added since the last sync point.</p><p>This sync point is a high water mark noting the last record at which two databases were known to be in sync, and is stored in each database as a tuple of the remote database id and record id.  Database ids are unique amongst all replicas of the database, and record ids are monotonically increasing integers.  After all new records have been pushed to the remote database, the entire sync table of the local database is pushed, so the remote database knows it's now in sync with everyone the local database has previously synchronized with.</p><p>If a replica is found to be missing entirely, the whole local database file is transmitted to the peer using rsync(1) and vested with a new unique id.</p><p>In practice, DB replication can process hundreds of databases per concurrency setting per second (up to the number of available CPUs or disks) and is bound by the number of DB transactions that must be performed.</p></div><script xmlns="" type="text/javascript" src="../common/main.js"><!----></script><hr xmlns=""/><h2 xmlns="" class="userNotes">User Notes On This Page</h2><div xmlns="" id="disqus_thread"><script type="text/javascript">
 
37
              /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
 
38
              var disqus_shortname = 'openstackdocs'; 
 
39
              
 
40
              
 
41
              
 
42
              
 
43
              
 
44
              
 
45
              (function() {
 
46
              var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
 
47
              dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
 
48
              (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
 
49
              })();
 
50
            </script><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript><a href="http://disqus.com" class="dsq-brlink">User notes powered by <span class="logo-disqus">Disqus</span></a></div><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="replication.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="replication.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s06s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></div><div xmlns=""><div id="leftnavigation" style="padding-top:3px; background-color:white;"><div id="tabs"><ul><li><a href="#treeDiv"><span class="contentsTab">Contents</span></a></li><li><a href="#searchDiv"><span class="searchTab">Search</span></a></li></ul><div id="treeDiv"><img src="../../../common/images/loading.gif" alt="loading table of contents..." id="tocLoading" style="display:block;"/><div id="ulTreeDiv" style="display:none"><ul id="tree" class="filetree"><li xmlns="http://www.w3.org/1999/xhtml"><span class="file"><a href="ch_getting-started-with-openstack.html">1. Getting Started with OpenStack</a></span><ul><li><span class="file"><a href="what-is-openstack.html">1.1. What is OpenStack?</a></span></li><li><span class="file"><a href="components-of-openstack.html">1.2. Components of OpenStack</a></span></li><li><span class="file"><a href="why-cloud.html">1.3. Why Cloud?</a></span></li></ul></li><li xmlns="http://www.w3.org/1999/xhtml"><span class="file"><a href="ch_introduction-to-openstack-object-storage.html">2. Introduction to OpenStack Object Storage</a></span><ul><li><span class="file"><a href="accounts-and-account-servers.html">2.1. Accounts and Account Servers</a></span></li><li><span class="file"><a href="authentication-and-access-permissions.html">2.2. Authentication and Access Permissions</a></span></li><li><span class="file"><a href="containers-and-objects.html">2.3. Containers and Objects</a></span></li><li><span class="file"><a href="operations.html">2.4. Operations</a></span></li><li><span class="file"><a href="language-specific-api-bindings.html">2.5. Language-Specific API Bindings</a></span></li></ul></li><li xmlns="http://www.w3.org/1999/xhtml"><span class="file"><a href="ch_installing-and-configuring-openstack-object-storage.html">3. Installing and Configuring OpenStack Object Storage</a></span><ul><li><span class="file"><a href="object-storage-system-requirements.html">3.1. System Requirements</a></span></li><li><span class="file"><a href="installing-openstack-object-storage-on-ubuntu.html">3.2. Installing OpenStack Object Storage on Ubuntu</a></span><ul><li><span class="file"><a href="ch03s02s01.html">3.2.1. Before You Begin</a></span></li><li><span class="file"><a href="ch03s02s02.html">3.2.2. Example Installation Architecture</a></span></li><li><span class="file"><a href="ch03s02s03.html">3.2.3. Network Setup Notes</a></span></li><li><span class="file"><a href="ch03s02s04.html">3.2.4. General Installation Steps </a></span></li></ul></li><li><span class="file"><a href="configuring-openstack-object-storage.html">3.3. Configuring OpenStack Object Storage </a></span><ul><li><span class="file"><a href="ch03s03s01.html">3.3.1. Installing and Configuring the Proxy Node</a></span></li><li><span class="file"><a href="ch03s03s02.html">3.3.2. Installing and Configuring the Auth Node</a></span></li><li><span class="file"><a href="ch03s03s03.html">3.3.3. Installing and Configuring the Storage Nodes</a></span><ul><li><span class="file"><a href="ch03s03s03s01.html">3.3.3.1. Create OpenStack Object Storage admin Account and Verify the Installation</a></span></li><li><span class="file"><a href="ch03s03s03s02.html">3.3.3.2. Adding a Proxy Server</a></span></li><li><span class="file"><a href="ch03s03s03s03.html">3.3.3.3. Troubleshooting Notes</a></span></li></ul></li></ul></li></ul></li><li xmlns="http://www.w3.org/1999/xhtml"><span class="file"><a href="ch_running-openstack-object-storage.html">4. Running OpenStack Object Storage</a></span><ul><li><span class="file"><a href="understanding-how-object-storage-works.html">4.1. Understanding How Object Storage Works</a></span><ul><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e383">4.1.1. The Ring</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e391">4.1.2. Proxy Server</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e396">4.1.3. Object Server</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e400">4.1.4. Container Server</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e403">4.1.5. Account Server</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e406">4.1.6. Replication</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e412">4.1.7. Updaters</a></span></li><li><span class="file"><a href="understanding-how-object-storage-works.html#d252e416">4.1.8. Auditors</a></span></li></ul></li><li><span class="file"><a href="configuring-and-tuning-openstack-object-storage.html">4.2. Configuring and Tuning OpenStack Object Storage</a></span></li><li><span class="file"><a href="preparing-the-ring.html">4.3. Preparing the Ring</a></span></li><li><span class="file"><a href="server-configuration-reference.html">4.4. Server Configuration Reference</a></span><ul><li><span class="file"><a href="ch04s04s01.html">4.4.1. Object Server Configuration</a></span></li><li><span class="file"><a href="ch04s04s02.html">4.4.2. Container Server Configuration</a></span></li><li><span class="file"><a href="ch04s04s03.html">4.4.3. Account Server Configuration</a></span></li><li><span class="file"><a href="ch04s04s04.html">4.4.4. Proxy Server Configuration</a></span></li></ul></li><li><span class="file"><a href="considerations-and-tuning.html">4.5. Considerations and Tuning</a></span><ul><li><span class="file"><a href="ch04s05s01.html">4.5.1. Memcached Considerations</a></span></li><li><span class="file"><a href="ch04s05s02.html">4.5.2. System Time</a></span></li><li><span class="file"><a href="ch04s05s03.html">4.5.3. General Service Tuning</a></span></li><li><span class="file"><a href="ch04s05s04.html">4.5.4. Filesystem Considerations</a></span></li><li><span class="file"><a href="ch04s05s05.html">4.5.5. General System Tuning</a></span></li><li><span class="file"><a href="ch04s05s06.html">4.5.6. Logging Considerations</a></span></li><li><span class="file"><a href="ch04s05s07.html">4.5.7. Working with Rings</a></span><ul><li><span class="file"><a href="ch04s05s07s01.html">4.5.7.1. Managing Rings with the Ring Builder</a></span><ul><li><span class="file"><a href="ch04s05s07s01s01.html">About the Ring Data Structure</a></span><ul><li><span class="file"><a href="ch04s05s07s01s01s01.html">List of Devices in the Ring</a></span></li></ul></li><li><span class="file"><a href="ch04s05s07s01s02.html">Partition Assignment List</a></span></li><li><span class="file"><a href="ch04s05s07s01s03.html">Partition Shift Value</a></span></li></ul></li><li><span class="file"><a href="ch04s05s07s02.html">4.5.7.2. Building the Ring</a></span></li><li><span class="file"><a href="ch04s05s07s03.html">4.5.7.3. History of the Ring Design</a></span></li></ul></li><li><span class="file"><a href="ch04s05s08.html">4.5.8. The Account Reaper</a></span><ul><li><span class="file"><a href="ch04s05s08s01.html">4.5.8.1. Account Reaper Background and History</a></span></li></ul></li></ul></li><li><span class="file"><a href="replication.html">4.6. Replication</a></span><ul><li id="webhelp-currentid"><span class="file"><a href="ch04s06s01.html">4.6.1. Database Replication</a></span></li><li><span class="file"><a href="ch04s06s02.html">4.6.2. Object Replication</a></span></li></ul></li><li><span class="file"><a href="managing-large-objects.html">4.7. Managing Large Objects (Greater than 5 GB)</a></span><ul><li><span class="file"><a href="ch04s07s01.html">4.7.1. Using st to Manage Segmented Objects</a></span></li><li><span class="file"><a href="ch04s07s02.html">4.7.2. Direct API Management of Large Objects</a></span></li><li><span class="file"><a href="ch04s07s03.html">4.7.3. Additional Notes on Large Objects</a></span></li><li><span class="file"><a href="ch04s07s04.html">4.7.4. Large Object Storage History and Background</a></span></li></ul></li><li><span class="file"><a href="throttling-resources-by-setting-rate-limits.html">4.8. Throttling Resources by Setting Rate Limits</a></span><ul><li><span class="file"><a href="ch04s08s01.html">4.8.1. Configuration for Rate Limiting</a></span></li></ul></li><li><span class="file"><a href="managing-openstack-object-storage-with-st.html">4.9. Managing OpenStack Object Storage with ST</a></span><ul><li><span class="file"><a href="ch04s09s01.html">4.9.1. ST Basics</a></span><ul><li><span class="file"><a href="ch04s09s01.html#d252e1463">4.9.1.1. stat [container] [object]</a></span></li><li><span class="file"><a href="ch04s09s01.html#d252e1466">4.9.1.2. list [options] [container]</a></span></li><li><span class="file"><a href="ch04s09s01.html#d252e1469">4.9.1.3. upload [options] container file_or_directory [file_or_directory] […]</a></span></li><li><span class="file"><a href="ch04s09s01.html#d252e1472">4.9.1.4. post [options] [container] [object]</a></span></li><li><span class="file"><a href="ch04s09s01.html#d252e1476">4.9.1.5. download —all OR download container [object] [object] …</a></span></li><li><span class="file"><a href="ch04s09s01.html#d252e1479">4.9.1.6. delete —all OR delete container [object] [object] …</a></span></li><li><span class="file"><a href="ch04s09s01.html#d252e1483">4.9.1.7. Options for st</a></span></li></ul></li><li><span class="file"><a href="ch04s09s02.html">4.9.2. Analyzing Log Files with ST</a></span></li></ul></li></ul></li><li xmlns="http://www.w3.org/1999/xhtml"><span class="file"><a href="ch_openstack-object-storage-tutorials.html">5. OpenStack Object Storage Tutorials</a></span><ul><li><span class="file"><a href="storing-large-photos-or-videos-on-the-cloud.html">5.1. Storing Large Photos or Videos on the Cloud</a></span><ul><li><span class="file"><a href="part-i-setting-up-secure-access.html">5.1.1. Part I: Setting Up Secure Access</a></span></li><li><span class="file"><a href="part-ii-configuring-cyberduck.html">5.1.2. Part II: Configuring Cyberduck</a></span></li><li><span class="file"><a href="part-iii-copying-files.html">5.1.3. Part III: Copying Files</a></span></li></ul></li></ul></li><li xmlns="http://www.w3.org/1999/xhtml"><span class="file"><a href="ch_support-and-troubleshooting.html">6. Support and Troubleshooting</a></span><ul><li><span class="file"><a href="community-support.html">6.1. Community Support</a></span><ul><li><span class="file"><a href="community-support.html#d252e1557">6.1.1. The Launchpad Answers area</a></span></li><li><span class="file"><a href="community-support.html#d252e1562">6.1.2. OpenStack mailing list</a></span></li><li><span class="file"><a href="community-support.html#d252e1567">6.1.3. The OpenStack Wiki search </a></span></li><li><span class="file"><a href="community-support.html#d252e1571">6.1.4. The Launchpad Bugs area </a></span></li><li><span class="file"><a href="community-support.html#d252e1587">6.1.5. The OpenStack IRC channel </a></span></li></ul></li><li><span class="file"><a href="troubleshooting-openstack-object-storage.html">6.2. Troubleshooting OpenStack Object Storage</a></span><ul><li><span class="file"><a href="ch06s02s01.html">6.2.1. Handling Drive Failure</a></span></li><li><span class="file"><a href="ch06s02s02.html">6.2.2. Handling Server Failure</a></span></li><li><span class="file"><a href="ch06s02s03.html">6.2.3. Detecting Failed Drives</a></span></li></ul></li><li><span class="file"><a href="troubleshooting-openstack-compute.html">6.3. Troubleshooting OpenStack Compute</a></span><ul><li><span class="file"><a href="ch06s03s01.html">6.3.1. Log files for OpenStack Compute</a></span></li><li><span class="file"><a href="ch06s03s02.html">6.3.2. Common Errors and Fixes for OpenStack Compute</a></span></li></ul></li></ul></li></ul></div></div><div id="searchDiv"><div id="search"><form onsubmit="Verifie(ditaSearch_Form);return false" name="ditaSearch_Form" class="searchForm"><fieldset class="searchFieldSet"><legend>Search</legend><center><input id="textToSearch" name="textToSearch" type="text" class="searchText"/> &nbsp; <input onclick="Verifie(ditaSearch_Form)" type="button" class="searchButton" value="Go" id="doSearch"/></center></fieldset></form></div><div id="searchResults"><center/></div><p class="searchHighlight"><a href="#" onclick="toggleHighlight()">Search Highlighter (On/Off)</a></p></div></div></div></div></body></html>
 
 
b'\\ No newline at end of file'