mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-02 20:02:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			88 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			88 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; 4.0.0-incubating 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>
 |