mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
87 lines
4.6 KiB
XML
87 lines
4.6 KiB
XML
<?xml version='1.0' encoding='utf-8' ?>
|
|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
|
|
%BOOK_ENTITIES;
|
|
]>
|
|
<!-- Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you 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.
|
|
-->
|
|
<section id="castor-with-cs">
|
|
<title>Using the CAStor Back-end Storage with &PRODUCT;</title>
|
|
<para>This section describes how to use a CAStor cluster as the back-end storage system for a
|
|
&PRODUCT; S3 front-end. The CAStor back-end storage for &PRODUCT; extends the existing storage
|
|
classes and allows the storage configuration attribute to point to a CAStor cluster.</para>
|
|
<para>This feature makes use of the &PRODUCT; server's local disk to spool files before writing
|
|
them to CAStor when handling the PUT operations. However, a file must be successfully written
|
|
into the CAStor cluster prior to the return of a success code to the S3 client to ensure that
|
|
the transaction outcome is correctly reported.</para>
|
|
<note>
|
|
<para>The S3 multipart file upload is not supported in this release. You are prompted with
|
|
proper error message if a multipart upload is attempted.</para>
|
|
</note>
|
|
<para>To configure CAStor:</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Install &PRODUCT; by following the instructions given in the INSTALL.txt file.</para>
|
|
<note>
|
|
<para>You can use the S3 storage system in &PRODUCT; without setting up and installing the
|
|
compute components.</para>
|
|
</note>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Enable the S3 API by setting "enable.s3.api = true" in the Global parameter section in
|
|
the UI and register a user.</para>
|
|
<para>For more information, see <ulink
|
|
url="https://cwiki.apache.org/CLOUDSTACK/s3-api-in-cloudstack.html">S3 API in
|
|
&PRODUCT;</ulink>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Edit the cloud-bridge.properties file and modify the "storage.root" parameter.</para>
|
|
<orderedlist numeration="loweralpha">
|
|
<listitem>
|
|
<para>Set "storage.root" to the key word "castor".</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Specify a CAStor tenant domain to which content is written. If the domain is not
|
|
specified, the CAStor default domain, specified by the "cluster" parameter in CAStor's
|
|
node.cfg file, will be used.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para condition="">Specify a list of node IP addresses, or set "zeroconf" and the cluster
|
|
name. When using a static IP list with a large cluster, it is not necessary to include
|
|
every node, only a few is required to initialize the client software.</para>
|
|
<para>For example:</para>
|
|
<programlisting>storage.root=castor domain=cloudstack 10.1.1.51 10.1.1.52 10.1.1.53</programlisting>
|
|
<para>In this example, the configuration file directs &PRODUCT; to write the S3 files to
|
|
CAStor instead of to a file system, where the CAStor domain name is cloudstack, and the
|
|
CAStor node IP addresses are those listed.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>(Optional) The last value is a port number on which to communicate with the CAStor
|
|
cluster. If not specified, the default is 80.</para>
|
|
<programlisting>#Static IP list with optional port
|
|
storage.root=castor domain=cloudstack 10.1.1.51 10.1.1.52 10.1.1.53 80
|
|
#Zeroconf locator for cluster named "castor.example.com"
|
|
storage.root=castor domain=cloudstack zeroconf=castor.example.com</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Create the tenant domain within the CAStor storage cluster. If you omit this step before
|
|
attempting to store content, you will get HTTP 412 errors in the awsapi.log.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|