\select@language {english}
\contentsline {chapter}{\numberline {1}About S3QL}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Features}{1}{section.1.1}
\contentsline {section}{\numberline {1.2}Development Status}{2}{section.1.2}
\contentsline {chapter}{\numberline {2}Installation}{3}{chapter.2}
\contentsline {section}{\numberline {2.1}Dependencies}{3}{section.2.1}
\contentsline {section}{\numberline {2.2}Installing S3QL}{3}{section.2.2}
\contentsline {section}{\numberline {2.3}Development Version}{4}{section.2.3}
\contentsline {chapter}{\numberline {3}Storage Backends}{5}{chapter.3}
\contentsline {section}{\numberline {3.1}Google Storage}{5}{section.3.1}
\contentsline {section}{\numberline {3.2}Amazon S3}{5}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Reduced Redundancy Storage (RRS)}{6}{subsection.3.2.1}
\contentsline {section}{\numberline {3.3}OpenStack/Swift}{6}{section.3.3}
\contentsline {section}{\numberline {3.4}RackSpace CloudFiles}{6}{section.3.4}
\contentsline {section}{\numberline {3.5}S3 compatible}{7}{section.3.5}
\contentsline {section}{\numberline {3.6}Local}{7}{section.3.6}
\contentsline {chapter}{\numberline {4}Important Rules to Avoid Losing Data}{9}{chapter.4}
\contentsline {section}{\numberline {4.1}Rules in a Nutshell}{9}{section.4.1}
\contentsline {section}{\numberline {4.2}Consistency Window List}{10}{section.4.2}
\contentsline {section}{\numberline {4.3}Data Consistency}{10}{section.4.3}
\contentsline {section}{\numberline {4.4}Data Durability}{11}{section.4.4}
\contentsline {chapter}{\numberline {5}File System Creation}{13}{chapter.5}
\contentsline {chapter}{\numberline {6}Managing File Systems}{15}{chapter.6}
\contentsline {section}{\numberline {6.1}Changing the Passphrase}{15}{section.6.1}
\contentsline {section}{\numberline {6.2}Upgrading the file system}{16}{section.6.2}
\contentsline {section}{\numberline {6.3}Deleting a file system}{16}{section.6.3}
\contentsline {section}{\numberline {6.4}Restoring Metadata Backups}{16}{section.6.4}
\contentsline {chapter}{\numberline {7}Mounting}{17}{chapter.7}
\contentsline {section}{\numberline {7.1}Compression Algorithms}{18}{section.7.1}
\contentsline {section}{\numberline {7.2}Notes about Caching}{18}{section.7.2}
\contentsline {subsection}{\numberline {7.2.1}Maximum Number of Cache Entries}{19}{subsection.7.2.1}
\contentsline {subsection}{\numberline {7.2.2}Cache Flushing and Expiration}{19}{subsection.7.2.2}
\contentsline {section}{\numberline {7.3}Automatic Mounting}{19}{section.7.3}
\contentsline {chapter}{\numberline {8}Advanced S3QL Features}{21}{chapter.8}
\contentsline {section}{\numberline {8.1}Snapshotting and Copy-on-Write}{21}{section.8.1}
\contentsline {subsection}{\numberline {8.1.1}Snapshotting vs Hardlinking}{21}{subsection.8.1.1}
\contentsline {section}{\numberline {8.2}Getting Statistics}{22}{section.8.2}
\contentsline {section}{\numberline {8.3}Immutable Trees}{22}{section.8.3}
\contentsline {section}{\numberline {8.4}Fast Recursive Removal}{23}{section.8.4}
\contentsline {section}{\numberline {8.5}Runtime Configuration}{23}{section.8.5}
\contentsline {chapter}{\numberline {9}Unmounting}{25}{chapter.9}
\contentsline {chapter}{\numberline {10}Checking for Errors}{27}{chapter.10}
\contentsline {chapter}{\numberline {11}Storing Authentication Information}{29}{chapter.11}
\contentsline {chapter}{\numberline {12}Contributed Programs}{31}{chapter.12}
\contentsline {section}{\numberline {12.1}benchmark.py}{31}{section.12.1}
\contentsline {section}{\numberline {12.2}s3\_copy.py}{31}{section.12.2}
\contentsline {section}{\numberline {12.3}pcp.py}{31}{section.12.3}
\contentsline {section}{\numberline {12.4}s3\_backup.sh}{31}{section.12.4}
\contentsline {section}{\numberline {12.5}expire\_backups.py}{32}{section.12.5}
\contentsline {section}{\numberline {12.6}s3ql\_upstart.conf}{33}{section.12.6}
\contentsline {chapter}{\numberline {13}Tips \& Tricks}{35}{chapter.13}
\contentsline {section}{\numberline {13.1}SSH Backend}{35}{section.13.1}
\contentsline {section}{\numberline {13.2}Permanently mounted backup file system}{35}{section.13.2}
\contentsline {section}{\numberline {13.3}Improving copy performance}{35}{section.13.3}
\contentsline {chapter}{\numberline {14}Known Issues}{37}{chapter.14}
\contentsline {chapter}{\numberline {15}Manpages}{39}{chapter.15}
\contentsline {section}{\numberline {15.1}The \textbf {mkfs.s3ql} command}{39}{section.15.1}
\contentsline {subsection}{\numberline {15.1.1}Synopsis}{39}{subsection.15.1.1}
\contentsline {subsection}{\numberline {15.1.2}Description}{39}{subsection.15.1.2}
\contentsline {subsection}{\numberline {15.1.3}Options}{39}{subsection.15.1.3}
\contentsline {subsection}{\numberline {15.1.4}Exit Status}{40}{subsection.15.1.4}
\contentsline {subsection}{\numberline {15.1.5}See Also}{40}{subsection.15.1.5}
\contentsline {section}{\numberline {15.2}The \textbf {s3qladm} command}{40}{section.15.2}
\contentsline {subsection}{\numberline {15.2.1}Synopsis}{40}{subsection.15.2.1}
\contentsline {subsection}{\numberline {15.2.2}Description}{40}{subsection.15.2.2}
\contentsline {subsection}{\numberline {15.2.3}Options}{40}{subsection.15.2.3}
\contentsline {subsection}{\numberline {15.2.4}Actions}{41}{subsection.15.2.4}
\contentsline {subsection}{\numberline {15.2.5}Exit Status}{41}{subsection.15.2.5}
\contentsline {subsection}{\numberline {15.2.6}See Also}{41}{subsection.15.2.6}
\contentsline {section}{\numberline {15.3}The \textbf {mount.s3ql} command}{41}{section.15.3}
\contentsline {subsection}{\numberline {15.3.1}Synopsis}{41}{subsection.15.3.1}
\contentsline {subsection}{\numberline {15.3.2}Description}{41}{subsection.15.3.2}
\contentsline {subsection}{\numberline {15.3.3}Options}{41}{subsection.15.3.3}
\contentsline {subsection}{\numberline {15.3.4}Exit Status}{43}{subsection.15.3.4}
\contentsline {subsection}{\numberline {15.3.5}See Also}{43}{subsection.15.3.5}
\contentsline {section}{\numberline {15.4}The \textbf {s3qlstat} command}{43}{section.15.4}
\contentsline {subsection}{\numberline {15.4.1}Synopsis}{43}{subsection.15.4.1}
\contentsline {subsection}{\numberline {15.4.2}Description}{43}{subsection.15.4.2}
\contentsline {subsection}{\numberline {15.4.3}Options}{43}{subsection.15.4.3}
\contentsline {subsection}{\numberline {15.4.4}Exit Status}{43}{subsection.15.4.4}
\contentsline {subsection}{\numberline {15.4.5}See Also}{43}{subsection.15.4.5}
\contentsline {section}{\numberline {15.5}The \textbf {s3qlctrl} command}{44}{section.15.5}
\contentsline {subsection}{\numberline {15.5.1}Synopsis}{44}{subsection.15.5.1}
\contentsline {subsection}{\numberline {15.5.2}Description}{44}{subsection.15.5.2}
\contentsline {subsection}{\numberline {15.5.3}Options}{44}{subsection.15.5.3}
\contentsline {subsection}{\numberline {15.5.4}Exit Status}{44}{subsection.15.5.4}
\contentsline {subsection}{\numberline {15.5.5}See Also}{45}{subsection.15.5.5}
\contentsline {section}{\numberline {15.6}The \textbf {s3qlcp} command}{45}{section.15.6}
\contentsline {subsection}{\numberline {15.6.1}Synopsis}{45}{subsection.15.6.1}
\contentsline {subsection}{\numberline {15.6.2}Description}{45}{subsection.15.6.2}
\contentsline {subsubsection}{Snapshotting vs Hardlinking}{45}{subsubsection*.3}
\contentsline {subsection}{\numberline {15.6.3}Options}{46}{subsection.15.6.3}
\contentsline {subsection}{\numberline {15.6.4}Exit Status}{46}{subsection.15.6.4}
\contentsline {subsection}{\numberline {15.6.5}See Also}{46}{subsection.15.6.5}
\contentsline {section}{\numberline {15.7}The \textbf {s3qlrm} command}{46}{section.15.7}
\contentsline {subsection}{\numberline {15.7.1}Synopsis}{46}{subsection.15.7.1}
\contentsline {subsection}{\numberline {15.7.2}Description}{46}{subsection.15.7.2}
\contentsline {subsection}{\numberline {15.7.3}Options}{46}{subsection.15.7.3}
\contentsline {subsection}{\numberline {15.7.4}Exit Status}{46}{subsection.15.7.4}
\contentsline {subsection}{\numberline {15.7.5}See Also}{47}{subsection.15.7.5}
\contentsline {section}{\numberline {15.8}The \textbf {s3qllock} command}{47}{section.15.8}
\contentsline {subsection}{\numberline {15.8.1}Synopsis}{47}{subsection.15.8.1}
\contentsline {subsection}{\numberline {15.8.2}Description}{47}{subsection.15.8.2}
\contentsline {subsection}{\numberline {15.8.3}Rationale}{47}{subsection.15.8.3}
\contentsline {subsection}{\numberline {15.8.4}Options}{47}{subsection.15.8.4}
\contentsline {subsection}{\numberline {15.8.5}Exit Status}{48}{subsection.15.8.5}
\contentsline {subsection}{\numberline {15.8.6}See Also}{48}{subsection.15.8.6}
\contentsline {section}{\numberline {15.9}The \textbf {umount.s3ql} command}{48}{section.15.9}
\contentsline {subsection}{\numberline {15.9.1}Synopsis}{48}{subsection.15.9.1}
\contentsline {subsection}{\numberline {15.9.2}Description}{48}{subsection.15.9.2}
\contentsline {subsection}{\numberline {15.9.3}Options}{48}{subsection.15.9.3}
\contentsline {subsection}{\numberline {15.9.4}Exit Status}{48}{subsection.15.9.4}
\contentsline {subsection}{\numberline {15.9.5}See Also}{49}{subsection.15.9.5}
\contentsline {section}{\numberline {15.10}The \textbf {fsck.s3ql} command}{49}{section.15.10}
\contentsline {subsection}{\numberline {15.10.1}Synopsis}{49}{subsection.15.10.1}
\contentsline {subsection}{\numberline {15.10.2}Description}{49}{subsection.15.10.2}
\contentsline {subsection}{\numberline {15.10.3}Options}{49}{subsection.15.10.3}
\contentsline {subsection}{\numberline {15.10.4}Exit Status}{49}{subsection.15.10.4}
\contentsline {subsection}{\numberline {15.10.5}See Also}{50}{subsection.15.10.5}
\contentsline {section}{\numberline {15.11}The \textbf {pcp} command}{50}{section.15.11}
\contentsline {subsection}{\numberline {15.11.1}Synopsis}{50}{subsection.15.11.1}
\contentsline {subsection}{\numberline {15.11.2}Description}{50}{subsection.15.11.2}
\contentsline {subsection}{\numberline {15.11.3}Options}{50}{subsection.15.11.3}
\contentsline {subsection}{\numberline {15.11.4}Exit Status}{50}{subsection.15.11.4}
\contentsline {subsection}{\numberline {15.11.5}See Also}{50}{subsection.15.11.5}
\contentsline {section}{\numberline {15.12}The \textbf {expire\_backups} command}{51}{section.15.12}
\contentsline {subsection}{\numberline {15.12.1}Synopsis}{51}{subsection.15.12.1}
\contentsline {subsection}{\numberline {15.12.2}Description}{51}{subsection.15.12.2}
\contentsline {subsection}{\numberline {15.12.3}Options}{52}{subsection.15.12.3}
\contentsline {subsection}{\numberline {15.12.4}Exit Status}{52}{subsection.15.12.4}
\contentsline {subsection}{\numberline {15.12.5}See Also}{52}{subsection.15.12.5}
\contentsline {chapter}{\numberline {16}Further Resources / Getting Help}{53}{chapter.16}
\contentsline {chapter}{\numberline {17}Implementation Details}{55}{chapter.17}
\contentsline {section}{\numberline {17.1}Metadata Storage}{55}{section.17.1}
\contentsline {section}{\numberline {17.2}Data Storage}{55}{section.17.2}
\contentsline {section}{\numberline {17.3}Data De-Duplication}{55}{section.17.3}
\contentsline {section}{\numberline {17.4}Caching}{56}{section.17.4}
\contentsline {section}{\numberline {17.5}Eventual Consistency Handling}{56}{section.17.5}
\contentsline {section}{\numberline {17.6}Encryption}{56}{section.17.6}
