From aee2cd3da8d93c566e2aab9abb92bc296b18d4d3 Mon Sep 17 00:00:00 2001 From: Sean McGinnis Date: Thu, 29 Nov 2018 14:39:26 -0600 Subject: [PATCH] Remove arch-design docs The arch-design docs have not been maintained and the Ops Docs SIG plans to take ownership and maintain it out of its own repo. To avoid jobs overwriting the published content, this removes the docs from openstack-manuals. Depends-on: https://review.openstack.org/621012 Change-Id: I58acb6a5d25d8e0b02e5f3b068aebb4ec144bf1a Signed-off-by: Sean McGinnis --- doc/arch-design/setup.cfg | 27 - doc/arch-design/setup.py | 30 - doc/arch-design/source/arch-requirements.rst | 13 - .../arch-requirements-enterprise.rst | 433 - .../arch-requirements-ha.rst | 182 - .../arch-requirements-operations.rst | 259 - doc/arch-design/source/common | 1 - doc/arch-design/source/conf.py | 307 - doc/arch-design/source/design-cmp-tools.rst | 49 - doc/arch-design/source/design-compute.rst | 20 - .../design-compute/design-compute-arch.rst | 104 - .../design-compute/design-compute-cpu.rst | 85 - .../design-compute-hardware.rst | 165 - .../design-compute-hypervisor.rst | 46 - .../design-compute/design-compute-logging.rst | 105 - .../design-compute-networking.rst | 51 - .../design-compute-overcommit.rst | 48 - .../design-compute/design-compute-storage.rst | 154 - .../source/design-control-plane.rst | 413 - doc/arch-design/source/design-identity.rst | 3 - doc/arch-design/source/design-images.rst | 3 - doc/arch-design/source/design-networking.rst | 31 - .../design-networking-concepts.rst | 218 - .../design-networking-design.rst | 281 - .../design-networking-services.rst | 70 - doc/arch-design/source/design-storage.rst | 13 - .../design-storage/design-storage-arch.rst | 546 -- .../design-storage-concepts.rst | 329 - doc/arch-design/source/design.rst | 50 - .../source/figures/Check_mark_23x20_02.png | Bin 3064 -> 0 bytes .../source/figures/Compute_NSX.png | Bin 53701 -> 0 bytes ...ompute_Tech_Bin_Packing_CPU_optimized1.png | Bin 39838 -> 0 bytes .../Compute_Tech_Bin_Packing_General1.png | Bin 35600 -> 0 bytes .../source/figures/ELKbasicArch.png | Bin 9302 -> 0 bytes .../source/figures/ELKbasicArch.svg | 1 - .../source/figures/General_Architecture3.png | Bin 81080 -> 0 bytes .../figures/Generic_CERN_Architecture.png | Bin 72114 -> 0 bytes .../source/figures/Generic_CERN_Example.png | Bin 24082 -> 0 bytes .../Massively_Scalable_Cells_regions_azs.png | Bin 42455 -> 0 bytes .../source/figures/Multi-Cloud_Priv-AWS4.png | Bin 60564 -> 0 bytes .../source/figures/Multi-Cloud_Priv-Pub3.png | Bin 55106 -> 0 bytes .../source/figures/Multi-Cloud_failover2.png | Bin 55685 -> 0 bytes .../figures/Multi-Site_Customer_Edge.png | Bin 69595 -> 0 bytes .../figures/Multi-Site_shared_keystone1.png | Bin 50762 -> 0 bytes ...ti-Site_shared_keystone_horizon_swift1.png | Bin 53395 -> 0 bytes .../figures/Multi-site_Geo_Redundant_LB.png | Bin 76795 -> 0 bytes .../source/figures/Network_Cloud_Storage2.png | Bin 37491 -> 0 bytes .../source/figures/Network_Web_Services1.png | Bin 57855 -> 0 bytes .../source/figures/Specialized_Hardware2.png | Bin 47000 -> 0 bytes .../source/figures/Specialized_OOO.png | Bin 57888 -> 0 bytes .../figures/Specialized_SDN_external.png | Bin 30509 -> 0 bytes .../source/figures/Specialized_SDN_hosted.png | Bin 22521 -> 0 bytes .../source/figures/Specialized_VDI1.png | Bin 25457 -> 0 bytes .../figures/Storage_Database_+_Object5.png | Bin 50638 -> 0 bytes .../source/figures/Storage_Hadoop3.png | Bin 50938 -> 0 bytes .../source/figures/Storage_Object.png | Bin 36134 -> 0 bytes doc/arch-design/source/figures/osog_0201.png | Bin 42897 -> 0 bytes doc/arch-design/source/index.rst | 52 - .../locale/tr_TR/LC_MESSAGES/arch-design.po | 7985 ----------------- doc/arch-design/source/use-cases.rst | 14 - .../source/use-cases/use-case-development.rst | 14 - .../use-cases/use-case-general-compute.rst | 196 - .../source/use-cases/use-case-nfv.rst | 181 - .../source/use-cases/use-case-storage.rst | 210 - .../source/use-cases/use-case-web-scale.rst | 14 - tools/build-all-rst.sh | 5 +- 66 files changed, 2 insertions(+), 12706 deletions(-) delete mode 100644 doc/arch-design/setup.cfg delete mode 100644 doc/arch-design/setup.py delete mode 100644 doc/arch-design/source/arch-requirements.rst delete mode 100644 doc/arch-design/source/arch-requirements/arch-requirements-enterprise.rst delete mode 100644 doc/arch-design/source/arch-requirements/arch-requirements-ha.rst delete mode 100644 doc/arch-design/source/arch-requirements/arch-requirements-operations.rst delete mode 120000 doc/arch-design/source/common delete mode 100644 doc/arch-design/source/conf.py delete mode 100644 doc/arch-design/source/design-cmp-tools.rst delete mode 100644 doc/arch-design/source/design-compute.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-arch.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-cpu.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-hardware.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-hypervisor.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-logging.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-networking.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-overcommit.rst delete mode 100644 doc/arch-design/source/design-compute/design-compute-storage.rst delete mode 100644 doc/arch-design/source/design-control-plane.rst delete mode 100644 doc/arch-design/source/design-identity.rst delete mode 100644 doc/arch-design/source/design-images.rst delete mode 100644 doc/arch-design/source/design-networking.rst delete mode 100644 doc/arch-design/source/design-networking/design-networking-concepts.rst delete mode 100644 doc/arch-design/source/design-networking/design-networking-design.rst delete mode 100644 doc/arch-design/source/design-networking/design-networking-services.rst delete mode 100644 doc/arch-design/source/design-storage.rst delete mode 100644 doc/arch-design/source/design-storage/design-storage-arch.rst delete mode 100644 doc/arch-design/source/design-storage/design-storage-concepts.rst delete mode 100644 doc/arch-design/source/design.rst delete mode 100644 doc/arch-design/source/figures/Check_mark_23x20_02.png delete mode 100644 doc/arch-design/source/figures/Compute_NSX.png delete mode 100644 doc/arch-design/source/figures/Compute_Tech_Bin_Packing_CPU_optimized1.png delete mode 100644 doc/arch-design/source/figures/Compute_Tech_Bin_Packing_General1.png delete mode 100644 doc/arch-design/source/figures/ELKbasicArch.png delete mode 100644 doc/arch-design/source/figures/ELKbasicArch.svg delete mode 100644 doc/arch-design/source/figures/General_Architecture3.png delete mode 100644 doc/arch-design/source/figures/Generic_CERN_Architecture.png delete mode 100644 doc/arch-design/source/figures/Generic_CERN_Example.png delete mode 100644 doc/arch-design/source/figures/Massively_Scalable_Cells_regions_azs.png delete mode 100644 doc/arch-design/source/figures/Multi-Cloud_Priv-AWS4.png delete mode 100644 doc/arch-design/source/figures/Multi-Cloud_Priv-Pub3.png delete mode 100644 doc/arch-design/source/figures/Multi-Cloud_failover2.png delete mode 100644 doc/arch-design/source/figures/Multi-Site_Customer_Edge.png delete mode 100644 doc/arch-design/source/figures/Multi-Site_shared_keystone1.png delete mode 100644 doc/arch-design/source/figures/Multi-Site_shared_keystone_horizon_swift1.png delete mode 100644 doc/arch-design/source/figures/Multi-site_Geo_Redundant_LB.png delete mode 100644 doc/arch-design/source/figures/Network_Cloud_Storage2.png delete mode 100644 doc/arch-design/source/figures/Network_Web_Services1.png delete mode 100644 doc/arch-design/source/figures/Specialized_Hardware2.png delete mode 100644 doc/arch-design/source/figures/Specialized_OOO.png delete mode 100644 doc/arch-design/source/figures/Specialized_SDN_external.png delete mode 100644 doc/arch-design/source/figures/Specialized_SDN_hosted.png delete mode 100644 doc/arch-design/source/figures/Specialized_VDI1.png delete mode 100644 doc/arch-design/source/figures/Storage_Database_+_Object5.png delete mode 100644 doc/arch-design/source/figures/Storage_Hadoop3.png delete mode 100644 doc/arch-design/source/figures/Storage_Object.png delete mode 100644 doc/arch-design/source/figures/osog_0201.png delete mode 100644 doc/arch-design/source/index.rst delete mode 100644 doc/arch-design/source/locale/tr_TR/LC_MESSAGES/arch-design.po delete mode 100644 doc/arch-design/source/use-cases.rst delete mode 100644 doc/arch-design/source/use-cases/use-case-development.rst delete mode 100644 doc/arch-design/source/use-cases/use-case-general-compute.rst delete mode 100644 doc/arch-design/source/use-cases/use-case-nfv.rst delete mode 100644 doc/arch-design/source/use-cases/use-case-storage.rst delete mode 100644 doc/arch-design/source/use-cases/use-case-web-scale.rst diff --git a/doc/arch-design/setup.cfg b/doc/arch-design/setup.cfg deleted file mode 100644 index 12d08a3cdf..0000000000 --- a/doc/arch-design/setup.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[metadata] -name = architecturedesignguide -summary = OpenStack Architecture Design Guide -author = OpenStack -author-email = openstack-dev@lists.openstack.org -home-page = https://docs.openstack.org/ -classifier = - Environment :: OpenStack - Intended Audience :: Information Technology - Intended Audience :: Cloud Architects - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Topic :: Documentation - -[global] -setup-hooks = - pbr.hooks.setup_hook - -[files] - -[build_sphinx] -warning-is-error = 1 -build-dir = build -source-dir = source - -[wheel] -universal = 1 diff --git a/doc/arch-design/setup.py b/doc/arch-design/setup.py deleted file mode 100644 index 736375744d..0000000000 --- a/doc/arch-design/setup.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. -# -# Licensed 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. - -# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT -import setuptools - -# In python < 2.7.4, a lazy loading of package `pbr` will break -# setuptools if some other modules registered functions in `atexit`. -# solution from: http://bugs.python.org/issue15881#msg170215 -try: - import multiprocessing # noqa -except ImportError: - pass - -setuptools.setup( - setup_requires=['pbr'], - pbr=True) diff --git a/doc/arch-design/source/arch-requirements.rst b/doc/arch-design/source/arch-requirements.rst deleted file mode 100644 index 96cabea377..0000000000 --- a/doc/arch-design/source/arch-requirements.rst +++ /dev/null @@ -1,13 +0,0 @@ -========================= -Architecture requirements -========================= - -This chapter describes the enterprise and operational factors that impacts the -design of an OpenStack cloud. - -.. toctree:: - :maxdepth: 2 - - arch-requirements/arch-requirements-enterprise - arch-requirements/arch-requirements-operations - arch-requirements/arch-requirements-ha diff --git a/doc/arch-design/source/arch-requirements/arch-requirements-enterprise.rst b/doc/arch-design/source/arch-requirements/arch-requirements-enterprise.rst deleted file mode 100644 index ac3f92bd66..0000000000 --- a/doc/arch-design/source/arch-requirements/arch-requirements-enterprise.rst +++ /dev/null @@ -1,433 +0,0 @@ -======================= -Enterprise requirements -======================= - -The following sections describe business, usage, and performance -considerations for customers which will impact cloud architecture design. - -Cost -~~~~ - -Financial factors are a primary concern for any organization. Cost -considerations may influence the type of cloud that you build. -For example, a general purpose cloud is unlikely to be the most -cost-effective environment for specialized applications. -Unless business needs dictate that cost is a critical factor, -cost should not be the sole consideration when choosing or designing a cloud. - -As a general guideline, increasing the complexity of a cloud architecture -increases the cost of building and maintaining it. For example, a hybrid or -multi-site cloud architecture involving multiple vendors and technical -architectures may require higher setup and operational costs because of the -need for more sophisticated orchestration and brokerage tools than in other -architectures. However, overall operational costs might be lower by virtue of -using a cloud brokerage tool to deploy the workloads to the most cost effective -platform. - -.. TODO Replace examples with the proposed example use cases in this guide. - -Consider the following costs categories when designing a cloud: - -* Compute resources - -* Networking resources - -* Replication - -* Storage - -* Management - -* Operational costs - -It is also important to consider how costs will increase as your cloud scales. -Choices that have a negligible impact in small systems may considerably -increase costs in large systems. In these cases, it is important to minimize -capital expenditure (CapEx) at all layers of the stack. Operators of massively -scalable OpenStack clouds require the use of dependable commodity hardware and -freely available open source software components to reduce deployment costs and -operational expenses. Initiatives like Open Compute (more information available -in the `Open Compute Project `_) provide additional -information. - -Time-to-market -~~~~~~~~~~~~~~ - -The ability to deliver services or products within a flexible time -frame is a common business factor when building a cloud. Allowing users to -self-provision and gain access to compute, network, and -storage resources on-demand may decrease time-to-market for new products -and applications. - -You must balance the time required to build a new cloud platform against the -time saved by migrating users away from legacy platforms. In some cases, -existing infrastructure may influence your architecture choices. For example, -using multiple cloud platforms may be a good option when there is an existing -investment in several applications, as it could be faster to tie the -investments together rather than migrating the components and refactoring them -to a single platform. - -Revenue opportunity -~~~~~~~~~~~~~~~~~~~ - -Revenue opportunities vary based on the intent and use case of the cloud. -The requirements of a commercial, customer-facing product are often very -different from an internal, private cloud. You must consider what features -make your design most attractive to your users. - -Capacity planning and scalability -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Capacity and the placement of workloads are key design considerations -for clouds. A long-term capacity plan for these designs must -incorporate growth over time to prevent permanent consumption of more -expensive external clouds. To avoid this scenario, account for future -applications' capacity requirements and plan growth appropriately. - -It is difficult to predict the amount of load a particular -application might incur if the number of users fluctuates, or the -application experiences an unexpected increase in use. -It is possible to define application requirements in terms of -vCPU, RAM, bandwidth, or other resources and plan appropriately. -However, other clouds might not use the same meter or even the same -oversubscription rates. - -Oversubscription is a method to emulate more capacity than -may physically be present. For example, a physical hypervisor node with 32 GB -RAM may host 24 instances, each provisioned with 2 GB RAM. -As long as all 24 instances do not concurrently use 2 full -gigabytes, this arrangement works well. -However, some hosts take oversubscription to extremes and, -as a result, performance can be inconsistent. -If at all possible, determine what the oversubscription rates -of each host are and plan capacity accordingly. - -.. TODO Considerations when building your cloud, racks, CPUs, compute node - density. For ongoing capacity planning refer to the Ops Guide. - - -Performance -~~~~~~~~~~~ - -Performance is a critical consideration when designing any cloud, and becomes -increasingly important as size and complexity grow. While single-site, private -clouds can be closely controlled, multi-site and hybrid deployments require -more careful planning to reduce problems such as network latency between sites. - -For example, you should consider the time required to -run a workload in different clouds and methods for reducing this time. -This may require moving data closer to applications or applications -closer to the data they process, and grouping functionality so that -connections that require low latency take place over a single cloud -rather than spanning clouds. - -This may also require a CMP that can determine which cloud can most -efficiently run which types of workloads. - -Using native OpenStack tools can help improve performance. -For example, you can use Telemetry to measure performance and the -Orchestration service (heat) to react to changes in demand. - -.. note:: - - Orchestration requires special client configurations to integrate - with Amazon Web Services. For other types of clouds, use CMP features. - -Cloud resource deployment - The cloud user expects repeatable, dependable, and deterministic processes - for launching and deploying cloud resources. You could deliver this through - a web-based interface or publicly available API endpoints. All appropriate - options for requesting cloud resources must be available through some type - of user interface, a command-line interface (CLI), or API endpoints. - -Consumption model - Cloud users expect a fully self-service and on-demand consumption model. - When an OpenStack cloud reaches the massively scalable size, expect - consumption as a service in each and every way. - - * Everything must be capable of automation. For example, everything from - compute hardware, storage hardware, networking hardware, to the installation - and configuration of the supporting software. Manual processes are - impractical in a massively scalable OpenStack design architecture. - - * Massively scalable OpenStack clouds require extensive metering and - monitoring functionality to maximize the operational efficiency by keeping - the operator informed about the status and state of the infrastructure. This - includes full scale metering of the hardware and software status. A - corresponding framework of logging and alerting is also required to store - and enable operations to act on the meters provided by the metering and - monitoring solutions. The cloud operator also needs a solution that uses the - data provided by the metering and monitoring solution to provide capacity - planning and capacity trending analysis. - -Location - For many use cases the proximity of the user to their workloads has a - direct influence on the performance of the application and therefore - should be taken into consideration in the design. Certain applications - require zero to minimal latency that can only be achieved by deploying - the cloud in multiple locations. These locations could be in different - data centers, cities, countries or geographical regions, depending on - the user requirement and location of the users. - -Input-Output requirements - Input-Output performance requirements require researching and - modeling before deciding on a final storage framework. Running - benchmarks for Input-Output performance provides a baseline for - expected performance levels. If these tests include details, then - the resulting data can help model behavior and results during - different workloads. Running scripted smaller benchmarks during the - lifecycle of the architecture helps record the system health at - different points in time. The data from these scripted benchmarks - assist in future scoping and gaining a deeper understanding of an - organization's needs. - -Scale - Scaling storage solutions in a storage-focused OpenStack - architecture design is driven by initial requirements, including - :term:`IOPS `, capacity, - bandwidth, and future needs. Planning capacity based on projected needs - over the course of a budget cycle is important for a design. The - architecture should balance cost and capacity, while also allowing - flexibility to implement new technologies and methods as they become - available. - -Network -~~~~~~~ - -It is important to consider the functionality, security, scalability, -availability, and testability of the network when choosing a CMP and cloud -provider. - -* Decide on a network framework and design minimum functionality tests. - This ensures testing and functionality persists during and after - upgrades. -* Scalability across multiple cloud providers may dictate which underlying - network framework you choose in different cloud providers. - It is important to present the network API functions and to verify - that functionality persists across all cloud endpoints chosen. -* High availability implementations vary in functionality and design. - Examples of some common methods are active-hot-standby, active-passive, - and active-active. - Development of high availability and test frameworks is necessary to - insure understanding of functionality and limitations. -* Consider the security of data between the client and the endpoint, - and of traffic that traverses the multiple clouds. - -For example, degraded video streams and low quality VoIP sessions negatively -impact user experience and may lead to productivity and economic loss. - -Network misconfigurations - Configuring incorrect IP addresses, VLANs, and routers can cause - outages to areas of the network or, in the worst-case scenario, the - entire cloud infrastructure. Automate network configurations to - minimize the opportunity for operator error as it can cause - disruptive problems. - -Capacity planning - Cloud networks require management for capacity and growth over time. - Capacity planning includes the purchase of network circuits and - hardware that can potentially have lead times measured in months or - years. - -Network tuning - Configure cloud networks to minimize link loss, packet loss, packet - storms, broadcast storms, and loops. - -Single Point Of Failure (SPOF) - Consider high availability at the physical and environmental layers. - If there is a single point of failure due to only one upstream link, - or only one power supply, an outage can become unavoidable. - -Complexity - An overly complex network design can be difficult to maintain and - troubleshoot. While device-level configuration can ease maintenance - concerns and automated tools can handle overlay networks, avoid or - document non-traditional interconnects between functions and - specialized hardware to prevent outages. - -Non-standard features - There are additional risks that arise from configuring the cloud - network to take advantage of vendor specific features. One example - is multi-link aggregation (MLAG) used to provide redundancy at the - aggregator switch level of the network. MLAG is not a standard and, - as a result, each vendor has their own proprietary implementation of - the feature. MLAG architectures are not interoperable across switch - vendors, which leads to vendor lock-in, and can cause delays or - inability when upgrading components. - -Dynamic resource expansion or bursting - An application that requires additional resources may suit a multiple - cloud architecture. For example, a retailer needs additional resources - during the holiday season, but does not want to add private cloud - resources to meet the peak demand. - The user can accommodate the increased load by bursting to - a public cloud for these peak load periods. These bursts could be - for long or short cycles ranging from hourly to yearly. - -Compliance and geo-location -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -An organization may have certain legal obligations and regulatory -compliance measures which could require certain workloads or data to not -be located in certain regions. - -Compliance considerations are particularly important for multi-site clouds. -Considerations include: - -- federal legal requirements -- local jurisdictional legal and compliance requirements -- image consistency and availability -- storage replication and availability (both block and file/object storage) -- authentication, authorization, and auditing (AAA) - -Geographical considerations may also impact the cost of building or leasing -data centers. Considerations include: - -- floor space -- floor weight -- rack height and type -- environmental considerations -- power usage and power usage efficiency (PUE) -- physical security - -Auditing -~~~~~~~~ - -A well-considered auditing plan is essential for quickly finding issues. -Keeping track of changes made to security groups and tenant changes can be -useful in rolling back the changes if they affect production. For example, -if all security group rules for a tenant disappeared, the ability to quickly -track down the issue would be important for operational and legal reasons. -For more details on auditing, see the `Compliance chapter -`_ in the OpenStack -Security Guide. - -Security -~~~~~~~~ - -The importance of security varies based on the type of organization using -a cloud. For example, government and financial institutions often have -very high security requirements. Security should be implemented according to -asset, threat, and vulnerability risk assessment matrices. -See `security-requirements`. - -Service level agreements -~~~~~~~~~~~~~~~~~~~~~~~~ - -Service level agreements (SLA) must be developed in conjunction with business, -technical, and legal input. Small, private clouds may operate under an informal -SLA, but hybrid or public clouds generally require more formal agreements with -their users. - -For a user of a massively scalable OpenStack public cloud, there are no -expectations for control over security, performance, or availability. Users -expect only SLAs related to uptime of API services, and very basic SLAs for -services offered. It is the user's responsibility to address these issues on -their own. The exception to this expectation is the rare case of a massively -scalable cloud infrastructure built for a private or government organization -that has specific requirements. - -High performance systems have SLA requirements for a minimum quality of service -with regard to guaranteed uptime, latency, and bandwidth. The level of the -SLA can have a significant impact on the network architecture and -requirements for redundancy in the systems. - -Hybrid cloud designs must accommodate differences in SLAs between providers, -and consider their enforceability. - -Application readiness -~~~~~~~~~~~~~~~~~~~~~ - -Some applications are tolerant of a lack of synchronized object -storage, while others may need those objects to be replicated and -available across regions. Understanding how the cloud implementation -impacts new and existing applications is important for risk mitigation, -and the overall success of a cloud project. Applications may have to be -written or rewritten for an infrastructure with little to no redundancy, -or with the cloud in mind. - -Application momentum - Businesses with existing applications may find that it is - more cost effective to integrate applications on multiple - cloud platforms than migrating them to a single platform. - -No predefined usage model - The lack of a pre-defined usage model enables the user to run a wide - variety of applications without having to know the application - requirements in advance. This provides a degree of independence and - flexibility that no other cloud scenarios are able to provide. - -On-demand and self-service application - By definition, a cloud provides end users with the ability to - self-provision computing power, storage, networks, and software in a - simple and flexible way. The user must be able to scale their - resources up to a substantial level without disrupting the - underlying host operations. One of the benefits of using a general - purpose cloud architecture is the ability to start with limited - resources and increase them over time as the user demand grows. - -Authentication -~~~~~~~~~~~~~~ - -It is recommended to have a single authentication domain rather than a -separate implementation for each and every site. This requires an -authentication mechanism that is highly available and distributed to -ensure continuous operation. Authentication server locality might be -required and should be planned for. - -Migration, availability, site loss and recovery -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Outages can cause partial or full loss of site functionality. Strategies -should be implemented to understand and plan for recovery scenarios. - -* The deployed applications need to continue to function and, more - importantly, you must consider the impact on the performance and - reliability of the application when a site is unavailable. - -* It is important to understand what happens to the replication of - objects and data between the sites when a site goes down. If this - causes queues to start building up, consider how long these queues - can safely exist until an error occurs. - -* After an outage, ensure the method for resuming proper operations of - a site is implemented when it comes back online. We recommend you - architect the recovery to avoid race conditions. - -Disaster recovery and business continuity - Cheaper storage makes the public cloud suitable for maintaining - backup applications. - -Migration scenarios - Hybrid cloud architecture enables the migration of - applications between different clouds. - -Provider availability or implementation details - Business changes can affect provider availability. - Likewise, changes in a provider's service can disrupt - a hybrid cloud environment or increase costs. - -Provider API changes - Consumers of external clouds rarely have control over provider - changes to APIs, and changes can break compatibility. - Using only the most common and basic APIs can minimize potential conflicts. - -Image portability - As of the Kilo release, there is no common image format that is - usable by all clouds. Conversion or recreation of images is necessary - if migrating between clouds. To simplify deployment, use the smallest - and simplest images feasible, install only what is necessary, and - use a deployment manager such as Chef or Puppet. Do not use golden - images to speed up the process unless you repeatedly deploy the same - images on the same cloud. - -API differences - Avoid using a hybrid cloud deployment with more than just - OpenStack (or with different versions of OpenStack) as API changes - can cause compatibility issues. - -Business or technical diversity - Organizations leveraging cloud-based services can embrace business - diversity and utilize a hybrid cloud design to spread their - workloads across multiple cloud providers. This ensures that - no single cloud provider is the sole host for an application. diff --git a/doc/arch-design/source/arch-requirements/arch-requirements-ha.rst b/doc/arch-design/source/arch-requirements/arch-requirements-ha.rst deleted file mode 100644 index 222f5350d9..0000000000 --- a/doc/arch-design/source/arch-requirements/arch-requirements-ha.rst +++ /dev/null @@ -1,182 +0,0 @@ -.. _high-availability: - -================= -High availability -================= - -Data plane and control plane -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When designing an OpenStack cloud, it is important to consider the needs -dictated by the :term:`Service Level Agreement (SLA)`. This includes the core -services required to maintain availability of running Compute service -instances, networks, storage, and additional services running on top of those -resources. These services are often referred to as the Data Plane services, -and are generally expected to be available all the time. - -The remaining services, responsible for create, read, update and delete (CRUD) -operations, metering, monitoring, and so on, are often referred to as the -Control Plane. The SLA is likely to dictate a lower uptime requirement for -these services. - -The services comprising an OpenStack cloud have a number of requirements that -you need to understand in order to be able to meet SLA terms. For example, in -order to provide the Compute service a minimum of storage, message queueing and -database services are necessary as well as the networking between -them. - -Ongoing maintenance operations are made much simpler if there is logical and -physical separation of Data Plane and Control Plane systems. It then becomes -possible to, for example, reboot a controller without affecting customers. -If one service failure affects the operation of an entire server (``noisy -neighbor``), the separation between Control and Data Planes enables rapid -maintenance with a limited effect on customer operations. - -Eliminating single points of failure within each site -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -OpenStack lends itself to deployment in a highly available manner where it is -expected that at least 2 servers be utilized. These can run all the services -involved from the message queuing service, for example ``RabbitMQ`` or -``QPID``, and an appropriately deployed database service such as ``MySQL`` or -``MariaDB``. As services in the cloud are scaled out, back-end services will -need to scale too. Monitoring and reporting on server utilization and response -times, as well as load testing your systems, will help determine scale out -decisions. - -The OpenStack services themselves should be deployed across multiple servers -that do not represent a single point of failure. Ensuring availability can -be achieved by placing these services behind highly available load balancers -that have multiple OpenStack servers as members. - -There are a small number of OpenStack services which are intended to only run -in one place at a time (for example, the ``ceilometer-agent-central`` service) -. In order to prevent these services from becoming a single point of failure, -they can be controlled by clustering software such as ``Pacemaker``. - -In OpenStack, the infrastructure is integral to providing services and should -always be available, especially when operating with SLAs. Ensuring network -availability is accomplished by designing the network architecture so that no -single point of failure exists. A consideration of the number of switches, -routes and redundancies of power should be factored into core infrastructure, -as well as the associated bonding of networks to provide diverse routes to your -highly available switch infrastructure. - -Care must be taken when deciding network functionality. Currently, OpenStack -supports both the legacy networking (nova-network) system and the newer, -extensible OpenStack Networking (neutron). OpenStack Networking and legacy -networking both have their advantages and disadvantages. They are both valid -and supported options that fit different network deployment models described in -the `OpenStack Operations Guide -`_. - -When using the Networking service, the OpenStack controller servers or separate -Networking hosts handle routing unless the dynamic virtual routers pattern for -routing is selected. Running routing directly on the controller servers mixes -the Data and Control Planes and can cause complex issues with performance and -troubleshooting. It is possible to use third party software and external -appliances that help maintain highly available layer three routes. Doing so -allows for common application endpoints to control network hardware, or to -provide complex multi-tier web applications in a secure manner. It is also -possible to completely remove routing from Networking, and instead rely on -hardware routing capabilities. In this case, the switching infrastructure must -support layer three routing. - -Application design must also be factored into the capabilities of the -underlying cloud infrastructure. If the compute hosts do not provide a seamless -live migration capability, then it must be expected that if a compute host -fails, that instance and any data local to that instance will be deleted. -However, when providing an expectation to users that instances have a -high-level of uptime guaranteed, the infrastructure must be deployed in a way -that eliminates any single point of failure if a compute host disappears. -This may include utilizing shared file systems on enterprise storage or -OpenStack Block storage to provide a level of guarantee to match service -features. - -If using a storage design that includes shared access to centralized storage, -ensure that this is also designed without single points of failure and the SLA -for the solution matches or exceeds the expected SLA for the Data Plane. - -Eliminating single points of failure in a multi-region design -------------------------------------------------------------- - -Some services are commonly shared between multiple regions, including the -Identity service and the Dashboard. In this case, it is necessary to ensure -that the databases backing the services are replicated, and that access to -multiple workers across each site can be maintained in the event of losing a -single region. - -Multiple network links should be deployed between sites to provide redundancy -for all components. This includes storage replication, which should be isolated -to a dedicated network or VLAN with the ability to assign QoS to control the -replication traffic or provide priority for this traffic. - -.. note:: - - If the data store is highly changeable, the network requirements could have - a significant effect on the operational cost of maintaining the sites. - -If the design incorporates more than one site, the ability to maintain object -availability in both sites has significant implications on the Object Storage -design and implementation. It also has a significant impact on the WAN network -design between the sites. - -If applications running in a cloud are not cloud-aware, there should be clear -measures and expectations to define what the infrastructure can and cannot -support. An example would be shared storage between sites. It is possible, -however such a solution is not native to OpenStack and requires a third-party -hardware vendor to fulfill such a requirement. Another example can be seen in -applications that are able to consume resources in object storage directly. - -Connecting more than two sites increases the challenges and adds more -complexity to the design considerations. Multi-site implementations require -planning to address the additional topology used for internal and external -connectivity. Some options include full mesh topology, hub spoke, spine leaf, -and 3D Torus. - -For more information on high availability in OpenStack, see the `OpenStack High -Availability Guide `_. - -Site loss and recovery -~~~~~~~~~~~~~~~~~~~~~~ - -Outages can cause partial or full loss of site functionality. Strategies -should be implemented to understand and plan for recovery scenarios. - -* The deployed applications need to continue to function and, more - importantly, you must consider the impact on the performance and - reliability of the application if a site is unavailable. - -* It is important to understand what happens to the replication of - objects and data between the sites when a site goes down. If this - causes queues to start building up, consider how long these queues - can safely exist until an error occurs. - -* After an outage, ensure that operations of a site are resumed when it - comes back online. We recommend that you architect the recovery to - avoid race conditions. - - -Replicating inter-site data -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Traditionally, replication has been the best method of protecting object store -implementations. A variety of replication methods exist in storage -architectures, for example synchronous and asynchronous mirroring. Most object -stores and back-end storage systems implement methods for replication at the -storage subsystem layer. Object stores also tailor replication techniques to -fit a cloud's requirements. - -Organizations must find the right balance between data integrity and data -availability. Replication strategy may also influence disaster recovery -methods. - -Replication across different racks, data centers, and geographical regions -increases focus on determining and ensuring data locality. The ability to -guarantee data is accessed from the nearest or fastest storage can be necessary -for applications to perform well. - -.. note:: - - When running embedded object store methods, ensure that you do not - instigate extra data replication as this may cause performance issues. diff --git a/doc/arch-design/source/arch-requirements/arch-requirements-operations.rst b/doc/arch-design/source/arch-requirements/arch-requirements-operations.rst deleted file mode 100644 index 28eba619c2..0000000000 --- a/doc/arch-design/source/arch-requirements/arch-requirements-operations.rst +++ /dev/null @@ -1,259 +0,0 @@ -======================== -Operational requirements -======================== - -This section describes operational factors affecting the design of an -OpenStack cloud. - -Network design -~~~~~~~~~~~~~~ - -The network design for an OpenStack cluster includes decisions regarding -the interconnect needs within the cluster, the need to allow clients to -access their resources, and the access requirements for operators to -administrate the cluster. You should consider the bandwidth, latency, -and reliability of these networks. - -Consider additional design decisions about monitoring and alarming. -If you are using an external provider, service level agreements (SLAs) -are typically defined in your contract. Operational considerations such -as bandwidth, latency, and jitter can be part of the SLA. - -As demand for network resources increase, make sure your network design -accommodates expansion and upgrades. Operators add additional IP address -blocks and add additional bandwidth capacity. In addition, consider -managing hardware and software lifecycle events, for example upgrades, -decommissioning, and outages, while avoiding service interruptions for -tenants. - -Factor maintainability into the overall network design. This includes -the ability to manage and maintain IP addresses as well as the use of -overlay identifiers including VLAN tag IDs, GRE tunnel IDs, and MPLS -tags. As an example, if you may need to change all of the IP addresses -on a network, a process known as renumbering, then the design must -support this function. - -Address network-focused applications when considering certain -operational realities. For example, consider the impending exhaustion of -IPv4 addresses, the migration to IPv6, and the use of private networks -to segregate different types of traffic that an application receives or -generates. In the case of IPv4 to IPv6 migrations, applications should -follow best practices for storing IP addresses. We recommend you avoid -relying on IPv4 features that did not carry over to the IPv6 protocol or -have differences in implementation. - -To segregate traffic, allow applications to create a private tenant -network for database and storage network traffic. Use a public network -for services that require direct client access from the Internet. Upon -segregating the traffic, consider :term:`quality of service (QoS)` and -security to ensure each network has the required level of service. - -Also consider the routing of network traffic. For some applications, -develop a complex policy framework for routing. To create a routing -policy that satisfies business requirements, consider the economic cost -of transmitting traffic over expensive links versus cheaper links, in -addition to bandwidth, latency, and jitter requirements. - -Finally, consider how to respond to network events. How load -transfers from one link to another during a failure scenario could be -a factor in the design. If you do not plan network capacity -correctly, failover traffic could overwhelm other ports or network -links and create a cascading failure scenario. In this case, -traffic that fails over to one link overwhelms that link and then -moves to the subsequent links until all network traffic stops. - -SLA considerations -~~~~~~~~~~~~~~~~~~ - -Service-level agreements (SLAs) define the levels of availability that will -impact the design of an OpenStack cloud to provide redundancy and high -availability. - -SLA terms that affect the design include: - -* API availability guarantees implying multiple infrastructure services - and highly available load balancers. - -* Network uptime guarantees affecting switch design, which might - require redundant switching and power. - -* Networking security policy requirements. - -In any environment larger than just a few hosts, there are two areas -that might be subject to a SLA: - -* Data Plane - services that provide virtualization, networking, and - storage. Customers usually require these services to be continuously - available. - -* Control Plane - ancillary services such as API endpoints, and services that - control CRUD operations. The services in this category are usually subject to - a different SLA expectation and may be better suited on separate - hardware or containers from the Data Plane services. - -To effectively run cloud installations, initial downtime planning includes -creating processes and architectures that support planned maintenance -and unplanned system faults. - -It is important to determine as part of the SLA negotiation which party is -responsible for monitoring and starting up the Compute service instances if an -outage occurs. - -Upgrading, patching, and changing configuration items may require -downtime for some services. Stopping services that form the Control Plane may -not impact the Data Plane. Live-migration of Compute instances may be required -to perform any actions that require downtime to Data Plane components. - -There are many services outside the realms of pure OpenStack -code which affects the ability of a cloud design to meet SLAs, including: - -* Database services, such as ``MySQL`` or ``PostgreSQL``. -* Services providing RPC, such as ``RabbitMQ``. -* External network attachments. -* Physical constraints such as power, rack space, network cabling, etc. -* Shared storage including SAN based arrays, storage clusters such as ``Ceph``, - and/or NFS services. - -Depending on the design, some network service functions may fall into both the -Control and Data Plane categories. For example, the neutron L3 Agent service -may be considered a Control Plane component, but the routers themselves would -be a Data Plane component. - -In a design with multiple regions, the SLA would also need to take into -consideration the use of shared services such as the Identity service -and Dashboard. - -Any SLA negotiation must also take into account the reliance on third parties -for critical aspects of the design. For example, if there is an existing SLA -on a component such as a storage system, the SLA must take into account this -limitation. If the required SLA for the cloud exceeds the agreed uptime levels -of the cloud components, additional redundancy would be required. This -consideration is critical in a hybrid cloud design, where there are multiple -third parties involved. - -Support and maintenance -~~~~~~~~~~~~~~~~~~~~~~~ - -An operations staff supports, manages, and maintains an OpenStack environment. -Their skills may be specialized or varied depending on the size and purpose of -the installation. - -The maintenance function of an operator should be taken into consideration: - -Maintenance tasks - Operating system patching, hardware/firmware upgrades, and datacenter - related changes, as well as minor and release upgrades to OpenStack - components are all ongoing operational tasks. The six monthly release - cycle of the OpenStack projects needs to be considered as part of the - cost of ongoing maintenance. The solution should take into account - storage and network maintenance and the impact on underlying - workloads. - -Reliability and availability - Reliability and availability depend on the many supporting components' - availability and on the level of precautions taken by the service provider. - This includes network, storage systems, datacenter, and operating systems. - -For more information on -managing and maintaining your OpenStack environment, see the -`OpenStack Operations Guide `_. - -Logging and monitoring ----------------------- - -OpenStack clouds require appropriate monitoring platforms to identify and -manage errors. - -.. note:: - - We recommend leveraging existing monitoring systems to see if they - are able to effectively monitor an OpenStack environment. - -Specific meters that are critically important to capture include: - -* Image disk utilization - -* Response time to the Compute API - -Logging and monitoring does not significantly differ for a multi-site OpenStack -cloud. The tools described in the `Logging and monitoring -`__ in -the Operations Guide remain applicable. Logging and monitoring can be provided -on a per-site basis, and in a common centralized location. - -When attempting to deploy logging and monitoring facilities to a centralized -location, care must be taken with the load placed on the inter-site networking -links - -Management software -------------------- - -Management software providing clustering, logging, monitoring, and alerting -details for a cloud environment is often used. This impacts and affects the -overall OpenStack cloud design, and must account for the additional resource -consumption such as CPU, RAM, storage, and network -bandwidth. - -The inclusion of clustering software, such as Corosync or Pacemaker, is -primarily determined by the availability of the cloud infrastructure and -the complexity of supporting the configuration after it is deployed. The -`OpenStack High Availability Guide `_ -provides more details on the installation and configuration of Corosync -and Pacemaker, should these packages need to be included in the design. - -Some other potential design impacts include: - -* OS-hypervisor combination - Ensure that the selected logging, monitoring, or alerting tools support - the proposed OS-hypervisor combination. - -* Network hardware - The network hardware selection needs to be supported by the logging, - monitoring, and alerting software. - -Database software ------------------ - -Most OpenStack components require access to back-end database services -to store state and configuration information. Choose an appropriate -back-end database which satisfies the availability and fault tolerance -requirements of the OpenStack services. - -MySQL is the default database for OpenStack, but other compatible -databases are available. - -.. note:: - - Telemetry uses MongoDB. - -The chosen high availability database solution changes according to the -selected database. MySQL, for example, provides several options. Use a -replication technology such as Galera for active-active clustering. For -active-passive use some form of shared storage. Each of these potential -solutions has an impact on the design: - -* Solutions that employ Galera/MariaDB require at least three MySQL - nodes. - -* MongoDB has its own design considerations for high availability. - -* OpenStack design, generally, does not include shared storage. - However, for some high availability designs, certain components might - require it depending on the specific implementation. - -Operator access to systems -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There is a trend for cloud operations systems being hosted within the cloud -environment. Operators require access to these systems to resolve a major -incident. - -Ensure that the network structure connects all clouds to form an integrated -system. Also consider the state of handoffs which must be reliable and have -minimal latency for optimal performance of the system. - -If a significant portion of the cloud is on externally managed systems, -prepare for situations where it may not be possible to make changes. -Additionally, cloud providers may differ on how infrastructure must be managed -and exposed. This can lead to delays in root cause analysis where a provider -insists the blame lies with the other provider. diff --git a/doc/arch-design/source/common b/doc/arch-design/source/common deleted file mode 120000 index dc879abe93..0000000000 --- a/doc/arch-design/source/common +++ /dev/null @@ -1 +0,0 @@ -../../common \ No newline at end of file diff --git a/doc/arch-design/source/conf.py b/doc/arch-design/source/conf.py deleted file mode 100644 index ba907a58e2..0000000000 --- a/doc/arch-design/source/conf.py +++ /dev/null @@ -1,307 +0,0 @@ -# Licensed 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. - -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -# import sys - -import openstackdocstheme - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# sys.path.insert(0, os.path.abspath('.')) - - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = ['openstackdocstheme'] - -# Add any paths that contain templates here, relative to this directory. -# templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -# source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -repository_name = "openstack/openstack-manuals" -bug_project = 'openstack-manuals' -project = u'Architecture Design Guide' -bug_tag = u'arch-design' -copyright = u'2015-2018, OpenStack contributors' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '' -# The full version, including alpha/beta/rc tags. -release = '' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -# today = '' -# Else, today_fmt is used as the format for a strftime call. -# today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ['common/cli*', 'common/nova*', 'common/get-started-*'] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -# default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -# add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -# add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -# show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -# modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -# keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'openstackdocs' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -html_theme_options = { - 'display_badge': False -} - -# Add any paths that contain custom themes here, relative to this directory. -# html_theme_path = [openstackdocstheme.get_html_theme_path()] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -# html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -# html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -# html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -# html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -# html_static_path = [] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -# html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# So that we can enable "log-a-bug" links from each output HTML page, this -# variable must be set to a format that includes year, month, day, hours and -# minutes. -html_last_updated_fmt = '%Y-%m-%d %H:%M' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -# html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -# html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -# html_additional_pages = {} - -# If false, no module index is generated. -# html_domain_indices = True - -# If false, no index is generated. -html_use_index = False - -# If true, the index is split into individual pages for each letter. -# html_split_index = False - -# If true, links to the reST sources are added to the pages. -html_show_sourcelink = False - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -# html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -# html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -# html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -# html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'arch-design' - -# If true, publish source files -html_copy_source = False - -# -- Options for LaTeX output --------------------------------------------- -pdf_theme_path = openstackdocstheme.get_pdf_theme_path() -openstack_logo = openstackdocstheme.get_openstack_logo_path() - -latex_custom_template = r""" -\newcommand{\openstacklogo}{%s} -\usepackage{%s} -""" % (openstack_logo, pdf_theme_path) - -latex_engine = 'xelatex' - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - 'papersize': 'a4paper', - - # The font size ('10pt', '11pt' or '12pt'). - 'pointsize': '11pt', - - #Default figure align - 'figure_align': 'H', - - # Not to generate blank page after chapter - 'classoptions': ',openany', - - # Additional stuff for the LaTeX preamble. - 'preamble': latex_custom_template, -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'ArchGuide.tex', u'Architecture Design Guide', - u'OpenStack contributors', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -# latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -# latex_use_parts = False - -# If true, show page references after internal links. -# latex_show_pagerefs = False - -# If true, show URL addresses after external links. -# latex_show_urls = False - -# Documents to append as an appendix to all manuals. -# latex_appendices = [] - -# If false, no module index is generated. -# latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'ArchDesign', u'Architecture Design Guide', - [u'OpenStack contributors'], 1) -] - -# If true, show URL addresses after external links. -# man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'ArchDesign', u'Architecture Design Guide', - u'OpenStack contributors', 'ArchDesign', - 'To reap the benefits of OpenStack, you should plan, design,' - 'and architect your cloud properly, taking user needs into' - 'account and understanding the use cases.' - 'commands.', 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -# texinfo_appendices = [] - -# If false, no module index is generated. -# texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -# texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -# texinfo_no_detailmenu = False - -# -- Options for Internationalization output ------------------------------ -locale_dirs = ['locale/'] - -# -- Options for PDF output -------------------------------------------------- - -pdf_documents = [ - ('index', u'ArchDesignGuide', u'Architecture Design Guide', - u'OpenStack contributors') -] diff --git a/doc/arch-design/source/design-cmp-tools.rst b/doc/arch-design/source/design-cmp-tools.rst deleted file mode 100644 index 196f623031..0000000000 --- a/doc/arch-design/source/design-cmp-tools.rst +++ /dev/null @@ -1,49 +0,0 @@ -============================= -Cloud management architecture -============================= - -Complex clouds, in particular hybrid clouds, may require tools to -facilitate working across multiple clouds. - -Broker between clouds - Brokering software evaluates relative costs between different - cloud platforms. Cloud Management Platforms (CMP) - allow the designer to determine the right location for the - workload based on predetermined criteria. - -Facilitate orchestration across the clouds - CMPs simplify the migration of application workloads between - public, private, and hybrid cloud platforms. - - We recommend using cloud orchestration tools for managing a diverse - portfolio of systems and applications across multiple cloud platforms. - -Technical details -~~~~~~~~~~~~~~~~~ - -.. TODO - -Capacity and scale -~~~~~~~~~~~~~~~~~~ - -.. TODO - -High availability -~~~~~~~~~~~~~~~~~ - -.. TODO - -Operator requirements -~~~~~~~~~~~~~~~~~~~~~ - -.. TODO - -Deployment considerations -~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. TODO - -Maintenance considerations -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. TODO diff --git a/doc/arch-design/source/design-compute.rst b/doc/arch-design/source/design-compute.rst deleted file mode 100644 index 59674d80d1..0000000000 --- a/doc/arch-design/source/design-compute.rst +++ /dev/null @@ -1,20 +0,0 @@ -==================== -Compute architecture -==================== - -.. toctree:: - :maxdepth: 3 - - design-compute/design-compute-arch - design-compute/design-compute-cpu - design-compute/design-compute-hypervisor - design-compute/design-compute-hardware - design-compute/design-compute-overcommit - design-compute/design-compute-storage - design-compute/design-compute-networking - design-compute/design-compute-logging - -This section describes some of the choices you need to consider -when designing and building your compute nodes. Compute nodes form the -resource core of the OpenStack Compute cloud, providing the processing, memory, -network and storage resources to run instances. diff --git a/doc/arch-design/source/design-compute/design-compute-arch.rst b/doc/arch-design/source/design-compute/design-compute-arch.rst deleted file mode 100644 index a478f03717..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-arch.rst +++ /dev/null @@ -1,104 +0,0 @@ -==================================== -Compute server architecture overview -==================================== - -When designing compute resource pools, consider the number of processors, -amount of memory, network requirements, the quantity of storage required for -each hypervisor, and any requirements for bare metal hosts provisioned -through ironic. - -When architecting an OpenStack cloud, as part of the planning process, you -must not only determine what hardware to utilize but whether compute -resources will be provided in a single pool or in multiple pools or -availability zones. You should consider if the cloud will provide distinctly -different profiles for compute. - -For example, CPU, memory or local storage based compute nodes. For NFV -or HPC based clouds, there may even be specific network configurations that -should be reserved for those specific workloads on specific compute nodes. This -method of designing specific resources into groups or zones of compute can be -referred to as bin packing. - -.. note:: - - In a bin packing design, each independent resource pool provides service for - specific flavors. Since instances are scheduled onto compute hypervisors, - each independent node's resources will be allocated to efficiently use the - available hardware. While bin packing can separate workload specific - resources onto individual servers, bin packing also requires a common - hardware design, with all hardware nodes within a compute resource pool - sharing a common processor, memory, and storage layout. This makes it easier - to deploy, support, and maintain nodes throughout their lifecycle. - -Increasing the size of the supporting compute environment increases the network -traffic and messages, adding load to the controllers and administrative -services used to support the OpenStack cloud or networking nodes. When -considering hardware for controller nodes, whether using the monolithic -controller design, where all of the controller services live on one or more -physical hardware nodes, or in any of the newer shared nothing control plane -models, adequate resources must be allocated and scaled to meet scale -requirements. Effective monitoring of the environment will help with capacity -decisions on scaling. Proper planning will help avoid bottlenecks and network -oversubscription as the cloud scales. - -Compute nodes automatically attach to OpenStack clouds, resulting in a -horizontally scaling process when adding extra compute capacity to an -OpenStack cloud. To further group compute nodes and place nodes into -appropriate availability zones and host aggregates, additional work is -required. It is necessary to plan rack capacity and network switches as scaling -out compute hosts directly affects data center infrastructure resources as -would any other infrastructure expansion. - -While not as common in large enterprises, compute host components can also be -upgraded to account for increases in -demand, known as vertical scaling. Upgrading CPUs with more -cores, or increasing the overall server memory, can add extra needed -capacity depending on whether the running applications are more CPU -intensive or memory intensive. We recommend a rolling upgrade of compute -nodes for redundancy and availability. -After the upgrade, when compute nodes return to the OpenStack cluster, they -will be re-scanned and the new resources will be discovered adjusted in the -OpenStack database. - -When selecting a processor, compare features and performance -characteristics. Some processors include features specific to -virtualized compute hosts, such as hardware-assisted virtualization, and -technology related to memory paging (also known as EPT shadowing). These -types of features can have a significant impact on the performance of -your virtual machine. - -The number of processor cores and threads impacts the number of worker -threads which can be run on a resource node. Design decisions must -relate directly to the service being run on it, as well as provide a -balanced infrastructure for all services. - -Another option is to assess the average workloads and increase the -number of instances that can run within the compute environment by -adjusting the overcommit ratio. This ratio is configurable for CPU and -memory. The default CPU overcommit ratio is 16:1, and the default memory -overcommit ratio is 1.5:1. Determining the tuning of the overcommit -ratios during the design phase is important as it has a direct impact on -the hardware layout of your compute nodes. - -.. note:: - - Changing the CPU overcommit ratio can have a detrimental effect - and cause a potential increase in a noisy neighbor. - -Insufficient disk capacity could also have a negative effect on overall -performance including CPU and memory usage. Depending on the back end -architecture of the OpenStack Block Storage layer, capacity includes -adding disk shelves to enterprise storage systems or installing -additional Block Storage nodes. Upgrading directly attached storage -installed in Compute hosts, and adding capacity to the shared storage -for additional ephemeral storage to instances, may be necessary. - -Consider the Compute requirements of non-hypervisor nodes (also referred to as -resource nodes). This includes controller, Object Storage nodes, Block Storage -nodes, and networking services. - -The ability to create pools or availability zones for unpredictable workloads -should be considered. In some cases, the demand for certain instance types or -flavors may not justify individual hardware design. Allocate hardware designs -that are capable of servicing the most common instance requests. Adding -hardware to the overall architecture can be done later. diff --git a/doc/arch-design/source/design-compute/design-compute-cpu.rst b/doc/arch-design/source/design-compute/design-compute-cpu.rst deleted file mode 100644 index f775653518..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-cpu.rst +++ /dev/null @@ -1,85 +0,0 @@ -.. _choosing-a-cpu: - -============== -Choosing a CPU -============== - -The type of CPU in your compute node is a very important decision. You must -ensure that the CPU supports virtualization by way of *VT-x* for Intel chips -and *AMD-v* for AMD chips. - -.. tip:: - - Consult the vendor documentation to check for virtualization support. For - Intel CPUs, see - `Does my processor support Intel® Virtualization Technology? - `_. For AMD CPUs, - see `AMD Virtualization - `_. - Your CPU may support virtualization but it may be disabled. Consult your - BIOS documentation for how to enable CPU features. - -The number of cores that the CPU has also affects your decision. It is -common for current CPUs to have up to 24 cores. Additionally, if an Intel CPU -supports hyper-threading, those 24 cores are doubled to 48 cores. If you -purchase a server that supports multiple CPUs, the number of cores is further -multiplied. - -As of the Kilo release, key enhancements have been added to the -OpenStack code to improve guest performance. These improvements allow the -Compute service to take advantage of greater insight into a compute host's -physical layout and therefore make smarter decisions regarding workload -placement. Administrators can use this functionality to enable smarter planning -choices for use cases like NFV (Network Function Virtualization) and HPC (High -Performance Computing). - -Considering non-uniform memory access (NUMA) is important when selecting CPU -sizes and types, as there are use cases that use NUMA pinning to reserve host -cores for operating system processes. These reduce the available CPU for -workloads and protects the operating system. - -.. tip:: - - When CPU pinning is requested for a guest, it is assumed - there is no overcommit (or, an overcommit ratio of 1.0). When dedicated - resourcing is not requested for a workload, the normal overcommit ratios - are applied. - - Therefore, we recommend that host aggregates are used to separate not - only bare metal hosts, but hosts that will provide resources for workloads - that require dedicated resources. This said, when workloads are provisioned - to NUMA host aggregates, NUMA nodes are chosen at random and vCPUs can float - across NUMA nodes on a host. If workloads require SR-IOV or DPDK, they should - be assigned to a NUMA node aggregate with hosts that supply the - functionality. More importantly, the workload or vCPUs that are executing - processes for a workload should be on the same NUMA node due to the limited - amount of cross-node memory bandwidth. In all cases, the ``NUMATopologyFilter`` - must be enabled for ``nova-scheduler``. - -Additionally, CPU selection may not be one-size-fits-all across enterprises, -but more of a list of SKUs that are tuned for the enterprise workloads. - -For more information about NUMA, see `CPU topologies -`_ in -the Administrator Guide. - -In order to take advantage of these new enhancements in the Compute service, -compute hosts must be using NUMA capable CPUs. - -.. tip:: - - **Multithread Considerations** - - Hyper-Threading is Intel's proprietary simultaneous multithreading - implementation used to improve parallelization on their CPUs. You might - consider enabling Hyper-Threading to improve the performance of - multithreaded applications. - - Whether you should enable Hyper-Threading on your CPUs depends upon your use - case. For example, disabling Hyper-Threading can be beneficial in intense - computing environments. We recommend performance testing with your local - workload with both Hyper-Threading on and off to determine what is more - appropriate in your case. - - In most cases, hyper-threading CPUs can provide a 1.3x to 2.0x performance - benefit over non-hyper-threaded CPUs depending on types of workload. diff --git a/doc/arch-design/source/design-compute/design-compute-hardware.rst b/doc/arch-design/source/design-compute/design-compute-hardware.rst deleted file mode 100644 index a4e3ef69d8..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-hardware.rst +++ /dev/null @@ -1,165 +0,0 @@ -======================== -Choosing server hardware -======================== - -Consider the following factors when selecting compute server hardware: - -* Server density - A measure of how many servers can fit into a given measure of - physical space, such as a rack unit [U]. - -* Resource capacity - The number of CPU cores, how much RAM, or how much storage a given - server delivers. - -* Expandability - The number of additional resources you can add to a server before it - reaches capacity. - -* Cost - The relative cost of the hardware weighed against the total amount of - capacity available on the hardware based on predetermined requirements. - -Weigh these considerations against each other to determine the best design for -the desired purpose. For example, increasing server density means sacrificing -resource capacity or expandability. It also can decrease availability and -increase the chance of noisy neighbor issues. Increasing resource capacity and -expandability can increase cost but decrease server density. Decreasing cost -often means decreasing supportability, availability, server density, resource -capacity, and expandability. - -Determine the requirements for the cloud prior to constructing the cloud, -and plan for hardware lifecycles, and expansion and new features that may -require different hardware. - -If the cloud is initially built with near end of life, but cost effective -hardware, then the performance and capacity demand of new workloads will drive -the purchase of more modern hardware. With individual hardware components -changing over time, you may prefer to manage configurations as stock keeping -units (SKU)s. This method provides an enterprise with a standard -configuration unit of compute (server) that can be placed in any IT service -manager or vendor supplied ordering system that can be triggered manually or -through advanced operational automations. This simplifies ordering, -provisioning, and activating additional compute resources. For example, there -are plug-ins for several commercial service management tools that enable -integration with hardware APIs. These configure and activate new compute -resources from standby hardware based on a standard configurations. Using this -methodology, spare hardware can be ordered for a datacenter and provisioned -based on capacity data derived from OpenStack Telemetry. - -Compute capacity (CPU cores and RAM capacity) is a secondary consideration for -selecting server hardware. The required server hardware must supply adequate -CPU sockets, additional CPU cores, and adequate RA. For more information, see -:ref:`choosing-a-cpu`. - -In compute server architecture design, you must also consider network and -storage requirements. For more information on network considerations, see -:ref:`network-design`. - -Considerations when choosing hardware -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Here are some other factors to consider when selecting hardware for your -compute servers. - -Instance density ----------------- - -More hosts are required to support the anticipated scale -if the design architecture uses dual-socket hardware designs. - -For a general purpose OpenStack cloud, sizing is an important consideration. -The expected or anticipated number of instances that each hypervisor can -host is a common meter used in sizing the deployment. The selected server -hardware needs to support the expected or anticipated instance density. - -Host density ------------- - -Another option to address the higher host count is to use a -quad-socket platform. Taking this approach decreases host density -which also increases rack count. This configuration affects the -number of power connections and also impacts network and cooling -requirements. - -Physical data centers have limited physical space, power, and -cooling. The number of hosts (or hypervisors) that can be fitted -into a given metric (rack, rack unit, or floor tile) is another -important method of sizing. Floor weight is an often overlooked -consideration. - -The data center floor must be able to support the weight of the proposed number -of hosts within a rack or set of racks. These factors need to be applied as -part of the host density calculation and server hardware selection. - -Power and cooling density -------------------------- - -The power and cooling density requirements might be lower than with -blade, sled, or 1U server designs due to lower host density (by -using 2U, 3U or even 4U server designs). For data centers with older -infrastructure, this might be a desirable feature. - -Data centers have a specified amount of power fed to a given rack or -set of racks. Older data centers may have power densities as low as 20A per -rack, and current data centers can be designed to support power densities as -high as 120A per rack. The selected server hardware must take power density -into account. - -Selecting hardware form factor -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Consider the following in selecting server hardware form factor suited for -your OpenStack design architecture: - -* Most blade servers can support dual-socket multi-core CPUs. To avoid - this CPU limit, select ``full width`` or ``full height`` blades. Be - aware, however, that this also decreases server density. For example, - high density blade servers such as HP BladeSystem or Dell PowerEdge - M1000e support up to 16 servers in only ten rack units. Using - half-height blades is twice as dense as using full-height blades, - which results in only eight servers per ten rack units. - -* 1U rack-mounted servers have the ability to offer greater server density - than a blade server solution, but are often limited to dual-socket, - multi-core CPU configurations. It is possible to place forty 1U servers - in a rack, providing space for the top of rack (ToR) switches, compared - to 32 full width blade servers. - - To obtain greater than dual-socket support in a 1U rack-mount form - factor, customers need to buy their systems from Original Design - Manufacturers (ODMs) or second-tier manufacturers. - - .. warning:: - - This may cause issues for organizations that have preferred - vendor policies or concerns with support and hardware warranties - of non-tier 1 vendors. - -* 2U rack-mounted servers provide quad-socket, multi-core CPU support, - but with a corresponding decrease in server density (half the density - that 1U rack-mounted servers offer). - -* Larger rack-mounted servers, such as 4U servers, often provide even - greater CPU capacity, commonly supporting four or even eight CPU - sockets. These servers have greater expandability, but such servers - have much lower server density and are often more expensive. - -* ``Sled servers`` are rack-mounted servers that support multiple - independent servers in a single 2U or 3U enclosure. These deliver - higher density as compared to typical 1U or 2U rack-mounted servers. - For example, many sled servers offer four independent dual-socket - nodes in 2U for a total of eight CPU sockets in 2U. - -Scaling your cloud -~~~~~~~~~~~~~~~~~~ - -When designing a OpenStack cloud compute server architecture, you must -decide whether you intend to scale up or scale out. Selecting a -smaller number of larger hosts, or a larger number of smaller hosts, -depends on a combination of factors: cost, power, cooling, physical rack -and floor space, support-warranty, and manageability. Typically, the scale out -model has been popular for OpenStack because it reduces the number of possible -failure domains by spreading workloads across more infrastructure. -However, the downside is the cost of additional servers and the datacenter -resources needed to power, network, and cool the servers. diff --git a/doc/arch-design/source/design-compute/design-compute-hypervisor.rst b/doc/arch-design/source/design-compute/design-compute-hypervisor.rst deleted file mode 100644 index 2fbfcd5aca..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-hypervisor.rst +++ /dev/null @@ -1,46 +0,0 @@ -====================== -Choosing a hypervisor -====================== - -A hypervisor provides software to manage virtual machine access to the -underlying hardware. The hypervisor creates, manages, and monitors -virtual machines. OpenStack Compute (nova) supports many hypervisors to various -degrees, including: - -* `Ironic `_ -* `KVM `_ -* `LXC `_ -* `QEMU `_ -* `VMware ESX/ESXi `_ -* `Xen (using libvirt) `_ -* `XenServer `_ -* `Hyper-V - `_ -* `PowerVM `_ -* `UML `_ -* `Virtuozzo `_ -* `zVM `_ - -An important factor in your choice of hypervisor is your current organization's -hypervisor usage or experience. Also important is the hypervisor's feature -parity, documentation, and the level of community experience. - -As per the recent OpenStack user survey, KVM is the most widely adopted -hypervisor in the OpenStack community. Besides KVM, there are many deployments -that run other hypervisors such as LXC, VMware, Xen, and Hyper-V. However, -these hypervisors are either less used, are niche hypervisors, or have limited -functionality compared to more commonly used hypervisors. - -.. note:: - - It is also possible to run multiple hypervisors in a single - deployment using host aggregates or cells. However, an individual - compute node can run only a single hypervisor at a time. - -For more information about feature support for -hypervisors as well as ironic and Virtuozzo (formerly Parallels), see -`Hypervisor Support Matrix -`_ -and `Hypervisors -`_ -in the Configuration Reference. diff --git a/doc/arch-design/source/design-compute/design-compute-logging.rst b/doc/arch-design/source/design-compute/design-compute-logging.rst deleted file mode 100644 index 421eaa681a..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-logging.rst +++ /dev/null @@ -1,105 +0,0 @@ -====================== -Compute server logging -====================== - -The logs on the compute nodes, or any server running nova-compute (for example -in a hyperconverged architecture), are the primary points for troubleshooting -issues with the hypervisor and compute services. Additionally, operating system -logs can also provide useful information. - -As the cloud environment grows, the amount of log data increases exponentially. -Enabling debugging on either the OpenStack services or the operating system -further compounds the data issues. - -Logging is described in more detail in the `Logging and Monitoring -`_. -However, it is an important design consideration to take into account before -commencing operations of your cloud. - -OpenStack produces a great deal of useful logging information, but for -the information to be useful for operations purposes, you should consider -having a central logging server to send logs to, and a log parsing/analysis -system such as Elastic Stack [formerly known as ELK]. - -Elastic Stack consists of mainly three components: Elasticsearch (log search -and analysis), Logstash (log intake, processing and output) and Kibana (log -dashboard service). - -.. figure:: ../figures/ELKbasicArch.png - :align: center - :alt: Elastic Search Basic Architecture - -Due to the amount of logs being sent from servers in the OpenStack environment, -an optional in-memory data structure store can be used. Common examples are -Redis and Memcached. In newer versions of Elastic Stack, a file buffer called -`Filebeat `_ is used for a -similar purpose but adds a "backpressure-sensitive" protocol when sending data -to Logstash or Elasticsearch. - -Log analysis often requires disparate logs of differing formats. Elastic -Stack (namely Logstash) was created to take many different log inputs and -transform them into a consistent format that Elasticsearch can catalog and -analyze. As seen in the image above, the process of ingestion starts on the -servers by Logstash, is forwarded to the Elasticsearch server for storage and -searching, and then displayed through Kibana for visual analysis and -interaction. - -For instructions on installing Logstash, Elasticsearch and Kibana, see the -`Elasticsearch reference -`_. - -There are some specific configuration parameters that are needed to -configure Logstash for OpenStack. For example, in order to get Logstash to -collect, parse, and send the correct portions of log files to the Elasticsearch -server, you need to format the configuration file properly. There -are input, output and filter configurations. Input configurations tell Logstash -where to receive data from (log files/forwarders/filebeats/StdIn/Eventlog), -output configurations specify where to put the data, and filter configurations -define the input contents to forward to the output. - -The Logstash filter performs intermediary processing on each event. Conditional -filters are applied based on the characteristics of the input and the event. -Some examples of filtering are: - -* grok -* date -* csv -* json - -There are also output filters available that send event data to many different -destinations. Some examples are: - -* csv -* redis -* elasticsearch -* file -* jira -* nagios -* pagerduty -* stdout - -Additionally there are several codecs that can be used to change the data -representation of events such as: - -* collectd -* graphite -* json -* plan -* rubydebug - -These input, output and filter configurations are typically stored in -:file:`/etc/logstash/conf.d` but may vary by linux distribution. Separate -configuration files should be created for different logging systems such as -syslog, Apache, and OpenStack. - -General examples and configuration guides can be found on the Elastic `Logstash -Configuration page -`_. - -OpenStack input, output and filter examples can be found at -`sorantis/elkstack -`_. - -Once a configuration is complete, Kibana can be used as a visualization tool -for OpenStack and system logging. This will allow operators to configure custom -dashboards for performance, monitoring and security. diff --git a/doc/arch-design/source/design-compute/design-compute-networking.rst b/doc/arch-design/source/design-compute/design-compute-networking.rst deleted file mode 100644 index 494d3dafc0..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-networking.rst +++ /dev/null @@ -1,51 +0,0 @@ -==================== -Network connectivity -==================== - -The selected server hardware must have the appropriate number of network -connections, as well as the right type of network connections, in order to -support the proposed architecture. Ensure that, at a minimum, there are at -least two diverse network connections coming into each rack. - -The selection of form factors or architectures affects the selection of server -hardware. Ensure that the selected server hardware is configured to support -enough storage capacity (or storage expandability) to match the requirements of -selected scale-out storage solution. Similarly, the network architecture -impacts the server hardware selection and vice versa. - -While each enterprise install is different, the following networks with their -proposed bandwidth is highly recommended for a basic production OpenStack -install. - -**Install or OOB network** - Typically used by most distributions and -provisioning tools as the network for deploying base software to the -OpenStack compute nodes. This network should be connected at a minimum of 1Gb -and no routing is usually needed. - -**Internal or Management network** - Used as the internal communication network -between OpenStack compute and control nodes. Can also be used as a network -for iSCSI communication between the compute and iSCSI storage nodes. Again, -this should be a minimum of a 1Gb NIC and should be a non-routed network. This -interface should be redundant for high availability (HA). - -**Tenant network** - A private network that enables communication between each -tenant's instances. If using flat networking and provider networks, this -network is optional. This network should also be isolated from all other -networks for security compliance. A 1Gb interface should be sufficient and -redundant for HA. - -**Storage network** - A private network which could be connected to the Ceph -frontend or other shared storage. For HA purposes this should be a redundant -configuration with suggested 10Gb NICs. This network isolates the storage for -the instances away from other networks. Under load, this storage traffic -could overwhelm other networks and cause outages on other OpenStack services. - -**(Optional) External or Public network** - This network is used to communicate -externally from the VMs to the public network space. These addresses are -typically handled by the neutron agent on the controller nodes and can also -be handled by a SDN other than neutron. However, when using neutron DVR with -OVS, this network must be present on the compute node since north and south -traffic will not be handled by the controller nodes, but by the compute node -itself. For more information on DVR with OVS and compute nodes, see -`Open vSwitch: High availability using DVR -`_ diff --git a/doc/arch-design/source/design-compute/design-compute-overcommit.rst b/doc/arch-design/source/design-compute/design-compute-overcommit.rst deleted file mode 100644 index ea4deee06a..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-overcommit.rst +++ /dev/null @@ -1,48 +0,0 @@ -========================== -Overcommitting CPU and RAM -========================== - -OpenStack allows you to overcommit CPU and RAM on compute nodes. This -allows you to increase the number of instances running on your cloud at the -cost of reducing the performance of the instances. The Compute service uses the -following ratios by default: - -* CPU allocation ratio: 16:1 -* RAM allocation ratio: 1.5:1 - -The default CPU allocation ratio of 16:1 means that the scheduler -allocates up to 16 virtual cores per physical core. For example, if a -physical node has 12 cores, the scheduler sees 192 available virtual -cores. With typical flavor definitions of 4 virtual cores per instance, -this ratio would provide 48 instances on a physical node. - -The formula for the number of virtual instances on a compute node is -``(OR*PC)/VC``, where: - -OR - CPU overcommit ratio (virtual cores per physical core) - -PC - Number of physical cores - -VC - Number of virtual cores per instance - -Similarly, the default RAM allocation ratio of 1.5:1 means that the -scheduler allocates instances to a physical node as long as the total -amount of RAM associated with the instances is less than 1.5 times the -amount of RAM available on the physical node. - -For example, if a physical node has 48 GB of RAM, the scheduler -allocates instances to that node until the sum of the RAM associated -with the instances reaches 72 GB (such as nine instances, in the case -where each instance has 8 GB of RAM). - -.. note:: - - Regardless of the overcommit ratio, an instance can not be placed - on any physical node with fewer raw (pre-overcommit) resources than - the instance flavor requires. - -You must select the appropriate CPU and RAM allocation ratio for your -particular use case. diff --git a/doc/arch-design/source/design-compute/design-compute-storage.rst b/doc/arch-design/source/design-compute/design-compute-storage.rst deleted file mode 100644 index 4697234c89..0000000000 --- a/doc/arch-design/source/design-compute/design-compute-storage.rst +++ /dev/null @@ -1,154 +0,0 @@ -========================== -Instance storage solutions -========================== - -As part of the architecture design for a compute cluster, you must specify -storage for the disk on which the instantiated instance runs. There are three -main approaches to providing temporary storage: - -* Off compute node storage—shared file system -* On compute node storage—shared file system -* On compute node storage—nonshared file system - -In general, the questions you should ask when selecting storage are as -follows: - -* What are my workloads? -* Do my workloads have IOPS requirements? -* Are there read, write, or random access performance requirements? -* What is my forecast for the scaling of storage for compute? -* What storage is my enterprise currently using? Can it be re-purposed? -* How do I manage the storage operationally? - -Many operators use separate compute and storage hosts instead of a -hyperconverged solution. Compute services and storage services have different -requirements, and compute hosts typically require more CPU and RAM than storage -hosts. Therefore, for a fixed budget, it makes sense to have different -configurations for your compute nodes and your storage nodes. Compute nodes -will be invested in CPU and RAM, and storage nodes will be invested in block -storage. - -However, if you are more restricted in the number of physical hosts you have -available for creating your cloud and you want to be able to dedicate as many -of your hosts as possible to running instances, it makes sense to run compute -and storage on the same machines or use an existing storage array that is -available. - -The three main approaches to instance storage are provided in the next -few sections. - -Non-compute node based shared file system -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this option, the disks storing the running instances are hosted in -servers outside of the compute nodes. - -If you use separate compute and storage hosts, you can treat your -compute hosts as "stateless". As long as you do not have any instances -currently running on a compute host, you can take it offline or wipe it -completely without having any effect on the rest of your cloud. This -simplifies maintenance for the compute hosts. - -There are several advantages to this approach: - -* If a compute node fails, instances are usually easily recoverable. -* Running a dedicated storage system can be operationally simpler. -* You can scale to any number of spindles. -* It may be possible to share the external storage for other purposes. - -The main disadvantages to this approach are: - -* Depending on design, heavy I/O usage from some instances can affect - unrelated instances. -* Use of the network can decrease performance. -* Scalability can be affected by network architecture. - -On compute node storage—shared file system -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this option, each compute node is specified with a significant amount -of disk space, but a distributed file system ties the disks from each -compute node into a single mount. - -The main advantage of this option is that it scales to external storage -when you require additional storage. - -However, this option has several disadvantages: - -* Running a distributed file system can make you lose your data - locality compared with nonshared storage. -* Recovery of instances is complicated by depending on multiple hosts. -* The chassis size of the compute node can limit the number of spindles - able to be used in a compute node. -* Use of the network can decrease performance. -* Loss of compute nodes decreases storage availability for all hosts. - -On compute node storage—nonshared file system -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this option, each compute node is specified with enough disks to store the -instances it hosts. - -There are two main advantages: - -* Heavy I/O usage on one compute node does not affect instances on other - compute nodes. Direct I/O access can increase performance. -* Each host can have different storage profiles for hosts aggregation and - availability zones. - -There are several disadvantages: - -* If a compute node fails, the data associated with the instances running on - that node is lost. -* The chassis size of the compute node can limit the number of spindles - able to be used in a compute node. -* Migrations of instances from one node to another are more complicated - and rely on features that may not continue to be developed. -* If additional storage is required, this option does not scale. - -Running a shared file system on a storage system apart from the compute nodes -is ideal for clouds where reliability and scalability are the most important -factors. Running a shared file system on the compute nodes themselves may be -best in a scenario where you have to deploy to pre-existing servers for which -you have little to no control over their specifications or have specific -storage performance needs but do not have a need for persistent storage. - -Issues with live migration --------------------------- - -Live migration is an integral part of the operations of the -cloud. This feature provides the ability to seamlessly move instances -from one physical host to another, a necessity for performing upgrades -that require reboots of the compute hosts, but only works well with -shared storage. - -Live migration can also be done with non-shared storage, using a feature -known as *KVM live block migration*. While an earlier implementation of -block-based migration in KVM and QEMU was considered unreliable, there -is a newer, more reliable implementation of block-based live migration -as of the Mitaka release. - -Live migration and block migration still have some issues: - -* Error reporting has received some attention in Mitaka and Newton but there - are improvements needed. -* Live migration resource tracking issues. -* Live migration of rescued images. - -Choice of file system ---------------------- - -If you want to support shared-storage live migration, you need to -configure a distributed file system. - -Possible options include: - -* NFS (default for Linux) -* Ceph -* GlusterFS -* MooseFS -* Lustre - -We recommend that you choose the option operators are most familiar with. -NFS is the easiest to set up and there is extensive community knowledge -about it. diff --git a/doc/arch-design/source/design-control-plane.rst b/doc/arch-design/source/design-control-plane.rst deleted file mode 100644 index 249286ed6d..0000000000 --- a/doc/arch-design/source/design-control-plane.rst +++ /dev/null @@ -1,413 +0,0 @@ -========================== -Control plane architecture -========================== - -.. From Ops Guide chapter: Designing for Cloud Controllers and Cloud - Management - -OpenStack is designed to be massively horizontally scalable, which -allows all services to be distributed widely. However, to simplify this -guide, we have decided to discuss services of a more central nature, -using the concept of a *cloud controller*. A cloud controller is a -conceptual simplification. In the real world, you design an architecture -for your cloud controller that enables high availability so that if any -node fails, another can take over the required tasks. In reality, cloud -controller tasks are spread out across more than a single node. - -The cloud controller provides the central management system for -OpenStack deployments. Typically, the cloud controller manages -authentication and sends messaging to all the systems through a message -queue. - -For many deployments, the cloud controller is a single node. However, to -have high availability, you have to take a few considerations into -account, which we'll cover in this chapter. - -The cloud controller manages the following services for the cloud: - -Databases - Tracks current information about users and instances, for example, - in a database, typically one database instance managed per service - -Message queue services - All :term:`Advanced Message Queuing Protocol (AMQP)` messages for - services are received and sent according to the queue broker - -Conductor services - Proxy requests to a database - -Authentication and authorization for identity management - Indicates which users can do what actions on certain cloud - resources; quota management is spread out among services, - howeverauthentication - -Image-management services - Stores and serves images with metadata on each, for launching in the - cloud - -Scheduling services - Indicates which resources to use first; for example, spreading out - where instances are launched based on an algorithm - -User dashboard - Provides a web-based front end for users to consume OpenStack cloud - services - -API endpoints - Offers each service's REST API access, where the API endpoint - catalog is managed by the Identity service - -For our example, the cloud controller has a collection of ``nova-*`` -components that represent the global state of the cloud; talks to -services such as authentication; maintains information about the cloud -in a database; communicates to all compute nodes and storage -:term:`workers ` through a queue; and provides API access. -Each service running on a designated cloud controller may be broken out -into separate nodes for scalability or availability. - -As another example, you could use pairs of servers for a collective -cloud controller—one active, one standby—for redundant nodes providing a -given set of related services, such as: - -- Front end web for API requests, the scheduler for choosing which - compute node to boot an instance on, Identity services, and the - dashboard - -- Database and message queue server (such as MySQL, RabbitMQ) - -- Image service for the image management - -Now that you see the myriad designs for controlling your cloud, read -more about the further considerations to help with your design -decisions. - -Hardware Considerations -~~~~~~~~~~~~~~~~~~~~~~~ - -A cloud controller's hardware can be the same as a compute node, though -you may want to further specify based on the size and type of cloud that -you run. - -It's also possible to use virtual machines for all or some of the -services that the cloud controller manages, such as the message queuing. -In this guide, we assume that all services are running directly on the -cloud controller. - -:ref:`table_controller_hardware` contains common considerations to -review when sizing hardware for the cloud controller design. - -.. _table_controller_hardware: - -.. list-table:: Table. Cloud controller hardware sizing considerations - :widths: 25 75 - :header-rows: 1 - - * - Consideration - - Ramification - * - How many instances will run at once? - - Size your database server accordingly, and scale out beyond one cloud - controller if many instances will report status at the same time and - scheduling where a new instance starts up needs computing power. - * - How many compute nodes will run at once? - - Ensure that your messaging queue handles requests successfully and size - accordingly. - * - How many users will access the API? - - If many users will make multiple requests, make sure that the CPU load - for the cloud controller can handle it. - * - How many users will access the dashboard versus the REST API directly? - - The dashboard makes many requests, even more than the API access, so - add even more CPU if your dashboard is the main interface for your users. - * - How many ``nova-api`` services do you run at once for your cloud? - - You need to size the controller with a core per service. - * - How long does a single instance run? - - Starting instances and deleting instances is demanding on the compute - node but also demanding on the controller node because of all the API - queries and scheduling needs. - * - Does your authentication system also verify externally? - - External systems such as :term:`LDAP ` or :term:`Active Directory` require network - connectivity between the cloud controller and an external authentication - system. Also ensure that the cloud controller has the CPU power to keep - up with requests. - - -Separation of Services -~~~~~~~~~~~~~~~~~~~~~~ - -While our example contains all central services in a single location, it -is possible and indeed often a good idea to separate services onto -different physical servers. :ref:`table_deployment_scenarios` is a list -of deployment scenarios we've seen and their justifications. - -.. _table_deployment_scenarios: - -.. list-table:: Table. Deployment scenarios - :widths: 25 75 - :header-rows: 1 - - * - Scenario - - Justification - * - Run ``glance-*`` servers on the ``swift-proxy`` server. - - This deployment felt that the spare I/O on the Object Storage proxy - server was sufficient and that the Image Delivery portion of glance - benefited from being on physical hardware and having good connectivity - to the Object Storage back end it was using. - * - Run a central dedicated database server. - - This deployment used a central dedicated server to provide the databases - for all services. This approach simplified operations by isolating - database server updates and allowed for the simple creation of slave - database servers for failover. - * - Run one VM per service. - - This deployment ran central services on a set of servers running KVM. - A dedicated VM was created for each service (``nova-scheduler``, - rabbitmq, database, etc). This assisted the deployment with scaling - because administrators could tune the resources given to each virtual - machine based on the load it received (something that was not well - understood during installation). - * - Use an external load balancer. - - This deployment had an expensive hardware load balancer in its - organization. It ran multiple ``nova-api`` and ``swift-proxy`` - servers on different physical servers and used the load balancer - to switch between them. - -One choice that always comes up is whether to virtualize. Some services, -such as ``nova-compute``, ``swift-proxy`` and ``swift-object`` servers, -should not be virtualized. However, control servers can often be happily -virtualized—the performance penalty can usually be offset by simply -running more of the service. - -Database -~~~~~~~~ - -OpenStack Compute uses an SQL database to store and retrieve stateful -information. MySQL is the popular database choice in the OpenStack -community. - -Loss of the database leads to errors. As a result, we recommend that you -cluster your database to make it failure tolerant. Configuring and -maintaining a database cluster is done outside OpenStack and is -determined by the database software you choose to use in your cloud -environment. MySQL/Galera is a popular option for MySQL-based databases. - -Message Queue -~~~~~~~~~~~~~ - -Most OpenStack services communicate with each other using the *message -queue*. For example, Compute communicates to block storage services and -networking services through the message queue. Also, you can optionally -enable notifications for any service. RabbitMQ, Qpid, and Zeromq are all -popular choices for a message-queue service. In general, if the message -queue fails or becomes inaccessible, the cluster grinds to a halt and -ends up in a read-only state, with information stuck at the point where -the last message was sent. Accordingly, we recommend that you cluster -the message queue. Be aware that clustered message queues can be a pain -point for many OpenStack deployments. While RabbitMQ has native -clustering support, there have been reports of issues when running it at -a large scale. While other queuing solutions are available, such as Zeromq -and Qpid, Zeromq does not offer stateful queues. Qpid is the messaging -system of choice for Red Hat and its derivatives. Qpid does not have -native clustering capabilities and requires a supplemental service, such -as Pacemaker or Corsync. For your message queue, you need to determine -what level of data loss you are comfortable with and whether to use an -OpenStack project's ability to retry multiple MQ hosts in the event of a -failure, such as using Compute's ability to do so. - -Conductor Services -~~~~~~~~~~~~~~~~~~ - -In the previous version of OpenStack, all ``nova-compute`` services -required direct access to the database hosted on the cloud controller. -This was problematic for two reasons: security and performance. With -regard to security, if a compute node is compromised, the attacker -inherently has access to the database. With regard to performance, -``nova-compute`` calls to the database are single-threaded and blocking. -This creates a performance bottleneck because database requests are -fulfilled serially rather than in parallel. - -The conductor service resolves both of these issues by acting as a proxy -for the ``nova-compute`` service. Now, instead of ``nova-compute`` -directly accessing the database, it contacts the ``nova-conductor`` -service, and ``nova-conductor`` accesses the database on -``nova-compute``'s behalf. Since ``nova-compute`` no longer has direct -access to the database, the security issue is resolved. Additionally, -``nova-conductor`` is a nonblocking service, so requests from all -compute nodes are fulfilled in parallel. - -.. note:: - - If you are using ``nova-network`` and multi-host networking in your - cloud environment, ``nova-compute`` still requires direct access to - the database. - -The ``nova-conductor`` service is horizontally scalable. To make -``nova-conductor`` highly available and fault tolerant, just launch more -instances of the ``nova-conductor`` process, either on the same server -or across multiple servers. - -Application Programming Interface (API) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -All public access, whether direct, through a command-line client, or -through the web-based dashboard, uses the API service. Find the API -reference at `Development resources for OpenStack clouds -`_. - -You must choose whether you want to support the Amazon EC2 compatibility -APIs, or just the OpenStack APIs. One issue you might encounter when -running both APIs is an inconsistent experience when referring to images -and instances. - -For example, the EC2 API refers to instances using IDs that contain -hexadecimal, whereas the OpenStack API uses names and digits. Similarly, -the EC2 API tends to rely on DNS aliases for contacting virtual -machines, as opposed to OpenStack, which typically lists IP -addresses. - -If OpenStack is not set up in the right way, it is simple to have -scenarios in which users are unable to contact their instances due to -having only an incorrect DNS alias. Despite this, EC2 compatibility can -assist users migrating to your cloud. - -As with databases and message queues, having more than one :term:`API server` -is a good thing. Traditional HTTP load-balancing techniques can be used to -achieve a highly available ``nova-api`` service. - -Extensions -~~~~~~~~~~ - -The `API -Specifications `_ define -the core actions, capabilities, and mediatypes of the OpenStack API. A -client can always depend on the availability of this core API, and -implementers are always required to support it in its entirety. -Requiring strict adherence to the core API allows clients to rely upon a -minimal level of functionality when interacting with multiple -implementations of the same API. - -The OpenStack Compute API is extensible. An extension adds capabilities -to an API beyond those defined in the core. The introduction of new -features, MIME types, actions, states, headers, parameters, and -resources can all be accomplished by means of extensions to the core -API. This allows the introduction of new features in the API without -requiring a version change and allows the introduction of -vendor-specific niche functionality. - -Scheduling -~~~~~~~~~~ - -The scheduling services are responsible for determining the compute or -storage node where a virtual machine or block storage volume should be -created. The scheduling services receive creation requests for these -resources from the message queue and then begin the process of -determining the appropriate node where the resource should reside. This -process is done by applying a series of user-configurable filters -against the available collection of nodes. - -There are currently two schedulers: ``nova-scheduler`` for virtual -machines and ``cinder-scheduler`` for block storage volumes. Both -schedulers are able to scale horizontally, so for high-availability -purposes, or for very large or high-schedule-frequency installations, -you should consider running multiple instances of each scheduler. The -schedulers all listen to the shared message queue, so no special load -balancing is required. - -Images -~~~~~~ - -The OpenStack Image service consists of two parts: ``glance-api`` and -``glance-registry``. The former is responsible for the delivery of -images; the compute node uses it to download images from the back end. -The latter maintains the metadata information associated with virtual -machine images and requires a database. - -The ``glance-api`` part is an abstraction layer that allows a choice of -back end. Currently, it supports: - -OpenStack Object Storage - Allows you to store images as objects. - -File system - Uses any traditional file system to store the images as files. - -S3 - Allows you to fetch images from Amazon S3. - -HTTP - Allows you to fetch images from a web server. You cannot write - images by using this mode. - -If you have an OpenStack Object Storage service, we recommend using this -as a scalable place to store your images. You can also use a file system -with sufficient performance or Amazon S3—unless you do not need the -ability to upload new images through OpenStack. - -Dashboard -~~~~~~~~~ - -The OpenStack dashboard (horizon) provides a web-based user interface to -the various OpenStack components. The dashboard includes an end-user -area for users to manage their virtual infrastructure and an admin area -for cloud operators to manage the OpenStack environment as a -whole. - -The dashboard is implemented as a Python web application that normally -runs in :term:`Apache` ``httpd``. Therefore, you may treat it the same as any -other web application, provided it can reach the API servers (including -their admin endpoints) over the network. - -Authentication and Authorization -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The concepts supporting OpenStack's authentication and authorization are -derived from well-understood and widely used systems of a similar -nature. Users have credentials they can use to authenticate, and they -can be a member of one or more groups (known as projects or tenants, -interchangeably). - -For example, a cloud administrator might be able to list all instances -in the cloud, whereas a user can see only those in his current group. -Resources quotas, such as the number of cores that can be used, disk -space, and so on, are associated with a project. - -OpenStack Identity provides authentication decisions and user attribute -information, which is then used by the other OpenStack services to -perform authorization. The policy is set in the ``policy.json`` file. -For information on how to configure these, see `Managing Projects and Users -`_ in the -OpenStack Operations Guide. - -OpenStack Identity supports different plug-ins for authentication -decisions and identity storage. Examples of these plug-ins include: - -- In-memory key-value Store (a simplified internal storage structure) - -- SQL database (such as MySQL or PostgreSQL) - -- Memcached (a distributed memory object caching system) - -- LDAP (such as OpenLDAP or Microsoft's Active Directory) - -Many deployments use the SQL database; however, LDAP is also a popular -choice for those with existing authentication infrastructure that needs -to be integrated. - -Network Considerations -~~~~~~~~~~~~~~~~~~~~~~ - -Because the cloud controller handles so many different services, it must -be able to handle the amount of traffic that hits it. For example, if -you choose to host the OpenStack Image service on the cloud controller, -the cloud controller should be able to support the transferring of the -images at an acceptable speed. - -As another example, if you choose to use single-host networking where -the cloud controller is the network gateway for all instances, then the -cloud controller must support the total amount of traffic that travels -between your cloud and the public Internet. - -We recommend that you use a fast NIC, such as 10 GB. You can also choose -to use two 10 GB NICs and bond them together. While you might not be -able to get a full bonded 20 GB speed, different transmission streams -use different NICs. For example, if the cloud controller transfers two -images, each image uses a different NIC and gets a full 10 GB of -bandwidth. diff --git a/doc/arch-design/source/design-identity.rst b/doc/arch-design/source/design-identity.rst deleted file mode 100644 index e52328a627..0000000000 --- a/doc/arch-design/source/design-identity.rst +++ /dev/null @@ -1,3 +0,0 @@ -===================== -Identity architecture -===================== diff --git a/doc/arch-design/source/design-images.rst b/doc/arch-design/source/design-images.rst deleted file mode 100644 index 2dcf494b6c..0000000000 --- a/doc/arch-design/source/design-images.rst +++ /dev/null @@ -1,3 +0,0 @@ -========================== -Image Service architecture -========================== diff --git a/doc/arch-design/source/design-networking.rst b/doc/arch-design/source/design-networking.rst deleted file mode 100644 index f563640eaa..0000000000 --- a/doc/arch-design/source/design-networking.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. _network-design: - -==================== -Network architecture -==================== - -.. toctree:: - :maxdepth: 2 - - design-networking/design-networking-concepts - design-networking/design-networking-design - design-networking/design-networking-services - -OpenStack provides a rich networking environment. This chapter -details the requirements and options to consider when designing your -cloud. This includes examples of network implementations to -consider, information about some OpenStack network layouts and networking -services that are essential for stable operation. - -.. warning:: - - If this is the first time you are deploying a cloud infrastructure - in your organization, your first conversations should be with your - networking team. Network usage in a running cloud is vastly different - from traditional network deployments and has the potential to be - disruptive at both a connectivity and a policy level. - - For example, you must plan the number of IP addresses that you need for - both your guest instances as well as management infrastructure. - Additionally, you must research and discuss cloud network connectivity - through proxy servers and firewalls. diff --git a/doc/arch-design/source/design-networking/design-networking-concepts.rst b/doc/arch-design/source/design-networking/design-networking-concepts.rst deleted file mode 100644 index 74984ac913..0000000000 --- a/doc/arch-design/source/design-networking/design-networking-concepts.rst +++ /dev/null @@ -1,218 +0,0 @@ -=================== -Networking concepts -=================== - -A cloud environment fundamentally changes the ways that networking is provided -and consumed. Understanding the following concepts and decisions is imperative -when making architectural decisions. For detailed information on networking -concepts, see the `OpenStack Networking Guide -`_. - -Network zones -~~~~~~~~~~~~~ - -The cloud networks are divided into a number of logical zones that support the -network traffic flow requirements. We recommend defining at the least four -distinct network zones. - -Underlay --------- - -The underlay zone is defined as the physical network switching infrastructure -that connects the storage, compute and control platforms. There are a large -number of potential underlay options available. - -Overlay -------- - -The overlay zone is defined as any L3 connectivity between the cloud components -and could take the form of SDN solutions such as the neutron overlay solution -or 3rd Party SDN solutions. - -Edge ----- - -The edge zone is where network traffic transitions from the cloud overlay or -SDN networks into the traditional network environments. - -External --------- - -The external network is defined as the configuration and components that are -required to provide access to cloud resources and workloads, the external -network is defined as all the components outside of the cloud edge gateways. - -Traffic flow -~~~~~~~~~~~~ - -There are two primary types of traffic flow within a cloud infrastructure, the -choice of networking technologies is influenced by the expected loads. - -East/West - The internal traffic flow between workload within the cloud as well -as the traffic flow between the compute nodes and storage nodes falls into the -East/West category. Generally this is the heaviest traffic flow and due to the -need to cater for storage access needs to cater for a minimum of hops and low -latency. - -North/South - The flow of traffic between the workload and all external -networks, including clients and remote services. This traffic flow is highly -dependant on the workload within the cloud and the type of network services -being offered. - -Layer networking choices -~~~~~~~~~~~~~~~~~~~~~~~~ - -There are several factors to take into consideration when deciding on whether -to use Layer 2 networking architecture or a layer 3 networking architecture. -For more information about OpenStack networking concepts, see the -`OpenStack Networking `_ -section in the OpenStack Networking Guide. - -Benefits using a Layer-2 network --------------------------------- - -There are several reasons a network designed on layer-2 protocols is selected -over a network designed on layer-3 protocols. In spite of the difficulties of -using a bridge to perform the network role of a router, many vendors, -customers, and service providers choose to use Ethernet in as many parts of -their networks as possible. The benefits of selecting a layer-2 design are: - -* Ethernet frames contain all the essentials for networking. These include, but - are not limited to, globally unique source addresses, globally unique - destination addresses, and error control. - -* Ethernet frames can carry any kind of packet. Networking at layer-2 is - independent of the layer-3 protocol. - -* Adding more layers to the Ethernet frame only slows the networking process - down. This is known as nodal processing delay. - -* You can add adjunct networking features, for example class of service (CoS) - or multicasting, to Ethernet as readily as IP networks. - -* VLANs are an easy mechanism for isolating networks. - -Most information starts and ends inside Ethernet frames. Today this applies -to data, voice, and video. The concept is that the network will benefit more -from the advantages of Ethernet if the transfer of information from a source -to a destination is in the form of Ethernet frames. - -Although it is not a substitute for IP networking, networking at layer-2 can -be a powerful adjunct to IP networking. - -Layer-2 Ethernet usage has additional benefits over layer-3 IP network usage: - -* Speed -* Reduced overhead of the IP hierarchy. -* No need to keep track of address configuration as systems move around. - -Whereas the simplicity of layer-2 protocols might work well in a data center -with hundreds of physical machines, cloud data centers have the additional -burden of needing to keep track of all virtual machine addresses and -networks. In these data centers, it is not uncommon for one physical node -to support 30-40 instances. - -.. Important:: - - Networking at the frame level says nothing about the presence or - absence of IP addresses at the packet level. Almost all ports, links, and - devices on a network of LAN switches still have IP addresses, as do all the - source and destination hosts. There are many reasons for the continued need - for IP addressing. The largest one is the need to manage the network. A - device or link without an IP address is usually invisible to most - management applications. Utilities including remote access for diagnostics, - file transfer of configurations and software, and similar applications - cannot run without IP addresses as well as MAC addresses. - -Layer-2 architecture limitations --------------------------------- - -Layer-2 network architectures have some limitations that become noticeable when -used outside of traditional data centers. - -* Number of VLANs is limited to 4096. -* The number of MACs stored in switch tables is limited. -* You must accommodate the need to maintain a set of layer-4 devices to handle - traffic control. -* MLAG, often used for switch redundancy, is a proprietary solution that does - not scale beyond two devices and forces vendor lock-in. -* It can be difficult to troubleshoot a network without IP addresses and ICMP. -* Configuring ARP can be complicated on a large layer-2 networks. -* All network devices need to be aware of all MACs, even instance MACs, so - there is constant churn in MAC tables and network state changes as instances - start and stop. -* Migrating MACs (instance migration) to different physical locations are a - potential problem if you do not set ARP table timeouts properly. - -It is important to know that layer-2 has a very limited set of network -management tools. It is difficult to control traffic as it does not have -mechanisms to manage the network or shape the traffic. Network -troubleshooting is also troublesome, in part because network devices have -no IP addresses. As a result, there is no reasonable way to check network -delay. - -In a layer-2 network all devices are aware of all MACs, even those that belong -to instances. The network state information in the backbone changes whenever an -instance starts or stops. Because of this, there is far too much churn in the -MAC tables on the backbone switches. - -Furthermore, on large layer-2 networks, configuring ARP learning can be -complicated. The setting for the MAC address timer on switches is critical -and, if set incorrectly, can cause significant performance problems. So when -migrating MACs to different physical locations to support instance migration, -problems may arise. As an example, the Cisco default MAC address timer is -extremely long. As such, the network information maintained in the switches -could be out of sync with the new location of the instance. - -Benefits using a Layer-3 network --------------------------------- - -In layer-3 networking, routing takes instance MAC and IP addresses out of the -network core, reducing state churn. The only time there would be a routing -state change is in the case of a Top of Rack (ToR) switch failure or a link -failure in the backbone itself. Other advantages of using a layer-3 -architecture include: - -* Layer-3 networks provide the same level of resiliency and scalability - as the Internet. - -* Controlling traffic with routing metrics is straightforward. - -* You can configure layer-3 to use Border Gateway Protocol (BGP) confederation - for scalability. This way core routers have state proportional to the number - of racks, not to the number of servers or instances. - -* There are a variety of well tested tools, such as Internet Control Message - Protocol (ICMP) to monitor and manage traffic. - -* Layer-3 architectures enable the use of :term:`quality of service (QoS)` to - manage network performance. - -Layer-3 architecture limitations --------------------------------- - -The main limitation of layer-3 networking is that there is no built-in -isolation mechanism comparable to the VLANs in layer-2 networks. Furthermore, -the hierarchical nature of IP addresses means that an instance is on the same -subnet as its physical host, making migration out of the subnet difficult. For -these reasons, network virtualization needs to use IP encapsulation and -software at the end hosts. This is for isolation and the separation of the -addressing in the virtual layer from the addressing in the physical layer. -Other potential disadvantages of layer-3 networking include the need to design -an IP addressing scheme rather than relying on the switches to keep track of -the MAC addresses automatically, and to configure the interior gateway routing -protocol in the switches. - -Networking service (neutron) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -OpenStack Networking (neutron) is the component of OpenStack that provides -the Networking service API and a reference architecture that implements a -Software Defined Network (SDN) solution. - -The Networking service provides full control over creation of virtual network -resources to tenants. This is often accomplished in the form of tunneling -protocols that establish encapsulated communication paths over existing -network infrastructure in order to segment tenant traffic. This method varies -depending on the specific implementation, but some of the more common methods -include tunneling over GRE, encapsulating with VXLAN, and VLAN tags. diff --git a/doc/arch-design/source/design-networking/design-networking-design.rst b/doc/arch-design/source/design-networking/design-networking-design.rst deleted file mode 100644 index d92abf6b25..0000000000 --- a/doc/arch-design/source/design-networking/design-networking-design.rst +++ /dev/null @@ -1,281 +0,0 @@ -============================== -Designing an OpenStack network -============================== - -There are many reasons an OpenStack network has complex requirements. One main -factor is that many components interact at different levels of the system -stack. Data flows are also complex. - -Data in an OpenStack cloud moves between instances across the network -(known as east-west traffic), as well as in and out of the system (known -as north-south traffic). Physical server nodes have network requirements that -are independent of instance network requirements and must be isolated to -account for scalability. We recommend separating the networks for security -purposes and tuning performance through traffic shaping. - -You must consider a number of important technical and business requirements -when planning and designing an OpenStack network: - -* Avoid hardware or software vendor lock-in. The design should not rely on - specific features of a vendor's network router or switch. -* Massively scale the ecosystem to support millions of end users. -* Support an indeterminate variety of platforms and applications. -* Design for cost efficient operations to take advantage of massive scale. -* Ensure that there is no single point of failure in the cloud ecosystem. -* High availability architecture to meet customer SLA requirements. -* Tolerant to rack level failure. -* Maximize flexibility to architect future production environments. - -Considering these requirements, we recommend the following: - -* Design a Layer-3 network architecture rather than a layer-2 network - architecture. -* Design a dense multi-path network core to support multi-directional - scaling and flexibility. -* Use hierarchical addressing because it is the only viable option to scale - a network ecosystem. -* Use virtual networking to isolate instance service network traffic from the - management and internal network traffic. -* Isolate virtual networks using encapsulation technologies. -* Use traffic shaping for performance tuning. -* Use External Border Gateway Protocol (eBGP) to connect to the Internet - up-link. -* Use Internal Border Gateway Protocol (iBGP) to flatten the internal traffic - on the layer-3 mesh. -* Determine the most effective configuration for block storage network. - -Additional network design considerations -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are several other considerations when designing a network-focused -OpenStack cloud. - -Redundant networking --------------------- - -You should conduct a high availability risk analysis to determine whether to -use redundant switches such as Top of Rack (ToR) switches. In most cases, it -is much more economical to use single switches with a small pool of spare -switches to replace failed units than it is to outfit an entire data center -with redundant switches. Applications should tolerate rack level outages -without affecting normal operations since network and compute resources are -easily provisioned and plentiful. - -Research indicates the mean time between failures (MTBF) on switches is -between 100,000 and 200,000 hours. This number is dependent on the ambient -temperature of the switch in the data center. When properly cooled and -maintained, this translates to between 11 and 22 years before failure. Even -in the worst case of poor ventilation and high ambient temperatures in the data -center, the MTBF is still 2-3 years. - -.. Link to research findings? - -.. TODO Legacy networking (nova-network) -.. TODO OpenStack Networking -.. TODO Simple, single agent -.. TODO Complex, multiple agents -.. TODO Flat or VLAN -.. TODO Flat, VLAN, Overlays, L2-L3, SDN -.. TODO No plug-in support -.. TODO Plug-in support for 3rd parties -.. TODO No multi-tier topologies -.. TODO Multi-tier topologies -.. What about network security? (DC) - -Providing IPv6 support ----------------------- - -One of the most important networking topics today is the exhaustion of -IPv4 addresses. As of late 2015, ICANN announced that the final -IPv4 address blocks have been fully assigned. Because of this, IPv6 -protocol has become the future of network focused applications. IPv6 -increases the address space significantly, fixes long standing issues -in the IPv4 protocol, and will become essential for network focused -applications in the future. - -OpenStack Networking, when configured for it, supports IPv6. To enable -IPv6, create an IPv6 subnet in Networking and use IPv6 prefixes when -creating security groups. - -Supporting asymmetric links ---------------------------- - -When designing a network architecture, the traffic patterns of an -application heavily influence the allocation of total bandwidth and -the number of links that you use to send and receive traffic. Applications -that provide file storage for customers allocate bandwidth and links to -favor incoming traffic; whereas video streaming applications allocate -bandwidth and links to favor outgoing traffic. - -Optimizing network performance ------------------------------- - -It is important to analyze the applications tolerance for latency and -jitter when designing an environment to support network focused -applications. Certain applications, for example VoIP, are less tolerant -of latency and jitter. When latency and jitter are issues, certain -applications may require tuning of QoS parameters and network device -queues to ensure that they immediately queue for transmitting or guarantee -minimum bandwidth. Since OpenStack currently does not support these functions, -consider carefully your selected network plug-in. - -The location of a service may also impact the application or consumer -experience. If an application serves differing content to different users, -it must properly direct connections to those specific locations. Where -appropriate, use a multi-site installation for these situations. - -You can implement networking in two separate ways. Legacy networking -(nova-network) provides a flat DHCP network with a single broadcast domain. -This implementation does not support tenant isolation networks or advanced -plug-ins, but it is currently the only way to implement a distributed -layer-3 (L3) agent using the multi-host configuration. The Networking service -(neutron) is the official networking implementation and provides a pluggable -architecture that supports a large variety of network methods. Some of these -include a layer-2 only provider network model, external device plug-ins, or -even OpenFlow controllers. - -Networking at large scales becomes a set of boundary questions. The -determination of how large a layer-2 domain must be is based on the -number of nodes within the domain and the amount of broadcast traffic -that passes between instances. Breaking layer-2 boundaries may require -the implementation of overlay networks and tunnels. This decision is a -balancing act between the need for a smaller overhead or a need for a smaller -domain. - -When selecting network devices, be aware that making a decision based on the -greatest port density often comes with a drawback. Aggregation switches and -routers have not all kept pace with ToR switches and may induce -bottlenecks on north-south traffic. As a result, it may be possible for -massive amounts of downstream network utilization to impact upstream network -devices, impacting service to the cloud. Since OpenStack does not currently -provide a mechanism for traffic shaping or rate limiting, it is necessary to -implement these features at the network hardware level. - -Using tunable networking components ------------------------------------ - -Consider configurable networking components related to an OpenStack -architecture design when designing for network intensive workloads -that include MTU and QoS. Some workloads require a larger MTU than normal -due to the transfer of large blocks of data. When providing network -service for applications such as video streaming or storage replication, -we recommend that you configure both OpenStack hardware nodes and the -supporting network equipment for jumbo frames where possible. This -allows for better use of available bandwidth. Configure jumbo frames across the -complete path the packets traverse. If one network component is not capable of -handling jumbo frames then the entire path reverts to the default MTU. - -:term:`Quality of Service (QoS)` also has a great impact on network intensive -workloads as it provides instant service to packets which have a higher -priority due to the impact of poor network performance. In applications such as -Voice over IP (VoIP), differentiated services code points are a near -requirement for proper operation. You can also use QoS in the opposite -direction for mixed workloads to prevent low priority but high bandwidth -applications, for example backup services, video conferencing, or file sharing, -from blocking bandwidth that is needed for the proper operation of other -workloads. It is possible to tag file storage traffic as a lower class, such as -best effort or scavenger, to allow the higher priority traffic through. In -cases where regions within a cloud might be geographically distributed it may -also be necessary to plan accordingly to implement WAN optimization to combat -latency or packet loss. - -Choosing network hardware -~~~~~~~~~~~~~~~~~~~~~~~~~ - -The network architecture determines which network hardware will be -used. Networking software is determined by the selected networking -hardware. - -There are more subtle design impacts that need to be considered. The -selection of certain networking hardware (and the networking software) -affects the management tools that can be used. There are exceptions to -this; the rise of *open* networking software that supports a range of -networking hardware means there are instances where the relationship -between networking hardware and networking software are not as tightly -defined. - -Some of the key considerations in the selection of networking hardware -include: - -Port count - The design will require networking hardware that has the requisite - port count. - -Port density - The network design will be affected by the physical space that is - required to provide the requisite port count. A higher port density - is preferred, as it leaves more rack space for compute or storage - components. This can also lead into considerations about fault domains - and power density. Higher density switches are more expensive, therefore - it is important not to over design the network. - -Port speed - The networking hardware must support the proposed network speed, for - example: 1 GbE, 10 GbE, or 40 GbE (or even 100 GbE). - -Redundancy - User requirements for high availability and cost considerations - influence the level of network hardware redundancy. Network redundancy - can be achieved by adding redundant power supplies or paired switches. - - .. note:: - - Hardware must support network redundancy. - -Power requirements - Ensure that the physical data center provides the necessary power - for the selected network hardware. - - .. note:: - - This is not an issue for top of rack (ToR) switches. This may be an issue - for spine switches in a leaf and spine fabric, or end of row (EoR) - switches. - -Protocol support - It is possible to gain more performance out of a single storage - system by using specialized network technologies such as RDMA, SRP, - iSER and SCST. The specifics of using these technologies is beyond - the scope of this book. - -There is no single best practice architecture for the networking -hardware supporting an OpenStack cloud. Some of the key factors that will -have a major influence on selection of networking hardware include: - -Connectivity - All nodes within an OpenStack cloud require network connectivity. In - some cases, nodes require access to more than one network segment. - The design must encompass sufficient network capacity and bandwidth - to ensure that all communications within the cloud, both north-south - and east-west traffic, have sufficient resources available. - -Scalability - The network design should encompass a physical and logical network - design that can be easily expanded upon. Network hardware should - offer the appropriate types of interfaces and speeds that are - required by the hardware nodes. - -Availability - To ensure access to nodes within the cloud is not interrupted, - we recommend that the network architecture identifies any single - points of failure and provides some level of redundancy or fault - tolerance. The network infrastructure often involves use of - networking protocols such as LACP, VRRP or others to achieve a highly - available network connection. It is also important to consider the - networking implications on API availability. We recommend a load balancing - solution is designed within the network architecture to ensure that the APIs - and potentially other services in the cloud are highly available. - -Choosing networking software -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -OpenStack Networking (neutron) provides a wide variety of networking -services for instances. There are many additional networking software -packages that can be useful when managing OpenStack components. Some -examples include: - -- Software to provide load balancing -- Network redundancy protocols -- Routing daemons. - -.. TODO Provide software examples diff --git a/doc/arch-design/source/design-networking/design-networking-services.rst b/doc/arch-design/source/design-networking/design-networking-services.rst deleted file mode 100644 index 56c5ed3d42..0000000000 --- a/doc/arch-design/source/design-networking/design-networking-services.rst +++ /dev/null @@ -1,70 +0,0 @@ -============================== -Additional networking services -============================== - -OpenStack, like any network application, has a number of standard -services to consider, such as NTP and DNS. - -NTP -~~~ - -Time synchronization is a critical element to ensure continued operation -of OpenStack components. Ensuring that all components have the correct -time is necessary to avoid errors in instance scheduling, replication of -objects in the object store, and matching log timestamps for debugging. - -All servers running OpenStack components should be able to access an -appropriate NTP server. You may decide to set up one locally or use the -public pools available from the `Network Time Protocol -project `_. - -DNS -~~~ - -Designate is a multi-tenant DNSaaS service for OpenStack. It provides a REST -API with integrated keystone authentication. It can be configured to -auto-generate records based on nova and neutron actions. Designate supports a -variety of DNS servers including Bind9 and PowerDNS. - -The DNS service provides DNS Zone and RecordSet management for OpenStack -clouds. The DNS Service includes a REST API, a command-line client, and a -horizon Dashboard plugin. - -For more information, see the `Designate project `_ -web page. - -.. note:: - - The Designate service does not provide DNS service for the OpenStack - infrastructure upon install. We recommend working with your service - provider when installing OpenStack in order to properly name your - servers and other infrastructure hardware. - -DHCP -~~~~ - -OpenStack neutron deploys various agents when a network is created within -OpenStack. One of these agents is a DHCP agent. This DHCP agent uses the linux -binary, dnsmasq as the delivery agent for DHCP. This agent manages the network -namespaces that are spawned for each project subnet to act as a DHCP server. -The dnsmasq process is capable of allocating IP addresses to all virtual -machines running on a network. When a network is created through OpenStack and -the DHCP agent is enabled for that network, DHCP services are enabled by -default. - -LBaaS -~~~~~ - -OpenStack neutron has the ability to distribute incoming requests between -designated instances. Using neutron networking and OVS, Load -Balancing-as-a-Service (LBaaS) can be created. The load balancing of workloads -is used to distribute incoming application requests evenly between designated -instances. This operation ensures that a workload is shared predictably among -defined instances and allows a more effective use of underlying resources. -OpenStack LBaaS can distribute load in the following methods: - -* Round robin - Even rotation between multiple defined instances. -* Source IP - Requests from specific IPs are consistently directed to the same - instance. -* Least connections - Sends requests to the instance with the least number of - active connections. diff --git a/doc/arch-design/source/design-storage.rst b/doc/arch-design/source/design-storage.rst deleted file mode 100644 index cc9a506701..0000000000 --- a/doc/arch-design/source/design-storage.rst +++ /dev/null @@ -1,13 +0,0 @@ -==================== -Storage architecture -==================== - -Storage is found in many parts of the OpenStack cloud environment. This -chapter describes storage type, design considerations and options when -selecting persistent storage options for your cloud environment. - -.. toctree:: - :maxdepth: 2 - - design-storage/design-storage-concepts - design-storage/design-storage-arch diff --git a/doc/arch-design/source/design-storage/design-storage-arch.rst b/doc/arch-design/source/design-storage/design-storage-arch.rst deleted file mode 100644 index 64edcafad9..0000000000 --- a/doc/arch-design/source/design-storage/design-storage-arch.rst +++ /dev/null @@ -1,546 +0,0 @@ -==================== -Storage architecture -==================== - -There are many different storage architectures available when designing an -OpenStack cloud. The convergence of orchestration and automation within the -OpenStack platform enables rapid storage provisioning without the hassle of -the traditional manual processes like volume creation and -attachment. - -However, before choosing a storage architecture, a few generic questions should -be answered: - -* Will the storage architecture scale linearly as the cloud grows and what are - its limits? -* What is the desired attachment method: NFS, iSCSI, FC, or other? -* Is the storage proven with the OpenStack platform? -* What is the level of support provided by the vendor within the community? -* What OpenStack features and enhancements does the cinder driver enable? -* Does it include tools to help troubleshoot and resolve performance issues? -* Is it interoperable with all of the projects you are planning on using - in your cloud? - -Choosing storage back ends -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Users will indicate different needs for their cloud architecture. Some may -need fast access to many objects that do not change often, or want to -set a time-to-live (TTL) value on a file. Others may access only storage -that is mounted with the file system itself, but want it to be -replicated instantly when starting a new instance. For other systems, -ephemeral storage is the preferred choice. When you select -:term:`storage back ends `, -consider the following questions from user's perspective: - -First and foremost: - -* Do I need block storage? -* Do I need object storage? -* Do I need file-based storage? - -Next answer the following: - -* Do I need to support live migration? -* Should my persistent storage drives be contained in my compute nodes, - or should I use external storage? -* What type of performance do I need in regards to IOPS? Total IOPS and IOPS - per instance? Do I have applications with IOPS SLAs? -* Are my storage needs mostly read, or write, or mixed? -* Which storage choices result in the best cost-performance scenario I am - aiming for? -* How do I manage the storage operationally? -* How redundant and distributed is the storage? What happens if a - storage node fails? To what extent can it mitigate my data-loss disaster - scenarios? -* What is my company currently using and can I use it with OpenStack? -* Do I need more than one storage choice? Do I need tiered performance storage? - -While this is not a definitive list of all the questions possible, the list -above will hopefully help narrow the list of possible storage choices down. - -A wide variety of use case requirements dictate the nature of the storage -back end. Examples of such requirements are as follows: - -* Public, private, or a hybrid cloud (performance profiles, shared storage, - replication options) -* Storage-intensive use cases like HPC and Big Data clouds -* Web-scale or development clouds where storage is typically ephemeral in - nature - -Data security recommendations: - -* We recommend that data be encrypted both in transit and at-rest. - To this end, carefully select disks, appliances, and software. - Do not assume these features are included with all storage solutions. -* Determine the security policy of your organization and understand - the data sovereignty of your cloud geography and plan accordingly. - -If you plan to use live migration, we highly recommend a shared storage -configuration. This allows the operating system and application volumes -for instances to reside outside of the compute nodes and adds significant -performance increases when live migrating. - -To deploy your storage by using only commodity hardware, you can use a number -of open-source packages, as described in :ref:`table_persistent_file_storage`. - -.. _table_persistent_file_storage: - -.. list-table:: Persistent file-based storage support - :widths: 25 25 25 25 - :header-rows: 1 - - * - - - Object - - Block - - File-level - * - Swift - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - - - - * - LVM - - - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - - * - Ceph - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - Experimental - * - Gluster - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - * - NFS - - - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - * - ZFS - - - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - - * - Sheepdog - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - .. image:: /figures/Check_mark_23x20_02.png - :width: 30% - - - -This list of open source file-level shared storage solutions is not -exhaustive. Your organization may already have deployed a file-level shared -storage solution that you can use. - -.. note:: - - **Storage driver support** - - In addition to the open source technologies, there are a number of - proprietary solutions that are officially supported by OpenStack Block - Storage. You can find a matrix of the functionality provided by all of the - supported Block Storage drivers on the `CinderSupportMatrix - wiki `_. - -Also, you need to decide whether you want to support object storage in -your cloud. The two common use cases for providing object storage in a -compute cloud are to provide: - -* Users with a persistent storage mechanism for objects like images and video. -* A scalable, reliable data store for OpenStack virtual machine images. -* An API driven S3 compatible object store for application use. - -Selecting storage hardware -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Storage hardware architecture is determined by selecting specific storage -architecture. Determine the selection of storage architecture by -evaluating possible solutions against the critical factors, the user -requirements, technical considerations, and operational considerations. -Consider the following factors when selecting storage hardware: - -Cost - Storage can be a significant portion of the overall system cost. For - an organization that is concerned with vendor support, a commercial - storage solution is advisable, although it comes with a higher price - tag. If initial capital expenditure requires minimization, designing - a system based on commodity hardware would apply. The trade-off is - potentially higher support costs and a greater risk of - incompatibility and interoperability issues. - -Performance - Performance of block based storage is typically measured in the maximum read - and write operations to non-contiguous storage locations per second. This - measurement typically applies to SAN, hard drives, and solid state drives. - While IOPS can be broadly measured and is not an official benchmark, many - vectors like to be used by vendors to communicate performance levels. Since - there are no real standards for measuring IOPS, vendor test results may vary, - sometimes wildly. However, along with transfer rate which measures the speed - that data can be transferred to contiguous storage locations, IOPS can be - used in a performance evaluation. Typically, transfer rate is represented by - a bytes per second calculation but IOPS is measured by an integer. - -To calculate IOPS for a single drive you could use: - IOPS = 1 / (AverageLatency + AverageSeekTime) - For example: - Average Latency for Single Disk = 2.99ms or .00299 seconds - Average Seek Time for Single Disk = 4.7ms or .0047 seconds - IOPS = 1/(.00299 + .0047) - IOPS = 130 - -To calculate maximum IOPS for a disk array: - Maximum Read IOPS: - In order to accurately calculate maximum read IOPS for a disk array, - multiply the IOPS for each disk by the maximum read or write IOPS per disk. - maxReadIOPS = nDisks * diskMaxIOPS - For example, 15 10K Spinning Disks would be measured the following way: - maxReadIOPS = 15 * 130 maxReadIOPS = 1950 - -Maximum write IOPS per array: - Determining the maximum *write* IOPS is a little different because most - administrators configure disk replication using RAID and since the RAID - controller requires IOPS itself, there is a write penalty. The severity of - the write penalty is determined by the type of RAID used. - - =========== ========== - Raid Type Penalty - ----------- ---------- - 1 2 - 5 4 - 10 2 - =========== ========== - -.. note:: - - Raid 5 has the worst penalty (has the most cross disk writes.) - Therefore, when using the above examples, a 15 disk array using RAID 5 is - capable of 1950 read IOPS however, we need to add the penalty when - determining the *write* IOPS: - - .. code-block:: none - - maxWriteIOPS = 1950 / 4 - maxWriteIOPS = 487.5 - - A RAID 5 array only has 25% of the write IOPS of the read IOPS while a RAID - 1 array in this case would produce a maximum of 975 IOPS. - -What about SSD? DRAM SSD? - In an HDD, data transfer is sequential. The actual read/write head "seeks" a - point in the hard drive to execute the operation. Seek time is significant. - Transfer rate can also be influenced by file system fragmentation and the - layout. Finally, the mechanical nature of hard disks also has certain - performance limitations. - - In an SSD, data transfer is *not* sequential; it is random so it is faster. - There is consistent read performance because the physical location of data is - irrelevant because SSDs have no read/write heads and thus no delays due to - head motion (seeking). - -.. note:: - - Some basic benchmarks for small read/writes: - - - **HDDs**: Small reads – 175 IOPs, Small writes – 280 IOPs - - **Flash SSDs**: Small reads – 1075 IOPs (6x), Small writes – 21 IOPs (0.1x) - - **DRAM SSDs**: Small reads – 4091 IOPs (23x), Small writes – 4184 IOPs - (14x) - -Scalability - Scalability, along with expandability, is a major consideration in - a general purpose OpenStack cloud. It might be difficult to predict the final - intended size of the implementation as there are no established usage patterns - for a general purpose cloud. It might become necessary to expand the initial - deployment in order to accommodate growth and user demand. Many vendors have - implemented their own solutions to this problem. Some use clustered file - systems that span multiple appliances, while others have similar technologies - to allow block storage to scale past a fixed capacity. Ceph, a distributed - storage solution that offers block storage, was designed to solve this scale - issue and does not have the same limitations on domains, clusters, or scale - issues of other appliance driven models. - -Expandability - Expandability is a major architecture factor for storage solutions - with general purpose OpenStack cloud. A storage solution that - expands to 50 PB is considered more expandable than a solution that - only scales to 10 PB. This meter is related to scalability, which is - the measure of a solution's performance as it expands. - -Implementing Block Storage --------------------------- - -Configure Block Storage resource nodes with advanced RAID controllers -and high-performance disks to provide fault tolerance at the hardware -level. - -We recommend deploying high performing storage solutions such as SSD -drives or flash storage systems for applications requiring additional -performance out of Block Storage devices. - -In environments that place substantial demands on Block Storage, we -recommend using multiple storage pools. In this case, each pool of -devices should have a similar hardware design and disk configuration -across all hardware nodes in that pool. This allows for a design that -provides applications with access to a wide variety of Block Storage pools, -each with their own redundancy, availability, and performance -characteristics. When deploying multiple pools of storage, it is also -important to consider the impact on the Block Storage scheduler which is -responsible for provisioning storage across resource nodes. Ideally, -ensure that applications can schedule volumes in multiple regions, each with -their own network, power, and cooling infrastructure. This will give tenants -the option of building fault-tolerant applications that are distributed -across multiple availability zones. - -In addition to the Block Storage resource nodes, it is important to -design for high availability and redundancy of the APIs, and related -services that are responsible for provisioning and providing access to -storage. We recommend designing a layer of hardware or software load -balancers in order to achieve high availability of the appropriate REST -API services to provide uninterrupted service. In some cases, it may -also be necessary to deploy an additional layer of load balancing to -provide access to back-end database services responsible for servicing -and storing the state of Block Storage volumes. It is imperative that a -highly available database cluster is used to store the Block Storage metadata. - -In a cloud with significant demands on Block Storage, the network -architecture should take into account the amount of East-West bandwidth -required for instances to make use of the available storage resources. -The selected network devices should support jumbo frames for -transferring large blocks of data, and utilize a dedicated network for -providing connectivity between instances and Block Storage. - -Implementing Object Storage -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -While consistency and partition tolerance are both inherent features of -the Object Storage service, it is important to design the overall -storage architecture to ensure that the implemented system meets those goals. -The OpenStack Object Storage service places a specific number of -data replicas as objects on resource nodes. Replicas are distributed -throughout the cluster, based on a consistent hash ring also stored on -each node in the cluster. - -When designing your cluster, you must consider durability and -availability which is dependent on the spread and placement of your data, -rather than the reliability of the hardware. - -Consider the default value of the number of replicas, which is three. This -means that before an object is marked as having been written, at least two -copies exist in case a single server fails to write, the third copy may or -may not yet exist when the write operation initially returns. Altering this -number increases the robustness of your data, but reduces the amount of -storage you have available. Look at the placement of your servers. Consider -spreading them widely throughout your data center's network and power-failure -zones. Is a zone a rack, a server, or a disk? - -Consider these main traffic flows for an Object Storage network: - -* Among :term:`object`, :term:`container`, and - :term:`account servers ` -* Between servers and the proxies -* Between the proxies and your users - -Object Storage frequent communicates among servers hosting data. Even a small -cluster generates megabytes per second of traffic. - -Consider the scenario where an entire server fails and 24 TB of data -needs to be transferred "immediately" to remain at three copies — this can -put significant load on the network. - -Another consideration is when a new file is being uploaded, the proxy server -must write out as many streams as there are replicas, multiplying network -traffic. For a three-replica cluster, 10 Gbps in means 30 Gbps out. Combining -this with the previous high bandwidth bandwidth private versus public network -recommendations demands of replication is what results in the recommendation -that your private network be of significantly higher bandwidth than your public -network requires. OpenStack Object Storage communicates internally with -unencrypted, unauthenticated rsync for performance, so the private -network is required. - -The remaining point on bandwidth is the public-facing portion. The -``swift-proxy`` service is stateless, which means that you can easily -add more and use HTTP load-balancing methods to share bandwidth and -availability between them. More proxies means more bandwidth. - -You should consider designing the Object Storage system with a sufficient -number of zones to provide quorum for the number of replicas defined. For -example, with three replicas configured in the swift cluster, the recommended -number of zones to configure within the Object Storage cluster in order to -achieve quorum is five. While it is possible to deploy a solution with -fewer zones, the implied risk of doing so is that some data may not be -available and API requests to certain objects stored in the cluster -might fail. For this reason, ensure you properly account for the number -of zones in the Object Storage cluster. - -Each Object Storage zone should be self-contained within its own -availability zone. Each availability zone should have independent access -to network, power, and cooling infrastructure to ensure uninterrupted -access to data. In addition, a pool of Object Storage proxy servers -providing access to data stored on the object nodes should service each -availability zone. Object proxies in each region should leverage local -read and write affinity so that local storage resources facilitate -access to objects wherever possible. We recommend deploying upstream -load balancing to ensure that proxy services are distributed across the -multiple zones and, in some cases, it may be necessary to make use of -third-party solutions to aid with geographical distribution of services. - -A zone within an Object Storage cluster is a logical division. Any of -the following may represent a zone: - -* A disk within a single node -* One zone per node -* Zone per collection of nodes -* Multiple racks -* Multiple data centers - -Selecting the proper zone design is crucial for allowing the Object -Storage cluster to scale while providing an available and redundant -storage system. It may be necessary to configure storage policies that -have different requirements with regards to replicas, retention, and -other factors that could heavily affect the design of storage in a -specific zone. - -Planning and scaling storage capacity -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -An important consideration in running a cloud over time is projecting growth -and utilization trends in order to plan capital expenditures for the short and -long term. Gather utilization meters for compute, network, and storage, along -with historical records of these meters. While securing major anchor tenants -can lead to rapid jumps in the utilization of resources, the average rate of -adoption of cloud services through normal usage also needs to be carefully -monitored. - -Scaling Block Storage ---------------------- - -You can upgrade Block Storage pools to add storage capacity without -interrupting the overall Block Storage service. Add nodes to the pool by -installing and configuring the appropriate hardware and software and -then allowing that node to report in to the proper storage pool through the -message bus. Block Storage nodes generally report into the scheduler -service advertising their availability. As a result, after the node is -online and available, tenants can make use of those storage resources -instantly. - -In some cases, the demand on Block Storage may exhaust the available -network bandwidth. As a result, design network infrastructure that -services Block Storage resources in such a way that you can add capacity -and bandwidth easily. This often involves the use of dynamic routing -protocols or advanced networking solutions to add capacity to downstream -devices easily. Both the front-end and back-end storage network designs -should encompass the ability to quickly and easily add capacity and -bandwidth. - -.. note:: - - Sufficient monitoring and data collection should be in-place - from the start, such that timely decisions regarding capacity, - input/output metrics (IOPS) or storage-associated bandwidth can - be made. - -Scaling Object Storage ----------------------- - -Adding back-end storage capacity to an Object Storage cluster requires -careful planning and forethought. In the design phase, it is important -to determine the maximum partition power required by the Object Storage -service, which determines the maximum number of partitions which can -exist. Object Storage distributes data among all available storage, but -a partition cannot span more than one disk, so the maximum number of -partitions can only be as high as the number of disks. - -For example, a system that starts with a single disk and a partition -power of 3 can have 8 (2^3) partitions. Adding a second disk means that -each has 4 partitions. The one-disk-per-partition limit means that this -system can never have more than 8 disks, limiting its scalability. -However, a system that starts with a single disk and a partition power -of 10 can have up to 1024 (2^10) disks. - -As you add back-end storage capacity to the system, the partition maps -redistribute data amongst the storage nodes. In some cases, this -involves replication of extremely large data sets. In these cases, we -recommend using back-end replication links that do not contend with -tenants' access to data. - -As more tenants begin to access data within the cluster and their data -sets grow, it is necessary to add front-end bandwidth to service data -access requests. Adding front-end bandwidth to an Object Storage cluster -requires careful planning and design of the Object Storage proxies that -tenants use to gain access to the data, along with the high availability -solutions that enable easy scaling of the proxy layer. We recommend -designing a front-end load balancing layer that tenants and consumers -use to gain access to data stored within the cluster. This load -balancing layer may be distributed across zones, regions or even across -geographic boundaries, which may also require that the design encompass -geo-location solutions. - -In some cases, you must add bandwidth and capacity to the network -resources servicing requests between proxy servers and storage nodes. -For this reason, the network architecture used for access to storage -nodes and proxy servers should make use of a design which is scalable. - - -Redundancy ----------- - -When making swift more redundant, one approach is to add additional proxy -servers and load balancing. HAProxy is one method of providing load -balancing and high availability and is often combined with keepalived -or pacemaker to ensure the HAProxy service maintains a stable VIP. -Sample HAProxy configurations can be found in the `OpenStack HA Guide. -`_. - -Replication ------------ - -Replicas in Object Storage function independently, and clients only -require a majority of nodes to respond to a request in order for an -operation to be considered successful. Thus, transient failures like -network partitions can quickly cause replicas to diverge. -Fix These differences are eventually reconciled by -asynchronous, peer-to-peer replicator processes. The replicator processes -traverse their local filesystems, concurrently performing operations in a -manner that balances load across physical disks. - -Replication uses a push model, with records and files generally only being -copied from local to remote replicas. This is important because data on the -node may not belong there (as in the case of handoffs and ring changes), and a -replicator can not know what data exists elsewhere in the cluster that it -should pull in. It is the duty of any node that contains data to ensure that -data gets to where it belongs. Replica placement is handled by the ring. - -Every deleted record or file in the system is marked by a tombstone, so that -deletions can be replicated alongside creations. The replication process cleans -up tombstones after a time period known as the consistency window. The -consistency window encompasses replication duration and the length of time a -transient failure can remove a node from the cluster. Tombstone cleanup must be -tied to replication to reach replica convergence. - -If a replicator detects that a remote drive has failed, the replicator uses the -``get_more_nodes`` interface for the ring to choose an alternative node with -which to synchronize. The replicator can maintain desired levels of replication -in the face of disk failures, though some replicas may not be in an immediately -usable location. - -.. note:: - - The replicator does not maintain desired levels of replication when other - failures occur, such as entire node failures, because most failures are - transient. - - Replication is an area of active development, andimplementation details - are likely to change over time. - -There are two major classes of replicator: the db replicator, which replicates -accounts and containers, and the object replicator, which replicates object -data. - -For more information, please see the `Swift replication page `_. diff --git a/doc/arch-design/source/design-storage/design-storage-concepts.rst b/doc/arch-design/source/design-storage/design-storage-concepts.rst deleted file mode 100644 index 600ddce8e5..0000000000 --- a/doc/arch-design/source/design-storage/design-storage-concepts.rst +++ /dev/null @@ -1,329 +0,0 @@ -================ -Storage concepts -================ - -Storage is found in many parts of the OpenStack cloud environment. It is -important to understand the distinction between -:term:`ephemeral ` storage and -:term:`persistent ` storage: - -- Ephemeral storage - If you only deploy OpenStack - :term:`Compute service (nova)`, by default your users do not have access to - any form of persistent storage. The disks associated with VMs are ephemeral, - meaning that from the user's point of view they disappear when a virtual - machine is terminated. - -- Persistent storage - Persistent storage means that the storage resource - outlives any other resource and is always available, regardless of the state - of a running instance. - -OpenStack clouds explicitly support three types of persistent -storage: *Object Storage*, *Block Storage*, and *File-based storage*. - -Object storage -~~~~~~~~~~~~~~ - -Object storage is implemented in OpenStack by the -Object Storage service (swift). Users access binary objects through a REST API. -If your intended users need to archive or manage large datasets, you should -provide them with Object Storage service. Additional benefits include: - -- OpenStack can store your virtual machine (VM) images inside of an Object - Storage system, as an alternative to storing the images on a file system. -- Integration with OpenStack Identity, and works with the OpenStack Dashboard. -- Better support for distributed deployments across multiple datacenters - through support for asynchronous eventual consistency replication. - -You should consider using the OpenStack Object Storage service if you eventually -plan on distributing your storage cluster across multiple data centers, if you -need unified accounts for your users for both compute and object storage, or if -you want to control your object storage with the OpenStack Dashboard. For more -information, see the `Swift project page `_. - -Block storage -~~~~~~~~~~~~~ - -Block storage is implemented in OpenStack by the -Block Storage service (cinder). Because these volumes are -persistent, they can be detached from one instance and re-attached to another -instance and the data remains intact. - -The Block Storage service supports multiple back ends in the form of drivers. -Your choice of a storage back end must be supported by a block storage -driver. - -Most block storage drivers allow the instance to have direct access to -the underlying storage hardware's block device. This helps increase the -overall read/write IO. However, support for utilizing files as volumes -is also well established, with full support for NFS, GlusterFS and -others. - -These drivers work a little differently than a traditional block -storage driver. On an NFS or GlusterFS file system, a single file is -created and then mapped as a virtual volume into the instance. This -mapping and translation is similar to how OpenStack utilizes QEMU's -file-based virtual machines stored in ``/var/lib/nova/instances``. - -File-based storage -~~~~~~~~~~~~~~~~~~ - -In multi-tenant OpenStack cloud environment, the Shared File Systems service -(manila) provides a set of services for management of shared file systems. The -Shared File Systems service supports multiple back-ends in the form of drivers, -and can be configured to provision shares from one or more back-ends. Share -servers are virtual machines that export file shares using different file -system protocols such as NFS, CIFS, GlusterFS, or HDFS. - -The Shared File Systems service is persistent storage and can be mounted to any -number of client machines. It can also be detached from one instance and -attached to another instance without data loss. During this process the data -are safe unless the Shared File Systems service itself is changed or removed. - -Users interact with the Shared File Systems service by mounting remote file -systems on their instances with the following usage of those systems for -file storing and exchange. The Shared File Systems service provides shares -which is a remote, mountable file system. You can mount a share and access a -share from several hosts by several users at a time. With shares, you can also: - -* Create a share specifying its size, shared file system protocol, - visibility level. -* Create a share on either a share server or standalone, depending on - the selected back-end mode, with or without using a share network. -* Specify access rules and security services for existing shares. -* Combine several shares in groups to keep data consistency inside the - groups for the following safe group operations. -* Create a snapshot of a selected share or a share group for storing - the existing shares consistently or creating new shares from that - snapshot in a consistent way. -* Create a share from a snapshot. -* Set rate limits and quotas for specific shares and snapshots. -* View usage of share resources. -* Remove shares. - -Differences between storage types -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -:ref:`table_openstack_storage` explains the differences between Openstack -storage types. - -.. _table_openstack_storage: - -.. list-table:: Table. OpenStack storage - :widths: 20 20 20 20 20 - :header-rows: 1 - - * - - - Ephemeral storage - - Block storage - - Object storage - - Shared File System storage - * - Application - - Run operating system and scratch space - - Add additional persistent storage to a virtual machine (VM) - - Store data, including VM images - - Add additional persistent storage to a virtual machine - * - Accessed through… - - A file system - - A block device that can be partitioned, formatted, and mounted - (such as, /dev/vdc) - - The REST API - - A Shared File Systems service share (either manila managed or an - external one registered in manila) that can be partitioned, formatted - and mounted (such as /dev/vdc) - * - Accessible from… - - Within a VM - - Within a VM - - Anywhere - - Within a VM - * - Managed by… - - OpenStack Compute (nova) - - OpenStack Block Storage (cinder) - - OpenStack Object Storage (swift) - - OpenStack Shared File System Storage (manila) - * - Persists until… - - VM is terminated - - Deleted by user - - Deleted by user - - Deleted by user - * - Sizing determined by… - - Administrator configuration of size settings, known as *flavors* - - User specification in initial request - - Amount of available physical storage - - * User specification in initial request - * Requests for extension - * Available user-level quotes - * Limitations applied by Administrator - * - Encryption configuration - - Parameter in ``nova.conf`` - - Admin establishing `encrypted volume type - `_, - then user selecting encrypted volume - - Not yet available - - Shared File Systems service does not apply any additional encryption - above what the share’s back-end storage provides - * - Example of typical usage… - - 10 GB first disk, 30 GB second disk - - 1 TB disk - - 10s of TBs of dataset storage - - Depends completely on the size of back-end storage specified when - a share was being created. In case of thin provisioning it can be - partial space reservation (for more details see - `Capabilities and Extra-Specs - `_ - specification) - -.. note:: - - **File-level storage for live migration** - - With file-level storage, users access stored data using the operating - system's file system interface. Most users who have used a network - storage solution before have encountered this form of networked - storage. The most common file system protocol for Unix is NFS, and for - Windows, CIFS (previously, SMB). - - OpenStack clouds do not present file-level storage to end users. - However, it is important to consider file-level storage for storing - instances under ``/var/lib/nova/instances`` when designing your cloud, - since you must have a shared file system if you want to support live - migration. - -Commodity storage technologies -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are various commodity storage back end technologies available. Depending -on your cloud user's needs, you can implement one or many of these technologies -in different combinations. - -Ceph ----- - -Ceph is a scalable storage solution that replicates data across commodity -storage nodes. - -Ceph utilises and object storage mechanism for data storage and exposes -the data via different types of storage interfaces to the end user it -supports interfaces for: -- Object storage -- Block storage -- File-system interfaces - -Ceph provides support for the same Object Storage API as swift and can -be used as a back end for the Block Storage service (cinder) as well as -back-end storage for glance images. - -Ceph supports thin provisioning implemented using copy-on-write. This can -be useful when booting from volume because a new volume can be provisioned -very quickly. Ceph also supports keystone-based authentication (as of -version 0.56), so it can be a seamless swap in for the default OpenStack -swift implementation. - -Ceph's advantages include: - -- The administrator has more fine-grained control over data distribution and - replication strategies. -- Consolidation of object storage and block storage. -- Fast provisioning of boot-from-volume instances using thin provisioning. -- Support for the distributed file-system interface - `CephFS `_. - -You should consider Ceph if you want to manage your object and block storage -within a single system, or if you want to support fast boot-from-volume. - -Gluster -------- - -A distributed shared file system. As of Gluster version 3.3, you -can use Gluster to consolidate your object storage and file storage -into one unified file and object storage solution, which is called -Gluster For OpenStack (GFO). GFO uses a customized version of swift -that enables Gluster to be used as the back-end storage. - -The main reason to use GFO rather than swift is if you also -want to support a distributed file system, either to support shared -storage live migration or to provide it as a separate service to -your end users. If you want to manage your object and file storage -within a single system, you should consider GFO. - -LVM ---- - -The Logical Volume Manager (LVM) is a Linux-based system that provides an -abstraction layer on top of physical disks to expose logical volumes -to the operating system. The LVM back-end implements block storage -as LVM logical partitions. - -On each host that will house block storage, an administrator must -initially create a volume group dedicated to Block Storage volumes. -Blocks are created from LVM logical volumes. - -.. note:: - - LVM does *not* provide any replication. Typically, - administrators configure RAID on nodes that use LVM as block - storage to protect against failures of individual hard drives. - However, RAID does not protect against a failure of the entire - host. - -iSCSI ------ - -Internet Small Computer Systems Interface (iSCSI) is a network protocol that -operates on top of the Transport Control Protocol (TCP) for linking data -storage devices. It transports data between an iSCSI initiator on a server -and iSCSI target on a storage device. - -iSCSI is suitable for cloud environments with Block Storage service to support -applications or for file sharing systems. Network connectivity can be -achieved at a lower cost compared to other storage back end technologies since -iSCSI does not require host bus adaptors (HBA) or storage-specific network -devices. - -.. Add tips? iSCSI traffic on a separate network or virtual vLAN? - -NFS ---- - -Network File System (NFS) is a file system protocol that allows a user or -administrator to mount a file system on a server. File clients can access -mounted file systems through Remote Procedure Calls (RPC). - -The benefits of NFS is low implementation cost due to shared NICs and -traditional network components, and a simpler configuration and setup process. - -For more information on configuring Block Storage to use NFS storage, see -`Configure an NFS storage back end -`_ in the -OpenStack Administrator Guide. - -Sheepdog --------- - -Sheepdog is a userspace distributed storage system. Sheepdog scales -to several hundred nodes, and has powerful virtual disk management -features like snapshot, cloning, rollback and thin provisioning. - -It is essentially an object storage system that manages disks and -aggregates the space and performance of disks linearly in hyper -scale on commodity hardware in a smart way. On top of its object store, -Sheepdog provides elastic volume service and http service. -Sheepdog does require a specific kernel version and can work -nicely with xattr-supported file systems. - -ZFS ---- - -The Solaris iSCSI driver for OpenStack Block Storage implements -blocks as ZFS entities. ZFS is a file system that also has the -functionality of a volume manager. This is unlike on a Linux system, -where there is a separation of volume manager (LVM) and file system -(such as, ext3, ext4, xfs, and btrfs). ZFS has a number of -advantages over ext4, including improved data-integrity checking. - -The ZFS back end for OpenStack Block Storage supports only -Solaris-based systems, such as Illumos. While there is a Linux port -of ZFS, it is not included in any of the standard Linux -distributions, and it has not been tested with OpenStack Block -Storage. As with LVM, ZFS does not provide replication across hosts -on its own, you need to add a replication solution on top of ZFS if -your cloud needs to be able to handle storage-node failures. diff --git a/doc/arch-design/source/design.rst b/doc/arch-design/source/design.rst deleted file mode 100644 index 39391bb266..0000000000 --- a/doc/arch-design/source/design.rst +++ /dev/null @@ -1,50 +0,0 @@ -.. _design: - -====== -Design -====== - -Designing an OpenStack cloud requires a understanding of the cloud user's -requirements and needs to determine the best possible configuration. This -chapter provides guidance on the decisions you need to make during the -design process. - -To design, deploy, and configure OpenStack, administrators must -understand the logical architecture. OpenStack modules are one of the -following types: - -Daemon - Runs as a background process. On Linux platforms, a daemon is usually - installed as a service. - -Script - Installs a virtual environment and runs tests. - -Command-line interface (CLI) - Enables users to submit API calls to OpenStack services through commands. - -:ref:`logical_architecture` shows one example of the most common -integrated services within OpenStack and how they interact with each -other. End users can interact through the dashboard, CLIs, and APIs. -All services authenticate through a common Identity service, and -individual services interact with each other through public APIs, except -where privileged administrator commands are necessary. - -.. _logical_architecture: - -.. figure:: common/figures/osog_0001.png - :width: 100% - :alt: OpenStack Logical Architecture - - OpenStack Logical Architecture - -.. toctree:: - :maxdepth: 2 - - design-compute.rst - design-storage.rst - design-networking.rst - design-identity.rst - design-images.rst - design-control-plane.rst - design-cmp-tools.rst diff --git a/doc/arch-design/source/figures/Check_mark_23x20_02.png b/doc/arch-design/source/figures/Check_mark_23x20_02.png deleted file mode 100644 index e6e5d5a72bac6ae7b181acae33e5029093081163..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3064 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 diff --git a/doc/arch-design/source/figures/Compute_NSX.png b/doc/arch-design/source/figures/Compute_NSX.png deleted file mode 100644 index 0cd2fcf42d6f9860b0db7ed6aaf045e836727d2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53701 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π5zJz-SszRQ)tPipmO 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 VXXNqow<;Kbz|+;wWt~$(697I|nHB&5 diff --git a/doc/arch-design/source/figures/Compute_Tech_Bin_Packing_General1.png b/doc/arch-design/source/figures/Compute_Tech_Bin_Packing_General1.png deleted file mode 100644 index 1d66bace4ae7c5dc7994a93d399666597e0d3d35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35600 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 diff --git a/doc/arch-design/source/figures/ELKbasicArch.png b/doc/arch-design/source/figures/ELKbasicArch.png deleted file mode 100644 index a6eb8f30a625ed1f6b770637d1b8e1acc4875feb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9302 zcmds-XHZk$*YAS`Y=DXssVXW>%8%Y7AWfPSiIfl#5vc)8=tTjkQlv`n9YSvb0)q5T z2%$(vAOsA(MZ%5xpWicg=D9QX#eH+17n!s7T6?ec-8*~Eob@>;CeBJ%1l^NZv@#XCJ!MF3)u6-Vyeu~5^~ z0suT70s!v=0Du#+>HQi202cxP)?Weu(q8}oM#mJSt}NMc?v;k>6Tn$eWPb~}ciBGZgp$_+t1pqj8)SoCAxJ_-Q_El^Y-ORhJ>?&li7o|=s^V&}Z3o!aXEf;lJ zE{0L~Jf}nVW!aZS59#)boU_b8t@V{{rsJcu)hT4TI?|Bedau|se%9RM)Fw#NMa z*Lws-H|_uHMkE!Iq32!A0zi%FcWAc)d@E=V$+DmxB-r0Va{6ZMbU!tnhm4s2Z()nO(KKmU#Nvm|s_R#te=>Wug#E#Br zaRBDy=isGJWSGDWjL`Zl`pu&(1W|R)7&gPtk!cG^+bKp+>6S&X#Mfo}ZuquyWSet& z2m87~Cn?Kj=$*f>PYwKR61xCqXu?1J;>cnv-tr9@!BKc{mM9Nsr8OIdOL1)Ga5D=& z;nd{+=KDm6%JU>&UvccdX69+)*2A>|q#4d*%j&i2l<0%TgICog;k(5Z87*Uy72AI5QeX2-E=wmx#MYu zivPiJQxT-zlaAr__DwDhV|zWww`7XkB8fb&pQ;O~Va&ZzB4P;Pk|q>OkTf-rj2fKv z%bxwAmYc+6SPX*R`is}*eqG8x8&P4r1}6&%Hu7x0{J)@D1~45o!mBm)vD$8{^$|lk zX>yCBpu9Z@%TR%RYA**@2h9SrD#6d#1@%GuxsR9SH)uoNr#dH6*DcJC%u+;MS#ZnG zptH>}e_(6a_M32!W#4|yKg&Tucex-SlbdE;`(kxbAS4Y2e_w@hu)K*aM52i~1>_>< ztr0d_?{?Lss*1yhXU$j<3uyWlhWy!lwDBD(hMNMR?B7~|c0Yz8pi@|S-?xRJlDQ`h zY71?y_6piw5;Lzd8WHejYY4=?9(pugNagz;0=M@d(8wsWnLdcryDfpAYFv3x=gT(| zC}O)QHci^nehWb-7=$D!v#1nHiN`vOgpP(Iw!)#szxds5d1gS2a2|5eBv9NxZ`6@1jL^>=T!R=yWEcid>Sg^72@Zxoz zK4|{ZEO@6k(0D7iAUBK1+W~gu10NQ@uWBi>ZCsbJMYXU24v(K>YtcnE78zd(<9^Oa z78D{14Ok19f88z`!0c2TM@ZP-QevFQTgL@3#FZgz1knm0QsDN93k>{xy24ros{>^A zDa@|>c=JH}gv9hC3qQ0n3fMZQI*1-yL=_taNT*t!N#o07TZ-{6@%x?)RP$^RV>L0Z z>0m~f{rIk=S;iyhFGH3Kf&O%oF!04}0wOd+xe%{+3#xUa>MLYU%o`*mvv_)Vcy68| zp(J5++_I3F*uh3ZAd7`Nf=BGeH}v6`yX#02$q*oW4k^!aS%Q_72IehJ z{oT<~a(I98nq&Ldg~!wS_kKFUakpjAf+md98t^mbNn`bL$b5GcXy$`4OCjce6c z6QuksVlJ)+!{bI_Twj`j8Mkysi|W_SNg+|v2{O5~Ncp%A3>oE3#vL{Z{-SC#KEqe=E^zD_V!gIwH(d=+Dk~^p-d7NA z<=W!ii5kux~)$*ZQZ3Pcv-Sn45I|`vKbTht9Rkz_%AeCJE7dmKNvNPMA!=Ue#qU;WN^_>XU@5 zzsBotwO6=IJgzY!vZJF<5r2h5&abBQgBl#!;sQ2Yjs6I32D+}kMtN;p+A=@1Xt|0` z2&c}#&oqD;e}ECjXd!wcIPs5Q!oaHh(Klt3+r5KEQSZqK0CF~=%xmlTVZza(`UGL| zPgV~QYX2)2Vyi>Hd=7)_>!cjsPxB)9>zK}malLHm`y2dpqJt_O>Vg#XX*j*9_Gg1! zEd)8d7VRLvY>2s0f75mNkkj>`Bzq+|$s0{9FQ%2B+cSW${z(2z76_i0rb?GYGpZiH zd3}D(gZAL?E0^|Ohc4>&BmhZDQz8pn$=_@Y*%|02YrwMp@YhMH!P5Q>Hs_o|EAKRl zO6H#XME)y$yE4hCq=*h#ULutguv7Yjmt-;5{-$DIKVb*0+T_a;y4$^l4_5-bCH|8n zVxf?B7B}OwcH}JqDNmQ*nc0~hI15FTievK$;a-oihqqz5)eX~Sx$Im$wa;hR4*_1S zNf4!fyaG@Gxh=}OPvv&zkqZO|7`t3Cs5IOHpBLvK&nKn z+94772F4FQ>C}YVfA(>Rz16WU@b0HQ)>(T)$kOH|WTx+HjgHE0^f)|9EP)v}RjaSd zG9aJ0D_*gSzCp|WMSkr>X6$LkM%j)yM_yiJdqJpnC{wLsdgw!j!#m5cIQynzV?C*> zn}S5(#q^3SQ*c(td<)F+ZErC$txCND-)42+17~XAU?>nC?Y!N;T5=7RCM>a@wS<~L zZy6+5jxfoTo>rBrQ|!#IgE&K6$9l;pM9I?1en&C%oAv{7A@qcpp@sJDaL^7sUUlBj%9_?;g@|Z@*Bq zG!zQ!Ql7cuQ;u5@@_IjeQ4Bi_3t74Hlb6`xBhu^u(HHNtzFHZF=&QkR7B3gr4faNR zibv7-ildWtFZCUIEXUt3!N0NzR|ccIY*6%*_t{PRv*mlKVctyBT@KSRqSeNsnCzmX z^T3XeITcy2)U$oN&`yw;<0Y{WqX5Nxq-RFU1IWEoe}u1QoBYeU0WRcUHXCCtoCjMD_tmkb}TNoW|Mr)F~MKHgyDG?=Nw{^`~_7%z>f#Kz>4Xa)B z*V-_@Mn$VhzQeND5nm&G#-5|xxz!tX8zsH&fRkk^pOmN|sb zh9hf91v$uK?gYWvyruVW1G6!B_nX@h?v@~1FfGvaMvd~q_tA(uiNr_iQu^-%&dL$t zLk}9?B%dG;%cP1fju~QAo?+do!TB+$^moEC|EL<#=d672bmJ-&KpqT~rl;+O&vT`t zcqvJ7$NO9QSk;p3oh(FxU1yBLvO{@>8jr83Kv-e%%bcqkr1dQP@mTtJO+q;=CZNGm z;i7owr7AR_Qb+Z}n}EcHI+RFpum z`>^=ly>BHi)>$`xJjIUTbP{6G}!WS5&ZlU(cft3laQXU@rjA z%Oe2+4~O=K@HW>+hYPdGOC%(>wibU^gx^EFjg8xAW*ox1JtaaJx84xuF3M}xviFsK zTVDj6MX=nQ7NdrW9KT}4MQfd9E(e&{I0ki18^WaT0}pr{LE9+AhfN6vh!ZToIM&x*)1bBZBv5oh|18mk7P_-oJN z`5=526BvWcj|%I=KL1C&x{TSEyMHy5&dU@u@a|5@2z*9|;)QfSAdyQHzWXV|t>^ST zTF`rYS`#Hi@Yk2LdbgIudm(tTb`-rw)vM+8BiZGoEjq5E%mm6*)qCr9r{-j&YeV~u zKk~ka%sPKCIkN(NyjjiPAn4&kDLF)%Z>5@BeF^3pp&>bu<`c8r!WiK*z?1PTyu-{X zvKUc_t~GMMpI;KTBQSToSeK}om%9Jn0+w1xEkC+nixqitULUaW_KZczU&(Ro`dRtX z*z)4agbLQ7wovSwq>L)PD%)X(y&wAM08{uRt zX7QsJ*dJc8Nzv2|p?-c@XLP2RG!m}OAfM@wb@l=qko+i4<*Tw20MPH;28VvTS;-tW zk+*dBF-;5SYDLFR=&c<+dY<*u zmf25qEcq4XZQ@Z-#f>7Yaj63SxiQgx#gmlPi`xDS8s z%BG6x%aX9~=uFUpR1Nn(b?914diu-v!J5BLlpqNxztaH~J~pS_bZ0HWH`#4DwcMs+ z?pRwD9$FBlnS5OO5gKspUY%?QbWCdsb%$tZ9?mP6z`{4 z#G+)!hg+9V=IQnw8k(fJhNLRJ&LXJIP8Wj?bAm|`yr!Ge-)^Doo}@rte60VZAWG6? zSxmE1{U?BD;J*s3defCop+Uz>I{ZZwmlh#c&R?v2kxO{2J!?UtMlPni=MBxTo08u6 zgIbQZf3KuEv1{b-Qw%wi!fax;2+f6|g%m!1_iyRD<6wNY7EY{FZ^& z;zOc#TX6_aL3x=&6D{OH9F%2h0=Ssg#j%MOQmx4~tJo}Z70r%p(Ws)7yduN8ItjD| zlS{S6M8R8icJcR9o4S65d0}*XlY8vatS9D`z${l-cLod3e0#DDI{9rck7X?%Kp#vw zzA0^fGtDupYgfI{vtl_CIARk)ooiAp>eM~rab$RGvc-MST18|8m#K~(VruMaBM#k( z#;E>;3gNoM{*}Z)YWXoSBc;H**6X)d?<^Q$9~#~jy#sbwO0%e+tOQU=jq9mNk5@<- z7#Yi`sV7~xFrUjKuM+*A%}3sXAUbI zfR-{2dDczUkrTQNQp47`k1~=CC6jAT0v|jXH{z1Z{;!Op{8-;V@7rS0fi*c+$ z3U<}82RP|ts&B<}6Ooi$rn+Ou1(!IlOz{xxfbq|cD(N*waO1SqT?+8-`*2?iys?~D zp-;B$;q-2L2_m&A*_jb``ZIdn(y8AI5hQ!q;eX5aE5SM2L4?zHa`@GU)2)-9K4P%9 zY~6u~dGj}(ssl{45r4R_q4M#v)ad{%Rs!hWjF@~_VT4OgJPcD6B-9+9I-Z6l#$fid z-QA`@PH>*kI_7sSRZS;6-t0PuHOnt$WcYR0xr1Gvb&faf6!>1hV&f@l-i_eNTM5{Q zz7GW+YVq){+Xy6Yc@}vnpcE;khfjZHd}8!Yu2N*90F6?naZV)DGbnMOI^y+Cq2mk zSfzp17efbw?o5VR6=&n8?LbN=lmq`&(u62NZ}fyy51y$VGh||oTR*vB5B6yE(!ZFB zPB^xMXw+=>7B|R@@MW#EvT4znn%aKF5^I)UF!~x4AYW3%Dbve;^r_lW4-7nA!qgqa z+!fqr!(bGxlR&J}f>I%*Ib^o73rmA>lYNc0Bj3q&D_LG#`f@aMg?g0xhSmQ50*vR; z!1l_T-CU?{TyWUO$u68s;A+cV38mtulbAY;E! z?ng)J&~cD0OENg=k5F1j#%Im1s$3?zpNvDk^9^C&d7sq7tM|Nz^RJ6T8}=)%)GoD3 z&GxIl+i+(pOUBaCA`#yTb#W#{tq|&6Kpumhdf7dF1M><0!CSqhjL@p$59E7#5mWhN zRVAI56O^0|&fhTTv6$iEmzRl%%(>;x@MbgY-PFD$32#$E;!{_Fl5&IvW9_?)T0IU1 zza1BtIfV^k2G``IkeU- ztd~bv8I4-`D7j2uZ|Q@x*;lT4IQP4;)LIwZXLZT+^lMS5N>qd{YB7PnU*NT4Xtgbx zTRAS>vq#nIr_s&t>?Iy`&WvLpnFt`1u@ysKc!ioD$;#32mk!9`k)BnIPCCSa(#unh z8d~mQSM1!gXn@P;oz)ml)H*|{GR~y`m5~}}$?i(>C~IRYm3z{&7p(10uQR~|Eke`s z0e|%*$yP*+Q)Ltv)ql|NVhOUu9qDG|saIb;v)HqvK%m;Gm8_FjPah8NUkng7>V&G- z>S9kTuhPg3j#%5iz`l`wiYWcrTMg6luWcJdu29u19eYYISEMljO*C8U)id8@+m^YM zPOD=L_Pf3)nE52cZ(J%a4DZ1wF@(cE7Qk5Y7)H;8|d9Y$)9 zsJTyff$sCO8M>oqY+A|biqxUbVxqWs{--OstMM1#;-cfNhGP5l`RReJ4)xe14pxr4s5dq+Tju_n!OQ4)h6*KLqf!7j0J|l!`yuJ14Imj@FSD&D>FGcr;_D zo2j}&j&QYm&OuX3<5aaX3a(1zLOk%%YlK?(0Uhi za2M~l9;=R(AAy_nY>6T~yjN~ZNedLq*+cL3){;e)DsLDqU2fSscjKwV)9~cGRq4Mg zm%4xts>}$3TtU9U@~wk;xye}ZCdO73tmsik#|E3rk7Ud*53Z}X_`pP~oN;I7Rp<14 z=xImuj+b0Q4z#MwlCJS1i<$Xn4yUt6L{dr<}?b1wZ6i;Z9O&tWgW|ROVG>KZ*=iaz7VVzj2*Hu;M-CYfU&xumY2t@@Z7% zH5kzX+5V^D={`S)@v|C};;pl@lTnVwOU^8luFVKS;Kop53s4toDL`Cmcjooc2wSb9 zB9l6pH#zRmD|d-SZ|@&ApAR^QZtSh$rP}K?o=g`x@~_Ei&fONT|M50?Vljc|!Yb}$ z*vn^N0oQ1xnv0~LTSboBxR<6^`W%OsrbwSCw@u%knFfBb#)Jpn9Nr%hKmNQbfv!7Q zbaf}K!cV8oq|@;p`*f=tcVP-f>kXD^YA2QMX_@%4k;R^*z(KE>NAk9`nOA#vO3BY& z!~2Ce85gZ~^ucvSqd)A5ipCW3>zlW%Zv1a{HTy9ib;Ov`5Xsdm{0DqFeiHOqmrvvF z`;Dpy-zZQ=A@Y(RD*JzPEr*TGuymY1-G7{2DAZBmzs`t_wXpP!f1SN%sH4e$ov4ka zu=Jn*I{Rse4rcTJb_ZpM4zo*FI8q+}mFVj;=em14;b{KCUr|(BcvNy^LpK%Ivp=Hc z19ZH%IS+cg=wmHa$h&5v!^F|_uwYKHw&T;d79(EM+T!LKAc9#nEget64v*DH_vBe zDVdT=H|#Y8Z7&89$bow%*4zG~Pu3zTd_hXN&Pwrpi{k$fO?@Wzl5FQr`NXp5&{Blv zUo5*olIBeq=xI_Fu0;y{VVd$GGPcZSl3cs&xQTV--*BQ1SkWdMaI9+1>*C_kKYVm| z;$%_%c>alAEt321yw7ohX zEBr;p!pmWdJ>)1JwbDRxlzD#e+|qi=&(}e8cOkN394Xg(&Xduneo~qCS2j}Jb)rLT zGc5>M(I|&5C&O?QG-$~_)#M~at=x%vhs@+t2l2*csh6T8$iUrTSvz+v*x!rHo;#gH z)FG+YqQuCQ9#(?iS%3Y$&e;-(y-mTBzU{IF3JhGVp5a0pP zo7*7GzB@`T&Obgt*WBEE3EThRI;qDoYK#2I;cYttuZtMb)WVKmCvC1O1WQVOnt{pL z9h3@@>zlKQvp`_y)*aeyS_1!ceE>wEDtR2~vdhT+@QzYWGuls@*4*eR%Cc_kaRJ-j^o^32=tHQZaA<=WZq04_}+h3|O>r+gKH zg%m@A9?9(a738gz#MNo<)Vy2OXA+NYGNZt(?JkHmASV=7Hlzk~uM&XzAB(+{UwG;! zl?z-dE~865#IX40J(vm0yAj}OQ#_z zXhM=q!5eqp9fWJ(-rkMk*;5>1cf#@MpOl4Ljn!)Zh>Up^ti)!h<{uB+w_534H|lOZl7_#qy^s7X#P<8VTU)v8aiIu^BKuf*aR(eVOzlIIQH z4vP2aIMIp?yCvX-Wmx{^isq+8;*GJ%2m2UG%K39H=o%b9^v%KsS43-YvxR> zyJ;_3HEve5NlOSg5c5`#b2F+ouTHX1!ZDO`&#YaUJF4xS^HZ&$I*E%zU^#KaVn4;TC2WPRc0|ps=!k9R3(A(K>V@|&8kqQc zEAb!cjp>be$1Muf$03N%TW^yWqfXYeSzR>6#Qnx5*HePVCTaRvq2x2MBN2n-V#`mH z&P_(yOvqModV*Q5a&8TxS(6HU%+iUU9)Ul%@5;Lk2A+}&%!pYAo0``YzvJnB$uH#4 zwC7b!HEXI1CP_cKh@?Dw$g?)p)7T4Fz^)9`)b`z5I5q{OC|*Ibhoc&K{TOl)8oEtl z%Khv6G}XVCr>=;Ne2cF%7?8O7O94Bde%~5Qh-&_ZrfR+W7zA&A`JdD1!XmX( zi>a@*Ui`DBG*7_Jc_if>V217g4~?a>^W5i^yd7PbX2{>$Jb)>`fW0<{SxQ?tTaqsT zVWEE{_=QCHg(M7w#H7Wfq(!CpgoLDpgj&mAF8ps3?4hr%-?;yuCsb@sfXNd8>dM+r J5Q;DT{uiT<)KdTe diff --git a/doc/arch-design/source/figures/ELKbasicArch.svg b/doc/arch-design/source/figures/ELKbasicArch.svg deleted file mode 100644 index c069045898..0000000000 --- a/doc/arch-design/source/figures/ELKbasicArch.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/doc/arch-design/source/figures/General_Architecture3.png b/doc/arch-design/source/figures/General_Architecture3.png deleted file mode 100644 index aa1c6399ae5e65bafebd3f2f243af66357cea13e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81080 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

obQKw*~;(L8srvSAu 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�r$5)z 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 diff --git a/doc/arch-design/source/figures/Generic_CERN_Example.png b/doc/arch-design/source/figures/Generic_CERN_Example.png deleted file mode 100644 index 3b72de12fb689d795a38d095dfb1d5c497b356e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24082 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≪|9eK0W3Xu7>4p7 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 Q9q>m%Rz)W3tkKQ?2c$ehpa1{> diff --git a/doc/arch-design/source/figures/Multi-Cloud_Priv-AWS4.png b/doc/arch-design/source/figures/Multi-Cloud_Priv-AWS4.png deleted file mode 100644 index e73dff23b0d64e5872b320f993be3c436907285c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60564 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

pMqSh&E9oPr4HVah~s!U9;%_=u5V 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 Dcrt5+ diff --git a/doc/arch-design/source/figures/Multi-Cloud_Priv-Pub3.png b/doc/arch-design/source/figures/Multi-Cloud_Priv-Pub3.png deleted file mode 100644 index 1082761ef03b21a8454a2967480bffd7e61879d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55106 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%0DS^HdXlA@b~=F>+^i04zm=-lC0$$^hwzXb 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 diff --git a/doc/arch-design/source/figures/Multi-Cloud_failover2.png b/doc/arch-design/source/figures/Multi-Cloud_failover2.png deleted file mode 100644 index 3ceb1e26c7d036bdf3c9e8958070858ababaf4ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55685 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
yLnZ}7B32i%mg)^gU&?-vhidE{|<2~ zaHB8c)kb};Qxp3mWI12d)hVJEc20m84}_l@+(teKzo@fcrE4v@9&n%`_U+K6TYk){ zeZ|*@k)jeFGQ6=-KhgpaAP?X~6Y!2Nv6nxUx39FyI!!vsk-f#fC1qFdy8v4c<={}+}EOL|_O-M5`wR=BsOY>D=(6ar< zg|!H^x*qcOYyoctg#IgF^b)=#Y6RlrDki~5zwPTpPRUw7UIcFWb1wh@prSAt^ffz~ z@kpSpN;3pE|J2A4aGa-pkT#20l(m-mp)n-z7)LA}~$Jd{LjQvu(61=*i(slP+<--k4Hd5aa4gUq`B%0BS z>S}>T2zC270`va3bH||o#*(1Rsu)y-=R*`QccmNOy8ClB6C2$&4}E0}bU`Dax3gSn zzc9dBph>B{55pp~Bawbw@jv@Q3da?y=vxlFM2hm)2{h?cf#dkNz%asA7y#am;R^>K zS_Qbte`ni8-X=@2fcl|LWA@Ylg1yR#&)qwd2VPGY8U+d$^B31OKIBgiH}qwSDWPfr zB$DH?>N?ES7!CsvT;{Rr`!R1cZEdM~@D|R3?$mcf#`-g3IOw8dE zGVl)Gn`~LE{6?sOS%3V^7jY}#_4wYn?5ydSlG(^1qYrcVwCu~bou?GtT zc3|OvZ3@_^{kNsBkZ=dxON62bIsnaj^W!dx%1ddk*4u8RQt!*B==tT72wC!DfE#m# zh6zet)*eW&gkqU}e+bbBGx1#KDe%Ci<`%u(#P)sOPM&xY`2TVB)=^n*TimE3C`h+} zbW2GHNOvP4A{JdLE!`m94N8ZCN=tXQgdh!qh;&QWosZ|7@4NSovB&;nk3D#w_j%V^ zbIxBapXQI3+s zY0Kl;Pi>C=8T26()a#hgq@*$F+9Ydr$~txcy?y_YOBrSqH-TrFbD;hDcz2Fe!wkzr z?W1lg0jrdq*c47t*S`b{AG1b#%n#pnMv9_@l5!=05oLAKTj9<`iM+4qP139Eh3&%v z3sSinic#E&u`8%wsQ{UbF>Qy{r#%URwC;JydLdE#4O6QR{UqQk~loYh3=YxnV}u@+~QE{C7gJ zq)owz170b{MR;j(P<}ryW4M=@^{0TMfqzs6=UA%Jr27}Tly>|3^aJ>kzZ3Ov%&9Sn z@345Bh_JwTk^pFcOUGZBe=xF=X*3n#fJEy##1@#Io9M^wR=#p`?B3XOBdZar@0b4O zQ8s&7led0%5AIGL?4TPR9U z$hm9@N2ZcnO)Uim@lO1Ej`tFvp>;};NgbF;A>6*j!4Q1V&XdzGZ?FWti11Q+dM98! z3L)9a?e`zlI#%AVezUaA@+AoszLx6J(ar+vYR4+6QMqGZwpXrF{GBxJ=dLgD&6Wof zABK_kJZcYFOabh#b5(u32pxZUs57k Tdl0G`Kwwfqy_sV9+R-hsI zgR{ri|2(iqh>2XWslkpOWp2w!YAhOEeCxC3hnP4PjqmyHUh1cbf0z**FVIOM#x}1 zfZYTT%{_Ma^`Y#*B$@*QLCy7hPd<+<%6$^ru%>dWH;SZFyz)c^pIJ=1bRW%4WkY)aL+BPZUbq_FzLiO)$SX#^86EbYPo-K< z!Ry;f>n(Vj`P+~(NANJA@j__*{9dN`<^CA{z|r0A_vr?tOn};Q6nJV&|P-rRGC)^~Z>u?wvWCty=jP z`UQ7S^4!z`d@;hCcNiI=va-7Pom2c$a02TPG4|G5Y)T;&BNewq#-1e*a*@5(2q$Wt zC^mR&%jlv}AP=M1gOYGPg2XFXqD?p5!Ozj=zqpN9!yQ(&o)qi*)DW^0#QiS|fV6JA z1rvb+88R=8!! ztu>%r6MWiQAqN0#AWUqejWyjH!LR!4KYZpou}ii--6^J_#rV7WLm5OZ*(CEiRCA#3 z$YPyKWPd_;@AYUL=mX7Js&qDaPf3J;7XT}%0AD6{sk|;Yo-ze`NC*-nc>0&nMc3IJ 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 z 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 diff --git a/doc/arch-design/source/figures/Multi-Site_Customer_Edge.png b/doc/arch-design/source/figures/Multi-Site_Customer_Edge.png deleted file mode 100644 index fd57baea939ebd2e46cdecdb26e289a6b8b57203..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69595 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 diff --git a/doc/arch-design/source/figures/Specialized_Hardware2.png b/doc/arch-design/source/figures/Specialized_Hardware2.png deleted file mode 100644 index 907a87e8795fe55618c43f008dde9fa57e2c863b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47000 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 diff --git a/doc/arch-design/source/figures/Specialized_SDN_external.png b/doc/arch-design/source/figures/Specialized_SDN_external.png deleted file mode 100644 index 5fa3e9493a9bc6f20884c15f8cd64e2966acbb82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30509 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%0DX-m1U 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%0AwdD^82^*L=u0qx1mKgR#NcS8p_y~WJgUZ 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 diff --git a/doc/arch-design/source/figures/Specialized_SDN_hosted.png b/doc/arch-design/source/figures/Specialized_SDN_hosted.png deleted file mode 100644 index 42913e04f2d0ff9c363e17416e783df2ec5f47b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22521 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

DDC9CU%a(HFhAUz z^RziHE{Wc#=oGmPe$0C?yBx~z2%S1yRfSVc7B}zfGLrj zWOZDjppda3f6!2wpYZ|QT(Eho?WV1y$ZzIo&un7uXllXiW$y$^LqQ38@q>@{7H%fw zUiNkluKZp?l>bWbgU^tkSt!Z>6>+l_qSRJWC6{n?u^{JS=45826n;rgPA=$TZpp7M zDgEE-;F}PowVRt0KMRYerzf)~2eYG#6$=|5A0G=VI}1BI6DYyt>h0iW;>G0PO7)*c z{?B$KEnLl9Y@FO|9399Z?V6Z6y1NNcQbIcVAOHR{PB$CN|Jjp+>wl*OCddML!otSP z%JM(j22}+izw%2s+B>;exVnP&g}DU(mHgj+`=9;%r@X4QqnjgG1s5ALIR`fj7f{*F z1Ts2d_W#!Ye=qTWZA-<)#sbXxUv0Mk*8X3A`)_$c7Rbc^mxcJxD*yWxEVJ-SL6-lq zWx_9OciGpWphThMB*or(LI3=Mw5Ig#Zb*xO!y~(qc15o5^W|Ig!DUG?~+7y}q$8h_3qW z{kzdm6qd326^wZfpZQ!fxgDPd_}5vV@+>FL@}B=5@Rh3$D7K^rhz~JniVe(7dahWgt?s?S)ZR#`mQXO$LJFg%Ls#kkvbGdQc$L`xm|s0&hOOiD_Hk_f#~S#P^(6TX4PxgALCI{ zW70NVkGFb0Kff(muhbP8mJxAU%T9?r3$FWJO&DIb7QiKonxZ3C)arLV$@rX9U2-~Z zJh)x%Y~lvT5U`Y_GULd4rAdM^O*7a`}J0yIoGKU zQB*?C+8s9uq}Rc}>Cm}NRw|Y>))M^$21txN4PG2M;4x~m4zTe^8drMk^fw(|A8{Bq zt#^oI>@l%nfwHD+jH0w&RGtP44r}z9g^!f@n#|!aeS+SAgRr)Q_0e>tM1hJ*YAm;`a z#sn|b{di50O1k|h7x7H~ew@Sqt#)h0=#9f1QgE$%-y9NJ2kO5wW&~s6sB_;T|7n;? zCT{xsH`@+%QMnGEn`6zj(G-TG{wSw*WH{)7H z{!%5%Uw+BYH9MQN?nE^(FdpJnyxmPEi`uGl|r9V zCKF#$s+7ge>2az}$oC7C-|u&+R%WMvPTu4f0W7%v{-|A>nS7OwIEjRI-#fZen>m4w z9d{XUpYSk)sA8SMPFLy)eqW!i^m%wN_U{pY=5hUjVzxVo3a^4Lr(dPJKuxA8m-wjX zP{uG6i59rdZ}s%|&)`W7+P7OUBL*A!ZyuB~*O-S8P<Uh3PA(n96l4NMmvFm4EyZ6=X{%Hp6`q5&Q z-fWBOK_#b0!PW0C41O8~J}&S-J)Dn(%*U*KHAAo% zNgP-!s<)b|%`o}(cY!SM^TnvyW@m?{u3h&L!mkSyJQl-WYq7)JT^v-2HJ0UYy<(z9 zKSr>3#kDv5?+iw0?w^^`fK`VRAYeq;Dzy_thW86x~=qWS)$)ZandLU2pYDA6@cyzj4V?jJqR z&uXJY0-yd;QhT1QSx6WCu2L(YUDYB(O-C4HVRMMO92bR_zdrndKri!Se8k{E)I0qW z8JBU(uRRj+tm`=dcQAaM`o03}WC$i0r2bda7rt15i!A(ZeOa6~;{Fe}m%hXa-`+12 z#*1XDm<`6V@~7u z`QNj)Z`bo09qrfB9m?}0;8J3Si2g#6Mfv!!8-HSRceYtMW#8nDTyl^TILRO3mPD&` zOV1?u+bcWXeu_0qUhM9G=MXe@hO_lCt@yu>!7QTw zNrJVp1TJ)W?k5P#E9WI{`zcy=y0b#<$%BM+CAPX?emm)+if!ApX@jvua${&?Bf^hv zDu#r2pR~r%tGXw$c+{F4RL~jnOVSqxVXO}mdB1M0bo#f=bOi>En9*A)EW z{1@1uRbyZ0#>N$E!9V7A*xn8A-E+RaU!dRp`{ycA=IO7udZE~c9gD+-3qCx{=hPjq zHV=DLLyaNae3$*vLf%cr^V1cMD#7`XA@MvSB+;O7U6^Ecekqi!l51kVy0Ni*g|tYU z`Pb){-Nud>;~&nKzpgVNy$z60p|=wOm54$sr{VrUvCHu*BC_t|Zt|eP!~~^^0HoW0&8T-%P+8Os=#( za@lImr80Gmc6#(NF}7lqz%>wM>$90)rM9?OSS9uD#kezY!933z1=9FR$uoT;)q?p7 zfE0U%&+;JS!?kznMu0D+O25|$53P}WlOl|h)ZMg%!MMTWI~aL#XvDB8iwvl{a;dif zX;DDi>(Ii^A!VE6wiZD^7@{n>-TFn4mXjBhCdsOr4BMtd z=V4N4{DE;U9FB}voXKUY9{v&saWxbHO?l41tR>o{FG9zg(Wvt?x81Vw&(#&{%}yZ} z-Nkuj^?xRvp9UST7gLz-ym|MP&e?6-dFQUqP8Z_Ys&0d|7(gx|l^giy4+k5{HV-}`}>Nha1WQ4Cp)|`AB&)}GQe!3Gmo~4nSu$;~n+qoaVDkcm3dx<^i zZRB%AV|d=yM%{KbDIm4%u-d2ucL`4O%E`3;%F|Iv4mGNNx6oxj*4tu5f?KhSk4rmc zGDiM4DF+tjzN5)+65$OYK4`aDAcs;S7W7VTg4iEk8@AQM-Uu*TJ_ePvEW;eNc9VmF zN5!I!$5<+p0x}-+o`uWZh_Ih(-5rH)qaDG|wU#--aLe&@F@O=ioz`nn^1B^=LhP}e z$c&m&P$V`XT9PDfTKC98oR%T=4wH@}9;pyFq%}(}W|fl0KOp9HA_wqBVNfl>>SVDB zw)&?Tjx-Mh2a>_%@2~}F_p$pz^U%z*D)r&#@dff zYIP#6KNJa?{Qm5xB}nQ!i{*&3Dm9yrzw%V=6 zLvQ+P%MH+xJ&lwW@v%Zp=Y2Vj7PuNCOEIOIRhf1^)t(Ndb4K8D&5{K-W2DmRB35S$ z`TpYHCaW8|4xMlJc0GFPEun#Fohq(1Kj>ud{J|;T3Uihwq(_^idY6h|dTf6jJbb(YAVy{=o~-GWi8JTxK{NvP z{^&Uf5M5LH=Y`r#s$dxi7-b`zMHzX5bJt*tS*#>EgMHyXB^w2b04lvFK`KZxHZ5}@pb;Z(F^$!^c7p{S) z9{o*I!4y?(!C76lqzZGXC~D9^v!uL+G`5$2lnR#cD=n~fE$}<}z$g;0t3!BXKOJC< zmpUxE^bj8z6ZCS7w*s9BLffic*RVBj^nwo&S4ouR2sJ79e-K=u}E-)AFGnT5!(dUfp zJYX@AkxFabOo~pJ7{Hu92fb7{7{5jVW%OkMFGXfBaMS@n`T+1%eyd_DKuxy9VX84w zFW!}jK?o~4J@nF{PQ**uDGeA0+FYO1k#FajsTRMOP9QUt@8$#Zn#?#N0CQ~q1RBTF zY~82>PbQJTc+06!56~hZqY!0>UQ)a`6m@qg0u^f&M4x#^3iape6gw^cvp~FbfN1k^ z2m#gwP(2uZul$mp=Kp60U|N%kQ;)3$ zFVrhm+b=aRCOPUffhz(T-2Yk^kf++&n^a)Gos_|nxLW!^NHQ}u7*KdhbyFo+Lsvl7 zzi`ZPfZ9$JV8+aqZXFi?w{baI;c8 zYsyOYD|O-YTGe()@}D*GC6PvRM7j{w1iY;YLFa11P95FpOKra-+8{Hq=SI3s4kQa@8gwtPA&y5B={KfRN-Z(F z`G-Tz&fhy98-P8f*C>u*L0i}Q_ZT$KHU|7&f}z*;3m?!z*}DqO026Bn1CS?24|bzr z41B!N(rx#0j`jt{x>EbD`#pkB%3*+S#LmD+jXd#i!2&lu$RXa6A~&e)fxXEId4cS+ zo_;Xd9Sn$p~x(DMSeJ!W#ZW0s9CT?nVOhx&mJBY>|6OQxzPgvM3&- zg7j%QQuf~JBGbRc;eeco%h`Fzxlab?K25WI17bcWfd=F@sGtG4Z0ewlf$pWxDkucG z*|P*JN>yO#6d=dXX5hpgQV7@r1*>+>Z;&HLvqfl9W_#LvjkL6?31dRJMTkuLO%ibq zt6-%$I_SwUv0{~rX>3pLzhn6ScPc?&|BtsHZ2vDHp17IZ979Y4Iy1zkpy07i$RIUG z1s&_qE;ZWfrj9gK>Ve_^Uo8ZfnD&v+7-V8}kU__BeikAAcW*}E^f`J8U>8PGs`cc% znV}yysgqok#@PR)x-0zKi~r38k?%P)o8Vsq|gu+ z48e*S>@(k%3>5&sE@U$sRP70QA;J89P<8U}!+BSkPQB&z7)#gm@5|jXx1-s&jdnV% ze}Db9FFjsXc+FLH(ELR-|Jf0EXUQyX`}}y}`wuU1=p_O0C;*%j{cOy}X{|0SH!KK< z2y|ZrJmcytCyuW(+2nE#Q%JF_ebkn)WL2KC0JKm`V>UR9Bn!wj9f;<`O^*xP?|Obx zfXG%5$GBK+z`!&r>76;NQAGFBmC0%cOV;r@3n2G7AlO+0)RoNVYAJ)WSGpOaxerVO zl9HZV2iBWXs#wW#CZ-C^4=BL`XU(D94r{MFOgW!E!^tp>0ir(J6N+Hrhnd9Zbz%)U z_>Y*fj!X)QiUm?F00uy=bira#K`IR#wQfpt?#t2Z2ZR{`4Va@8s6AYt;e)9h&&rNn zS#6lyxnf(N@aj7NqD6NwMGL0N$_va)%9uv`{YAx@_y)Z$OY{~jdM878`Icz=&Dilmh152$V2cg2JUK7)5~4yw z7^h@Jw^_W9G#Gj#d*FG;T`4eu*AqOO({m~!O8)oPc@@>I(GDFqnqRNkv6M48B@31S*+mdA&0AqITUL zBfrb=ek1Swl=(Uf1)v$#7Lo~gFmBIP8wj*SKzw+xD8w(oLQi}7!lkkpDN97Y`X*c; z9b2ay#)r%OE;=0&ON!DJ#@1ls-02^~kiY=Ib3p)@(Q>(D&=!tPN#Fii;7 zeG#aOu?Fp4Gv6H+%2N<|5IJLP0s-peH0gz7V`9*6u0@pX2b}lw^shdznP%tR!kef| z)v%ImpXiOiXMdX`lP=Hmjq72mcw>#$?+U4mdA{czTDqTs9GBvCg=`_ZRRFsY0oLqMZKfF;Zrb4I zYEunPyh$vY$Y0glnSpBk7Iv{*vDe@T#hNO^3#)6aZ-EZ%I6gRxW1G2GFCTE_-Sn3SWBCE`nMejPzhT`6K1^C+tWe=5@60xye*zplwU; z_xEyWzEq8>qKF~kz6j0^b2_z1Ni~y^H@KpvGZUgnGVyr1u}J`-zo-c5g)yR(D<%RK zuhW%PoJl^>`DzFERW}Q*2{|L1!x7PR`G7fwZj4kkHU?HB0;!kiD9rYUsG{?}Fy#H^L-PO#@~eG3FkEO)e$mtPv?v3evA%kxf3C|uyk|9)?BWC=ml5>q$> z*R`-nAuW0o9j?IYj&KUyvJ7L|M^T|W49l{cZ8!F-+!RzGyeePF^!O)=&;yEf<#4ED zhMA|6vb99PP`yUGgbjIcIW!a;NIaFs)L#_6J22T?{$`uju)KwG-}!K+kRb9|{DFwB zpNy?ae6}6`GgY^HZdcGEtuSG-s4gN{a^1tD7V)j#aOBwm5W1*A+KsRbdZMu`=6W4` zE!qv-;I*pGr4L$qL(dS8sP+!z79qfVuTw<(R(c1}i)jCU0BGz75d|Nh3RVC2tJ@>- z$;6xB4_HpIwK2SM9S}Hplo_Oa5vJV%ICdm&Xi!O3m0lC3ZuPO0uw=TAu0Gbqd~B?{ zSRUQSZ?3F)h;)ojn+P?UGl<{oP=eX@KjqaKAD}!~@dm^GDB6{S*wDukk2(b zi&iZ&r@?*E4Po%4mI=X!m>jS6o~=Jb+=HF8?g5Fm$zZ@3v`{%Phbuj7$bRWQKJ72> zioOv!B)wjX1hDaACkT2iUeCzABDk?ZX0HyOJdU<`f4q}2I6ppk-C>`s0}V!q_vB``E08l zL=ZX1+H(7JLIy$^bg9s6`0=f(iA@qCt^3xNCWN3|%0bzRWhjuylmHI^WeNe5 zsks!MDGbs)fawAF10V4uMllb1`5GenX#sx8(3ByJGMKnDx(5n~>W}e^H%6U)aIi4H zY1_u&h*UEf07;_^gm)Gn<4FWkFKm{oNl=M-Kh?gP1(Alm-@vn!0<`qDTA%NJ zD)31n`?d#!LkWQVo&vFrfHE_?pDxdgy3Q8Lz5Qw`^(Tf@=zH|tny4Z0oJ9y^e$yQM z1Kh2TfD_;ZMnfpd?ax(>SVFG;H%yqjt-;j^lpL`i6ku8_CG|Bw3LxJAt3TIZGiToJ z4D>Kc6g(zfYS!EHO%*IU<-%7a{Hg$u9ac4M*jxu(5^LxMkN(Yr&UZB1!ycKl_~;?JVpo>ccAw;c%{zbDn|J$s!5B( zIzPQ;Wjb+RChK7Yke3Z_DTXQBxTu*S@FXTQ&$omk0Erm*zS;&>m_~}A+QgidUP%R1 z<4pm#i3R7*Y@pJxBNK>ha`?!S-Oih}K!gb)lc@Y12_+U* z&D9IE&QiOTy1LjJ5Y5wD74SICJ@0zX1}BZyIbDp!sI%RDZEd;HK5Idjb2sEM|K{QE z)zsJ?7H$&Mg#HKj*jmN*@)=Bt!=57-*2rpL>S<$iOzqetB2a#PWEOb;(q5N zi{vAsw^_(AiZ(xv0+EF5&RmPD6``0*2 zk!40m&~d2@ttW(-NkNPHri*&5j9j#?byic%IRI8+MJThzrR#bf6{Q^}$dD$iI4OQN zw!_K;$7cSUt(MLW8j~s_Tf-T;q2HyHnnp-2lUjb5of+*q&wTki1>L6Xmq(j^SFwko zrsBhYMY#~ml@E`z?t+Xopw7R48zbzx?ua;}gAX3_LSJtzgWXsL4mF950-NrCRJAE4ju|LdS@S3k_i>H*>ZEn8t&< zF2iWC*5qiEQN;Z*ya7G22aaa;6(OhWAmzl>=coL4Q4TFHx%;| zMS)(|Q3Dw11`ObC!>CaIrCS86{?`{n)GJ`Zq0zxZMO$~P@${LoGCSR?xhtT>AhJN? zQ)~qimI2;OtFw%jwP9zMoj(GEhYys{e?=}uV*lfGh^KoqD&Zk6A_?j#r?}uyHd!^i zNU8j8!Ko3>gplYk* z2xEM$JO;|-Z048j8c>W7$?x}eWSIL3#p}!G7;~_eg8Ffswd2tA@T9e0IiXW^2I^o{ z^+bbQ%~5CQa@Pu`*4j-uS9Sv86gk8}h1bwL=s>=U z&|UNe@f*)4qS( zdiI?TN{pbqwjnU3Ux5I%C-3x81TVq7X5Hy|9J0C)84O%WyjSbs+yMCvBDjj+#e$F< zBtQ=)@>Yh>@P>5Z3z0)}u;o-X$t)KeH;?5weyiJ&y6i!u&nyH#0L=_STYLZ+Jz6pf zMCGbT|C07$4f+JgC&_GP(moeG2p!8z`puupHLH$s@Fqz9vsDvA^nOddl`cS~Jp#UB zdu(1>c_Nc5X`}+;Psy4%UCZK@_ zELQ=lX3as4=v=Xq4WKr^rqk%(MGwZ2*wO$TL2clslZa>o{+co zmP(o2_L=>=w*Lz#(%n(X7L)_YG5JVXw6c5qxt3+Lek_KE4jas zCxKx0`(k@=ZzKsdAVCNJCH8CMO1-AZ?{`fmk;t>6abnqgNO6VPFURI*zL!Hu19B%D2Hl^Ja&_TS~=2_FjB)AJu4eq}jkErJ# zS&k@n5>Av%qd^Clz3c#)Cz2v*Rq0wJGwEqgmg%?DrJ?(Q&{%9v;M0orTJzUSu$~Hp zez9aC8_fsVzLk$6Prv(`0Up~UoDzPh>|uI)qFsyHrXRAO@SROyN%rj-4*gqJpb#lUldPi!MuK(qi73aXJ&dk|}b8eU!H1cMwU znWhaN1^}HCj+bgw)ORgQgDeF1&=m-&uMUzXD#jowM$hgKz?1QWX2!U z1AsEAo?vz5oJqn+1U%52h;5c@P3q$1s2vPOxjQe$$tOV5MOgtuB%ZQ-Rd7g+35aXY z_a`hnq(O>%xv$vvdYKe^@!4rB0kFj8IIbqBk4dG91+n8Uwu*7d7FNX@KiEMeAdunk z`&^gCn7QC(;WBD(rJ$I_r&EO2O0)tN3cB5#A4qGhg@AlSd7N+9OVjMthzMWylc)m5EJNTrnZl69diMPrLkCDk zV&^6q8zFh4IL%!(B}TXI#4V6`hHNAmD1;xRz!hIw`5`)Eru%#+H4HpQ5v7uDYu7(2a?GFuQE;m0B8b5 z(ng0b(V9B;WcHf#t3mqJ2AfbN2IKY&z2rf_iOmLHe6Q_$VIzJNQQ|k?s=STp$1xi| zyO~Vf+p}ats*CpK1X>ZD^}!GXQ%p_B>wf??RRmC}D$wi704Sa>l*1B_4<3^IVjBN& z4O9f$Y}KSiV%@1}ZsTA%>u}R$XpUJy3TZ~wGN3g53VyEw$Wy7~W~bOW+IJ-2z*E~n z)L2Q7kB(l9rSo@w?d^WtIO{H|68u!qB29#>>3UtVWt>${i2YSJ|D|0~%w{^8ZtgX! zwF;9`uIrquUuARuaqFdF+Ey>euDT+k^c2)~6m#o=SINPp=<19y$)xQ?VN?v3X(j${ zXEyX8@!DwWYZMJg9C=!5@DpO(ig&Q_Fzjy84=;B1P`hqz)({rYD3r^wS9pcnsWi^W z+F?!W3N#J1{l+5n7v&Yzb-rC}Dpn=zRBFT820WN|n3IB3Jv5l!_ZzO9)!V)klFLny z<-|zEIEj$KWQ4zC8;<9hWolZZ>;h5VdgiDM4owd7@!~w>U}&Gk2`W;71WsPEZqmTN z&L_lnwQ&aGQyxC+F=voKq$Ui~8%DNU=vB2+_u5%@f8c2PL%U2#EoOVh>F3dNQ|o}A zGA%m5ZY+i%>d?|aa5s>CZftz&zWm4-B#sBOM~ND*RlV>dbD1svS;g`3*dwvPVl zU5KG{vq&QgscElM8jsLE9_8#?6$M!nz(f^HabRuUh?6;jaE2QIkS}gzL!6aR4(s+K zUJQJ;$O1VFI3+|QaF{*W_$>U_#Hx|CWRZQyrz zFI3FU>yvl3Umy&f23*X3aO>teO&wC?aX-c;-DIJ^gMU=-=XvkOpt5X!Aouw*r`e!e zlZhq%dS242y{NFe`}W~d6L7XgF^%G$MuJSC{egl zFex!p??yedBd6`7$$2Vkg0NN~gBEp5$9U-^`ns2PSwnjVE}M}(+iM32Cw076OPe;D zgy%THUpcxj1_%*kZH?mOCP&`vP1P|VbqjxOr=cqS%sYUwaXYL~I<_3X>66s-P(I3b zvnBO%Bt0Y6BsVd?$@G=DCt>{>;weT1srMenm_eH4y&p))Rj2iD|%a}h`c)3j*$8vX@o3v7wTXa2haGX*h_)`5` zzI3x9hPtVO+!hyJ1s3@)@Qg0V`#ADk1gv#_*)=ymg&br8jY?gyYO5T%r^zCUH(jTv zP`+(@<7|G~fGyO9a%gn87uV7*C*Z!Uhh86E;Qh@n^e|?|2-&S|1OtooZ4hTK4e^?0k zx2;DJbcO2tmJKTbZ!4o%VPAE~JtfT~ztNCv!USh9GRc!_!APk^(1G9C+TBXVrKDzsE=y6!2|Pe&N)^kJIHelzOP)-}l z=Cv1fGx^lKrh_?BcPEEPky^oq`4C~?Fv;GCD~$juDf6Ta1_W+iwu;r%PadS%G)q{O z0QoYOj&E%GGvE10l+%a5zjqB*=B8LQrBmn)h9dA(E?D2$GcYG`Q}&R$lgjhxhg&4) z5DNr)3E1T8pEft^gDzDZxFXyF_s7!A(oE&df+#FL4JHBnCB&w})j=urXD_Mpvj|OW z3+>>MjR{yWDeb}77ijQj+YfOhm9*0K17dHsEk$Ndo0aTd^Vrg*w;}!Uy}vfnY}xKa z|B;&hI!3dby5!Ak=LryNl0KPb>r!T1E)h1sH({Jc@IC!H^x>UkKQsfiFfpZZi@MRK zkH^Q5VuA6NPc=zg0$a1BXykv1#I4XAb3wM{#F+&aJxM&$h|gO3JCEMiRXkDm;cqC% zk+;nkZA8C>37oFAjH#tMebTEjG^lX}K@)+qR5T0M5s%cT8m$n-Q_-P%pv3ks+8VaR zi*!)VjVLp&4C!l&^O~5v=EaE+;9B0^K|>)js!YL@|BynCSX8;qkKnPk-s(=} zvCm>yx_y+zlu7N2Nb6-0;z`Q;Dmc=1>ZV!8QI)u5huCYP8sux2>hx@ozM^*$Ui=!o zpGtgr?$@Tbw+~}BgM@dsDMqXsd!Ry2xx0?fR)b?DAaib}-gzryhZCpD- zYg*c-_IavAgbDPv&A(#b_=2|zDc0(@wPDi@evc87WrrJ&!N8W2rCanzu1|kd=S%*q zQ=^eMkNVr&*FP+x!5PgB*{UrQCa4I`|rzJwCIqqFsq{*@y6ME4?x zGo8aIz z>`oj|uI(F8Ce$ATPBW3jlQ+DG?oQP%%DXP;nUNK@p zwdR4Tb+IY;TSdbf3295^sW?CXA}JugZPenLc4388q+H?pjHuO!>Aa`k6Gz^V1aEPP zlj=p3)x)XOFARqzco_scE;^%oX935ey!JB{55X%J#p`Qs(Yvpvbx*km$Np>USnxl% zCX8;$M#brxdTd*V5mwucQ@phUBydujWv0+{?>eQCPDQ#!g{Us3gLxB!I;jmmKZ&o@ zEosYt_h@{4G`Xw~r zfLDZnXczA$XH+d2)9ssQ1GU0FCR~gUc5CPE3xM}w)fgyhCt@d|rvGJwJ?;H!UPAB} z3GpiZpoZ^b^xrM}fh)1giMcC5l+?aKd~sYD9J1sg&qvZJ*BzUzNCIx zQmby*Q`S82A{0^vb_j=7e@|ZB7bqgXQmAbUgyIYBxD+Tykm_+edX+uTWayP%8(ROv z3GOWWa*X+pMzfRH_xc0RTc~Sl;VQe zhc~00e@@(4#RV!f{rm1xTeIl|*>IS2Kcp;K>CkusxixBne89O5CnJ}L*7b@Fk83tXpGBFW zX-^2+iqN(W$S6-JltT8~?)_5)*Y}nqE(uP}Yzk)B1M$v|ml=geuX2!b_e1-2 zXtP|O7w+H}bZy>|J(NMZ6}+Nx)2vAp^vJIW9A0sA&J6OF(`-qxU-<)Ivqn&GlcgK& zR?Hhew=J+|#fCl&GGfH*sGq%8;A73}JLdavE6;+#-TC{EJXgvW&N9oLgdjbQ!D6MX z7!d38?x(ePshEupO%38p{pc*JdHFT&#cKCn)_F5U(;C)b+^VbM_+(?3bG@-2r8`QJ z&W~lrY7Faf%s63VnYc>>4o2vj+8kc238+xtl}-NQrQ zjyEB{TkTCEPYuq*rf4sFriGIalR&%BTv(`oX)pT^`6GQNBvr+sA)}x>^Vd=WsQ4nt z*pNVy$G70Phrzxyig9GF{!~%$W+VyT*8kDMnFm7EwE^4~NhBkZC1lG|)(jzuH)Cv3 zvV^fONhZ6p%PublWl2PqEW=>X*vA$TvW|7^j4dKtzB9ew{C)44bMBmT=bY#H{T_T& zl9Ih*&kMi)T$o`?hYVtZ3od3^^KWG}&R1L?=R0w%u^-SB^tjNjd-wrn#%b`AoG0lw zb9pb?BsT1r5f9bJZR-3J<3Dj0Zb?yBM$-ao8cDfq1e0`X!;g?-hJ&936+YB#w>uBR zIn_EXag8tDLBc00etJXskzz)#z9pH;3sj=D1@gBugB-5>YfrTish!NgbOZ0n;-(%v$bXN};D!mC(gW_<>U5^M7^k4EHDIuuyF zX3ob2x5eCH|3*c^V4s^bF&w^ryM2EGvua{*gcAfNb2PGykxEPwNF`m7gL_qUz07W|B3DP1ZXf*S9B=jn zfAC|lIrgvx@97c<;Xu~j?r0Z8l;POvJ^B?{tIE;)#dc0u3-l_#$Mh9BXZ$LZP~bZ0 zM}p;jUS8#k2T6{+&Q(kwTYluxe3G6aem0)Ox!9Mr$=SA+Bv5$Kmq(Jj$glldhJu+_ zHf#JHz6-0E{9K~PT->A4Y&@K%15$oYNk;4BupY073LN;J-Kvg#F_24tO!vpgL%17N z8$P;``RlRpwx87J+#$=Nhp-1z@1+->0aoKR-W;$*VV5LleQesI7g*@p0%JLB;y!|1 zrWO|s+pg`jzqjbiSW|JNOZhde85w)+e1N(c7zWQVR?Au|cW|T(G89But!Lp(nz9@$##Dhdp?LChjR3=%0ahO zXXyXwKM4zPF0-gFwpNv6@dp&v1SS3hV1|~XMhkZt9H?H$=QpGeptcdw)#paP?Pa_cq&fu(u>Zmc- zv$ir^B2&|(LSG5C)#2D$1^12l5qFL#L3qQzxS7-@ON3SAVsUd4+ptwJOBA%=t8X~J zMs%dj{xLAIomNNI1V}?94kj0zi(flQ)t{ z-8awk{XSj06v2JoaFiTlBc`l=v91Z;MO&-Ycytk78S@YJryB0f*8M7=?*@2hWXJa@ z$Y3)q;}v}novTUT_KiL={^C{Q;h=Kt#&b$(prUzQH}bA}6w6~wUZ;#WT2a%R-dsq} zY#uq6=#l^sj%!nx)(7hT{b8Zj20Z$59C)t@PWeB0%;aEeq7;_4FyO>*e#Mscbr$&pj=R>+_7$F`MVRN1JbKI9{o7 zYXsHq<6=638fMq=Io-2=+Iy@6-*9niFCk9j&1%aaQ_WUAFu379QQ2sPGDUqbn)ImF&#xr`F7YYMUQ)@Yu%()Us1aJL} zNSZo(0isk_xI?u0aDV89>RDLLIVCCfBFG4+`hX->eXfCQF=f|@8oYI%y!CBp=1jk59OE`O$Jew0x7Bm;o1aRm zp9`+rrTZG~OO3k6$`u3-JH9>gr zHZc>TL+nMv1b-wbblG2${>mwN$-YnbSp12E{d>d#aBe%(h%<4B0Lf?Hw&e z^y_H~9<>VSHKwD;_)9MXkgsK%A?0~)+d@O0aRjYUew18ZmftGOsfslDGAPyg+l_-6 zh9V=f;(r)-6_Z|@>sWBZb8Sy#GBA)c#Kay)2bT6fm8wE{0e^fktf{Ba9Iu__kMSn^ zK*(Y+vYw{Ev3>7LWJ*#5nK!JEj{#u{<8a|6by4U0kI@y*<6d3V&MF`jnZU;y=&Z8c ztJj@+i^_56rwjBFfRIh=yxe0P<#Bph4)vtM?EIx#3Z-*VcNo$ZR<4hhYv`^Aj1-&b zcu(}>S-7^$euJPv{qJT$h4`?r_S-nWx$)l_5W>7w@)-+AZQ!AUR8C-q#YE?!D8uI-n}@Y=3x zM{C%dYktj8zz8P>5e{=;&dEoL^_l`^#GvHQbS#Og>aX)kpJwc8zkRBObso|xwje28 z2bbl9!6^0e*`sXXF8S}}bcoE61?V51aY;NhvHg5+8)4qSNRceI)ES~&uGflu?ks;hc&sQPpDv5|0 zX#0^eD*D3@iYDX`wAEy5e2NsZZekqY7Kt z`!T2FFCrw3}B7w5y^Mxv`CkKcIrl53HhwNA6uv zcHuarYh}z-EQt1@4Me{0fY=c#HC(4~uh;2$z}F9z9^|YL_DzaF?$WqO$+Q}8b-mc0 zMVUDf=bIa=; z6U`?GOp_fkc&f{DPNHOGmr5uLw8t880b~!7hxsy6aC_sQiCeSLVio#>pS&Slio6@3 z&Vibi*ITdOJ>{-^$?)F#x2zok?F2ML2Ujz%J^7aPX=X9+5q}w=utI6m8CVV!|kt99r z0T>G~V0iIUQ2V1$Zwq?ejsFv48=DFEdF2?rE{UaJtKORMt8khw;`zY*D_pxGtbBGc zZ2&N~mCDT@!P4;pEwL?3=J8p&dV-BuG@!T*Vg`(PK^Aol1gi=oOQj@ln1yUI1n=V8&So8m{gL{^SreFZ^Uk-A*lEoei zybt_lNIxpX+&{$q&0x8%y>|qq^6Iywgn6C7d{w*7UeqB&KD%)cNJzYh@?$XFfC^IR zBMt)gqU`hm!j|7$HU z@yx{9k3vDD!VBAvo@=)vslx%3*h$7D{kj^-6VXL*MPamUNGA-92qb8m4aSe_c zjgD&JCBk(fs^G|$GwGJ}Y6|B|-#z0OPNp`1`mX%(?3(52HsGC*mzQ?pT7M6f+X&+Z z?y3UIVM2@vBHDn|46=LdAA0ADO(3$rS|fai0F2wNZo7^*CC4vnJ15>iZrb-*c>l4x zb-xYM8wKg0UqsnY0EJ=UjCDK6&xctuJG9L)5pS3uMsV<0HJ_%w0_mw6NMO*Vr1l)_ zERAKF7)&Hwi&zFBI^u%EQt$fDknTjmB>Y_`E~HO0-v)@L6H|Z0c4sJjd;E$DnE132QEnjh3ESCql^mG)Nz=bfOvue8|3K}P5~ST z;1h8r#^oWu*bGa3iMh;ae=#IxdMe{FcaSod1t`38f6kec{l?Se1tTC{iG~a7mab^_ zv7GBiqk=iEsDM%(h_!cdm4T-L4{W_&Sm}UD9RL86rPN+TNQho8QQB&veweLxh64jo zg@T@Xgl4}h=z>)VWz2<9iA@4lFTkptawYCYZSTK?w$hdVZjOZ!se_~PP=NQYjCE;x@Q!lTsscE&)hAQqOODZ)6CHKSGRal>NPzmD2qutu%w06yPH& zWa+i@vcH8!Ip;S&=pN|dl7NjewGLmtim`Lz86n%x^YQfesb=9kG%p-H)$y#l@4qmBg_8*mgd zgH8%R?CPp*l8H${<}kp+^SbSl5lpQnvZ^YO-3UM~kziiHxX}iGi~u9mrxF4fnh-s? ztb!^%4ViH}%cY!4eu9!<(#XP=%l>}vS#Z_enPon5kAq+{rxc}8e%zh(*d_|_fobTf Jm#QH`{s*Lq`FQ{U diff --git a/doc/arch-design/source/figures/Specialized_VDI1.png b/doc/arch-design/source/figures/Specialized_VDI1.png deleted file mode 100644 index ff9b9a9afd26d92b1d560f08aa1291c785037352..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25457 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 z%0D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 c@$L60O|L%X5HUjMkv+z;ZN-M10jY?od5s; diff --git a/doc/arch-design/source/figures/Storage_Database_+_Object5.png b/doc/arch-design/source/figures/Storage_Database_+_Object5.png deleted file mode 100644 index 307d17b83f8bf8996988c08f138fda2851513894..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50638 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 WZ@&k1=@K7;KQi}Fl6iM@pZy;mPb8TD diff --git a/doc/arch-design/source/figures/Storage_Hadoop3.png b/doc/arch-design/source/figures/Storage_Hadoop3.png deleted file mode 100644 index 6752a27e8a9feb3e24764879154c0284d05980dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50938 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

^VQ20;dIu;$vuV4SAOf0v)AlB1sFYj4nR0 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 Y^2+Q&8K)hi*aLqwRM6*gmCXJA4@`DgI{*Lx diff --git a/doc/arch-design/source/figures/Storage_Object.png b/doc/arch-design/source/figures/Storage_Object.png deleted file mode 100644 index 2ca79e66043fc875e22c94e3662182fe843eb299..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36134 zcmaI71z43`^Da(oq`N`7ly0OEq(MsQ?oMeoB_RR=(hVZrA>ApVbSo(!CEfL3`}O_4 z-#Pzto#TbqwRu?2thHv%nz`qm*%7KQWiipn(BRZvvb3?cfP<66%uMopr7=$wKH4VGHikz_&2UQQgGxOiEJp}Y zi;xdgMF`)KN`A(M7 z?gn(0=eHVW=dBK)v(0d-x51F^H`?%lyt�e|Ed{@$iRxFAzv@;IXvfJ6A0&A+nb* z5TNDM!ViyX@6e0$Bd~Tif`f(%sy50ae{~XtlcGbUcNF(QfbQzyaG`x| zZ?!Iut8|Ou_PO7>rb5?$@3^Y;oK|D=93#fumEjXBY2I>(eHQ{=Eb^NiG~OU~P6SqC z%*TN|&WKCYa3O(mIEYDz>~aV;5|EnbVspR*x#r+K-r73DO$GUkL0$&)J3rEgXmw&b zqhkchN}z>xDRROu1=*kkAL0;xdR`Js^cg!}&`G-X*xA34M4#J{uL9D5JsZ^$xZ8ud%6R0} z%DhBy5RBdBc4+EH(~cJKIDm3FhN{1VDHc^1Vi$}}lSEB#PyY&s3}p-DE(EumS1qVW zC@^DbI)7lA2Ys;Cy)=LCswC_npzk1O5T>%fKimOjV69j$XwQyL`T9< zrGh@2+K2)Bqqu6q6Gj3Rg~!s8^DhMznk2j>yruHhF^e3hv`bQ&Gj&zkUO*L~9J28| z$tTI{gXQt1adwHj$-WFK3A4$b$wutiOhz;T3ik!KjRnt|SYo?sf+3%VOmZ^cd!n&UxlU-oVu6!FR^ao^ zWc+sDDb??`Q&bBE3%!je8;>{0Hfo2|A9ZsYU-GDv=10XxwM507@NPDZu8%JASK1gp zv_4I|Vs>QqOQcP-OoUI2DN%auG)*v_S>jNlGR0}jXlr6SZ+kP%UK%}GIO>@-nrX!Q z@ar~wr>Z%^r}5hMtY=4bC!Q>gteuRM>@`_3Z$BStnq%5v+D6(I??9ckF8UXU?uPEx z7emg()ITGyEE#Ge1#`+D~mBf{fGw12%3HLuU zt9N;SB(|={SQU{e|4}}AP+4PcYU!16^Jv{DhTWz$BX22R%fP3qA38c^GBY`XJtANI z^1RcpSkOfywIef$ei9k6?z3vJ?XptoJk>$ccBtE_y6#!%O|vsFgARn*uA9|UOWy|O});aAB;|&+GXt-B+8`j0#8;>U~A<${u-QTN?-;bi! zk(qp%swd?Omos&~KmCsRJr5m&_>g#tjl^}_Wwr6KYaF{ddz6uvbMDmZ#l&^p-RlwM z+2}2gUWeYFbE5NijW;aVir8_okpl^Z@mpl0=!Wl-E4AXZDjPmtm>$?36p9InMTkX< z;kSFVmqIx%P3{oxJg$G9%pPuC&)%p&oA287pcB1ITg9tPE3VA~Lbp(~?Usl{}jE;kT6(__dy0?6!;Vj~!Nd=uCzFV$(}cgRbV)v-aH> z2Wkho`NLtE;b;r;WykkRQ))SCRqe*swFjI1l1-9ot8HxG^|0*w>gYu1$ z<4?y8En0i+nkITK#@IG7<}r2LMKx^-mA10eg*%^jg2-ahHrsZ58}>671{P;KmK_2n z;iD1zki{qo9=8U3y->9)f9}v{@?*8EXLR?|PIHGO&GwfAhqi6!+PkFn@(=Au(5-8O8;+&(X6VL;hfH$B$Vb3#i0;&^GczvoSxmFZybq22gys<^^Z zQM=&v%(=ss`R`woo;C*sh3}V2+r`g=?s9L;P6y()_f#%b60@VlJ^fH`kG&WjEH{@g zLQZbDg>?J@rbKm?({Y1?L&t~xhlfkcAOVnb+UAw^8*ODJAu}fjb`x_aQww%42WK!E z4o<{N2z+#~cw<8CWAA#dzNX| z#n7m!sYP7PErrxy$o%^{_)V17`pp|>Ar1~tPfvDF9(E^JD-JF}K|u~qZVqm4HZX$C z&D-&fi5Hur8{J^;!p+Rp#`%qnlOr`uu8FCW`x{YOTG&MY{r7jBZ)`08XC_Ct zf42oT$N~Ec2Nydh$A4vmS4Ch?g`}JuoLw#4+<<&BK9PS${%_CzXP&>~Rjr-gH~}rV z+L*~ZzOirxFTXK?txk;l-?#toBmV!gR9tN=z^?y!o9o}V|JP^#ju+v8ZTx>x#9uA{ z^AxCA3{8aNzegs9R<+Lk6An%SPX5L7S6=XYnaCLgUx){&+AbJr+lY}q7X^L_d_t>P zR)iv_miB(%NlN1RtKLTlXv}j}!GW0h#ZRQS+ahw_eD+KU@E7E1ICH%4uyV4xNFKFv zvgA%xI#zaEX7u*vh|CY>jDb_js_lWiKKh8^xv_8!O76SZv{e31 zQRV-UkCy=lae5Y{@oja?RQKNr-o?TpIfcMoJ^OcCAyQxgk9Cz45$GjgKe(_-aj2=7 z{;odA8AbIlOe)gmuS7X&Nd$scT!dfie@D~fV1d0kTXV7fEA9nsKazod8UL=in?|CG z9E+`h;a_nmsH%rDD6ui|f7L4S45+Oqx3BI$;$W&mfj@TnceNaMKW7)p%SZ*oPQ@Cu6&zt>)=HlHqeoiz?W>U;W|hSgoI!J1yOq6H3%r2}WF$MK)u`#P~{vASJq30VhM7xvJceOySv5 z403+^ST?*GQft z(8peZ9r1KvY9kQiSTD6UwccOvx?Z2!3?{LqvmZr~^3)l#spbTZWC%{G92)v;=W`X$ zTO=DW<|`(D7;L%3!=n!Rit1b<=o&UcgNmZ>I>_L9d1#{3{HEAI4`q>vP51X`nNIEA zL)y_fUalAiYbn-E`ha6068I>cEgdF5N ze``MeN!s;lBY8Lo5qYn*is(nVor^>c--Bcm>l1xTArfleW>YMEe zY4*ky1n;d(&(oVim27rw@!P8Je@0Sybbr(Se2XnsR5-x$s)(9gz;OzJsJp>#wn7&r z;N+V?bH%%s?Sk}Q8_7mV7Q;z{(2JkRai5Mz@#G80^+Cujw@2%};d}OoUMQZh5O#9G;DY7)|7L&+Q7hNcXJ*I4?V=#oV++XLJ z+@vwl$3{WA6C?H4m6w+F%e+${oOd@ssoRB|3*|-~?F3KNUl^Iah-jQC*Fz^L9kIT+ zIp|2(If$;HdA zKtE=!3f8d+F_*OvEAAuK$fjJGoy}KN)fR(VoxTh!NZ^LcK^ptX@faCt;o~g7rETBU z%n3m(n9B~*;Ak+A7@|C|DTK^pyc83e^Dlk_+m`YZ&qC9&y`DF>pnABwFoI(B6-0&U zIW|eN*gSVZ8!`c=lvwYucx_=N^T%HRcIR>2fm2kI9m2p*ggYNHHGgI~Lef>o2B}6J zd-OeyE*yhG=oP1WA2Phgkgcfp@y2kWY=S{K!pn6Ta zXFYPVGTq~OvS+8B*<#Ss-#?;^s~=K=K$JNF-q@1Tw|zboQuQ5u-w;I?MFZcstpwcE zKU*+eXe}3r1d~|Br=hvyVjJ98HH?TvDp%B(wsIxJnoRziam0AZZ39w)-nP@Tw zoHU%@q^M8u3lgiBNi@EDT~wL$K*&bMiuzIhneQAH)kZU%-f+RA7(zzR3^XY4tq4kS zV%jQF)WgQ!60$sbqMY$eEha6u$Q%J8C^M!y(fzeqtI}|y!O5sCd*(Ch1qu>d8J|?D zf{mJ8-xH;HsY6pLE`kyg5DZOKsL@|_^mwxouy*^=XY8dWLGY5`X8gJC^gg|a$Z>x` zR)!=sOd8BX27eHe6MBTj^AkhahGeI+=%2-LBdiWdqb+^)IxOJNiLJCgoHfaPw{<;<-Qd%N z!x-aLjw<4$Up3mVHI+1_+f?c>{oAJ42yy)L#7?D8MC28TxMyq5R1pf-o=c=wiEO_0 zi5y0T=tRCa;7XYgvZjnO>o*4SnRI(mcy1(?yX)slUX_FMksbKru-N~BT=?99qHyGL z-X%{qX2xacMK(pDe#Lg<`My)tdP1BZh39U$!0xkFz5U%O7Yd;tmK&qlvdIU7OxaT| zL$5Q$gs#H%Z?`{!_4LL@iW74mS#`JLrO4}6uMYK9)5hSr1<7lFm(h#=QpRx`d*5OKrZMz0=gh0U`g#dye*v z!2*s6rBzF4Z{deHnlS?8QKnnepsw`;7N9I3(1}-d0o12 zudBvcMr8seJ>qQTbXk*~Xz?`K_kLtIxQ*m`#PovkUI|Bv{a*iTZ#L?Uf-z%UZ&;~5 zAu-+3%S@q?aR*2A-I~K|Jk}@4_A@^{m-A<}s%OY!vcZ{XulGlPNnq3OuzlhdJj9~p zVDP6f%V+4I-3iikiC4`ER2WR+dbA}8W|-4L;ECYXMBT5dc^8RWiC3UrtWMapmE~LK zQN6{1{S5cvbW$aOFne5~$1AQqks*@dupMvc-8c_N;poNwVj%{@-c;pNjZJ&+l_39# zVhyIswvUGaXm8J)m9P-eIIUM~oV#kHez~SHVL@Ml`QZM?xK@@MuF)Ca2I%vwf%scG zU11=sINyqSsb~U>lt?BNAfjs7`Z3$E{;CB@g2U924eJuEfiolAF}?kBRDX z5pAB0W{K(*`aayDdW_GO>&dc<>Cb7gMnW0t9%#-9&l8>7o%T7FP*f6Hu~@r6pN-aj7i~x~NECzm#6@BgpA!z78V%Zo9*g(3cee*Kd{w=E zf0s`l8t=SeTA<8#@q1j^*X!zcUWAV`_WI$)(&B4x8=d^hqe72;p^4fp=#c+@s7FTn z%U8Zb;O?+hwqL(LUTu~oZj+0XJnlyCfykWTw%?tTdvE6xCyM?gy>50{e>7xeOGuOa zihYk|k0tjWySlQfGGsyPl-M!hK16sr!zS3Xz?B|LQG@ew44l=HEst*kXRjwepY1D+ zc0G-mQm7&t;xzyulucfNCPpSkN58SIdFLK*ZqRNNilBW02K2M5XiLAfO-3ama#hVk z*eS)moC6-Yx@^%QV^h|kS710;FPGVp84Pr}2sY)2e|A<|Sk=9XQc?%kDKPW_NO})* zBP-Cpd%W)<@k+JRx4rl(*2LDc`fkx$UyS^{8<*C12vezv4{_X%`ij3#s%%P zPBgpQIZ)}QmM5?qG@~?qcD7k=Z}U6sLWXViT93LMcDT`U533jNtz-1N+MUL=KnPDn zW9_#}W%L5>yBO2#5{;yhndNoKt0=DCP4~^&!mY(BtSI9TCtDB9nB@GY_^pE@p-_hW zffO;*4|^>4z;0mP56ZxqoG>@{@Qt@Cvcz&YiQ$~@!y37X3A(>B?#dQHRt!#X-)_2C z01U96?aof$Yq_A?A^oB?Z3Ju8#ixsZ#dtV9-2MsoxA-1QG3!XGNq4*HyU&j?iBHh)(KRk#&*JQGOZ)WR^ny*gC+`Yy0KUzA93E?tg7l0k!)* zMw|%eWNOrMM6Z4Kwhy@^kBRs^kw7v_38$wWI4@`)%s-&v-=5u3DYW4))+%XKG~XW2 z_`Jej+>yC(uyx9By;y==UGF;Ozliu4Y!_mD6tq-v&NUoMGa8W^)_(H6<*RfMw|)+1 zPy5FSHw^r9!h;9;9-x}UNU-*gLlCPl^lJsnFeUs}=U`6vovGLzES|`A8r2LZG6DV3 zbODttU&ku$@Fs0y;yg)LTrT~YN~1~&%UF5le`ML86FN~gasy}6I#0rWX*f6%3rzFs zcmpAibQ{TnUtM`QN&OLnSXI0S2>uCA}uas2`m{^?j@D6AIAasZo}0z}^kqmy{fyOq6O>zR8Zc zfQ$+Co`$1Jg<&KzDyO9l=M0#y0X0ygWb&DM7@Ka6E}Nv^G-?Wub-Y8kAYfv6U#s2qC@4e#MuU z=|FV1HImBazLO!#{$Nw{7X3y+VH9ltl!|_BFcb=`*AE+chb;@rFm|WiXOXrdjU=U( z5<&Pbs&y+-%Mkr??r^p8Q4}_TPO&CkTUB}K27Doa86UeL0nmqV^@HAX)=3CQfem7)_lZ9yK_-q%i|4_4DKgQGY>dB# z&-q??VriAEpsJiEdz;T0?s;MYWmh}x#~I)N6?O!WZxpVf3_OXY;H1Saeozsd70aSk!cSo@B7XNKV1vD?iPv^Y?oZ>oN7LEN;^2ljyOx3b z7r*;dNgA&Pu-!V?kl&WQ`N4XClfvOf=g_ex2wfwlChlE4B~XK)aE{| zk|jcE2C0Tp%s2zfWxUA;tiaTkW!??I@#ftj7xrE0d-_%5nZOga03A4^oWnxc0pU&L zSx0=`^?Rp<6hoHs@v2~EeeLbH4E|@+TIJjp-_bmTZPu7nvh2UuxP=-RSrCNi6JV-< zQ1tX?PdutA@TEYbmptG=OoBVwAEb&sX@$|X*e$zuyW>tTk#INZ;A@v#JS+W9zRgbL z_E5kdF!|88n%!P)WviF#@>Q0=QknUjte5PRzzl)wxR<|gK{@>=yyDp!p(e2Bxc~?V zd{RL$r>#Fo`Q@TPo+=%wImBy@E$F-w*m^c&E$I3yg@8p<=}*gnn4s5T&Ie(?%c3QY z$VNKZ57vG3_?{qlw7u|A)eMGi(MrGnZ52Z$UNIBB{OXD_sXG*X_t~5urKr#64a_7Jw3jFOiIOY<{cc>4gbqgnVev&?m4NQaOm=}Q9V7b13jYr?1MV?)UtmG0jK z^Vt|i%A_OjtH3?{yv`|I9+LFMd=O9gr8j3yLVsTV{c0IV%6H!YzNQYiTbpv-FGI|R zt?xbv@0Q`sfV{Bmi{0#kOTGeOL%riqTZg%-E@rh)MK3|d&jrYk`dNXOSwUdhYo-nwF_VDtdz6Geum5J zFf@Ix;j}V0mGhz+>`Om907@R)!ZFJ}_ zXV;qsD7mtT6X;*cP98S6I6XV@FJbtO45QLbkE ze(`s8^svF79sM=4{-O7%XJFZ;a>fDOKV+etEf_5S^R`Un?<&gxb=aTwY+3dnQL$5C zaD4NXj`!bHYJ)vQ^SQLgz(jpgGVTn7SNk3}FDOqPnJ@W_<7*mUX~>n_vw5EXFqMt( zC6ZWmegVdaCRxzFi`@0Qk{km4iY)><5o_$tpB5Eo^LI`Nmup*rPuds1*1pNGJ^$S0 z1|~~~>lkq$5TOYwf>EW+FD+#dB48w{%fdoA93qiIT3Ow?XXu(?JXG$Q&gkhC*u zzpW9X$6*719;Y4jlj}@}L#hb-i4Swrg0LMKu_QHh*oX@SApd8sh)LL`hPgzAZjqd+dvauRC-~sdh-ML zvJMUKD3f;BPrh>ld@@)HWcB|6+xTLEN!Q;)#)|`zXzQ7GUm&Pacj7t`P;;Z>p-2Fg zz!AuR4Zc%7tRapKhvjaVhY>YNA!9Mgl=*>hyXu%ugxME^T2+zTUkEDCZ>0^I@EycIo>G*EJ zv_Fs}7#~;)(|+@n_T@9!Z5xR0`Sh>VQ^F+KY0SKXe3A^LTPiX(XQW>NMlg$wN(Yt& z6qkGl*7g51hg8_LtJMoUP>g}gZOB#kF99{{ z{+{)O0X`X6fV($h&83SXkl~mfhV<`!dx0>IU#(uI@e5L8`HeZrLOM$=cq344C6&ht zuS_$jvQw3jG8KWtr%eFyU!<#slqJ-gqr=hBtZQP6E7;+dhjd=M8L0F zM$mku-+3`&%ph#V!8pP&Y$|qG*#M70K@J3(&q}G>uD6#iSAg<%PsO4Xd9pqblN`z3 zEXSyl#R?Ga_^1+~&zAg7l&@CaVn5~(Hu}d$uY!w#nM^V%EV%;M_T%lsYz4qC1Gs^z zn_}pHwV~eXs`QtGGSL%;zl#xp8IG-l~!qGGc|eTN9O^l1Pe zQE|Gzs3msw3tx69jWyM^H=UL3n@@il+{F>hr4q+VgrX6C)~+_aUIGdHXP5PUk7o6J z1^ITrEA!b31KmSOwcV*=4Q`tW`lkK*#W&3$a~lpuLjM&?Y&bRxU`zrTpY5FYA-x|s z>{Xt1e0m%-VCAY$xRjMprz#BeMEEkR>(RUP01DmDppf+Gk0L!@j}agG8b{|oUqvKh zJx1N88HEy+!xj21)&&S5wHjcOr)ERQuzeYcbzp%OR9e}tTL6gubOEQCgMn)&P>`t` zlZMO$P-^M#D0zw8WZrpogLlMDaw)m28Y6n1a-Y%&N=lL-qb(G3wR0~U)Mdf;if@9HGQxnPn$!!Y4y*;m1$MWL?5-^f;nWWbaxGw-2t3 z7!cN92O~^U|8=uTz{b1z*;r%{mLSH2Wqw!3h6_uaa>3&he}1;K;h%syVJ8<*-G^L@ zetMh$h;hg-Kt)A%1XsVHk9`4i1Vz<7<;*gYw_ZFb$tJD&1N^Khlll#g2A!WQdSyHw z?(e=-fAl%q8C>ali?}%~2Wn9;?^4X_wJ8Os+YMejeEzF>xW;05ND5n&zRmaIoW)nh z-W-&LsA@i`d`9`E&hweYn<_e;sE!>TxF52nEHH(rzu;e6|Sb~9f= zZOKY}6dx#|6X*`n&7=$+we{|N@p#dxqp9jws>UxZLvLxoqFZ!`(DBy*(uB=$u$qcm5fiBHhGvssJH zkyLKy6^T?4?;80bGct&=X01xLm}!dDRT=3KHDqQY{Ye<3Xk~ z-jhtvrKg@h-IJFp>YSFvPDo-vf_m8{6#)Y}g#32OU? zlp2`;f5!rNIs9;cA>Nh1Sil2{2E`N%5|Q};1IWI4tbA?#T$lE1@ri3;f81wfp0mttWsCKZ13 zJLe)kt>pQ0WZ&nwRnr#pH5P_OE6&Ibpt{+WEK(33SMR*qy>L-6_*NE%7@ZN}D~_6T z6F-(kkxT=muB*afwt$xnvV27qCXGn`K_SFaMFdn>NQEb#-hbUK#72-$ZI5f51OMp0 z`a@z85u4w+X&aXg;tp_Dt?Q?-UpQIvEvLq0}xZxVbo(P3zyvaQiUB++VGn&R=6T@Ih&#%41*m3Yb3k z7Ysi^)LuGxTfPCa(%$E(YtI$&Dt3%}b3rNVBahX~bOl}Ax^OItiQP_;J0X~x`QfSW zy^*M1XRX#1gI^XzCFuGB1j)~dqriFofrP~#--3W;etUVekmM$Z{W<=LKKr(LvTDO% zzrnXb+{%^(mSP1x5MF}nYYNAZ0_*CmPqs!Y8%P<@i^T6Qr7TCY*g!QlZ8O+s>sz{3 zdWb#X4JDppQtf>SwR~p(R2)?Q>f_L(qG%p-fC8<}kH+eeG(JUG0@+nWs@Fu_i_1Cv zaDQ`vE`syARP$Tb>p%m`y#qcIP>psSpz!?75Cn6-o8L3-gw5sboa()^Wbx!40XH-_ zHdJQTjn|pRUaz?-``+r=ZdvWGaapQFP!C5Fc?1f%p4?7LBB@+vVKAoic**x*`_~vH z6$s{??_Yxo4pKLnxP8IP%o1gZmmugC-hgO%wzLgQPl^0%BM6cZy-v=a6`KP5S?%!3 zSH&Oszr#Pj1H_jd;*&Wy=>C`4ArF>FMAdnH2gptupb$;AT8?k+L)c zpMC?Gs%^RR=eI$)N{BtQBnUHoCdE6a+mpJDSR|YhoNjR6T+1fY0=-bY{Wuk}K-C3s z7(GAEg-nwWKHzg+_h%U=z;{0zTe9Elu%r$$rv-4D`wRbWnlprYg!88#fD)C>nIhim zGBK3p7lIEUeEBfX(|7Vz@me4hB;r!DnxG&`62s5*#m1njdhozw;TtE<3v~Lb<*YOb zkU!$j;k7!qL{=Dmh9_qZbQu}T0*&#h;z7RBp<2-jw$mUs7BL6ByVCA@kq)F z1mOLGj@Q3+rmJomy)M&M6Y~61mRLCQgy_6t^+%3u3}tiRp%8@W0%y!xrEJ-B_jMzD zfe0>jBdkRr6vk~@oNRszR^x*l4p0TyTSem5&TD1PEZN_{XT?f<1lL~qW0)l$ellDu zipez*ovIR{88hj!as4BzCoPX-FGSpOv5pNIcyE4G+_kGqB)(-WK_E3)V#8 z$5qqcqHH}?6j!GEMd5)HW@+-Hbg1;`@PF2olajD%v&MfAzjN;fHErA6Kn|!txV0;4 zKTY02;3UePZ@(^UL5e6MLE%anrN3Ks`I8@je`3!R;7#Rn*ek_BGNYJN+$*&YtsmfF zgjTi9=O!@a=}QhS?%RCrH(--D zML-pAr~{KD%J|AhLs7G%52r&bzRM_v%MOa|+ZnANWZ7TN2xPPlGCtN#%}!d3;O@Z0 ztB1gPAeJU0#vQ9o`|842>nn_*xVynGb&?gdb7)>+&?%K2J(^_4qKOQY|I>D17{ns$ z6*puZIP(TL%d@4msLie|Icge|Cl=_BK-9_+YB17&hPyMotUmc+CJd9jl~QBTkkvwP zP+jAbkYPEh?od;k*u(X1W%=f}biJM7d38rbwtUvl>*1K>meC|!-L|0UkY6BQp6=8> zudX0`O}UhJo~|qXo}jv-T>#MDE94iz9O-rLt=HpG=m~(%-B)feMExdlLM_h z;v%Gz^&U8V5(NBr(j6GLmi?9?AnPp|;C_(}$I9Fl7+hF`xfHC1t%Q30XxbZz?$=g! zfMGg&NNy+q=C2=NlF`Fpx#yC%tcuRXpPza{9(zx+{jZB9Y*04Q$a$@E8osxJOyE;U zd8fSz7_b2v6JR|K!yg$GA?H!m$ppKxN0cHBTc2NReg^nEZK3j}0C=;-mkVV&8c&Vd zKS3!tn0AnpYFxia5*L~enhqtH8*R^&hqv96b8MIk%5}ORkjBmUF&?27eIQn2m~O6k z4H_GSu^FD6p^)Sm`z1t3LPw*#5@YKU80aa&)m#7uW6Sq0tptF`zZ7&Dco;Tn+6^Qv z%$OF77M=grnkTG(g!R~Zf4+7=eR6IFfb~7ADGwq=hvMo=9v{4?$x-dICxTN4puMHW zcB;q{bWmsofR+@~v+c=Y-D=ZNtBFQoExpvTNDfESsP#!=TKy5s&z-*SQ$_or7>QAS9N5 z-nptvL!B$xF?t?`;cXbbDNsxrJp1KX_fgGu2ndcrpKXyf5|5cn#qtE;r1=gO4ZW|Ly#XUaY=QdDTs4^ig`8~DEdh% z9BX=Hl6qGGXF}NX&lG=HZV^%+Ey>wHmKupuARPaq_F*X2H~ogN!FVRc zaIA*KzR@JMNY`i1nd-0X$`ca{UY_0OnleSL$A8akDWbwk+=y2ZQx^-xE;$b{l!@|E z-W+`}u=-8s%(s6UxgDtJBw##SQ*w*9oMC7oMtIV)% zqI9lMMen$e*k~ta7BkuCvCx|r36hjZmBWj1eJX%ea$4~75zVl&G9Q z6G(zgjb_gAxATH@N4)&DGQ#{E0;EwvP#__WI-Ni}Wb*|CupMaraisC%y6!VH`4u6O zlYykD=t$UH^pMK)R9w=rX=A3&x$&Bk;8?RvyTXzaL0H$>eM8#|?~qyok&KelD@}nq zjr^GF8+xR|bg9-wt$o6Ee*#aG2lZ#J*HLFCN^0qR`pb2jWJz(xxPxvKBo`~y$R44% zRBS!i=I*}*@I-e6Zdtuo%gUYPo6CF-W7<&&Kc2CYp*E&UjDPC;42aqxCnt?cTS(-ELN7X= zoG~nMUFnamvsIll20WswoRITM?95Jo8b85M&Nj$aX}k}+!q-|3St(HIpMs=^-r-WU zBy&k@LG@U!j`!%)4Dx+H7byzPcY4;)xBQ7LzAgInuuz3`WYW;jPr?^$yJ&~lsPs?3 zn-B+WO_n3nDd3ZAXDjkXtSBdB6jaSfSc|TqN zD1sbsek*lQHM8uF>NVlA-=5ewcQ5khq5vIJdnl?+%pPU<$I3%i755*t?w$6pVesms zcz}PF>{jjH)%wC=t zwlabJk|4`#4K-ERv%)oJNlzSsrqb`ed-D7u4^oO0r@G{0SGF{;*l>WTu)6y?)3@sKNqd@3oWu_p z)qKO~DhnTQdn7B0w?A8%ojfd#GM~hzXB(~8c>mUW0M>??9yzs^ZQ$Y_6pY_u|( zEsBg!p~@dM=x39g6$lgQuS#CYU!QL0)xFsr1Z+qJ1yv^+|9yM@{QB?r%QSY(e8a-&aJDqGcKzMd-IN07nSIi&MzZ9`k4SNKn(R7Lx>tv5(E+aU8y*?ylwH$m?8gpm1FY}Z@lT{aF9 z?{42%7q5r?hGjGvsj4Q7aI^qsrVA8N-}9+%e1sN2n&?uS(MJ{U!T77Iyf%Gd36g&~ zDBZwyK_yQ!0>43qqbw+Z81-kf{g2WB<&B{I3dLw*neSlGJx9>g=&U&6NRr#&a-xOxF*QIgOD*1EBm6cyGB;<;s+(6My8UW_q6894PU3#cShxa5 zDxcppZT>z-eZ+Q11uzT)dWJckYE@(`nVydDjH1*(qA^ZD&o2fX8wx=#4uCO5ghib0 z(e8RF5+SYxA)BCA(4Fi@PXZT&`}V@L_XlW?;=QN@Zd$DaaWSLWW4~lJf-5)!AegDj z11xkESRZpm0PQ`g_`N8ps85t#$)j9yj^GQ>B{!|eafHB;?o(H;w|*k}oQVZinRL~!QAFOkItJebkRCe5U1I!^6Z1$T~0ucfF#8<7^EI*SrZ zSH4o}j)9>QXj&-?VL9cRFu^?Rbk$tNOvN2OamMTVlugbr8n66aQM1UO;e%I3oWsm1G{=txvxM9g zIC3GnG7$pWFRLROd@Sok9v}TBr{N$Om9gm{`J@ao^^GeWlkNvVcbsZD*;p7&jM2E9 zB-&UKNRIFknd-&W}dQNTm4PC1N@Zz*bW@iBpH`#{GLDVgv z3L*crZNkX;@g$&-ci9nC$%#xH1xpX?Yj;gmcB zZYc?w(o5n1EAWgj>K!hq+ZJ7vAlDLv^8&7WZ1FUQ6q^RS3p41C4KCI;Nd{9VpWzm1 z%Q#U1e-I~nO6WE_*?BICFT&PGgGFaU65r*BV0|in{FN@4;?ZR%FH3Nt z^fQVs@ei=d%HwKZBOK*&%M0~Gc5jh8k|0{;{RQ`_rA;ZHQbL9IY+8U-Rt-~pFL$=X zhtr3%1<4@^4UGH!TFYSLwQkwTr_rurWQ6nn^uV?)5_sRRI@UguBzGA<#ie)gzdb7e1K8MY~o2{-sz|GR1Ctie^|m&S;?f8YmF$@R{}YC@khD z8k471$VG;O$3S-pMJGP5LD@QZ zd{u>e9tSG?x7^@(R6p`4XW;y6asTNN07CoAQ zng|gl{WKPu<}rp~1WW^q>$+vOFIo5gg>4cuUSBEwZ1mRa4+f}2Sv7LcKEds*gnn50 z1mOvrCkej*<(U~LJ_X6HH8btHM(FDpO3^w@7kkp~sTvbYG<&6TNeQzdQpq`p3KV1S zCbUV@NYO>LrrU>IDSz#Uwohr!5BD`>F4k_Y-v1Pz#2}o}VQt};c!A$GV4V*8Ljp@) zQiUPoo=<{1-($~kn@o~!iy)S%w4Hnx_F2GqiJkKfK^CR5_4s|3VUNGeoO!9E^jmQ+Gz0sm!PNX{+HzE1)iVYMcrqhS zzMxpGdB1_tk39PEVp?T9COz$_{iQe+H1@0fICihbMtJW%s|g=x+1*f5np4l)7|zDGU{>LULHGO+BRMv+H?py6$m>7HbK zB91VVVF*2YeWR1HLhKD{RBs;3G?09ed{?2@@Y1O#1$?=KlA^(B*$~~j@w(?Lylz(2 z?b|rWOoqw9%(q+zy@P#5#|rdeN(uzfBJ}>H%m{-ea3f}6LQRHKxl+jD8_f3SvVm=e zDP=tH@{ltg|w#u&8Pfn)t&y}+ej&_F-#epOQ#k5m@D|D#C*-SC&gObsXP;bU)P zUs;iXPBE%e@YA8g!Bg-9 z&*d1j`!(Ic6(rMmK@;WoAP<>k`c3L~_TAf}_S3Y~9QM(H+rsPYm_twJn1hVhPNflU zK})^?!W6ADVU%8Hrzbug(J(zwcViR)ALs@t?|Vlu-e8MF>p@D`2#RtL;Tc#*;J6x- zL6NSxVP9X*)jp`xUwYk>Aei92hK&tJ&o7F{b7q<6pzp1E*AT$jAk9sH9xB$W{G+z5 zc-S16exaiF!Uw_d5`d-!vMtXfpO$!^Z2HXiX)w{Mszn=E?DbeU3xNCK*^temXau@e z*sM!mmln+W7VTR_~9B~!}7y0;1RaJW(SvcYfoQ9x=NVwX#IrR{#yo(=hF*BB7t5H`cTe~+Y`&S^KoC+p+f_QD|E3mWJ zP<8$ipHQ@}wY*BKMIqvP)~ z{z27a}&SI`xJ2h~ipIjn(Y?CEVX-k010rL3$+pJ4V3rvd14+ zCK)G$1ln!MEz_*M8=CWavP}pJO|xOyzXgMo`-SmO%x;b`54tFA6DLx;&6NG;fug72 zdxbWNPQS4^#SnYAae7r1LUQ^SxDaknX+;Te0j|L!Q0hdv00?qY5?Jsk=5T%U;M;*Z zROen;O_Cv~ks`Z``-6`UF%wFt~uu-l6Z%ibUBU{>bpTFwn6UrI4{tcGPaOiFC59% z&nCY`Ll8CGhSKAmR&cHDD+9je=q8lm{#$6ML7{atCf4nIQNiIzdJ2&*#jz%LqVodZDt_% zjyV`9EJ9yl?4hB_cZ(kn<)MzLY#Ca4&?3SlN&Zz)eu`A6;`E-6df9;<>= z?z7ehrE|H<>h^>OwZXvc_=>})TUg&%pg^=p@;hLO*r!l<=ckY}CiEhByE#gNOVkh7 zN6y2I5M^|fKP3$ZRog)+-U}_cMuBZ3Y`ncj2Ev&TiZaDYAeC(5u`ImKF>fqE{le6w zlj2zEk5{04(VWEbA>HUW0xpHYBdedA(K(2-&^!>|zpR{Io|YyXdVqXeFM1 z;heW7kt|A$Y~3OKW5E;SNf4~8C(Qay)dbJ~@}H7!RV^g&myydvkT61|2`eZyOVwy- zeIg6^b9P_}!)<$`p9@kb!$H6z8B%rb7ZsJPqW5`NSSQZFE*Xjx>)jsdE5mp-^&7FV zX{i5i$Hker#ST@!ltd5Tm}d)tjnHJxRn!?eNq*iNZ9y8NO}>ixagEV-Gef7GX<|-X z#OxpgaB8dJX9jh|v&Z<7N9c#on*y5x_WKL16B^{=Y2)!xr2Wz~Qf7e3UKAGa5MmZl13GbeZl`bPuDRFm2I$>oGDN zfh@5Al!A|(v1%FIC@m-mT21Y4vtjv;W1P^*59;+ZG-ZwF@1ezwS&F{-O4`wglIzpe zd2Mx%K`)@Rm{kw)M@svpd4_uHXL;eQO;$v?RS|EODv%?%Q@b9tuInA-m+1;g++9yW zp-WKimLSs}MP4X+gp-h}rJ+G@t#_vc}xb|~ICDt#n+`|XSHPzU%O8|0~1 zu3mo=mc%`XE==KHe6Jr@51_-r<-}W6IK*#CR@w2Gu^+LEp0Q6`GfNANa1oDp+}yE< zLsRW$tKH446IGetrx%(={QDSd)*^Xz-KO@Ky zQ9;?xn!C}~ba(Try|Wo9LTAjaHr!YAv|L)d*7!vVz@|&r60aaIR8-pCorcr00V`k6 zjSS0$L-eDg=4ZSqoC=A&tomVV)lSO0)dgKzbB{3_Gy9>OdG{egwYI*@#xoe0#7`!M z9%cM~yl+;0fZ2GlV-h87{OEg2&pe=Bxmze#Up*3)`SroyvcD!SVnv3`v$Z_VKj03C zXL!hMd1Rt!onLXG6scoB*lW0`7K2hi@i4nVJb@i*(%Z9h=6O&4;{`C%26y6F>}qm( z_jL!Et!g{q8C8okE$HceXUA@McIkJD$uH!8mFlLU+)xmp-#MN)c+(VjeeaD6|2{md zHCIqh^6>~qFgM2?R-SOa6zfZ=Dy!3e#O2K(SLC6pkY{Za!K^O=Nm~$Ol6551=EFyR zY}FrgH4~q=dDF@bV0&ONsg!-3z$sE0+jTNyJ1(dZTz9TSX8Ewm+Tx5W!MrT|W4q@5 z+CIP~(zDM=MS}=fA!krZJrvmFTdab#U}Hl*4rleA-uB>X5lg7|+W@gjNl$t}MQTLS zfgN&7{Y#cn?kmbKh*zw%9}^jaLxEtZRrUddrxxq59tPLsc3w;B6T*n?Gq z=>62yB=T_f*%zyG*Ky~+i$8z=5q}P2C5>b7mA3=h3kNtcHdezGSDL!7L_7K*MM;@R zM~%+Baap*$Xsp8YLG?yA8|>YGv-;Ogz_3L0de+r`AuchKMn6$OlPJ9?q*FMXDNn~K zqkbz6*lbUfe@=ZQ&*Q|?^ovaQG!d!eS6Y8l0_cPL(ta5twV=*=1KB3KDm#^X%K1@u zCsFk76`#xV8$W(;ey@|dvdtkGg_M(&)xpW=oXK_6W9`;b4^jL}9Hka%vump0DpP_p zPY`82hN0kZIHN-@^qmpY??_ZB4(uuAC*H-ZZfaPy3c~CVS0^y()e?-(sM=Ow0h} zh)=a=d+de%EjL8pr_ZPVz}>yjzL_eND36cF-Z##{8g}>?buoNemmV+jtw!9Y$*cQJ zY|lAIAVrUL|F9_70C3ghCEw!@6Cmpw6Xx1GXsA$x+C6*Uzd81o^JMICSM5ofXCH%u zcvb%6cY#OFMGbb{fz&6rp6?@&74wu^_Pe)B>c?b}DPx${zE1oSjCs{IhE9Pr9Wd*6 zK2p!+w1jbb=ShLkPK1g^fx<^nijUQCn5am1RYuX0^{>u&F`LDPd*j4yne}@wwr8J= zw|SMW)`3z_zF)sCHaZI3Pvn!)lO#$n#39=8Mxc#208a1DK(zgAm29VpOXm6v5P5ZI z|J2hysf6X#OM}TRyWi?n4=c+wAP^Vo)AC@R};&%1m@F(Y(P~4qPI|TdwX6W zZ+0Pc1Vp#xDjL~xacA4Cz%FAp6UW1rQ!X{{|B`+RG2?*b-nP-fIk0Htt+TZw9)GdX zPW=6|L+8pw_-n-xcBzYnqJ&=BsQ;K*L>ZtQZlo8oY}Ui19=2>@^wMo1-f>r zRkqq^4MjosH7XwKZ{K(m8qSZNRJ}V_EV1jgvJF_@2Da$7r>j|W(9b|txh?y8Dc+Cg zqquVzxWA=8Pn3pqhnBC>_EY~ez#yANeUx0od{p$O0|3>>9Cq33rY|IB}q zV>O-h+f=}~wc4i3IQvXPM)NqVUsTh&yy{SZJJRun1mXNwfOEkF;)gRoQ=>43UQk!J zaE^8q&o2rWyn2;W=ZLT->w+q2(NH{|=CWK>v@DAtL=7{`C7~&^_ecTy3hk&|1`-Hb zIwQ3lwM)~L_z{K1DExl!$12>E`QE@N*!Q}w+D;eb+%MFU^>1N1*mtIj8Z?h|vEHWg zt|*Ij7clQn%*t`BGnsZS_dUJ->((e5ZT6h2ICYym9zw%zX2l^>d#j_^$uLG13r(A;bX-iAdb3$LeJLtV?>lIt6F7=jZ9bo;_Ak3@k#f&(N> z55V&d|L5iZxh;_Wz@Pu?a_HRl?Si!wU~v;6H_?i}y=9X~j_HBd`Gz)Z%$0_)a|3|) zXwxS1VGtoCqu-gK3b4TS2NHb*y6g&GI8qRe-<%Y)r0NTq&k8SNA06m0MSm>1hY&N& zQK1aps=oK>i*=Y>)5gRHlcv8?ohjfajz#3RbNOa=5!$UEU*(6rcw?^m{zN~3E{M`+FKtXpk`CQzC_Xh zM&1BZyc@`NY&C9MdtO9q_v(Ke7xK@BRXML>^^i!skl_M59904~{X4xZiG-NH0c1OT z(2Rk&llc6gMB}y`k`#fe!4r&a%s}j3;<}+h%x9N!_OpY0C`0^;c7va_Rk22k1aeRk)>>*7hTVUBvv^WqKn(TN>@0&=sL;4zrzyhcI8>MS4A zXNGR_h%EFlX|M_J#exc9!#eMf7rNZ(4M!8!L-oGip1@drZ_waJC+`W_T{e)9RN%f6 z^H{}}Sqw^$`5q_}3wadj+uMy5q#~SUn803#zr&0B3MRjVn5zfy3y`m3etf2T)j4V> zZ^Wf2_=Gt)I|EG^2!+|VvRQZ}Ml7q{cM8%IMSQEzd)9_?^1t4z=}}P~5!^=5r7d~w zral$|kJpefnB~5(QvL4*Y-ZqZArx`>AP9T{t%NURKD*+D+*UMp2wvYpFz|32#wf`tg~4rZb#&q|5%XF%~- z;=HPKe=u`wZV7R#vW;&*zq1#F-DlfN7hWKzrzEyNEg;$hR6 z$R_Vl1<+7G2E0_yL;=m@72o6E@JwCHWW&Nh7P`UTFZvcmdc4-NR3u6Cty_CM4TIzS zB5Bcen>%f%E6LO{*PBQ@7Af`hX=m1RpVA zPIV(6L03O+YP4_%rm4;b@$gqVv6^vrQ`i@?R>(R9x&ko@>KF`oDI5*jAIBt#s_q8@PMq6kL%f^BrU4J@sK@|VS1 zSDSYsH5)zk*k9_RhPwBl1?>uP7y;|hU%wgAuv&KEP120iGhlbD=ROVhqO1fcQ(pkQ zdkp*SL4EojGT%Kwc)ucg5IG-aJy-9F*QW})4rvsw`u`QHet-V>y|d)p@H=ze&UU3 zjyRc>e01NHorj~1A{#be&Bc!f@#cGi;V$4JD+KS&vc&ZOMN-n1@(rNXAMUqdw=sqr za^P$U+|3KhBxC)&C3&K6wN3T-L$jd6_EeQ{)|PX4piv3FPXAjh^IdxQ(0-aEj&D|x zbc!pW_IrIV02ul?$?Y`$!Hghk4}WS{MYqWx}Y zxR2;3C;tN^)!t}Sq4fB{*oS*cLFSAeH{adXzAA$uX`RZfbIh+I`&14E8AEcyoZ44J zEE=Eb)#OY3PXgM+f6j>j4+PG*!`iwREtY~u#9Y(l{uV~$sf#)wlTQ>O=th;n=D$Hig^)2##8Q8` z*7Tzd(GeH+I(W@D>od%iJ6p9{V_1jP&Q9TCU%f_`$YUMPZ9g-$LoEGTj0H}=_BXt< zQYf-=NPc#d{EGfJ^vx(96jZM>*&1O55>cz(jKvmX)T=J5iq)_4>ViJPGH@1#>)jwo zSYbhS(A^Z76YMaOVMU<%1v+auJm2q{Vu z_7^_CB@u*hA!uB4dLP+XLMyz{o(<)Te>vzM04d2D%cI;?MjuZBo`Y4Tl%W@X5nTUw z=_Z5-#sTBoXU+bv;aQ%e?%ymHuH1!Ute_5494Q3fFmAnOr(T|mQ5TD(=>^XWw3xaO zji~gs@!~8I1dWH;v+3Y{;sWC6aQo26;CFFs?i-=(QN;bw|1>RVs6}9r!m2l)Dq_2rNLDUY!EumcqJ| zddw$o?8d=Qf6hL;WJR=^#PF;@OzrjLwf%`hVY<(rY+V{Q<@JC_+Xn+SA#4Vlx21mo zm2Kw!wH8wQy2JRi>z5G1%j3EH*u`2B15h~;zkvGN?`uFT)I!xL&}Bp*Ies4un*zNI zSdIoH{Nv!*VJn2xMo!T=0|_!o7rF02G?_4Im=5?k4il7EjppSV z1Tb1!@F0xNl2d{z?uNU(!?O)?=I(A5dJ~0Icazp2xwM@UzcJR7d+Jz_;=8IHf1RYPz@W& z$;ac5&Kh0PSLq=#od^<`y;`}i)e!6EVtp!A%0?rh54w+mS9uSb@%@c1fQ`}#>$}{$ zHvh?GeEu{0k?oB+E1(SfB6Ot!Cc%*u=8>B!l@3Pd0ULFkX5F0vW_{7leaaoqeRv*g zxyo4~zXf04ILCRHV|qR{?f0&NTh$9cBL?*mi4Z;V4U|F712QWSNMzzbhxWPuj&`+8 zET( zO_XOFJx6y!NYTKb3(f9?lSHebacQCWTw<#@nX6k>qE_%;B#v1Yp?;NoiI0%gp2mO& zXcYaBXd5AwbT^T0Qa^A5O8O6_eL!tZ{nl0_ES`46ztiwio|>gy4jqcMMEVpsX9^Ryc`?p?y9CVpB@k9 zF{if!4xQak(bh}-B2uI!-}mQ4yBbeHwoVN35(W41AjV6<5@mW{*@icJzM5Bz`ovyG+J&T)`jRI;FA5!PIY|Z{3kLc7c~sU5X--tzYeu7#Tpz64V@wwNAZ}!_j(9KI~VN+lzZ2k;R+z@NVQHsG8}U{<&+$K;SV@LAK|({9)Kjry^?#b9P|LC5snou}uz1DW+(n#IOagt3AF zuRhi$ApELPDKaj4ue64cFDFLfmuZAvch`EulY9}&s@bPozB7h9njnO!;b@0f3x!eW} z+}N<@V?;gLWe*u5(1(_GqqFp-EJjL#eK;L60aR#>G)EjF77u4dtoiI-&_|1qFIej) zhl4Umu_N%lBI0aLJGPmwR<~ks_r^6;XVL_HoOd_4iktx}6u5nM$)F-|t zor@Oe0Ql1$*eiFjHT1;YX4VAE(0ZwJ(8N-Mp+aS}*MgkuINl6;OW0sMAPh~S3@F5t_(Dby?go^Ii1pzQPN zChbr3q9AL!qbRho8hONZuEIxk$*%;Fz_HZ_855NrBm&o~9_8;Zc(_h}&UW4S8s{_; ztWxc=Hh05w3Sr_+R_rAyb$BcAZq^pW*zV2m&Pz2r4Kc#rmvOGv8ek)=KIBWdk-(ej zVc$?D-(N$F@IX*@@`*&v6hoq(2*xI`koo{3Gwf0Sn%qN!ykP_gcTa7i7Zl2+V}V(_ zat$ny3%}3Fr=)?i^bxIv=2t6PElP)XrmknLvgbY8*>daTR{^lHeJDYAqu6iTPPCz~ z`Nc;71tYMepGu%aW&;6&`l@9Onw2CE^(uCINJ=iQ~bg`xLZazpJ zzq7S3#OU}|f_u2XL1@XlbaDMnwBK#LW{Eg5V;fK2(qZPpQZCKAugh?WFeCey>NmPyadD5H2b6EunEo z&fSQDVkFD_W|XUO>6eYFnI|Ao&sDAq8CAKbUDEojs+#l6 z0kk)Q*ncgeX7W+tAuNnSbhrCYbT1p(911Zh{s)E2!b42mYFGIe&Jn#FdD6(Xf8m@S zL2~>;D*rE>t3bHDXUk6j$H4^v}n_BydG!#YJ z;RD**X%h|48a}^75Jl6rXAQ>Q0UPYZBfx3h|IgdbJ4(-ic}p;6rdZj`NWG4Tw8$7A zpB*6;&&znOWTlKfX_JpFf_%=`2cU#Ja4TRwQ{ejf5-M(O_u1*L?r5%@0-4ecjR zrN3X6SJ+Y0o)31p@b(@@te9r>z zJwsM7s0q3W zI@(oEac8_ceA*30S!2xojLu&!jEd~e(eKVyxZ8sd!u*L3qLeX9=FLl&pX}!@Gf(Gn zoWBD|R*HKS2P;}3>5~YvNX!5WUr&#feNa_)NAOM4@K~!QxVJ~#%zG(8^hh(SeWxM) zp6K~m3__yRhx#@&P)r2O2M`qlWBLN^d(*BrP#{rurQWY_TQ=9dY|1CUl?un`JJEJ} zwgTXl(|I3l4qkY;Z_UucMav0j%E+I^+3YR#Wy>rP^3`Zfe5sQo$sH7YiUKSqHs6z@ zxaXnQzvdB(t`D97&wzI4*>B2?)smyhGNZZ+BlC-5q0_vV*sE|`=WD-4STg=;<2Wl| zK#kGDmA)E!J?>KYBFJW@Oc}x?VG)^wN&~nd3F8B96_KY?CzozNRjI6$CU|!@(L!>i zKS491=(DwG9k`yn2941}fRqnk+?R>GgKWS7R_1GdJHC5E*blOyIiMnWeB5?RaAURL z=yW+pVCcQ<&6)^E;qMZ+%R-LulSz{wd?1NO2R>khT2qwkF8W^y$ZR zhm{aGY_M4dmC>yLTk_wAG$db<0z}RG?jW38O~3D%ajwC51Q4~Y5d<8{OD(k@$+HUg zXF?R=OX7wuRFEu^oGO=j&uhdKghuh_O8`m_yi&&@<&F)J`-x@U2+p{eTw~$%9i6UF z=Ugf}n^e1$v*?#-J@Pd97z2-SN)f0M#alwY|Fi z2Len7th^Ht_j`!WOksTzmDbHPF7GdhbZ8?RNJ^R{ouoAOGqpMx0O)iqPPHzN^uNtD z=eiw1JsR!4`7rU*OqF$x;Ox7ce4z8vCCKZ@I)+w$wwGGn*z}glPAjSy}2_8 zTy**u$;#r2+rt2r1-mBJxlblI~vw|OI;e%UWYEiSOiR_wxH!sumT^j zJOjFlM_z?DzWH@qhK!j&?zAEOg79Cy%py3;Qjjl#t%TBqz#Urn(!msaj0qqB){J{r zL#+s@VSXI5COVq}-K=sJwKbHtqtsDCR&j-oo9=lZlJK1Q2^IMzPH7?QlPjIhJI;!b zQhepkf+D@Q=jPl~f^XvD#!w{fQX)ON561>ZY(H>WsoCnd6~M8c`RaADl3Cq?O@WE4 z_7K;zVXnvotpPxqTc^eRh*S)eyi(Ba%@d+vjYY#I>;(3Z>1Dw4qYY;DJc=7r&l+5| zCe-IVn)r$!yJ-;f9j%BMu8ur7E`$Dr_h0ntIW^)CiPjL=W#V>SSNpT6SMm}|jtg1+ zTp6_}8W0{|h~W^oyEVa$?G<)V@iDk#30+_ANmPACf#C?|Xl{ts(|G{7zHZC&LHN5V zoN7nrr$={79EYX97a2XbnJANuOy^%yzy5nAAI6>Nx~-WxO}mcCLA`)>D92Xh*L^z^ zdy*|*Bw0Us(GLRP-gUm5cXO`J8^xQE_>lX{@E?o)$Ys<6;3+pxt4abinUt3{liL=; zzFhqu-m?VxAdoG${E4BArelOR6r;-f7xqI%h1v~8(ZT0p+!JgmBBUSv;lVQWOTNmQ zQ+z*as+TE;D1@R{oHxfgzE{|%GoTTjBP?6N3_y!LNyu-Za!y2KK&6elSS4+cTp`B1 zH%T2_yPlGB;6qm>>V%=8w#vy`GZ5|Di);0s^Y6)IEc8vv?tE@MX)`#L`qSvq@MSBV zdC-)sy>vWNNspV)7G<$~^H-x*V-O{-WqQQHaS$@`d#b4pQq*f%e-p5WjhL_jl^&a= z{oS54xIwVvaM{EEW?&S^^ayK2@i@;n|Ex)IQHoXduBjkN$B1R#^v}c;xkfWbfU;TG z_vIE^VX05zeas)MB8con3?&5EeK?q8|GtO<9rmsXQexp>+71OW_zI4_o&)=^KRey{ zf9vD^zRnK+`oFyyBm!4Deb4}0M^d^D-cL-xzr>>TR2Xiok^sD-yfpZsL5~+$9PX`V zeNT%{pgVQ~!pbSv>Eel3m} zP;j|%n3k#lPr?%8hjJ=ig{3wK_f!FiRXr`YFXa2m$}5^}W@hzcz(~&CYqqT0*{8f- z`EiHK*7`5+1YX;3AhREV{-}!1hZMUtE~zFQ(4clYvX@R_wRj1 z26Jd0KM2vy(bk`?NfHv9dq zk3nkdy#KsQnny-bdGo0Yrib*eX5=fG%#v4x4Gy=NwCfk{s=jjKMPf$D5%vxFIrs%* z&bla!yB3Ga7#Y9lf#LeM%TiTk4C~z7+@CmX%h%oomTanIij>yIwsBE3@@bkOy_EX9 z_8&G9Ad~1nq0zqar;>qwshEGk$~B5&49s!5A_Q+nzUWNJ^jvgeEy)~A1T@Irs9>E$6O*IBarSqbLbt>CD-ZJCQoc$GOu=d{C1{lj0vaETQFM^j{;Hbu07GS)$N76ZP)$S z@$UyjHahfp6Iy!gN2cJs@$W>;bGZl%Mwha+%_rAgPWqhaG&IulGfmDvgf9-$`60zB zD)3b9JwU&~%Qe&8E!QACrdt#nquhIukbG4H?k+jnjfWJ^P>VkBS`J-d#Hn7f`jFzn zljGBsNa^Ezy8-oI_eb)cfJzlkqQj>UZ@a#UoUvYL_lm`D6R15c>VHVuxk$ zzCV}rmDYHH>z)$A*V=6~HbphJrMVHWmOJ#gPmQjJGC&eO>Ls^_0*U}lkW>olUZ3p*VScz7TUu0IH0YHnV*9N_@D1j`F5UhdJ$@%~00jHhyln~1sV`e;euNA; zQB);YU!H{L;Zkn%KmRO|cgHQ_Z~ZF_pTE5p3r@a>WfSxkNw1eu<9f}?J!CuFozc&? z7Be5Y%b5DnX3h7q*?*CSc+B_0eM9|~;~;%#;azyM8-ED_e&?(I{lCpM44eoG5|D80 z>nuD1QJrKm>Two2!ilNv*$mQZLRd$pYTs8Wr2Kxw$i{XfFWRX(yI;&~-?Sao!h=h? zEs*B5H;V7cK{NvXtba%MW#C)HFr)d++lI$`AJ&JR+*1l8L&iLBt2VOZkC$1-sQub7 z|ALkxU=k7=AD?7b{pCL1vdhm-rEiM_1ry%ft14-@*TO=RKl_ z7+cRx#vW!EqP}|dsKQZqDcQ=Us5Dz-5!C@NK;}|M#X3~yVU4j8zrr# zVlSf_lp>jV`0-_`O9axdT-UE?q=dfJyw|a5Z{XO!>nzp7fB2x0N7I=EPmy3bFG|5^ zuZrB>uWERAC4uh=HSz;Pu+|u=sGc}J_h6*g>%Fs=3kyRvkv$aENy!ir$>Q;-1gGj{ zmHy+#7qVBlYdMs;+pZBJZ>w%-l-cVZ5Em%lnw}ZhmDY6M^bErMb78WY&OxD;ebs$@ zn#D)I^VvPTgj@@bLz-l^w&k?M+I=Yg;Azs!Gifc9|R3BhW=BN$%tD z-Wo*VIElhl#wnic!zFq)mfF{;qWKyU-)`*Er^zxgdy}e6i}rUiZGg;+M_`Mlqrgtd`-r7sq{XaRuoLhmM0XuHoP;amEyHe3d6(0L>7guwqzf*SVz%X zQw4-$Iz0EN(9b3!^nH4UW)3_igeg_A~{-ILnCdXvj7xeuEj}f$kF;8X6~>)hkKwQ|zSdPYu+_xL-mDiP`;W zjBjxVIqxn&n2gH{udpg0BE#|Y!N(|ZkO9TVSv{-hC)HoD4)G63X4)MW)&Ire0R|Ko z9zHBmHmZP4SPBMkE6?4ZYqo|Vnb-at;>%`53J|IDzMV00#;0AYr+h)mDi-D#U0P;_ z4MTH$kuhp!O{0gpd^s2?F-;#K;dR_0`|iAWo2Ie&=Goo3aK5)U`u`=g{_1eYG#pDf z|6K?MY%kKDQ1kz!$4qc`eCF3C{&zB?-prWCS!pT#cbSH9NH~S+DS6@lve-a~)kN)zhu?oLAyA(-2VYlJeM;Ri(365C1M?@;N%JW02gMckX! z%n*!RrD9^KM^Wh%-WnbqwUIurO$VB57fku0Lm>4wi1`HRc+}FJ$})G&%KL1XNI6Yk zq__;p9_sG_Zr=?c{p*PAdZ%_j5(ZyN8ycqh9(@-&dS9f77?6nIaw4p~pwZkxGzkIk zD}ts9-KeylbkSKCTy(H=h+4ZN5_Z9r3TA&_u`?Ae(kf~?9>^4d8k)$I-7>7AhPqyZ1BbRYPSY>Mtv@$bzt zkQ(i-1qo9je?~=E?tFLbxSI`7s$U)0eMPrizpnuPAV%T%Pkq@3^qVJs0BLxs@yZSE zu{4Kf%o2-1svVbZgS>awNw_yL3j_UsH@X1FE5t>bkGH!z^N|v+gCfoE-qnor|Y9G;O|;o zW8-b`M;6&C8&*gJ8(&E!;X}2CGY|`ze*38G)JYlo5Hj)QrI<(Y3Hn}Lq6mabU^!M5 zbvfkvU8bvd9Q*}-0okq_?&Lj~^jI+;;ksOG(s432k7RbQW|OnU4CZM@BeWf4;G-=7 zje|2MoZ@}#J&GjMqWgF^fwjYgES#yz^&rU^*g(b!9N9R@vk$iPH2|$r6U=yMIrcgI z62?-!Eg{r%iT2to?)U}|C#%dzW5OYcbHX9FK(FQ#5XL`3-%n2w%mgf3KD&(@UCq`T z`w*@#s_r%Y?as!bS~gC_&_)-Kp4I*CPiQgK<);jl+GbDJuMa%9p$>yD)x7Gy#|l70 zB#zf+J>&Uxl^>!f0echU%m>J8Fe8q8%ZjgPh!1xLI=$8-bx~b{wadE~9~Z}H%RK^4@@j?pb!v`|#a_TpR3Kgo*Z?Rv z@1WOzi0?LC!?Vi^y36<{cFJB`T9#L=*VBQIAQ0tu$GL|?&YSkz@1Kh}ldoQ3QQ!RS zkxS{OUsZGwF*MGI+VbPfoDucz7h-D^<&)KUVtt|p;iK`Ev&P2~A&@rHui>FTx++b( zj6*J>yGB71^9vqg(uS3_^*JYdJWwY~5rcsg(#$=KC=QcyE#dCZ?0*$KKNxN|1j^Z} z-war4M{taBDaM5QK`Q?djBI<@vc^6tPR_WRr#Oai^msj8OF+=Zx z^A1tti}mmMUSPi+6TS=7Yspl)ibJakH+^uB5iQj+Dss;%vWPuBN#+0#n4i`TBBmN+!1(R#UWf?FnhKBuWA9 zK&h4`cmw0fkYXT4Q5x2jR##7)jf5zb4equ{m6fKccLU^TTC;Ugz8BO;U8yyHafq)w zGV#!pyw~9ThCHqw!l}4h^^q{G7w<;;n6&(X!f0io@EDiU`u9|e7UQYX-#)E)GM!*1 z9Q7au*Ec-KdQKz6`w8jk`*O=l*ZGs+`(Nr&(Si8RV`tgqXwt zcK)qphNwfs$~SdE4;?FG@hC4~A-%Qfyy5N%1i)VN%DtOe9ZlGGa2tcg_-KUp;~<^J zrpm7iIyA4W6(;oluvxot%;yECZ&nW1(OcAYTK~hg);XqI-?-%WfAoSuoAEV*@QM72 z8LLr^2B5Q-ieN6z6JK3w`Z1!Iot-VK4Z{u+fR7_y=B)*@imnfqssb7GySAiSj`z~T z8ntt;vip;wN<#k1!=)Pg&s~SAG0z`ls6D{!-!k61CHm1BY{=UEBY`GRb{~FBrM7G> z@h+C9C;tv@UJU&Qh}hk>71K}ch#X9ij*EG>vVrEOGx5cC!}s9QiY@qA3gi7t6f()k z#s)h_>M>ilx4>prMZwT&wjn4Lq3M}mKOMHNpu<=LR<{xsOW-^I!OzLKL@>a};Q0H* zq0O~x;ol*&*agPb#sL4bhJs=P48k5AYv00szpNM4@V4B_y~;w<#`ueX5+VQc?dCiJ z&N*}{4x`am86UuVPHV<%BfnKuw!>qFZ`!#|Uw@$&1*Nbyi1^;qh02%6H&8w5PS!tP zEb1|Yk_JfL@ONj;%&Rkfo~lWB84?4B0smpMezZRiiUW1aR(K+N+NzYx_CLZedk7BB znyW@b9TX5>&>0mMS5Z}6Ts0cStYFhE@!&lI54zpyA_qp8CUhF8&8fdI ze{L8L5T!yxWX2UDxk@uvF;x|g9vVtjUra8mDgL=OBG;Qw>t18~7P8&-T#C+o-l}q~ z!hE1E(SCZv$P~sb(+FC06S+@qp25h666jDhFjV@p+C8jAO`Rh)Vf${lI?~oKPXn2O zQeBZI4J0S*pPX0wctkyxmJu2hkbHb2s(0=e9?Od}mOcVc{iH;~@W9Ah1a}Wi!f!vd ze0zH#U(-PuVV@pI%%T458vQ@+@+swjO}YAW3kSC^})6KgR9yqG9rlTWd3nx~v%`jU3uQAZw!)>l3sgh|EvjgEg+Ie9967xD?Yex2UK z30GUHn7WP>+>!7T{F`LAheAd>!<-F$AW>ne+qUaor{Gq-!wII7FX`4v57$?-8;p-Ck~m{H(l}%zjk-+LuXUkpv%cnBGNsTU;e5#D1kUiB;bwz*UU~RnEwk`{$O1 zmVEFe0hb+5_t0Ab$?j2S%e<+LSW9m<7f?8o;|s_-Urq z(k9P|duxT`!QJ)7&BfDL|El_;VG4pSBDTXqNVL@2x znN5?K{&R|J)VDY!($&m<`n!%v9zz)PH>iE14af=H6v-y&UlwrU;Us*^?KcMJUa^Z$GSWWXAb?dr63b^pUkDBi;UW+zYk zH#Q#fGolfj+w{!NFOf!bcUuq(=q_?(vZ4O90<8aufrMe;{{p#`iYovB diff --git a/doc/arch-design/source/figures/osog_0201.png b/doc/arch-design/source/figures/osog_0201.png deleted file mode 100644 index 794c327e40431888e860e34fe420051b41465d9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42897 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⩔O6_~1m~I#y(8PHw!3#LlV4p)t-nW&;9RQ&x*;0S;uS%VCrvB3 z6Bt^rwPjC9%RoA8W*wd(SDlg7_K{!j5A+%(jJFl|1*Wn0NV9UB0lpjX5`yyjb3N*@5uy@n@vmQ#fPQ zdK(@7cxB?1s9uNg<9~Nw=Z0~#@_{$-qzYs!fdYnbH}8|+3C*2}ZpQTRn3`hgs~6RF SF6|Er@TY;+Q7Kij3i*HZFCFIq diff --git a/doc/arch-design/source/index.rst b/doc/arch-design/source/index.rst deleted file mode 100644 index 5adff1c70b..0000000000 --- a/doc/arch-design/source/index.rst +++ /dev/null @@ -1,52 +0,0 @@ -.. meta:: - :description: This guide targets OpenStack Architects - for architectural design - :keywords: Architecture, OpenStack - -=================================== -OpenStack Architecture Design Guide -=================================== - -.. important:: - - **This guide is no longer maintained by the OpenStack documentation - team. If you wish to update this guide, propose a patch at your - own leisure.** - - This guide was last updated as of the Pike release, documenting - the OpenStack Ocata, Newton, and Mitaka releases. It may - not apply to EOL releases Kilo and Liberty. - - We advise that you read this at your own discretion when planning - on your OpenStack cloud. This guide is intended as advice only. - -Abstract -~~~~~~~~ - -The Architecture Design Guide provides information on planning and designing -an OpenStack cloud. It explains core concepts, cloud architecture design -requirements, and the design criteria of key components and services in an -OpenStack cloud. The guide also describes five common cloud use cases. - -Before reading this book, we recommend: - -* Prior knowledge of cloud architecture and principles. -* Linux and virtualization experience. -* A basic understanding of networking principles and protocols. - -For information about deploying and operating OpenStack, see the -`Installation Guides `_, -`Deployment Guides `_, -and the `OpenStack Operations Guide `_. - -Contents -~~~~~~~~ - -.. toctree:: - :maxdepth: 2 - - common/conventions.rst - arch-requirements.rst - design.rst - use-cases.rst - common/appendix.rst diff --git a/doc/arch-design/source/locale/tr_TR/LC_MESSAGES/arch-design.po b/doc/arch-design/source/locale/tr_TR/LC_MESSAGES/arch-design.po deleted file mode 100644 index 573cb690ba..0000000000 --- a/doc/arch-design/source/locale/tr_TR/LC_MESSAGES/arch-design.po +++ /dev/null @@ -1,7985 +0,0 @@ -# işbaran akçayır , 2017. #zanata -msgid "" -msgstr "" -"Project-Id-Version: Architecture Design Guide 15.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-06-18 17:35+0000\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2017-06-18 05:36+0000\n" -"Last-Translator: Copied by Zanata \n" -"Language-Team: Turkish (Turkey)\n" -"Language: tr-TR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Zanata 3.9.6\n" -"X-POOTLE-MTIME: 1497796838.000000\n" - -msgid "" -"**(Optional) External or Public network** - This network is used to " -"communicate externally from the VMs to the public network space. These " -"addresses are typically handled by the neutron agent on the controller nodes " -"and can also be handled by a SDN other than neutron. However, when using " -"neutron DVR with OVS, this network must be present on the compute node since " -"north and south traffic will not be handled by the controller nodes, but by " -"the compute node itself. For more information on DVR with OVS and compute " -"nodes, see `Open vSwitch: High availability using DVR `_" -msgstr "" -"**(İsteğe bağlı) Harici veya Açık ağ** - Bu ağ sanal makinelerden harici " -"olarak açık ağ alanına iletişim için kullanılır. Bu adresler genellikle " -"kontrol düğümündeki neutron aracısı tarafından ele alınır ve başka bir " -"neutron ya da SDN tarafından da ele alınabilir. Ancak neutron DVR'yi OVS ile " -"kullanırken bu ağ hesaplama düğümünde olmalıdır, çünkü kuzey ve güney " -"trafiği kontrol düğümleri tarafından değil, hesaplama düğümü tarafından ele " -"alınacaktır. OVS'li DVR ve hesaplama düğümleriyle ilgili daha fazla bilgi " -"için `Open vSwitch: DVR ile yüksek kullanılırlığa `_ göz atın." - -msgid "" -"**DRAM SSDs**: Small reads – 4091 IOPs (23x), Small writes – 4184 IOPs (14x)" -msgstr "" -"**DRAM SSD'ler**: Küçük okumalar – 4091 IOPs (23x), Küçük yazmalar – 4184 " -"IOPs (14x)" - -msgid "**File-level storage for live migration**" -msgstr "**Canlı göç için dosya-seviyesi depolama** " - -msgid "" -"**Flash SSDs**: Small reads – 1075 IOPs (6x), Small writes – 21 IOPs (0.1x)" -msgstr "" -"**Flash SSD'ler**: Küçük okumalar – 1075 IOPs (6x), Küçük yazmalar – 21 IOPs " -"(0.1x)" - -msgid "**HDDs**: Small reads – 175 IOPs, Small writes – 280 IOPs" -msgstr "**HDD'ler**: Küçük okumalar – 175 IOPs, Küçük yazmalar – 280 IOPs" - -msgid "" -"**Install or OOB network** - Typically used by most distributions and " -"provisioning tools as the network for deploying base software to the " -"OpenStack compute nodes. This network should be connected at a minimum of " -"1Gb and no routing is usually needed." -msgstr "" -"**Yükleme veya OOB ağı** - OpenStack hesaplama düğümlerine temel yazılım " -"kurulumu için olan ağ olarak çoğu dağıtım ve hazırlık aracı tarafından " -"kullanılır. Bu ağ en az 1Gb bağlanmalıdır, genellikle yönlendirmeye gerek " -"yoktur." - -msgid "" -"**Internal or Management network** - Used as the internal communication " -"network between OpenStack compute and control nodes. Can also be used as a " -"network for iSCSI communication between the compute and iSCSI storage nodes. " -"Again, this should be a minimum of a 1Gb NIC and should be a non-routed " -"network. This interface should be redundant for high availability (HA)." -msgstr "" -"**Dahili veya Yönetim ağı** - OpenStack kontrol ve hesaplama düğümleri " -"arasında dahili iletişim ağı olarak kullanılır. Hesaplama ile iSCSI depolama " -"düğümleri arasında iSCSI iletişimi için de kullanılabilir. Bu da asgari 1Gb " -"NIC'e sahip olmalı ve yönlendirilmeyen ağ olmalıdır. Bu arayüz yüksek " -"kullanılırlık (HA) için yedekli olmalıdır." - -msgid "**Multithread Considerations**" -msgstr "**Çoklu İş Parçacığı Etmenleri**" - -msgid "**Storage driver support**" -msgstr "**Depolama sürücüsü desteği**" - -msgid "" -"**Storage network** - A private network which could be connected to the Ceph " -"frontend or other shared storage. For HA purposes this should be a redundant " -"configuration with suggested 10Gb NICs. This network isolates the storage " -"for the instances away from other networks. Under load, this storage traffic " -"could overwhelm other networks and cause outages on other OpenStack services." -msgstr "" -"**Depolama ağı** - Ceph önyüzüne ya da diğer paylaşımlı depolamaya " -"bağlanabilecek özel bir ağ. Yüksek kullanılırlık amacıyla bu tavsiye edilen " -"10Gb NIC'lere sahip yedekli yapılandırmada olmalıdır. Bu ağ sunucular için " -"depolamayı diğer ağlardan yalıtır. Yük altında, bu depolama trafiği diğer " -"ağları boğabilir ve diğer OpenStack servislerinde kesintilere yol açabilir." - -msgid "" -"**Tenant network** - A private network that enables communication between " -"each tenant's instances. If using flat networking and provider networks, " -"this network is optional. This network should also be isolated from all " -"other networks for security compliance. A 1Gb interface should be sufficient " -"and redundant for HA." -msgstr "" -"**Kiracı ağı** - Her bir kiracının sunucuları arasında iletişimi " -"etkinleştiren özel bir ağ. Düz ağ ve sağlayıcı ağlar kullanılıyorsa, bu ağ " -"isteğe bağlıdır. Bu ağ ayrıca güvenlik uyumu için diğer tüm ağlardan " -"yalıtılmalıdır. Yüksek kullanılırlık ve yedek için 1Gb arayüz yeterli " -"olmalıdır." - -msgid "1" -msgstr "1" - -msgid "1 TB disk" -msgstr "1 TB disk" - -msgid "10" -msgstr "10" - -msgid "10 GB first disk, 30 GB second disk" -msgstr "10 GB ilk disk, 30 GB ikinci disk" - -msgid "" -"10 GbE horizontally scalable spine leaf back-end storage and front end " -"network." -msgstr "" -"10 GbE yatay ölçeklenebilir omurga yaprak arka uçlu depolama ve ön yüz ağı." - -msgid "" -"10 GbE horizontally scalable spine leaf back-end storage and front-end " -"network" -msgstr "" -"10 GbE yatay ölçeklenebilir omurga yaprak arka uç depolama ve ön yüz ağı" - -msgid "" -"10 storage servers each with 12x4 TB disks equaling 480 TB total space with " -"approximately 160 TB of usable space after replicas." -msgstr "" -"Yedeklerden sonra yaklaşık 160 TB kullanılabilir alanı olan toplam 480 TB " -"alana eşit 12x4 TB disklere sahip 10 depolama sunucusu." - -msgid "" -"10 storage servers each with 12x4 TB disks which equals 480 TB total space " -"with about approximately 160 TB of usable space after 3 replicas" -msgstr "" -"3 yedekten sonra 160 TB kullanılır alana sahip olacak 480 TB toplam alana " -"denk gelen her biri 12x4 TB diske sahip 10 depolama sunucusu" - -msgid "10s of TBs of dataset storage" -msgstr "10'larca TB verikümesi depolama" - -msgid "" -"1U rack-mounted servers have the ability to offer greater server density " -"than a blade server solution, but are often limited to dual-socket, multi-" -"core CPU configurations. It is possible to place forty 1U servers in a rack, " -"providing space for the top of rack (ToR) switches, compared to 32 full " -"width blade servers." -msgstr "" -"1U kabine-bağlı sunucular blade sunucu çözümüne göre çok daha iyi sunucu " -"yoğunluğuna sahiptirler, ama çoğunlukla çift-soket çoklu-çekirdek işlemci " -"yapılandırmalarıyla sınırlıdırlar. Kabine kırk 1U sunucu sığdırarak kabin " -"üstü (ToR) anahtarlara yer sağlamak mümkündür, blade sunucularla bu rakam " -"32'dir." - -msgid "2" -msgstr "2" - -msgid "" -"2U rack-mounted servers provide quad-socket, multi-core CPU support, but " -"with a corresponding decrease in server density (half the density that 1U " -"rack-mounted servers offer)." -msgstr "" -"2U kabine-bağlı sunucular dört-soket çoklu-çekirdek işlemci desteği sağlar, " -"ama sunucu yoğunluğunu buna bağlı olarak düşürür (1U kabine-bağlı " -"sunucuların yarı yoğunluğunu sunarlar)." - -msgid "2x10 GbE back-end bonds" -msgstr "2x10 GbE arka uç bağları" - -msgid "2x10 GbE bonded front end" -msgstr "2x10 GbE bağlı ön yüz" - -msgid "3x proxies" -msgstr "3x vekil" - -msgid "4" -msgstr "4" - -msgid "5" -msgstr "5" - -msgid "5 storage servers for caching layer 24x1 TB SSD" -msgstr "Ön bellekleme katmanı için 5 depolama sunucusu 24x1 TB SSD" - -msgid "" -":ref:`logical_architecture` shows one example of the most common integrated " -"services within OpenStack and how they interact with each other. End users " -"can interact through the dashboard, CLIs, and APIs. All services " -"authenticate through a common Identity service, and individual services " -"interact with each other through public APIs, except where privileged " -"administrator commands are necessary." -msgstr "" -":ref:`logical_architecture` OpenStack içinde en tümleşik servislerden bir " -"örnek ve birbirleriyle nasıl iletişim kurduklarını gösterir. Son " -"kullanıcılar kontrol paneli, CLI'ler, ve API'ler aracılığıyla iletişim " -"kurabilirler. Tüm servisler genel bir Kimlik servisi aracılığıyla kimlik " -"doğrulaması yaparlar, ve bağımsız servisler birbirleriyle açık API'ler " -"aracılığıyla iletişim kurarlar, istisna yetkili yönetici komutlarının " -"gerekli olduğu durumlardır." - -msgid "" -":ref:`table_controller_hardware` contains common considerations to review " -"when sizing hardware for the cloud controller design." -msgstr "" -":ref:`table_controller_hardware` bulut kontrol birimi tasarımı için donanım " -"boyutlandırırken gözden geçirilecek etmenleri içerir." - -msgid "" -":ref:`table_openstack_storage` explains the differences between Openstack " -"storage types." -msgstr "" -":ref:`table_openstack_storage` tablosu Openstack depolama türleri arasındaki " -"farkları açıklar." - -msgid "" -":term:`Quality of Service (QoS)` also has a great impact on network " -"intensive workloads as it provides instant service to packets which have a " -"higher priority due to the impact of poor network performance. In " -"applications such as Voice over IP (VoIP), differentiated services code " -"points are a near requirement for proper operation. You can also use QoS in " -"the opposite direction for mixed workloads to prevent low priority but high " -"bandwidth applications, for example backup services, video conferencing, or " -"file sharing, from blocking bandwidth that is needed for the proper " -"operation of other workloads. It is possible to tag file storage traffic as " -"a lower class, such as best effort or scavenger, to allow the higher " -"priority traffic through. In cases where regions within a cloud might be " -"geographically distributed it may also be necessary to plan accordingly to " -"implement WAN optimization to combat latency or packet loss." -msgstr "" -"Zayıf ağ başarımı nedeniyle yüksek önceliğe sahip olan paketlere anında " -"servis sağladığından :term:`Servis Kalitesi (QoS)`nin de ağ ağırlıklı iş " -"yükleri üzerinde büyük etkisi vardır. IP üzerinden Ses (VoIP) gibi " -"uygulamalarda, düzgün işlem için farklı servislerin kod noktaları aynı " -"ölçüde gereklidir. Karışık iş yüklerinde de düşük öncelikli ama yüksek bant " -"genişlikli uygulamaları önlemek için QoS'u aksi yönde kullanabilirsiniz, " -"örneğin yedekleme servisleri, video konferansı, dosya paylaşımı gibi " -"uygulamaların diğer iş yüklerinin işlemesi için gereken bant genişliğini " -"engellememesi için. Bulut içindeki bölgelerin coğrafi olarak dağıtık olduğu " -"durumlarda gecikme ve paket kayıplarıyla savaşmak için de WAN " -"iyileştirmeleri planlamak gerekli olabilir." - -msgid "" -"A RAID 5 array only has 25% of the write IOPS of the read IOPS while a RAID " -"1 array in this case would produce a maximum of 975 IOPS." -msgstr "" -"Bir RAID 1 dizisi azami 975 IOPS üretecekken RAID 5 dizisi yalnızca okuma " -"IOPS'unun 25% kadarına sahiptir. " - -msgid "" -"A Shared File Systems service share (either manila managed or an external " -"one registered in manila) that can be partitioned, formatted and mounted " -"(such as /dev/vdc)" -msgstr "" -"Bölümlenebilir, biçimlendirilmiş, ve bağlı (/dev/vdc gibi) Paylaşımlı Dosya " -"Sistemleri servisi paylaşımı (manila tarafından yönetilen veya manila'ya " -"harici olarak kaydedilmiş)" - -msgid "A basic understanding of networking principles and protocols." -msgstr "Ağ prensipleri ve iletişim kurallarıyla ilgili temel anlayış." - -msgid "" -"A block device that can be partitioned, formatted, and mounted (such as, /" -"dev/vdc)" -msgstr "" -"Bölümlenebilir, biçimlendirilmiş, ve bağlı bir blok aygıt (/dev/vdc gibi)" - -msgid "" -"A cloud controller's hardware can be the same as a compute node, though you " -"may want to further specify based on the size and type of cloud that you run." -msgstr "" -"Bir bulut kontrol biriminin donanımı hesaplama düğümüyle aynı olabilir, yine " -"de çalıştırdığınız bulut türüne ve boyutuna göre belirleme yapabilirsiniz." - -msgid "" -"A cloud environment fundamentally changes the ways that networking is " -"provided and consumed. Understanding the following concepts and decisions is " -"imperative when making architectural decisions. For detailed information on " -"networking concepts, see the `OpenStack Networking Guide `_." -msgstr "" -"Bulut ortamı ağın sağlandığı ve tüketildiği yönleri özünde değiştirir. " -"Mimari kararlar alırken takip eden kavramları ve kararları anlamak faydalı " -"olacaktır. Ağ kavramlarıyla ilgili ayrıntılı bilgi için `OpenStack Ağ " -"Kılavuzuna `_ göz atın." - -msgid "A disk within a single node" -msgstr "Tek bir düğümdeki bir disk" - -msgid "" -"A distributed shared file system. As of Gluster version 3.3, you can use " -"Gluster to consolidate your object storage and file storage into one unified " -"file and object storage solution, which is called Gluster For OpenStack " -"(GFO). GFO uses a customized version of swift that enables Gluster to be " -"used as the back-end storage." -msgstr "" -"Dağıtık bir paylaşımlı dosya sistemi. Gluster sürüm 3.3'den itibaren nesne " -"depolama ve dosya depolamanızı tek bir dosya ve nesne depolama çözümü " -"şeklinde pekiştirebilirsiniz, buna OpenStack için Gluster (GFO) denir. GFO " -"Gluster'in arka uç depolama olarak kullanılabilmesini sağlayan " -"özelleştirilmiş bir swift sürümü kullanır." - -msgid "A file system" -msgstr "Bir dosya sistemi" - -msgid "" -"A firewall, switches and load balancers on the public facing network " -"connections." -msgstr "" -"Açık taraftaki ağ bağlantıları üzerinde bir güvenlik duvarı, anahtarlar ve " -"yük dengeleyiciler." - -msgid "" -"A general purpose OpenStack cloud has multiple options. The key factors that " -"will have an influence on selection of storage hardware for a general " -"purpose OpenStack cloud are as follows:" -msgstr "" -"Genel amaçlı bir OpenStack bulutu birden çok seçeneğe sahiptir. Genel amaçlı " -"bir OpenStack bulutu için depolama donanımı seçimini etkileyebilecek anahtar " -"etmenler şunlardır:" - -msgid "" -"A hypervisor provides software to manage virtual machine access to the " -"underlying hardware. The hypervisor creates, manages, and monitors virtual " -"machines. OpenStack Compute (nova) supports many hypervisors to various " -"degrees, including:" -msgstr "" -"Hipervizör altta yatan donanıma erişmek için sanal makine erişimini yöneten " -"yazılımı sağlar. Hipervizör sanal makineleri oluşturur, yönetir ve izler. " -"OpenStack Hesaplama (nova) bir çok hipervizörü belli derecede destekler:" - -msgid "" -"A key consideration in a storage-focused OpenStack cloud is latency. Using " -"solid-state disks (SSDs) to minimize latency and, to reduce CPU delays " -"caused by waiting for the storage, increases performance. Use RAID " -"controller cards in compute hosts to improve the performance of the " -"underlying disk subsystem." -msgstr "" -"Depolama odaklı bir OpenStack bulutunda anahtar etmenlerden biri gecikmedir. " -"SSD diskler kullanmak gecikmeyi asgaride tutabilir, ve depolama için " -"beklenen CPU gecikmelerini azaltarak başarımı artırır. Altta yapan disk alt " -"sisteminin başarımını iyileştirmek için hesaplama sunucularında RAID kontrol " -"kartlarını kullanın." - -msgid "" -"A measure of how many servers can fit into a given measure of physical " -"space, such as a rack unit [U]." -msgstr "" -"Fiziksel alana kaç tane sunucu sığacağının ölçümü, örneğin kabin birimi [U]." - -msgid "A scalable, reliable data store for OpenStack virtual machine images." -msgstr "" -"OpenStack sanal makine imajları için ölçeklenebilir, güvenilir veri depolama." - -msgid "" -"A storage system presents a LUN backed by a set of SSDs using a traditional " -"storage array with OpenStack Block Storage integration or a storage platform " -"such as Ceph or Gluster." -msgstr "" -"Bir depolama sistemi OpenStack Blok Depolama tümleşimi veya Ceph veya " -"Gluster gibi bir depolama platformu ile geleneksel depolama dizisi " -"kullanarak bir takım SSD destekli LUN arka ucu sunar." - -msgid "" -"A three node MariaDB and Galera cluster, each with 4 vCPUs and 8 GB of RAM" -msgstr "" -"Üç düğümlü MariaDB ve Galera kümesi, her biri 4 vCPU ve 8 GB RAM'e sahip" - -msgid "" -"A web service architecture has many options and optional components. Due to " -"this, it can fit into a large number of other OpenStack designs. A few key " -"components, however, need to be in place to handle the nature of most web-" -"scale workloads. You require the following components:" -msgstr "" -"Bir web servisi mimarisi bir çok seçeneğe ve isteğe bağlı bileşenlere " -"sahiptir. Bu yüzden, yüksek sayıda diğer OpenStack tasarımlarının içine " -"sığabilir. Yine de çoğu web ölçekli iş yüklerinde bazı anahtar kavramların " -"yerinde olması gerekir. Şu bileşenlere ihtiyaç duyarsınız:" - -msgid "" -"A well-considered auditing plan is essential for quickly finding issues. " -"Keeping track of changes made to security groups and tenant changes can be " -"useful in rolling back the changes if they affect production. For example, " -"if all security group rules for a tenant disappeared, the ability to quickly " -"track down the issue would be important for operational and legal reasons. " -"For more details on auditing, see the `Compliance chapter `_ in the OpenStack Security " -"Guide." -msgstr "" -"İyi düşünülmüş bir denetleme planı sorunları bulmak için gereklidir. " -"Güvenlik gruplarına yapılan değişiklikler ve kiracı değişikliklerini takip " -"etmek değişiklikleri üretimi etkilemeleri durumunda geri almak için " -"kullanışlı olabilir. Örneğin, bir kiracı için tüm güvenlik grupları ortadan " -"kaybolursa, yasal ve işlevsel sebeplerle sorunu çabucak bulabilmek önemli " -"olur. Denetlemeyle ilgili daha fazla ayrıntı için, OpenStack Güvenlik " -"Kılavuzundaki `Uyumluluk bölümüne `_ göz atın." - -msgid "" -"A wide variety of use case requirements dictate the nature of the storage " -"back end. Examples of such requirements are as follows:" -msgstr "" -"Geniş kullanım durumu gereksinim çeşitliliği depolama arka ucunun doğasını " -"belirler. Bu tür gereksinimlere örnek vermek gerekirse:" - -msgid "" -"A zone within an Object Storage cluster is a logical division. Any of the " -"following may represent a zone:" -msgstr "" -"Bir Nesne Depolama kümesindeki bölge mantıksal bir bölümdür. Aşağıdakilerin " -"her biri bir bölgeyi temsil edebilir:" - -msgid "" -"API availability guarantees implying multiple infrastructure services and " -"highly available load balancers." -msgstr "" -"API kullanılırlığı çeşitli alt yapı servislerini ve yüksek kullanılırlıklı " -"yük dengeleyicileri kasteder." - -msgid "API differences" -msgstr "API farkları" - -msgid "API endpoints" -msgstr "API uç noktaları" - -msgid "Abstract" -msgstr "Özet" - -msgid "Accessed through…" -msgstr "Şunun aracılığıyla erişildi..." - -msgid "Accessible from…" -msgstr "Şuradan erişilebilir..." - -msgid "Add additional persistent storage to a virtual machine" -msgstr "Bir sanal makineye ek kalıcı depolama ekle" - -msgid "Add additional persistent storage to a virtual machine (VM)" -msgstr "Bir sanal makineye (VM) ek kalıcı depolama ekle" - -msgid "" -"Adding back-end storage capacity to an Object Storage cluster requires " -"careful planning and forethought. In the design phase, it is important to " -"determine the maximum partition power required by the Object Storage " -"service, which determines the maximum number of partitions which can exist. " -"Object Storage distributes data among all available storage, but a partition " -"cannot span more than one disk, so the maximum number of partitions can only " -"be as high as the number of disks." -msgstr "" -"Bir Nesne Depolama kümesine arka uç depolama kapasitesi eklemek dikkatli " -"planlama ve ileri görüş ister. Tasarım aşamasında, Nesne Depolama servisi " -"tarafından ihtiyaç duyulan azami bölüm gücüne karar vermek önemlidir, bu var " -"olabilecek azami bölüm sayısını tanımlar. Nesne Depolama veriyi tüm " -"kullanılabilir depolamaya dağıtır, ama bir bölüm bir diskten ötesine " -"geçemez, yani azami bölüm sayısı disklerin sayısı kadar büyük olabilir." - -msgid "" -"Adding more layers to the Ethernet frame only slows the networking process " -"down. This is known as nodal processing delay." -msgstr "" -"Ethernet çerçevesine daha fazla katman eklemek yalnızca ağ sürecini " -"yavaşlatır. Buna düğümsel işleme gecikmesi denir." - -msgid "" -"Additional capabilities can be realized by moving static web content to be " -"served from OpenStack Object Storage containers, and backing the OpenStack " -"Image service with OpenStack Object Storage." -msgstr "" -"Statik web içeriğinin OpenStack Nesne Depolama kapsayıcılarından " -"sunulmasıyla ve OpenStack İmaj servisinin OpenStack Nesne Depolamayla " -"desteklenmesiyle ek yeteneklerin farkına varılabilir." - -msgid "Additional network design considerations" -msgstr "Ek ağ tasarım etmenleri" - -msgid "Additional networking services" -msgstr "Ek ağ servisleri" - -msgid "" -"Additionally there are several codecs that can be used to change the data " -"representation of events such as:" -msgstr "" -"Ek olarak olayların veri sunumunu değiştirmek için kullanılabilecek değişik " -"kodlayıcılar da bulunmaktadır:" - -msgid "" -"Additionally, CPU selection may not be one-size-fits-all across enterprises, " -"but more of a list of SKUs that are tuned for the enterprise workloads." -msgstr "" -"Ek olarak, işlemci seçimi kurumlar arasında hepsine uygun tek boy şeklinde " -"değil de, daha çok kurumsal iş yükleri için ayarlanmış SKU'lar listesi " -"şeklinde olabilir." - -msgid "" -"Address network-focused applications when considering certain operational " -"realities. For example, consider the impending exhaustion of IPv4 addresses, " -"the migration to IPv6, and the use of private networks to segregate " -"different types of traffic that an application receives or generates. In the " -"case of IPv4 to IPv6 migrations, applications should follow best practices " -"for storing IP addresses. We recommend you avoid relying on IPv4 features " -"that did not carry over to the IPv6 protocol or have differences in " -"implementation." -msgstr "" -"Belirli işlevsel gerçekleri göz önüne alırken ağ odaklı uygulamaları da göz " -"önüne alın. Örneğin yaklaşan IPv4 adreslerinin bitişini, IPv6'ya geçişi, ve " -"bir uygulamanın aldığı ya da ürettiği değişik türde trafik için özel ağlar " -"ayırmayı göze alın. IPv4'den IPv6'ya geçiş durumunda, uygulamalar IP " -"adreslerini depolamak için en iyi yöntemleri takip etmelidirler. IPv6 " -"iletişim kurallarına taşınmamış ya da uygulanmasında farklılıklar olan IPv4 " -"özelliklerinden uzak durmanızı öneririz." - -msgid "" -"Admin establishing `encrypted volume type `_, then user selecting encrypted volume" -msgstr "" -"Yönetici `şifreli bölüm türü `_ yerleştirir, ardından kullanıcı şifreli " -"birimi seçer" - -msgid "Administrator configuration of size settings, known as *flavors*" -msgstr "" -"Boyut ayarları için yönetici yapılandırması, *nitelikler* olarak bilinir" - -msgid "" -"After an outage, ensure that operations of a site are resumed when it comes " -"back online. We recommend that you architect the recovery to avoid race " -"conditions." -msgstr "" -"Bir kesintiden sonra, bölge çevrimiçi olduğunda işlemlerin devam ettiğinden " -"emin olun. Kurtarmanın yarış koşullarından etkilenmeyecek şekilde " -"tasarlandığından emin olun." - -msgid "" -"After an outage, ensure the method for resuming proper operations of a site " -"is implemented when it comes back online. We recommend you architect the " -"recovery to avoid race conditions." -msgstr "" -"Bir kesintiden sonra, konum tekrar çevrimiçi olduğunda yapılması gereken " -"işlemlerin doğruluğundan emin olun. Kurtarmayı yarış durumlarına sebep " -"olmayacak şekilde tasarlamanızı öneriyoruz." - -msgid "" -"All :term:`Advanced Message Queuing Protocol (AMQP)` messages for services " -"are received and sent according to the queue broker" -msgstr "" -"Servisler için tüm :term:`Gelişmiş İleti Kuyruklama İletişim Kuralı (AMQP)` " -"iletileri kuyruk aracısına göre gönderilir ya da alınır" - -msgid "" -"All network devices need to be aware of all MACs, even instance MACs, so " -"there is constant churn in MAC tables and network state changes as instances " -"start and stop." -msgstr "" -"Tüm ağ aygıtları tüm MAC'lerden, hatta sunucu MAC'lerinden haberdar " -"olmalıdır, yani sunucular başlatılıp durduruldukça ağ durumu ve MAC " -"tabloları sürekli değişir." - -msgid "" -"All nodes within an OpenStack cloud require network connectivity. In some " -"cases, nodes require access to more than one network segment. The design " -"must encompass sufficient network capacity and bandwidth to ensure that all " -"communications within the cloud, both north-south and east-west traffic, " -"have sufficient resources available." -msgstr "" -"OpenStack bulutundaki tüm düğümlerin ağ bağlantısına ihtiyacı vardır. Bazı " -"durumlarda, düğümler birden fazla ağ dilimine ihtiyaç duyabilir. Tasarım " -"bulut içindeki tüm iletişimin, hem kuzey-güney hem doğu-batı trafiğinde " -"yeterli kullanılabilir kaynağa sahip olduğuna, ağ kapasitesi ve bant " -"genişliğinin yeterli olduğuna emin olmalıdır." - -msgid "" -"All public access, whether direct, through a command-line client, or through " -"the web-based dashboard, uses the API service. Find the API reference at " -"`Development resources for OpenStack clouds `_." -msgstr "" -"Tüm açık erişim, doğrudan ya da komut satırı istemcisi üzerinden, veya web " -"tabanlı kontrol panelinden, API servisini kullanır. `OpenStack bulutlar için " -"geliştirme kaynaklarında `_ API " -"kaynaklarını bulabilirsiniz." - -msgid "" -"All servers running OpenStack components should be able to access an " -"appropriate NTP server. You may decide to set up one locally or use the " -"public pools available from the `Network Time Protocol project `_." -msgstr "" -"OpenStack bileşenleri çalıştıran tüm sunucular uygun bir NTP sunucusuna " -"erişebilmelidir. Yerel bir tane kurabilir ya da `Ağ Zaman İletişim Kuralı " -"projesinden `_ açık havuzlardan bir tanesini " -"kullanabilirsiniz." - -msgid "Allows you to fetch images from Amazon S3." -msgstr "İmajları Amazon S3'den getirmenizi sağlar." - -msgid "" -"Allows you to fetch images from a web server. You cannot write images by " -"using this mode." -msgstr "" -"İmajları bir web sunucudan getirmenizi sağlar. Bu kipi kullanarak imaj " -"yazamazsınız." - -msgid "Allows you to store images as objects." -msgstr "İmajları nesne olarak saklamanızı sağlar." - -msgid "" -"Also consider the routing of network traffic. For some applications, develop " -"a complex policy framework for routing. To create a routing policy that " -"satisfies business requirements, consider the economic cost of transmitting " -"traffic over expensive links versus cheaper links, in addition to bandwidth, " -"latency, and jitter requirements." -msgstr "" -"Ağ trafiğinin yönlendirilmesini de dikkate alın. Bazı uygulamalar için, " -"yönlendirme için karmaşık ilke çatıları geliştirin. İş gereksinimlerini " -"karşılayacak bir yönlendirme ilkesi oluşturmak için, ucuz bağlantılarla " -"pahalı bağlantılar üzerinden trafik aktarım maliyetlerini, ek olarak bant " -"genişliği, gecikme ve kararsızlık gereksinimlerini dikkate alın." - -msgid "" -"Also, you need to decide whether you want to support object storage in your " -"cloud. The two common use cases for providing object storage in a compute " -"cloud are to provide:" -msgstr "" -"Ayrıca, bulutunuzda nesne depolamayı destekleyip desteklemeyeceğinize de " -"karar vermelisiniz. Bir hesaplama bulutunda nesne depolama sunmak için iki " -"yaygın kullanım sebebi bulunur:" - -msgid "" -"Although it is not a substitute for IP networking, networking at layer-2 can " -"be a powerful adjunct to IP networking." -msgstr "" -"IP ağlarının yerine geçmese de, katman-2 ağları IP ağına ek olarak güçlü bir " -"seçenektir." - -msgid "" -"Among :term:`object`, :term:`container`, and :term:`account servers `" -msgstr "" -":term:`nesne`, :term:`kapsayıcı`, and :term:`hesap sunucuları ` arasında" - -msgid "Amount of available physical storage" -msgstr "Kullanılabilir fiziksel depolama miktarı" - -msgid "An API driven S3 compatible object store for application use." -msgstr "Uygulama kullanımı için API güdümlü S3 uyumlu nesne depolama." - -msgid "" -"An application that requires additional resources may suit a multiple cloud " -"architecture. For example, a retailer needs additional resources during the " -"holiday season, but does not want to add private cloud resources to meet the " -"peak demand. The user can accommodate the increased load by bursting to a " -"public cloud for these peak load periods. These bursts could be for long or " -"short cycles ranging from hourly to yearly." -msgstr "" -"Ek kaynaklar gerektiren bir uygulama çoklu bulut mimarisi için uygun " -"olabilir. Örneğin, bir satıcı tatil sezonunda ek kaynaklara ihtiyaç duyar, " -"ama yüksek talebi karşılamak için ek özel bulut kaynakları eklemek istemez. " -"Kullanıcı bu yük dönemlerinin tepe noktasında artan yükü açık bir buluta " -"yönlendirerek karşılayabilir. Bu artışlar saatlik ya da yıllık gibi uzun ya " -"da kısa döngüler halinde olabilir." - -msgid "" -"An important consideration in running a cloud over time is projecting growth " -"and utilization trends in order to plan capital expenditures for the short " -"and long term. Gather utilization meters for compute, network, and storage, " -"along with historical records of these meters. While securing major anchor " -"tenants can lead to rapid jumps in the utilization of resources, the average " -"rate of adoption of cloud services through normal usage also needs to be " -"carefully monitored." -msgstr "" -"Bir bulutun zamanla işleyişindeki önemli etmenlerden biri proje büyümesi ve " -"kullanım trendlerinin kısa ve uzun vadede maddi planlamasının yapılmasıdır. " -"Hesaplama, ağ ve depolama için kullanım ölçütlerini ve bunların geçmiş " -"kayıtlarını toplayın. Büyük kiracıların alınması kaynak kullanımının aniden " -"artmasına sebep olacağı gibi, bulut servislerinin zamanla ortalama artışı da " -"dikkatlice izlenmelidir." - -msgid "" -"An important factor in your choice of hypervisor is your current " -"organization's hypervisor usage or experience. Also important is the " -"hypervisor's feature parity, documentation, and the level of community " -"experience." -msgstr "" -"Hipervizör seçiminizdeki önemli etmen mevcut kurumunuzun hipervizör " -"kullanımı veya deneyimidir. Hipervizörün özellik eşitliği, belgelendirmesi " -"ve topluluk deneyimi seviyesi de önemlidir." - -msgid "An object store with a RESTful interface" -msgstr "RESTful arayüzlü nesne depolama" - -msgid "" -"An online classified advertising company wants to run web applications " -"consisting of Tomcat, Nginx, and MariaDB in a private cloud. To meet the " -"policy requirements, the cloud infrastructure will run in their own data " -"center. The company has predictable load requirements but requires scaling " -"to cope with nightly increases in demand. Their current environment does not " -"have the flexibility to align with their goal of running an open source API " -"environment. The current environment consists of the following:" -msgstr "" -"Çevrimiçi gizli bir reklam şirketi Tomcat, Nginx, ve MariaDB'den oluşan web " -"uygulamalarını özel bir bulutta çalıştırmak istiyor. İlke gereksinimlerini " -"karşılamak için, bulut alt yapısı kendi veri merkezlerinde çalışacak. " -"Şirketin ön görülebilen yük gereksinimleri var ama gece yük artışlarını " -"karşılayabilmek için ölçeklemeye de ihtiyaç duyuyor. Mevcut ortamları açık " -"kaynak bir API ortamı çalıştırma amaçlarıyla örtüşmüyor. Mevcut ortam " -"şunlardan oluşuyor:" - -msgid "" -"An operations staff supports, manages, and maintains an OpenStack " -"environment. Their skills may be specialized or varied depending on the size " -"and purpose of the installation." -msgstr "" -"Bir işletme ekibi OpenStack ortamını destekler, yönetir ve bakım yapar. " -"Kurulumun amacı ve boyutuna bağlı olarak yetenekleri değişken olabilir." - -msgid "" -"An organization designs a large scale cloud-based web application. The " -"application scales horizontally in a bursting behavior and generates a high " -"instance count. The application requires an SSL connection to secure data " -"and must not lose connection state to individual servers." -msgstr "" -"Bir kurum büyük ölçekli bulut tabanlı web uygulaması tasarlar. Uygulama " -"artan şekilde yatay olarak ölçeklenir ve yüksek sunucu sayısına ulaşır. " -"Uygulama veriyi güvene almak için SSL bağlantısına ihtiyaç duyar ve bağımsız " -"sunuculara bağlantı durumunu kaybetmemelidir." - -msgid "" -"An organization may have certain legal obligations and regulatory compliance " -"measures which could require certain workloads or data to not be located in " -"certain regions." -msgstr "" -"Bir kurumun belirli iş yüklerini veya veriyi belirli bölgelerde tutmamasını " -"gerektiren yasal sorumluluklar veya hükümlülükleri olabilir." - -msgid "" -"An overly complex network design can be difficult to maintain and " -"troubleshoot. While device-level configuration can ease maintenance concerns " -"and automated tools can handle overlay networks, avoid or document non-" -"traditional interconnects between functions and specialized hardware to " -"prevent outages." -msgstr "" -"Aşırı karmaşık bir ağ tasarımının yönetilmesi ve sorun giderilmesi zor " -"olabilir. Aygıt seviyesinde yapılandırma yönetim endişelerini azaltabilse, " -"ve otomatik araçlar üst katman ağları ele alabilse de, özel donanımlarla " -"işlevler arasındaki geleneksel olmayan bağlantıları belgelendirin ve " -"kesintileri giderebilmek için özelleşmiş donanımlar kullanın. " - -msgid "" -"Analytics of large data sets are dependent on the performance of the storage " -"system. Clouds using storage systems such as Hadoop Distributed File System " -"(HDFS) have inefficiencies which can cause performance issues." -msgstr "" -"Büyük veri kümelerinin çözümlenmesi depolama sisteminin başarımına bağlıdır. " -"Hadoop Dağıtık Dosya Sistemi (HDFS) gibi depolama sistemlerini kullanan " -"bulutlar başarım sorunları yaratabilecek verimsizliklere sahiptir." - -msgid "" -"Another common use case for OpenStack environments is providing a cloud-" -"based file storage and sharing service. You might consider this a storage-" -"focused use case, but its network-side requirements make it a network-" -"focused use case." -msgstr "" -"OpenStack ortamları için yaygın başka bir kullanım alanı da bulut tabanlı " -"dosya depolama ve paylaşım servisi sağlamaktır. Bunu depolama odaklı " -"kullanım durumu olarak ele alabilirsiniz, ama ağ taraflı gereksinimleri bir " -"ağ odaklı kullanım durumu yapar." - -msgid "" -"Another consideration is when a new file is being uploaded, the proxy server " -"must write out as many streams as there are replicas, multiplying network " -"traffic. For a three-replica cluster, 10 Gbps in means 30 Gbps out. " -"Combining this with the previous high bandwidth bandwidth private versus " -"public network recommendations demands of replication is what results in the " -"recommendation that your private network be of significantly higher " -"bandwidth than your public network requires. OpenStack Object Storage " -"communicates internally with unencrypted, unauthenticated rsync for " -"performance, so the private network is required." -msgstr "" -"Diğer etmen de yeni bir dosyanın yüklendiği durumda oluşur, vekil sunucu " -"yedek sayısı kadar akışa yazmak durumundadır, bu da ağ trafiğini katlar. Üç " -"yedekli bir kümede, 10 Gbps içe gelen veri 30 Gbps dışa giden veri demektir. " -"Bunu daha önceki özel ağlar ile açık ağlar için bant genişliği önerileriyle " -"birleştirince özel ağınızın açık ağınızdan daha yüksek bant genişliğine " -"sahip olması gerektiği sonucu ortaya çıkar. OpenStack Nesne Depolama daha " -"iyi başarım için dahili olarak şifrelenmemiş, yetkilendirilmemiş rsync " -"kullanır, yani özel bir ağ mecburidir." - -msgid "" -"Another option is to assess the average workloads and increase the number of " -"instances that can run within the compute environment by adjusting the " -"overcommit ratio. This ratio is configurable for CPU and memory. The default " -"CPU overcommit ratio is 16:1, and the default memory overcommit ratio is " -"1.5:1. Determining the tuning of the overcommit ratios during the design " -"phase is important as it has a direct impact on the hardware layout of your " -"compute nodes." -msgstr "" -"Başka bir seçenek de ortalama iş yükünü değerlendirmek ve hesaplama " -"ortamında çalışabilecek sunucu sayısını kaynak aşımı oranına oranlamaktır. " -"Bu oran CPU ve bellek için yapılandırılabilir. Öntanımlı işlemci kaynak aşım " -"oranı 16:1 dir, ve öntanımlı hafıza kaynak aşım oranı 1.5:1 dir. Tasarım " -"aşamasında kaynak aşımı oranlarının ayarlanmasına karar vermek hesaplama " -"düğümlerinizin donanım düzeni üzerinde doğrudan etkilidir." - -msgid "" -"Another option to address the higher host count is to use a quad-socket " -"platform. Taking this approach decreases host density which also increases " -"rack count. This configuration affects the number of power connections and " -"also impacts network and cooling requirements." -msgstr "" -"Yüksek sunucu sayısını ele almak için kullanılacak diğer seçenek dörtlü-" -"soket platform kullanmaktır. Bu yöntemi takip etmek sunucu yoğunluğunu " -"azaltır bu da kabin sayısını azaltır. Bu yapılandırma güç bağlantılarının " -"sayısını ve ağ ve soğutma gereksinimlerini etkiler." - -msgid "" -"Any SLA negotiation must also take into account the reliance on third " -"parties for critical aspects of the design. For example, if there is an " -"existing SLA on a component such as a storage system, the SLA must take into " -"account this limitation. If the required SLA for the cloud exceeds the " -"agreed uptime levels of the cloud components, additional redundancy would be " -"required. This consideration is critical in a hybrid cloud design, where " -"there are multiple third parties involved." -msgstr "" -"Tüm SLA el sıkışmaları tasarımın kritik bölgelerinde güven duyulan üçüncü " -"tarafları da hesaba katmalıdır. Örneğin, bir depolama sistemi gibi bir " -"bileşen için mevcut bir SLA varsa, SLA bu sınırlandırmayı hesaba katmalıdır. " -"Bulut için gerekli SLA bulut bileşenleri için anlaşılan hizmet zamanlarını " -"aşıyorsa, ek yedeklilik gerekecektir. Bu etmen birden fazla üçüncü taraf " -"bulunan melez bulut tasarımında kritiktir." - -msgid "Anywhere" -msgstr "Heryerden" - -msgid "Application" -msgstr "Uygulama" - -msgid "Application Programming Interface (API)" -msgstr "Uygulama Programlama Arayüzü (API)" - -msgid "" -"Application design must also be factored into the capabilities of the " -"underlying cloud infrastructure. If the compute hosts do not provide a " -"seamless live migration capability, then it must be expected that if a " -"compute host fails, that instance and any data local to that instance will " -"be deleted. However, when providing an expectation to users that instances " -"have a high-level of uptime guaranteed, the infrastructure must be deployed " -"in a way that eliminates any single point of failure if a compute host " -"disappears. This may include utilizing shared file systems on enterprise " -"storage or OpenStack Block storage to provide a level of guarantee to match " -"service features." -msgstr "" -"Altta yatan bulut alt yapısının yeteneklerine uygulama tasarımı da dahil " -"edilmelidir. Eğer hesaplama sunucuları akıcı bir canlı göç yeteneği " -"sunmuyorsa, bir hesaplama sunucusu bozulduğunda, bu sunucu ve sunucuya özel " -"tüm verinin silineceği beklenmelidir. Ancak kullanıcılara sunucuların yüksek " -"seviyede çalışma zamanına sahip olduğu garanti edilirken alt yapı da bir " -"hesaplama sunucusu ortadan kaybolursa kırılma noktası oluşturmayacak şekilde " -"kurulmalıdır. Bu servis özellikleriyle eşleşecek seviyede garanti sağlamak " -"için paylaşımlı dosya sistemleri veya OpenStack Blok depolama kullanmayı da " -"içerebilir." - -msgid "Application momentum" -msgstr "Uygulama ivmesi" - -msgid "Application readiness" -msgstr "Uygulama hazırlığı" - -msgid "Approximately 60 Gb of total bandwidth to the back-end storage cluster" -msgstr "Arka uç depolama kümesine yaklaşık 60 Gb toplam bant genişliği" - -msgid "Architecture requirements" -msgstr "Mimari gereksinimleri" - -msgid "Architecture, OpenStack" -msgstr "Mimari, OpenStack" - -msgid "Are my storage needs mostly read, or write, or mixed?" -msgstr "Depolama ihtiyacım çoğunlukla okuma ya da yazma mı, yoksa karışık mı?" - -msgid "Are there read, write, or random access performance requirements?" -msgstr "Okuma, yazma, veya rasgele erişim başarım gereksinimlerim var mı?" - -msgid "" -"As a general guideline, increasing the complexity of a cloud architecture " -"increases the cost of building and maintaining it. For example, a hybrid or " -"multi-site cloud architecture involving multiple vendors and technical " -"architectures may require higher setup and operational costs because of the " -"need for more sophisticated orchestration and brokerage tools than in other " -"architectures. However, overall operational costs might be lower by virtue " -"of using a cloud brokerage tool to deploy the workloads to the most cost " -"effective platform." -msgstr "" -"Genel prensip olarak, bir bulut mimarisinin karmaşıklığı arttıkça inşası ve " -"yönetiminin maliyeti de artacaktır. Örneğin, birden fazla tedarikçi ve " -"teknik mimariye ihtiyaç duyan melez ya da birden fazla ikameli bulut " -"mimarisi diğer mimarilerin aksine sofistike orkestrasyon ve komisyon " -"araçlarına ihtiyaç duyacağından daha fazla kurulum ve işletim maliyet " -"çıkarabilir. Ancak, iş yükünü en uygun maliyetli platforma dağıtan komisyon " -"aracı kullanmanın sonucu olarak genel işlem maliyetleri daha az tutabilir." - -msgid "" -"As another example, if you choose to use single-host networking where the " -"cloud controller is the network gateway for all instances, then the cloud " -"controller must support the total amount of traffic that travels between " -"your cloud and the public Internet." -msgstr "" -"Başka bir örnek olarak, bulut kontrol biriminin tüm sunucular için ağ geçidi " -"olduğu tek sunuculu ağı kullanırsanız, bulut kontrol birimi bulutunuz ve " -"açık internet arasındaki toplam trafik miktarını da destekleyebilmelidir." - -msgid "" -"As another example, you could use pairs of servers for a collective cloud " -"controller—one active, one standby—for redundant nodes providing a given set " -"of related services, such as:" -msgstr "" -"Başka bir örnek olarak, verilen ilişkili servisleri sağlayan yedekli " -"düğümlere sahip olmak için toplu bir bulut kontrol birimi için—biri etkin, " -"diğeri beklemede—olmak üzere sunucu çiftleri kullanabilirsiniz:" - -msgid "" -"As demand for network resources increase, make sure your network design " -"accommodates expansion and upgrades. Operators add additional IP address " -"blocks and add additional bandwidth capacity. In addition, consider managing " -"hardware and software lifecycle events, for example upgrades, " -"decommissioning, and outages, while avoiding service interruptions for " -"tenants." -msgstr "" -"Ağ kaynaklarına ihtiyaç arttıkça, ağ tasarımınızın genişlemeyi ve " -"yükseltmeleri kaldıracağından emin olun. İşetmenler ek IP adresi blokları ve " -"ek bant genişliği kapasitesi eklerler. Ek olarak, güncellemeler, emekliye " -"ayrılma ve kesintiler gibi donanım ve yazılım yaşam döngüsü olaylarını da " -"göz önüne alarak kiracılar için servis kesintilerini engelleyin." - -msgid "" -"As more tenants begin to access data within the cluster and their data sets " -"grow, it is necessary to add front-end bandwidth to service data access " -"requests. Adding front-end bandwidth to an Object Storage cluster requires " -"careful planning and design of the Object Storage proxies that tenants use " -"to gain access to the data, along with the high availability solutions that " -"enable easy scaling of the proxy layer. We recommend designing a front-end " -"load balancing layer that tenants and consumers use to gain access to data " -"stored within the cluster. This load balancing layer may be distributed " -"across zones, regions or even across geographic boundaries, which may also " -"require that the design encompass geo-location solutions." -msgstr "" -"Gittikçe daha çok kiracı kümedeki veriye erişmeye başladıkça ve veri " -"kümeleri büyüdükçe, veri erişim isteklerini karşılamak için ön uç bant " -"genişliği eklemek gereklidir. Bir Nesne Depolama kümesine ön uç bant " -"genişliği eklemek dikkatli planlama ve kiracıların veriye erişmek için " -"kullandığı Nesne Depolama vekillerinin tasarımını gerektirir, bunun yanında " -"vekil katmanının kolayca ölçeklenmesini sağlayan ön uç yük yüksek " -"kullanılırlık çözümleri de düşünülmelidir. Kiracıların ve müşterilerin " -"kümede saklanan veriye erişmek için kullandığı bir ön uç yük dengeleme " -"katmanı tasarlamanızı öneririz. Bu yük dengeleme katmanı bölgeler arasına, " -"kullanılırlık bölgelerine, hatta coğrafik sınırlara dağıtılabilir, bu da " -"tasarımın coğrafik konum çözümlerini kaldırabilmesi demektir." - -msgid "" -"As of the Kilo release, key enhancements have been added to the OpenStack " -"code to improve guest performance. These improvements allow the Compute " -"service to take advantage of greater insight into a compute host's physical " -"layout and therefore make smarter decisions regarding workload placement. " -"Administrators can use this functionality to enable smarter planning choices " -"for use cases like NFV (Network Function Virtualization) and HPC (High " -"Performance Computing)." -msgstr "" -"Kilo dağıtımından itibaren, OpenStack koduna misafir başarımını geliştirecek " -"anahtar iyileştirmeler eklenmiştir. Bu iyileştirmeler Hesaplama servisinin " -"bir hesaplama sunucusunun fiziksel düzenini hakkında daha fazla bilgi sahibi " -"olmasını sağlar, böylece iş yükü yerleştirmede daha zekice davranır. " -"Yöneticiler bu özelliği kullanarak NFV (Ağ İşlevi Sanallaştırma) ve HPC " -"(Yüksek Başarımlı Hesaplama) gibi kullanım durumları için daha akıllıca " -"planlama yapabilirler." - -msgid "" -"As of the Kilo release, there is no common image format that is usable by " -"all clouds. Conversion or recreation of images is necessary if migrating " -"between clouds. To simplify deployment, use the smallest and simplest images " -"feasible, install only what is necessary, and use a deployment manager such " -"as Chef or Puppet. Do not use golden images to speed up the process unless " -"you repeatedly deploy the same images on the same cloud." -msgstr "" -"Kilo dağıtımıyla birlikte, tüm bulutlar tarafından kullanılabilir genel bir " -"imaj biçimi yok. Bulutlar arasında göç yapılacaksa imajların dönüştürülmesi " -"ya da yeniden oluşturulması gerekiyor. Kurulumu basitleştirmek için, en " -"basit ve küçük imajları kullanın, yalnızca ihtiyacınız olan şeyleri kurun, " -"ve Chef veya Puppet gibi bir kurulum yöneticisi kullanın. Tekrar tekrar aynı " -"imajları aynı bulutta kurmuyorsanız süreci hızlandırmak için altın imajları " -"kullanmayın." - -msgid "" -"As part of the architecture design for a compute cluster, you must specify " -"storage for the disk on which the instantiated instance runs. There are " -"three main approaches to providing temporary storage:" -msgstr "" -"Hesaplama kümesinin mimari tasarımının bir parçası olarak, açılan sunucunun " -"çalıştığı disk için depolama belirtmelisiniz. Geçici depolama sağlamak için " -"üç ana yaklaşım vardır." - -msgid "" -"As per the recent OpenStack user survey, KVM is the most widely adopted " -"hypervisor in the OpenStack community. Besides KVM, there are many " -"deployments that run other hypervisors such as LXC, VMware, Xen, and Hyper-" -"V. However, these hypervisors are either less used, are niche hypervisors, " -"or have limited functionality compared to more commonly used hypervisors." -msgstr "" -"Yapılan son araştırmaya göre OpenStack topluluğunda en geniş kullanım " -"alanına sahip hipervizör KVM. KVM'nin yanında LXC, VMware, Xen, ve Hyper-V " -"gibi diğer hipervizörleri de çalıştıran bir sürü kurulum var. Ancak bu " -"hipervizörler ya daha az kullanılıyorlar, niş hipervizörler, veya daha fazla " -"kullanılan hipervizörlere göre sınırlı işlevselliğe sahipler." - -msgid "" -"As the cloud environment grows, the amount of log data increases " -"exponentially. Enabling debugging on either the OpenStack services or the " -"operating system further compounds the data issues." -msgstr "" -"Bulut ortamı büyüdükçe, günlük kaydı verisi üssel olarak artar. OpenStack " -"servislerinde ya da işletim sisteminde hata ayıklamayı etkinleştirmek veri " -"sorunlarını daha da artırır." - -msgid "" -"As with databases and message queues, having more than one :term:`API " -"server` is a good thing. Traditional HTTP load-balancing techniques can be " -"used to achieve a highly available ``nova-api`` service." -msgstr "" -"Veritabanları ve ileti kuyruklarında olduğu gibi birden fazla :term:`API " -"sunucu` olması iyi bir şeydir. Geleneksel HTTP yük dengeleme teknikleri " -"yüksek kullanılırlıklı bir ``nova-api`` servisi elde etmek için " -"kullanılabilir." - -msgid "" -"As you add back-end storage capacity to the system, the partition maps " -"redistribute data amongst the storage nodes. In some cases, this involves " -"replication of extremely large data sets. In these cases, we recommend using " -"back-end replication links that do not contend with tenants' access to data." -msgstr "" -"Sisteme arka uç depolama kapasitesi ekledikçe, bölüm haritaları veriyi diğer " -"depolama düğümleri arasında yeniden dağıtır. Bazı durumlarda, bu oldukça " -"büyük veri kümelerinin çoklanması anlamına gelir. Bu gibi durumlarda, " -"kiracıların veriye erişimine karışmayacak arka uç çoklama bağlantıları " -"kullanılmasını öneriyoruz." - -msgid "Auditing" -msgstr "Denetleme" - -msgid "Authentication" -msgstr "Kimlik Doğrulama" - -msgid "Authentication and Authorization" -msgstr "Kimlik doğrulama ve Yetkilendirme" - -msgid "Authentication and authorization for identity management" -msgstr "Kimlik yönetimi için kimlik doğrulama ve yetkilendirme" - -msgid "Availability" -msgstr "Kullanılabilirlik" - -msgid "Available user-level quotes" -msgstr "Kullanılabilir kullanıcı seviyesi kotaları" - -msgid "" -"Avoid hardware or software vendor lock-in. The design should not rely on " -"specific features of a vendor's network router or switch." -msgstr "" -"Donanımsal ya da yazılımsal üretici bağımlılığından uzak durun. Tasarım bir " -"üreticinin yönlendirici ya da anahtarının belirli özelliklerine bağımlı " -"olmamalıdır." - -msgid "" -"Avoid using a hybrid cloud deployment with more than just OpenStack (or with " -"different versions of OpenStack) as API changes can cause compatibility " -"issues." -msgstr "" -"OpenStack (hatta farklı OpenStack sürümleriyle bile) melez bulut " -"kurulumlarından uzak durun, API değişiklikleri uyumluluk sorunları " -"çıkarabilir." - -msgid "" -"Because sessions persist until closed, the routing and switching " -"architecture provides high availability. Switches mesh to each hypervisor " -"and each other, and also provide an MLAG implementation to ensure that " -"layer-2 connectivity does not fail. Routers use VRRP and fully mesh with " -"switches to ensure layer-3 connectivity. Since GRE provides an overlay " -"network, Networking is present and uses the Open vSwitch agent in GRE tunnel " -"mode. This ensures all devices can reach all other devices and that you can " -"create tenant networks for private addressing links to the load balancer." -msgstr "" -"Oturumlar kapatılana kadar kaldıklarından, yönlendirme ve anahtarlama " -"mimarisi yüksek kullanılırlık sağlar. Anahtarlar her bir hipervizör ve " -"birbirleriyle örgülüdür, ayrıca katman-2 bağlantının başarısız olmadığından " -"emin olmak için MLAG uygulaması sağlarlar. Yönlendiriciler katman-3 " -"bağlantısından emin olmak için VRRP sağlarlar ve anahtarlarla tam örgü " -"halindedirler. GRE bir üst katman ağı sağladığından, Ağ mevcuttur ve GRE " -"tünel kipinde Open vSwitch aracısı kullanır. Bu, tüm aygıtların birbirine " -"erişebilmesini ve bağlantıların yük dengeleyiciye özel adreslemesi için " -"kiracı ağların oluşturulmasını sağlar." - -msgid "" -"Because the cloud controller handles so many different services, it must be " -"able to handle the amount of traffic that hits it. For example, if you " -"choose to host the OpenStack Image service on the cloud controller, the " -"cloud controller should be able to support the transferring of the images at " -"an acceptable speed." -msgstr "" -"Bulut kontrol birimi bir çok servisi ele aldığından, gelen trafiği de " -"kaldırabilmelidir. Örneğin OpenStack imaj servisini bulut kontrol biriminde " -"sunmayı seçerseniz, bulut kontrol birimi imajların kabul edilebilir bir " -"hızda aktarımını sağlayabilmelidir." - -msgid "Before reading this book, we recommend:" -msgstr "Bu kitabı okumadan önce, şunları öneriyoruz:" - -msgid "Benefits using a Layer-2 network" -msgstr "Katman-2 ağ kullanmanın faydaları" - -msgid "Benefits using a Layer-3 network" -msgstr "Katman-3 ağ kullanmanın faydaları" - -msgid "" -"Better support for distributed deployments across multiple datacenters " -"through support for asynchronous eventual consistency replication." -msgstr "" -"Asenkron nihai tutarlılıklı yedekleme desteği ile birden çok veri merkezi " -"arasında dağıtık kuruluma daha iyi destek." - -msgid "" -"Between 120 and 140 installations of Nginx and Tomcat, each with 2 vCPUs and " -"4 GB of RAM" -msgstr "" -"120 ve 140 arası Nginx ve Tomcat kurulumu, her biri 2 vCPU ve 4 GB RAM'e " -"sahip" - -msgid "Between servers and the proxies" -msgstr "Sunucular ve vekiller arasında" - -msgid "Between the proxies and your users" -msgstr "Vekiller ve kullanıcılarınız arasında" - -msgid "" -"Beyond the normal Identity service, Compute service, Image service, and " -"Object Storage components, we recommend the Orchestration service component " -"to handle the proper scaling of workloads to adjust to demand. Due to the " -"requirement for auto-scaling, the design includes the Telemetry service. Web " -"services tend to be bursty in load, have very defined peak and valley usage " -"patterns and, as a result, benefit from automatic scaling of instances based " -"upon traffic. At a network level, a split network configuration works well " -"with databases residing on private tenant networks since these do not emit a " -"large quantity of broadcast traffic and may need to interconnect to some " -"databases for content." -msgstr "" -"Normal Kimlik servisi, Hesaplama servisi, İmaj servisi, ve Nesne Depolama " -"bileşenlerinin ötesinde Orkestrasyon servis bileşenin iş yüklerinin doğru " -"ölçeklenmesi isteğini karşılamasını öneriyoruz. Otomatik ölçeklendirme " -"ihtiyacı yüzünden, tasarım Telemetri servisini içerir. Web servisleri yükte " -"ani artış göstermeye meyillidir, oldukça belirli uç ve taban noktası " -"kalıpları bulunur, ve sonuç olarak trafiğe göre sunucuların otomatik " -"ölçeklenmesinde faydalanırlar. Ağ seviyesinde, ayrık bir ağ yapılandırması " -"özel kiracı ağlarında duran veritabanları ile iyi çalışır, çünkü bunlar " -"yüksek miktarda yayın trafiği üretmezler ve içerik için bazı veritabanlarına " -"dahili olarak bağlanmaları gerekebilir. " - -msgid "Block" -msgstr "Blok" - -msgid "Block storage" -msgstr "Blok depolama" - -msgid "" -"Block storage is implemented in OpenStack by the Block Storage service " -"(cinder). Because these volumes are persistent, they can be detached from " -"one instance and re-attached to another instance and the data remains intact." -msgstr "" -"Blok depolama OpenStack'de Blok Depolama servisi (cinder) tarafından " -"uygulanır. Bu birimler kalıcı olduklarından, veriyi bozmadan bir sunucudan " -"ayrılıp başka bir sunucuya tekrar eklenebilirler." - -msgid "Broker between clouds" -msgstr "Bulutlar arasında aracı" - -msgid "" -"Brokering software evaluates relative costs between different cloud " -"platforms. Cloud Management Platforms (CMP) allow the designer to determine " -"the right location for the workload based on predetermined criteria." -msgstr "" -"Aracı yazılım farklı bulut platformları arasında masrafları değerlendirir. " -"Bulut Yönetim Platformları (CMP) tasarımcıya önceden tanımlanmış kriterlere " -"göre iş yükü için doğru konumu belirleme imkanı verir." - -msgid "" -"Business changes can affect provider availability. Likewise, changes in a " -"provider's service can disrupt a hybrid cloud environment or increase costs." -msgstr "" -"İş değişiklikleri sağlayıcı kullanılırlığını etkileyebilir. Aynı şekilde, " -"bir sağlayıcının servisindeki değişiklikler melez bulut ortamını bozabilir " -"veya masrafları artırabilir." - -msgid "Business or technical diversity" -msgstr "İş veya teknik çeşitlilik" - -msgid "" -"Businesses with existing applications may find that it is more cost " -"effective to integrate applications on multiple cloud platforms than " -"migrating them to a single platform." -msgstr "" -"Mevcut uygulamalara sahip işler uygulamaları tek bir plaformda toplamak " -"yerine birden çok bulut platformuna tümleştirmenin daha masrafsız olacağını " -"bulabilirler." - -msgid "" -"By definition, a cloud provides end users with the ability to self-provision " -"computing power, storage, networks, and software in a simple and flexible " -"way. The user must be able to scale their resources up to a substantial " -"level without disrupting the underlying host operations. One of the benefits " -"of using a general purpose cloud architecture is the ability to start with " -"limited resources and increase them over time as the user demand grows." -msgstr "" -"Tanım olarak bulut, son kullanıcılara hesaplama gücü, depolama, ağlar, ve " -"yazılımı esnek bir yolla kendi kendine sağlama olanağı verir. Kullanıcı " -"kaynaklarını alt katmandaki sunucu işlemlerini rahatsız etmeden kaynaklarını " -"azımsanmayacak seviyelere ölçekleyebilir olmalıdır. Genel amaçlı bir bulut " -"mimarisi kullanmanın faydalarından biri sınırlı kaynaklarla başlayıp " -"kullanıcı gereksinimi arttıkça arttırabilmektir." - -msgid "" -"CMPs simplify the migration of application workloads between public, " -"private, and hybrid cloud platforms." -msgstr "" -"CMP'ler açık, özel, ve melez bulut platformları arasındaki uygulama iş " -"yüklerinin göçünü basitleştirir." - -msgid "CPU allocation ratio: 16:1" -msgstr "CPU ayırma oranı: 16:1" - -msgid "CPU overcommit ratio (virtual cores per physical core)" -msgstr "CPU abonelik aşım oranı (fiziksel çekirdek başına sanal çekirdek)" - -msgid "Capacity" -msgstr "Kapasite" - -msgid "Capacity and scale" -msgstr "Kapasite ve ölçek" - -msgid "" -"Capacity and the placement of workloads are key design considerations for " -"clouds. A long-term capacity plan for these designs must incorporate growth " -"over time to prevent permanent consumption of more expensive external " -"clouds. To avoid this scenario, account for future applications' capacity " -"requirements and plan growth appropriately." -msgstr "" -"İş yüklerinin kapasite ve yerleştirmeleri bulutlar için anahtar tasarım " -"ölçütlerindendir. Bu tasarımlar için uzun soluklu kapasite planı daha pahalı " -"harici bulutların sürekli tüketimini önlemek için zaman bağlı büyümeyi göz " -"önüne almalıdır. Bu senaryodan kaçınmak için, gelecekteki uygulamaların " -"kapasite gereksinimlerini de hesaba katın ve uygun büyüme planını yapın." - -msgid "Capacity planning" -msgstr "Kapasite planlama" - -msgid "Capacity planning and scalability" -msgstr "Kapasite planlama ve ölçeklendirme" - -msgid "" -"Care must be taken when deciding network functionality. Currently, OpenStack " -"supports both the legacy networking (nova-network) system and the newer, " -"extensible OpenStack Networking (neutron). OpenStack Networking and legacy " -"networking both have their advantages and disadvantages. They are both valid " -"and supported options that fit different network deployment models described " -"in the `OpenStack Operations Guide `_." -msgstr "" -"Ağ işlevselliğine karar verilirken dikkat edilmelidir. Şu an OpenStack hem " -"eski ağ (nova-network) sistemini, hem daha yeni OpenStack Ağını (neutron) " -"destekler. OpenStack Ağı ve eski ağın kendine göre avantajı ve dezavantajı " -"vardır. Her ikisi de `OpenStack İşlem Kılavuzunda `_ geçerli ve " -"desteklenen seçeneklerdir." - -msgid "Ceph" -msgstr "Ceph" - -msgid "" -"Ceph is a scalable storage solution that replicates data across commodity " -"storage nodes." -msgstr "" -"Ceph veriyi ticari depolama düğümleri arasında çoğaltan ölçeklenebilir bir " -"depolama çözümüdür." - -msgid "" -"Ceph provides support for the same Object Storage API as swift and can be " -"used as a back end for the Block Storage service (cinder) as well as back-" -"end storage for glance images." -msgstr "" -"Ceph swift ile aynı Nesne Depolama API'si için destek sağlar ve Blok " -"Depolama servisi (cinder) için arka uç olarak kullanılabileceği gibi glanc " -"imajları için de arka uç olarak kullanılabilir." - -msgid "" -"Ceph supports thin provisioning implemented using copy-on-write. This can be " -"useful when booting from volume because a new volume can be provisioned very " -"quickly. Ceph also supports keystone-based authentication (as of version " -"0.56), so it can be a seamless swap in for the default OpenStack swift " -"implementation." -msgstr "" -"Ceph yazmada-kopyalama kullanılarak uygulanan ince hazırlamaları destekler. " -"Bu birimden önyükleme yaparken kullanışlı olabilir çünkü yeni birim çok " -"hızlı hazırlanabilir. Ceph ayrıca keystone tabanlı kimlik doğrulamayı " -"destekler (0.56 sürümünden itibaren), böylece öntanımlı OpenStack swift " -"uygulaması için kolaylıkla takas edilebilir." - -msgid "" -"Ceph utilises and object storage mechanism for data storage and exposes the " -"data via different types of storage interfaces to the end user it supports " -"interfaces for: - Object storage - Block storage - File-system interfaces" -msgstr "" -"Ceph veri depolama için bir nesne depolama mekanizması kullanır ve veriyi " -"arayüz sağladığı son kullanıcı için farklı depolama arayüzleri halinde " -"ortaya çıkarır: - Nesne depolama - Blok depolama - Dosya sistemi arayüzleri" - -msgid "Ceph's advantages include:" -msgstr "Ceph'in avantajları şunları içerir:" - -msgid "" -"Changing the CPU overcommit ratio can have a detrimental effect and cause a " -"potential increase in a noisy neighbor." -msgstr "" -"İşlemci kaynak aşım oranını değiştirmenin zararlı etkisi vardır ve gürültülü " -"komşuları artırır." - -msgid "" -"Cheaper storage makes the public cloud suitable for maintaining backup " -"applications." -msgstr "" -"Daha ucuz depolama açık bulutu yedek uygulamalarını sürdürebilmek için uygun " -"yapar." - -msgid "Choice of file system" -msgstr "Dosya sistemi seçimi" - -msgid "Choosing a CPU" -msgstr "Bir işlemci seçmek" - -msgid "Choosing a hypervisor" -msgstr "Hipervizör seçmek" - -msgid "Choosing network hardware" -msgstr "Ağ donanımı seçmek" - -msgid "Choosing networking software" -msgstr "Ağ yazılımı seçmek" - -msgid "Choosing server hardware" -msgstr "Sunucu donanımı seçmek" - -msgid "Choosing storage back ends" -msgstr "Depolama arka ucu seçimi" - -msgid "Cloud management platform tools" -msgstr "Bulut yönetim platformu araçları" - -msgid "" -"Cloud networks require management for capacity and growth over time. " -"Capacity planning includes the purchase of network circuits and hardware " -"that can potentially have lead times measured in months or years." -msgstr "" -"Bulut ağları zamanla kapasite ve büyüme için yönetim gerektirirler. Kapasite " -"planlama aylar ya da yıllar sürebilecek tedarik sürelerine sahip ağ " -"devreleri ve donanımının alınmasını kapsar." - -msgid "Cloud resource deployment" -msgstr "Bulut kaynak kurulumu" - -msgid "Cloud storage" -msgstr "Bulut depolama" - -msgid "" -"Cloud users expect a fully self-service and on-demand consumption model. " -"When an OpenStack cloud reaches the massively scalable size, expect " -"consumption as a service in each and every way." -msgstr "" -"Bulut kullanıcıları tamamen kendine servis ve isteğe bağlı tüketim modeli " -"beklerler. Bir OpenStack bulutu büyük ölçeklerde boyuta ulaştığında, her " -"yönüyle servis olarak tüketim bekleyin." - -msgid "" -"Combine several shares in groups to keep data consistency inside the groups " -"for the following safe group operations." -msgstr "" -"Aşağıdaki güvenli grup işlemleri için gruplarda veri tutarlılığını korumak " -"için bir çok paylaşımo gruplar haline getir. " - -msgid "Command-line interface (CLI)" -msgstr "Komut Satırı Arayüzü (CLI)" - -msgid "Commodity storage technologies" -msgstr "Ticari depolama teknolojileri" - -msgid "" -"Complex clouds, in particular hybrid clouds, may require tools to facilitate " -"working across multiple clouds." -msgstr "" -"Karmaşık bulutlar, özellikle melez bulutlar, birden çok bulut arasında " -"çalışmayı kolaylaştırmak için araçlara ihtiyaç duyabilirler." - -msgid "Complexity" -msgstr "Karmaşıklık" - -msgid "Compliance and geo-location" -msgstr "Uyumluluk ve coğrafi konum" - -msgid "" -"Compliance considerations are particularly important for multi-site clouds. " -"Considerations include:" -msgstr "" -"Uyum yükümlülükleri özellikle çoklu konum bulutları için önemlidir. " -"Yükümlülükler şunları içerir:" - -msgid "Component block diagram" -msgstr "Bileşen blok şeması" - -msgid "Compute analytics with data processing service" -msgstr "Veri işleme servisine sahip hesaplama analitikleri" - -msgid "Compute analytics with parallel file systems" -msgstr "Paralel dosya sistemleri olan hesaplama analitikleri" - -msgid "" -"Compute capacity (CPU cores and RAM capacity) is a secondary consideration " -"for selecting server hardware. The required server hardware must supply " -"adequate CPU sockets, additional CPU cores, and adequate RA. For more " -"information, see :ref:`choosing-a-cpu`." -msgstr "" -"Hesaplama kapasitesi (CPU çekirdekleri ve RAM kapasitesi) sunucu donanımı " -"seçerken ikincil etmenlerdir. Gerekli sunucu donanımı uygun CPU soketlerini, " -"ek CPU çekirdeklerini ve uygun RA sağlayabilmelidir. Daha fazla bilgi için " -"bknz :ref:`choosing-a-cpu`." - -msgid "Compute node design" -msgstr "Hesaplama düğümü tasarımı" - -msgid "" -"Compute nodes automatically attach to OpenStack clouds, resulting in a " -"horizontally scaling process when adding extra compute capacity to an " -"OpenStack cloud. To further group compute nodes and place nodes into " -"appropriate availability zones and host aggregates, additional work is " -"required. It is necessary to plan rack capacity and network switches as " -"scaling out compute hosts directly affects data center infrastructure " -"resources as would any other infrastructure expansion." -msgstr "" -"OpenStack bulutuna ek hesaplama kapasitesi eklerken hesaplama düğümleri " -"otomatik olarak OpenStack bulutuna eklenirler ve yatay ölçeklemeyi " -"sağlarlar. Hesaplama düğümlerini daha fazla gruplandırmak ve düğümleri uygun " -"kullanılırlık bölgesine ve istemci takımlarına yerleştirmek için ek iş " -"gerekir. Hesaplama sunucularının ölçeklenmesi veri merkezi alt yapı " -"kaynaklarını herhangi bir alt yapı genişletmede olduğu gibi doğrudan " -"etkileyeceğinden kabin kapasitesi ve ağ anahtarlarını planlamak gereklidir. " - -msgid "Compute resources" -msgstr "Hesaplama kaynakları" - -msgid "Compute server architecture overview" -msgstr "Hesaplama sunucusu mimarisi genel görünüşü" - -msgid "Compute server logging" -msgstr "Hesaplama sunucusu günlük kaydı" - -msgid "Conductor Services" -msgstr "Orkestra Yönetim Servisleri" - -msgid "Conductor services" -msgstr "Orkestra yönetim servisleri" - -msgid "" -"Configure Block Storage resource nodes with advanced RAID controllers and " -"high-performance disks to provide fault tolerance at the hardware level." -msgstr "" -"Donanım seviyesinde arızaya dayanıklılık sağlamak için gelişmiş RAID " -"denetleyicilerine ve yüksek başarımlı disklere sahip kaynak düğümleri olan " -"Blok Depolama yapılandırın." - -msgid "" -"Configure cloud networks to minimize link loss, packet loss, packet storms, " -"broadcast storms, and loops." -msgstr "" -"Bulut ağlarını bağlantı kaybı, paket kaybı, paket fırtınaları, yayım " -"fırtınaları, ve döngüleri asgaride tutmak üzere yapılandırın." - -msgid "Configuring ARP can be complicated on a large layer-2 networks." -msgstr "Büyük bir katman-2 ağda ARP yapılandırması karmaşık olabilir." - -msgid "" -"Configuring incorrect IP addresses, VLANs, and routers can cause outages to " -"areas of the network or, in the worst-case scenario, the entire cloud " -"infrastructure. Automate network configurations to minimize the opportunity " -"for operator error as it can cause disruptive problems." -msgstr "" -"Geçersiz IP adresleri, VLAN'lar, ve yönlendiriciler yapılandırmak ağın belli " -"kısımlarında kesintiye, ya da en kötü durumda tüm bulut alt yapısının " -"kesintisine neden olabilir. İşletmen hataları yıkıcı sorunlara sebep " -"olabileceğinden ağ yapılandırmasını otomatikleştirin." - -msgid "" -"Connecting more than two sites increases the challenges and adds more " -"complexity to the design considerations. Multi-site implementations require " -"planning to address the additional topology used for internal and external " -"connectivity. Some options include full mesh topology, hub spoke, spine " -"leaf, and 3D Torus." -msgstr "" -"İkiden çok konumu bağlamak tasarım nazarında daha çok karmaşıklık ekler ve " -"işleri zorlaştırır. Birden çok konum uygulamaları planlama ve dahili ve " -"harici bağlantılar için kullanılacak topolojiye ek planlama gerektirir. Tam " -"örgü topolojisi, hub spoke, spine leaf, ve 3D Torus seçeneklerden " -"bazılarıdır." - -msgid "Connectivity" -msgstr "Bağlanabilirlik" - -msgid "" -"Consider additional design decisions about monitoring and alarming. If you " -"are using an external provider, service level agreements (SLAs) are " -"typically defined in your contract. Operational considerations such as " -"bandwidth, latency, and jitter can be part of the SLA." -msgstr "" -"İzleme ve alarm hakkında ek tasarım kararlarını göz önüne alın. Harici bir " -"sağlayıcı kullanıyorsanız, servis seviyesi anlaşmaları (SLA'lar) muhtemelen " -"anlaşmanızda tanımlanmıştır. Bant genişliği, gecikme ve kararsızlık gibi " -"işlevsel etkenler SLA'nın bir parçası olabilir." - -msgid "" -"Consider configurable networking components related to an OpenStack " -"architecture design when designing for network intensive workloads that " -"include MTU and QoS. Some workloads require a larger MTU than normal due to " -"the transfer of large blocks of data. When providing network service for " -"applications such as video streaming or storage replication, we recommend " -"that you configure both OpenStack hardware nodes and the supporting network " -"equipment for jumbo frames where possible. This allows for better use of " -"available bandwidth. Configure jumbo frames across the complete path the " -"packets traverse. If one network component is not capable of handling jumbo " -"frames then the entire path reverts to the default MTU." -msgstr "" -"MTU ve QoS içeren ağ ağırlıklı iş yükleri için tasarım yaparken OpenStack " -"ile ilişkili yapılandırılabilir ağ bileşenlerini göz önüne alın. Bazı iş " -"yükleri büyük veri bloklarının aktarımı yüzünden daha büyük MTU değerine " -"ihtiyaç duyarlar. Video akışı veya depolama yedekleme gibi uygulamalar için " -"ağ servisi sağlarken hem OpenStack donanım düğümlerini hem de destekleyen ağ " -"ekipmanını jumbo çerçeveler için yapılandırmanızı öneriyoruz. Bu " -"kullanılabilir bant genişliğinin daha iyi kullanılmasını sağlar. Paketlerin " -"aldıkları tüm yol boyunca jumbo çerçeveleri yapılandırın. Eğer bir ağ " -"bileşeni jumbo çerçeveleri destekleyemiyorsa tüm yol öntanımlı MTU'ya " -"dönecektir." - -msgid "" -"Consider high availability at the physical and environmental layers. If " -"there is a single point of failure due to only one upstream link, or only " -"one power supply, an outage can become unavoidable." -msgstr "" -"Yüksek kullanılırlığı fiziksel ve ortamsal katmanlarda göz önüne alın. " -"Yukarı tek bağlantınız varsa, veya tek güç kaynağınız varsa, kesinti " -"kaçınılmazdır." - -msgid "" -"Consider the Compute requirements of non-hypervisor nodes (also referred to " -"as resource nodes). This includes controller, Object Storage nodes, Block " -"Storage nodes, and networking services." -msgstr "" -"Hipervizör olmayan düğümlerin Hesaplama gereksinimlerine dikkat edin (kaynak " -"düğümler de denir). Bu kontrol, Nesne Depolama düğümleri, Blok Depolama " -"düğümleri, ve ağ servislerini içerir." - -msgid "" -"Consider the default value of the number of replicas, which is three. This " -"means that before an object is marked as having been written, at least two " -"copies exist in case a single server fails to write, the third copy may or " -"may not yet exist when the write operation initially returns. Altering this " -"number increases the robustness of your data, but reduces the amount of " -"storage you have available. Look at the placement of your servers. Consider " -"spreading them widely throughout your data center's network and power-" -"failure zones. Is a zone a rack, a server, or a disk?" -msgstr "" -"Kopya yedek sayısını öntanımlı değerini dikkate alın, varsayılan üçtür. " -"Bunun anlamı bir nesnenin yazıldı olarak işaretlenmeden önce en az iki " -"kopyasının tek bir sunucunun yazmada başarısız olması ihtimaline karşı var " -"olduğudur, üçüncü kopya yazma işlemi döndüğünde henüz var olabilir de " -"olmayabilir de. Bu sayıyla oynamak verinizin dayanıklılığını artırır, ama " -"kullanılabilir alanınızı azaltır. Sunucularınızn yerleşimine bakın. Veri " -"merkezinizin ağ ve güç arzıa bölgeleri arasında dağıtın. Bölge bir kabin mi, " -"sunucu mu yoksa disk mi?" - -msgid "Consider the following costs categories when designing a cloud:" -msgstr "Bulut tasarlarken şu maliyet kategorilerini göz önünde tutun:" - -msgid "Consider the following factors when selecting compute server hardware:" -msgstr "Hesaplama sunucusu donanımı seçerken şu etmenlere dikkat edin:" - -msgid "" -"Consider the following in selecting server hardware form factor suited for " -"your OpenStack design architecture:" -msgstr "" -"OpenStack tasarım mimarinize uyumlu donanım biçim katsayısını seçerken " -"şunlara dikkat edin:" - -msgid "" -"Consider the scenario where an entire server fails and 24 TB of data needs " -"to be transferred \"immediately\" to remain at three copies — this can put " -"significant load on the network." -msgstr "" -"Bir sunucunun tamamen arızalandığını ve üç kopyanın sağlanabilmesi için 24 " -"TB verinin \"anında\" aktarılması gerektiğini düşünün — bu ağda oldukça " -"yüksek yüke sebep olabilir." - -msgid "" -"Consider the security of data between the client and the endpoint, and of " -"traffic that traverses the multiple clouds." -msgstr "" -"İstemci ve uç nokta arasındaki verinin güvenliğini ve birden çok bulut " -"arasında akan trafiğin güvenliğini dikkate alın." - -msgid "Consider these main traffic flows for an Object Storage network:" -msgstr "Bir Nesne Depolama ağı için şu ana trafik akışlarını göz önüne alın:" - -msgid "Consideration" -msgstr "Etmen" - -msgid "" -"Considerations affecting storage architecture (and corresponding storage " -"hardware) of a Storage-focused OpenStack cloud include:" -msgstr "" -"Depolama odaklı bir OpenStack bulutunun depolama mimarisini etkileyen " -"etmenleri (ve ilişkili depolama donanımı) şunları içerir:" - -msgid "Considerations when choosing hardware" -msgstr "Donanım seçerken göz önüne alınacaklar" - -msgid "" -"Considering non-uniform memory access (NUMA) is important when selecting CPU " -"sizes and types, as there are use cases that use NUMA pinning to reserve " -"host cores for operating system processes. These reduce the available CPU " -"for workloads and protects the operating system." -msgstr "" -"İşlemci boyut ve türünü seçerken düzensiz hafıza erişimi (NUMA) önemlidir, " -"çünkü işletim sistemi süreçleri için sunucu çekirdeklerini ayırmak için NUMA " -"sabitlemesinin kullanıldığı durumlar bulunur. Bu, iş yükler için " -"kullanılabilir işlemciyi azaltarak işletim sistemini korur." - -msgid "Considering these requirements, we recommend the following:" -msgstr "Bu gereksinimleri göz önüne alarak, şunları öneriyoruz:" - -msgid "Consolidation of object storage and block storage." -msgstr "Nesne depolama ve blok depolamanın pekiştirilmesi." - -msgid "" -"Consult the vendor documentation to check for virtualization support. For " -"Intel CPUs, see `Does my processor support Intel® Virtualization Technology? " -"`_. For AMD CPUs, see `AMD Virtualization `_. Your " -"CPU may support virtualization but it may be disabled. Consult your BIOS " -"documentation for how to enable CPU features." -msgstr "" -"Sanallaştırma desteği için üretici belgelendirmesine danışın. Intel " -"işlemciler için, `İşlemcim Intel® Sanallaştırma Teknolojisini destekliyor " -"mu? `_ ve AMD işlemciler için `AMD Sanallaştırma `_ " -"belgelerine göz atın. İşlemciniz sanallaştırmayı desteklemesine rağmen bu " -"özellik kapalı olabilir. İşlemci özelliklerini etkinleştirmeyle ilgili bilgi " -"için BIOS belgelendirmenize göz atın." - -msgid "" -"Consumers of external clouds rarely have control over provider changes to " -"APIs, and changes can break compatibility. Using only the most common and " -"basic APIs can minimize potential conflicts." -msgstr "" -"Harici bulut tüketicilerinin sağlayıcıların API'lere yaptığı değişiklikler " -"üzerinde kontrolleri çoğunlukla olmaz, ve değişiklikler uyumluluğu " -"bozabilir. Yalnızca en genel ve temel API'leri kullanmak çakışmaları asgari " -"düzeye indirebilir." - -msgid "Consumption model" -msgstr "Tüketim modeli" - -msgid "Contents" -msgstr "İçindekiler" - -msgid "Control Plane" -msgstr "Kontrol Düzlemi" - -msgid "" -"Control Plane - ancillary services such as API endpoints, and services that " -"control CRUD operations. The services in this category are usually subject " -"to a different SLA expectation and may be better suited on separate hardware " -"or containers from the Data Plane services." -msgstr "" -"Kontrol Düzlemi - API uç noktaları, ve CRUD işlemlerini kontrol eden ikincil " -"servisler. Bu kategorideki servisler genellikle farklı SLA beklentilerine " -"sahiptirler ve Veri Düzlemi servislerinden ayrı donanım veya kapsayıcılar " -"için daha uygundurlar." - -msgid "Controlling traffic with routing metrics is straightforward." -msgstr "Yönlendirme ölçütleriyle trafiği kontrol etmek kolaydır." - -msgid "Cost" -msgstr "Maliyet" - -msgid "" -"Cost The relative cost of the hardware weighed against the total amount of " -"capacity available on the hardware based on predetermined requirements." -msgstr "" -"Önceden belirlenmiş gereksinimlere göre donanımın donanım tam " -"kapasitedeykenki haline göre fiyat oranı." - -msgid "Create a share from a snapshot." -msgstr "Anlık görüntüden paylaşım oluştur." - -msgid "" -"Create a share on either a share server or standalone, depending on the " -"selected back-end mode, with or without using a share network." -msgstr "" -"Seçili arka uç kipine göre bir paylaşım ağı kullanarak ya da kullanmayarak " -"bir paylaşım sunucusu ya da tek başına sunucuda paylaşım oluştur." - -msgid "" -"Create a share specifying its size, shared file system protocol, visibility " -"level." -msgstr "" -"Boyutunu, paylaşım dosya sistemi iletişim kuralını, görünürlük seviyesini " -"belirterek bir paylaşım oluşturun." - -msgid "" -"Create a snapshot of a selected share or a share group for storing the " -"existing shares consistently or creating new shares from that snapshot in a " -"consistent way." -msgstr "" -"Mevcut paylaşımları tutarlı tutmak ya da bu anlık görüntüden tutarlı bir " -"yolla yeni paylaşımlar oluşturmak için seçili bir paylaşımın veya paylaşım " -"grubunun anlık görüntüsünü oluştur." - -msgid "DHCP" -msgstr "DHCP" - -msgid "DNS" -msgstr "DNS" - -msgid "Daemon" -msgstr "Artalan İşlemi" - -msgid "Dashboard" -msgstr "Kontrol Paneli" - -msgid "" -"Data Plane - services that provide virtualization, networking, and storage. " -"Customers usually require these services to be continuously available." -msgstr "" -"Veri Düzlemi - sanallaştırma, ağ ve deoplama sağlayan servisler. Müşteriler " -"genellikle bu servislerin sürekli kullanılır olmasını beklerler." - -msgid "" -"Data centers have a specified amount of power fed to a given rack or set of " -"racks. Older data centers may have power densities as low as 20A per rack, " -"and current data centers can be designed to support power densities as high " -"as 120A per rack. The selected server hardware must take power density into " -"account." -msgstr "" -"Veri merkezlerinde bir kabin ya da kabin kümesine belirli miktarda güç " -"beslemesi yapılır. Eski veri merkezlerinin kabin başına 20A kadar düşük " -"olabilirken, mevcut veri merkezleri kabin başına 120A yüksekliği " -"destekleyecek güçle tasarlanabilir. Seçilen donanımda güç yoğunluğu hesaba " -"katılmalıdır." - -msgid "" -"Data in an OpenStack cloud moves between instances across the network (known " -"as east-west traffic), as well as in and out of the system (known as north-" -"south traffic). Physical server nodes have network requirements that are " -"independent of instance network requirements and must be isolated to account " -"for scalability. We recommend separating the networks for security purposes " -"and tuning performance through traffic shaping." -msgstr "" -"OpenStack bulutunda veri sunucular arasında ağlar üzerinden (doğu-batı " -"trafiği olarak bilinir), ve sistemden dışarı (kuzey-güney trafiği olarak " -"bilinir) hareket eder. Ölçeklenebilirliğin devamı için sunucu ağı " -"gereksinimlerinden farklı ihtiyaçları olan fiziksel sunucu düğümlerinin ağı " -"yalıtılmalıdır. Güvenlik amacıyla ve trafik şekillendirme ile başarımın " -"artırılması için ağların ayrılmasını öneriyoruz." - -msgid "Data plane and control plane" -msgstr "Veri ve kontrol düzlemi" - -msgid "Data security recommendations:" -msgstr "Veri güvenliği önerileri:" - -msgid "Database" -msgstr "Veritabanı" - -msgid "Database and message queue server (such as MySQL, RabbitMQ)" -msgstr "Veritabanı ve ileti kuyruğu sunucusu (MySQL, RabbitMQ gibi)" - -msgid "Database services, such as ``MySQL`` or ``PostgreSQL``." -msgstr "``MySQL`` veya ``PostgreSQL`` gibi veritabanı servisleri." - -msgid "Database software" -msgstr "Veritabanı yazılımı" - -msgid "Databases" -msgstr "Veritabanları" - -msgid "" -"Databases are a common workload that benefit from high performance storage " -"back ends. Although enterprise storage is not a requirement, many " -"environments have existing storage that OpenStack cloud can use as back " -"ends. You can create a storage pool to provide block devices with OpenStack " -"Block Storage for instances as well as object interfaces. In this example, " -"the database I-O requirements are high and demand storage presented from a " -"fast SSD pool." -msgstr "" -"Veritabanları yüksek başarımlı depolama arka uçlarından faydalanan yaygın iş " -"yükleridir. Kurumsal depolama gereklilik olmasa da, çoğu ortam OpenStack " -"bulutunun arka uç olarak kullanabileceği mevcut depolamaya sahiptir. " -"Sunucular ve nesne arayüzleri için OpenStack Blok Depolama ile blok aygıtlar " -"sunmask için depolama havuzları oluşturabilirsiniz. Bu örnekte veritabanı I/" -"O gereksinimleri yüksektir ve hızlı SSD havuzundan sunulan depolamaya " -"ihtiyaç duyulur." - -msgid "" -"Decide on a network framework and design minimum functionality tests. This " -"ensures testing and functionality persists during and after upgrades." -msgstr "" -"Bir ağ çatısında karar kılın ve asgari işlevsellik denemelerini tasarlayın. " -"Bu yükseltme sürecinde ve sonrasında işlevselliğin kalıcı olduğunu " -"denemenizi sağlar." - -msgid "Deleted by user" -msgstr "Kullanıcı tarafından silindi" - -msgid "" -"Depending on design, heavy I/O usage from some instances can affect " -"unrelated instances." -msgstr "" -"Tasarıma bağlı olarak, bazı sunuculardaki ağır I/O kullanımı ilgisiz " -"sunucuları etkileyebilir." - -msgid "" -"Depending on the design, some network service functions may fall into both " -"the Control and Data Plane categories. For example, the neutron L3 Agent " -"service may be considered a Control Plane component, but the routers " -"themselves would be a Data Plane component." -msgstr "" -"Tasarıma bağlı olarak, bazı ağ servisi işlevleri hem Kontrol hem Veri " -"Düzlemi kategorisine girebilir. Örneğin, neutron L3 Aracı servisi Kontrol " -"Düzlemi bileşeni sayılabilir, ama yönlendiricilerin kendileri Veri Düzlemi " -"bileşenidir." - -msgid "" -"Depending on the storage architecture, you can adopt a scale-out solution, " -"or use a highly expandable and scalable centralized storage array. If a " -"centralized storage array meets your requirements, then the array vendor " -"determines the hardware selection. It is possible to build a storage array " -"using commodity hardware with Open Source software, but requires people with " -"expertise to build such a system." -msgstr "" -"Depolama mimarisine bağlı olarak, bir dışa ölçekleme çözümü edinebilirsiniz, " -"veya yüksek genişleyebilirlikli ve ölçeklenebilir merkezi depolama dizisi " -"kullanabilirsiniz. Eğer merkezi depolama dizisi gereksinimlerinizi " -"karşılıyorsa, dizi üreticisi donanım seçiminizi belirler. Ticari donanımla " -"ve Açık Kaynaklı yazılımlarla depolama dizisi inşa etmek de mümkündür, ama " -"böyle bir sistemi inşa edecek deneyimli kişilere ihtiyaç duyulur." - -msgid "" -"Depends completely on the size of back-end storage specified when a share " -"was being created. In case of thin provisioning it can be partial space " -"reservation (for more details see `Capabilities and Extra-Specs `_ specification)" -msgstr "" -"Tamamen bir paylaşım oluşturulduğunda tanımlanan arka uç depolamanın " -"boyutuna bağlıdır. İnce hazırlık durumunda kısmi alan ayrımı olabilir (daha " -"fazla ayrıntı için `Kapasite ve Ek Özellikler `_ tanımına göz atın)" - -msgid "Deployment considerations" -msgstr "Kurulum etmenleri" - -msgid "Design" -msgstr "Tasarım" - -msgid "" -"Design a Layer-3 network architecture rather than a layer-2 network " -"architecture." -msgstr "Katman-2 ağ mimarisindense katman-2 ağ mimarisi tasarlayın." - -msgid "" -"Design a dense multi-path network core to support multi-directional scaling " -"and flexibility." -msgstr "" -"Çok yönlü ölçeklenebilirlik ve esneklik sağlamak için yoğun çok yollu bir ağ " -"tasarlayın." - -msgid "" -"Design for cost efficient operations to take advantage of massive scale." -msgstr "" -"Büyük ölçekten faydalanabilmek için uygun maliyetli işlemler tasarlayın." - -msgid "Design model" -msgstr "Tasarım modeli" - -msgid "" -"Designing an OpenStack cloud requires a understanding of the cloud user's " -"requirements and needs to determine the best possible configuration. This " -"chapter provides guidance on the decisions you need to make during the " -"design process." -msgstr "" -"OpenStack bulutu tasarlamak bulut kullanıcılarının ihtiyaçlarının " -"anlaşılmasını ve en iyi uygun yapılandırmayı anlamayı gerektirir. Bu bölüm " -"tasarım sürecinde almanız gereken kararlar için yönlendirme sağlar." - -msgid "Designing an OpenStack network" -msgstr "Bir OpenStack ağı tasarlama" - -msgid "Determine if the use case has consistent or highly variable latency." -msgstr "" -"Kullanım durumunun sürekli veya yüksek değişkenlikte gecikmesi olup " -"olmadığını belirleyin." - -msgid "Determine the most effective configuration for block storage network." -msgstr "Blok depolama ağı için en etkin yapılandırmaya karar verin." - -msgid "" -"Determine the requirements for the cloud prior to constructing the cloud, " -"and plan for hardware lifecycles, and expansion and new features that may " -"require different hardware." -msgstr "" -"Bulutu inşa etmeden önce bulut gereksinimlerini göz önüne alın, yeni donanım " -"gerektirebilecek yeni özellikleri, donanım yaşam döngüleri ve genişleme için " -"plan yapın." - -msgid "" -"Determine the security policy of your organization and understand the data " -"sovereignty of your cloud geography and plan accordingly." -msgstr "" -"Kurumunuzun güvenlik ilkesine karar verin ve bulut coğrafyanızın veri " -"hakimiyetini anlayarak buna göre plan yapın." - -msgid "" -"Determining the maximum *write* IOPS is a little different because most " -"administrators configure disk replication using RAID and since the RAID " -"controller requires IOPS itself, there is a write penalty. The severity of " -"the write penalty is determined by the type of RAID used." -msgstr "" -"Azami *yazma* IOPS'u biraz farklıdır çünkü çoğu yönetici disk yedeklemeyi " -"RAID kullanarak yapar ve RAID kontrolcüsü de IOPS'a ihtiyaç duyduğundan, bir " -"yazma verimsizliği olur. Bu verimsizliğin seviyesi kullanılan RAID türüne " -"göre belirlenir." - -msgid "Development cloud" -msgstr "Geliştirici bulutu" - -msgid "Differences between storage types" -msgstr "Depolama türleri arasındaki farklar" - -msgid "Disaster recovery and business continuity" -msgstr "Felaktten kurtulma ve işin devamlılığı" - -msgid "" -"Disks selected for object storage services do not need to be fast performing " -"disks. We recommend that object storage nodes take advantage of the best " -"cost per terabyte available for storage. Contrastingly, disks chosen for " -"block storage services should take advantage of performance boosting " -"features that may entail the use of SSDs or flash storage to provide high " -"performance block storage pools. Storage performance of ephemeral disks used " -"for instances should also be taken into consideration." -msgstr "" -"Nesne depolama servisleri için seçilen disklerin hızlı başarıma sahip olması " -"gerekmez. Nesne depolama düğümlerinin terabayt başına en iyi fiyata sahip " -"disklerden faydalanmalarını öneriyoruz. Buna ters olarak blok depolama " -"servisleri için seçilen diskler blok depolama havuzları için SSD veya flash " -"depolama gerektiren başarım artırma özelliklerine sahip disklerden " -"seçilmelidir. Sunucular için kullanılan geçici disklerin depolama başarımı " -"da göz önüne alınmalıdır." - -msgid "Do I need block storage?" -msgstr "Blok depolamaya ihtiyacım var mı?" - -msgid "Do I need file-based storage?" -msgstr "Dosya tabanlı depolamaya ihtiyacım var mı?" - -msgid "" -"Do I need more than one storage choice? Do I need tiered performance storage?" -msgstr "" -"Birden fazla depolama seçimine ihtiyacım var mı? Sıralı başarım depolamaya " -"ihtiyacım var mı?" - -msgid "Do I need object storage?" -msgstr "Nesne depolamaya ihtiyacım var mı?" - -msgid "Do I need to support live migration?" -msgstr "Canlı göçü desteklemem gerekiyor mu?" - -msgid "Do my workloads have IOPS requirements?" -msgstr "İş yüklerimin IOPS gereksinimi var mı?" - -msgid "" -"Does it include tools to help troubleshoot and resolve performance issues?" -msgstr "" -"Başarım sorunlarını gidermek ve çözmek için yardımcı araçlar içeriyor mu?" - -msgid "Does your authentication system also verify externally?" -msgstr "Kimlik doğrulama sisteminiz harici de çalışıyor mu?" - -msgid "" -"Due to the amount of logs being sent from servers in the OpenStack " -"environment, an optional in-memory data structure store can be used. Common " -"examples are Redis and Memcached. In newer versions of Elastic Stack, a file " -"buffer called `Filebeat `_ " -"is used for a similar purpose but adds a \"backpressure-sensitive\" protocol " -"when sending data to Logstash or Elasticsearch." -msgstr "" -"OpenStack ortamında sunuculardan gönderilen günlük kayıtlarının miktarı " -"sebebiyle isteğe bağlı bir hafızada veri yapısı depolama kullanılabilir. " -"Redis ve Memcached yaygın örneklerdir. Elastic Stack'in yeni sürümlerinde " -"`Filebeat `_ isimli dosya " -"ara belleği benzer amaçlı kullanılır ama veriyi Logstash veya " -"Elasticsearch'e gönderirken arka basınca duyarlı bir iletişim kuralı ekler." - -msgid "Dynamic resource expansion or bursting" -msgstr "Dinamik kaynak genişletme ya da patlama" - -msgid "" -"Each Object Storage zone should be self-contained within its own " -"availability zone. Each availability zone should have independent access to " -"network, power, and cooling infrastructure to ensure uninterrupted access to " -"data. In addition, a pool of Object Storage proxy servers providing access " -"to data stored on the object nodes should service each availability zone. " -"Object proxies in each region should leverage local read and write affinity " -"so that local storage resources facilitate access to objects wherever " -"possible. We recommend deploying upstream load balancing to ensure that " -"proxy services are distributed across the multiple zones and, in some cases, " -"it may be necessary to make use of third-party solutions to aid with " -"geographical distribution of services." -msgstr "" -"Her bir Nesne Depolama bölgesi kendi kullanılırlık bölgesinde kullanılabilir " -"olmalıdır. Veriye kesintisiz erişim için her kullanılabilirlik bölgesinin " -"ağ, güç ve soğutma alt yapısına bağımsız erişimi olmalıdır. Ek olarak her " -"bir kullanılırlık bölgesine nesne düğümlerinde saklanan veriye erişim " -"sağlayan Nesne Depolama vekil sunucuları havuzu servis vermelidir. Her " -"bölümdeki nesne vekilleri yerel okuma ve yazma benzerliği eğiliminde " -"olmalıdır böylece yerel depolama kaynakları nesnelere uygun olunan her yerde " -"erişimi kolaylaştırır. Vekil servislerin birden çok bölgede dağıtıldığından " -"emin olmak için yukarı akış yük dengeleme kurmanızı öeriyoruz, bazı " -"durumlarda servislerin coğrafi olarak dağıtımı için üçüncü taraf çözümlere " -"ihtiyaç duyulabilir." - -msgid "" -"Each host can have different storage profiles for hosts aggregation and " -"availability zones." -msgstr "" -"Her sunucu sunucu takımı ve kullanılırlık bölgeleri için farklı depolama " -"profillerine sahip olabilir." - -msgid "" -"East/West - The internal traffic flow between workload within the cloud as " -"well as the traffic flow between the compute nodes and storage nodes falls " -"into the East/West category. Generally this is the heaviest traffic flow and " -"due to the need to cater for storage access needs to cater for a minimum of " -"hops and low latency." -msgstr "" -"Doğu/Batı - Bulut içindeki iş yüklerinin dahili trafik akışı ve hesaplama " -"düğümleri ile depolama düğümleri arasındaki trafik akışı Doğu/Batı " -"kategorisine girer. Genellikle bu en ağır trafik akışıdır ve depolama " -"erişimi gereksinimi için temin edilmesi gereken asgari adım ve düşük gecikme " -"temin edilmelidir." - -msgid "Edge" -msgstr "Kenar" - -msgid "" -"Elastic Stack consists of mainly three components: Elasticsearch (log search " -"and analysis), Logstash (log intake, processing and output) and Kibana (log " -"dashboard service)." -msgstr "" -"Elastic Stack temelde üç bileşenden oluşur. Elasticsearch (kayıt arama ve " -"analiz), Logstash (kayıt alımı, işleme ve çıktı) ev Kibana (kayıt kontrol " -"paneli servisi)." - -msgid "Eliminating single points of failure in a multi-region design" -msgstr "Birden çok bölgeli tasarımda tek kırılma noktasını eleme" - -msgid "Eliminating single points of failure within each site" -msgstr "Tüm konumlarda kırılma noktalarının elenmesi" - -msgid "" -"Enables users to submit API calls to OpenStack services through commands." -msgstr "" -"Kullanıcıların komutlar aracılığıyla OpenStack servislerine API çağrıları " -"göndermelerini etkinleştirir." - -msgid "Encryption configuration" -msgstr "Şifreleme yapılandırması" - -msgid "" -"Ensure that the network structure connects all clouds to form an integrated " -"system. Also consider the state of handoffs which must be reliable and have " -"minimal latency for optimal performance of the system." -msgstr "" -"Ağ yapısının tümleşik bir sistem oluşturmak için bağlandığından emin olun. " -"Ayrıca sistemin başarımı için asgari gecikmeye sahip olması gereken elde " -"tutulanlara da dikkat edin." - -msgid "" -"Ensure that the physical data center provides the necessary power for the " -"selected network hardware." -msgstr "" -"Fiziksel veri merkezinin seçilen ağ donanımı için gerekli gücü sağladığından " -"emin olun." - -msgid "" -"Ensure that the selected logging, monitoring, or alerting tools support the " -"proposed OS-hypervisor combination." -msgstr "" -"Seçili günlükleme, izleme, ve uyarı araçlarının teklif edilen OS-hipervizör " -"katışımını desteklediğinden emin olun." - -msgid "" -"Ensure that the storage solution throughput is optimized for your " -"application requirements." -msgstr "" -"Depolama çözümü işlem hacminin uygulama gereksinimlerinize göre " -"ayarlandığından emin olun." - -msgid "Ensure that there is no single point of failure in the cloud ecosystem." -msgstr "Bulut ekosisteminde tek bir kırılma noktası olmadığından emin olun." - -msgid "" -"Ensure that your messaging queue handles requests successfully and size " -"accordingly." -msgstr "" -"İleti kuyruğunuzun istekleri başarıyla aldığından emin olun duruma göre " -"boyutlandırın." - -msgid "" -"Ensure the connectivity matches the storage solution requirements. We " -"recommend confirming that the network characteristics minimize latency to " -"boost the overall performance of the design." -msgstr "" -"Bağlantının depolama çözümü gereksinimleriyle eşleştiğinden emin olun. Ağ " -"karakteristiğinin tasarımın genel başarımını artıracak şekilde gecikmeleri " -"en aza indirdiğinden emin olmanızı öneriyoruz." - -msgid "Enterprise requirements" -msgstr "Kurumsal gereksinimler" - -msgid "Ephemeral storage" -msgstr "Geçici depolama" - -msgid "" -"Ephemeral storage - If you only deploy OpenStack :term:`Compute service " -"(nova)`, by default your users do not have access to any form of persistent " -"storage. The disks associated with VMs are ephemeral, meaning that from the " -"user's point of view they disappear when a virtual machine is terminated." -msgstr "" -"Geçici depolama - Yalnızca OpenStack :term:`Hesaplama servisi (nova)` " -"kurarsanız, öntanımlı olarak kullanıcılarınız herhangi bir kalıcı depolama " -"biçimine sahip olmaz. Sanal makineler ile ilişkili diskler geçicidir, yani " -"kullanıcı bakış açısıyla sanal makine kapandığında ortadan kaybolurlar." - -msgid "" -"Error reporting has received some attention in Mitaka and Newton but there " -"are improvements needed." -msgstr "" -"Mitaka ve Newton'da hata raporlama biraz daha ilgi gördü ama iyileştirmelere " -"hala ihtiyaç var." - -msgid "" -"Ethernet frames can carry any kind of packet. Networking at layer-2 is " -"independent of the layer-3 protocol." -msgstr "" -"Ethernet çerçeveleri her tür paketi taşıyabilir. Katman-2 ağı katman-3 " -"iletişim kurallarından bağımsızdır." - -msgid "" -"Ethernet frames contain all the essentials for networking. These include, " -"but are not limited to, globally unique source addresses, globally unique " -"destination addresses, and error control." -msgstr "" -"Ethernet çerçeveleri ağ için tüm esasları içerir. Bunlar benzersiz kaynak " -"adresleri, benzersiz hedef adresleri ve hata kontrolünü ve fazlasını içerir." - -msgid "" -"Every deleted record or file in the system is marked by a tombstone, so that " -"deletions can be replicated alongside creations. The replication process " -"cleans up tombstones after a time period known as the consistency window. " -"The consistency window encompasses replication duration and the length of " -"time a transient failure can remove a node from the cluster. Tombstone " -"cleanup must be tied to replication to reach replica convergence." -msgstr "" -"Sistemde silinen her kayıt ya da dosya bir mezar taşıyla işaretlenir, " -"böylece silmeler de oluştrmalar gibi çoğaltılabilir. Çoğaltma süreci " -"tutarlılık penceresi denen bir zaman aralığından sonra mezar taşlarını " -"temizler. Tutarlılık penceresi çoğaltma sürecini ve bir aktarım " -"başarısızlığının bir düğümü kümeden çıkarma zaman uzunluğunu kapsar. " -"Yedeklerin bir noktada birleşmesi için mezar taşı temizliği çoğaltmayla " -"ilişkilendirilmelidir." - -msgid "" -"Everything must be capable of automation. For example, everything from " -"compute hardware, storage hardware, networking hardware, to the installation " -"and configuration of the supporting software. Manual processes are " -"impractical in a massively scalable OpenStack design architecture." -msgstr "" -"Herşeyi otomatize edilebilmelidir. Örneğin, hesaplama donanımından, depolama " -"donanımına, ağ donanımından destekleyen yazılımların kurulumu ve " -"yapılandırmasana kadar herşey. Büyük ölçekteki OpenStack mimarilerinde elle " -"yapılan işlemler elverişsizdir." - -msgid "Example of typical usage…" -msgstr "Genel kullanıma örnek..." - -msgid "Expandability" -msgstr "Genişleyebilirlik" - -msgid "" -"Expandability is a major architecture factor for storage solutions with " -"general purpose OpenStack cloud. A storage solution that expands to 50 PB is " -"considered more expandable than a solution that only scales to 10 PB. This " -"meter is related to scalability, which is the measure of a solution's " -"performance as it expands." -msgstr "" -"Genişleyebilirlik genel amaçlı OpenStack bulutunda depolama çözümleri için " -"önemli mimari etmenlerden biridir. 50 PB boyuta genişleyebilir bir depolama " -"çözümü yalnızca 10 PB boyuta genişleyebilene göre daha genişleyebilir olarak " -"düşünülür. Bu ölçüt ölçeklenebilirlikle ilişkilidir, bu da bir çözümün " -"genişledikçe ölçülen başarımını ifade eder." - -msgid "Experimental" -msgstr "Deneysel" - -msgid "Extensions" -msgstr "Eklentiler" - -msgid "External" -msgstr "Harici" - -msgid "External network attachments." -msgstr "Harici ağ eklentileri." - -msgid "" -"External systems such as :term:`LDAP ` or :term:`Active Directory` require network connectivity between " -"the cloud controller and an external authentication system. Also ensure that " -"the cloud controller has the CPU power to keep up with requests." -msgstr "" -":term:`LDAP ` veya :term:`Active " -"Directory` gibi harici sistemler bulut kontrol birimi ile harici kimlik " -"doğrulama sistemi arasında ağ bağlantısı gerektirirler. Bunun yanında bulut " -"kontrol biriminin isteklerin altından kalkabilecek işlemci gücüne sahip " -"olduğundan da emin olun." - -msgid "Facilitate orchestration across the clouds" -msgstr "Bulutlar arasında orkestrasyonu kolaylaştır" - -msgid "" -"Factor maintainability into the overall network design. This includes the " -"ability to manage and maintain IP addresses as well as the use of overlay " -"identifiers including VLAN tag IDs, GRE tunnel IDs, and MPLS tags. As an " -"example, if you may need to change all of the IP addresses on a network, a " -"process known as renumbering, then the design must support this function." -msgstr "" -"Yönetilebilirliği genel ağ tasarımında hesaba katın. Bu IP adreslerini " -"yönetmek ve ele alma becerisi yanında VLAN etiket kimlikleri, GRE tünel " -"kimlikleri, ve MPLS etiketleri gibi üst katman tanımlayıcıların kullanımını " -"da içerir. Örnek olarak, bir ağdaki tüm IP adreslerini değiştirmek " -"isterseniz, ki buna yeniden numaralandırma denir, mimari bu işlevi " -"desteklemelidir." - -msgid "" -"Fast provisioning of boot-from-volume instances using thin provisioning." -msgstr "" -"İnce hazırlama ile birimden ön yükleme sunucularının hızlı hazırlanması." - -msgid "Fault tolerance" -msgstr "Hata dayanıklılığı" - -msgid "File system" -msgstr "Dosya sistemi" - -msgid "File-based storage" -msgstr "Dosya tabanlı depolama" - -msgid "File-level" -msgstr "Dosya seviyesi" - -msgid "" -"Finally, consider how to respond to network events. How load transfers from " -"one link to another during a failure scenario could be a factor in the " -"design. If you do not plan network capacity correctly, failover traffic " -"could overwhelm other ports or network links and create a cascading failure " -"scenario. In this case, traffic that fails over to one link overwhelms that " -"link and then moves to the subsequent links until all network traffic stops." -msgstr "" -"Son olarak, ağ olaylarına nasıl yanıt verileceğini dikkate alın. Bir kesinti " -"senaryosunda yükün bir bağlantıdan diğerine nasıl aktarılacağı tasarımda bir " -"etmen olabilir. Ağ kapasitesini doğru planlamazsanız, kesinti trafiği diğer " -"bağlantı noktaları ya da ağ bağlantılarını boğabilir ve katlanan bir kesinti " -"senaryosu oluşturabilir. Bu durumda, kesinti olan bağlantı bir sonraki " -"bağlantıya aktarılır, bu bağlantıyı da boğunca bir diğerine aktarılarak tüm " -"ağ trafiği durana kadar ilerlenir." - -msgid "" -"Financial factors are a primary concern for any organization. Cost " -"considerations may influence the type of cloud that you build. For example, " -"a general purpose cloud is unlikely to be the most cost-effective " -"environment for specialized applications. Unless business needs dictate that " -"cost is a critical factor, cost should not be the sole consideration when " -"choosing or designing a cloud." -msgstr "" -"Mali etmenler her kurum işçin birinci önceliktir. Maliyet hesaplamaları inşa " -"edeceğiniz bulut türünü etkileyebilir. Örneğin, genel amaçlı bir bulut özel " -"uygulamalar için en hesaplı ortam olmayacaktır. İş ihtiyaçları maliyet " -"konusunda çok hassas olmadığı sürece bir bulut seçerken ya da tasarlarken " -"maliyet birinci öncelik olmamalıdır." - -msgid "First and foremost:" -msgstr "İlk önce:" - -msgid "" -"For a compute-focus architecture, we recommend designing the network " -"architecture using a scalable network model that makes it easy to add " -"capacity and bandwidth. A good example of such a model is the leaf-spine " -"model. In this type of network design, you can add additional bandwidth as " -"well as scale out to additional racks of gear. It is important to select " -"network hardware that supports port count, port speed, and port density " -"while allowing for future growth as workload demands increase. In the " -"network architecture, it is also important to evaluate where to provide " -"redundancy." -msgstr "" -"Hesaplama odaklı bir mimaride, kapasite ve bant genişliği eklemenin kolay " -"olacağı ölçeklenebilir bir ağ modeli kullanılmasını öneriyoruz. Bu tarz bir " -"modele iyi bir örnek yaprak-omurga modelidir. Bu tür ağ tasarımında, ek bant " -"genişliği ekleyebilir ve ek malzeme kabinlerine ölçeklenebilirsiniz. " -"Bağlantı noktası sayısı, bağlanı noktası hızı ve bağlantı noktası " -"yoğunluğunu destekleyen ve istek arttığında genişlemeyi destekleyen ağ " -"donanımlarını seçmek önemlidir. Ağ mimarisinde, yedekliliği nerde " -"değerlendireceğinizi bilmek de önemlidir." - -msgid "" -"For a general purpose OpenStack cloud, sizing is an important consideration. " -"The expected or anticipated number of instances that each hypervisor can " -"host is a common meter used in sizing the deployment. The selected server " -"hardware needs to support the expected or anticipated instance density." -msgstr "" -"Daha genel amaçlı bir OpenStack bulutu için, boyutlandırma önemli bir " -"etmendir. Her hipervizörün sunabileceği beklenen ya da tahmin edilen sunucu " -"sayısı kurulumun ölçeklendirmesinde kullanılan genel ölçüttür. Seçilen " -"sunucu donanımı beklenen ya da tahmin edilen sunucu yoğunluğunu " -"desteklemelidir." - -msgid "" -"For a general purpose OpenStack cloud, the OpenStack infrastructure " -"components need to be highly available. If the design does not include " -"hardware load balancing, networking software packages like HAProxy will need " -"to be included." -msgstr "" -"Genel amaçlı OpenStack bulutu için, OpenStack alt yapı bileşenlerinin yüksek " -"kullanılırlıklı olması gerekir. Tasarım donanımsal yük dengeleme " -"içermiyorsa, HAProxy gibi ağ yazılım paketlerinin dahil edilmesi gerekir." - -msgid "" -"For a user of a massively scalable OpenStack public cloud, there are no " -"expectations for control over security, performance, or availability. Users " -"expect only SLAs related to uptime of API services, and very basic SLAs for " -"services offered. It is the user's responsibility to address these issues on " -"their own. The exception to this expectation is the rare case of a massively " -"scalable cloud infrastructure built for a private or government organization " -"that has specific requirements." -msgstr "" -"Büyük ölçekli OpenStack açık bulutunun bir kullanıcısı için, güvenlik, " -"başarım veya kullanılırlık üzerinde kontrol beklentisi yoktur. Kullanıcılar " -"yalnızca API servislerinin hizmet süreleriyle ilgili, ve sunulan servislerle " -"ilgili çok temel SLA'lar beklerler. Bu sorunları ele almak kullanıcının " -"sorumluluğundadır. Bu beklentiye bir istisna özel bir kuruma veya devlet " -"kurumuna inşa edilmiş belirli gereksinimleri olan büyük ölçekte bulut alt " -"yapısıdır." - -msgid "" -"For example, CPU, memory or local storage based compute nodes. For NFV or " -"HPC based clouds, there may even be specific network configurations that " -"should be reserved for those specific workloads on specific compute nodes. " -"This method of designing specific resources into groups or zones of compute " -"can be referred to as bin packing." -msgstr "" -"Örneğin, CPU, hafıza veya yerel deoplama tabanlı hesaplama düğümleri. NFV " -"veya HPC tabanlı bulutlar için belirli hesaplama düğümlerinde çalışacak " -"belirli iş yükleri için ayrılmış yapılandırmalar bile olabilir. Belirli " -"kaynakları gruplara ya da hesaplama bölgelerine göre tasarlamaya kutu " -"paketleme denir." - -msgid "" -"For example, a cloud administrator might be able to list all instances in " -"the cloud, whereas a user can see only those in his current group. Resources " -"quotas, such as the number of cores that can be used, disk space, and so on, " -"are associated with a project." -msgstr "" -"Örneğin bir bulut yöneticisi buluttaki tüm sunucuları listeleyebilir, ancak " -"bir kullanıcı yalnızca kendi grubundakileri görüntüleyebilir. " -"Kullanılabilecek çekirdek sayısı, disk alanı, vs gibi kaynak kotaları " -"projeyle ilişkilidir." - -msgid "" -"For example, a system that starts with a single disk and a partition power " -"of 3 can have 8 (2^3) partitions. Adding a second disk means that each has 4 " -"partitions. The one-disk-per-partition limit means that this system can " -"never have more than 8 disks, limiting its scalability. However, a system " -"that starts with a single disk and a partition power of 10 can have up to " -"1024 (2^10) disks." -msgstr "" -"Örneğin, 3 bölümleme gücüne sahip tek diskli bir sistem 8 (2^3) bölüme sahip " -"olabilir. İkinci bir disk eklemek her birinin 4 bölümü olacağı anlamına " -"gelir. Disk başına bir bölüm kısıtlaması bu sistemin 8 diskten fazlasına " -"sahip olamayacağı anlamına gelir, bu da ölçeklenebilirliği kısıtlar. Ancak, " -"tek bir diskle ve bölüm gücü 10 ile başlayan bir sistem 1024 (2^10) diske " -"sahip olabilir." - -msgid "" -"For example, consider a cloud backup application. This workload has two " -"specific behaviors that impact the network. Because this workload is an " -"externally-facing service and an internally-replicating application, it has " -"both :term:`north-south` and :term:`east-west` traffic considerations:" -msgstr "" -"Örneğin, bir bulut yedek uygulamasını ele alın. Bu iş yükünün ağı etkileyen " -"iki özel davranışı bulunur. Bu iş yükü dışa dönük bir servis ve içe dönük " -"çoğaltma uygulaması olduğundan, hem :term:`kuzey-güney` " -"hem de :term:`doğu-batı` trafik sahibidir." - -msgid "" -"For example, degraded video streams and low quality VoIP sessions negatively " -"impact user experience and may lead to productivity and economic loss." -msgstr "" -"Örneğin, düşük kalite video akışları ve VoIP oturumları kullanıcı deneyimini " -"eksi yönde etkiler ve üretim ve ekonomik kayba sebep olabilir." - -msgid "" -"For example, if a physical node has 48 GB of RAM, the scheduler allocates " -"instances to that node until the sum of the RAM associated with the " -"instances reaches 72 GB (such as nine instances, in the case where each " -"instance has 8 GB of RAM)." -msgstr "" -"Örneğin 48 GB RAM'i olan fiziksel düğümde zamanlayıcı sunucularla ilişkili " -"RAM 72 GB'yi geçene kadar bu düğüme sunucu ayırmaya devam eder (8 GB RAM'e " -"sahip sunucular olduğunu düşünürsek dokuz sunucu kadar)." - -msgid "" -"For example, the EC2 API refers to instances using IDs that contain " -"hexadecimal, whereas the OpenStack API uses names and digits. Similarly, the " -"EC2 API tends to rely on DNS aliases for contacting virtual machines, as " -"opposed to OpenStack, which typically lists IP addresses." -msgstr "" -"Örneğin EC2 API'si sunuculara onaltılık ID'lerle başvurur, OpenStack API ise " -"isimler ve basamaklarla. Benzer şekilde, EC2 API sanal makineleri yönetirken " -"DNS takma adlarına güvenir, OpenStack ise genellikle IP adreslerini listeler." - -msgid "" -"For example, you must plan the number of IP addresses that you need for both " -"your guest instances as well as management infrastructure. Additionally, you " -"must research and discuss cloud network connectivity through proxy servers " -"and firewalls." -msgstr "" -"Örneğin hem misafir sunucularınız hem de yönetim alt yapınız için IP " -"adreslerini planlamalısınız. Ek olarak vekil sunucular ve güvenlik duvarları " -"içinden geçen bulut ağ bağlantınızı araştırmalı ve tartışmalısınız." - -msgid "" -"For example, you should consider the time required to run a workload in " -"different clouds and methods for reducing this time. This may require moving " -"data closer to applications or applications closer to the data they process, " -"and grouping functionality so that connections that require low latency take " -"place over a single cloud rather than spanning clouds." -msgstr "" -"Örneğin, bu zamanı azaltmak için bir iş yükünün farklı bulutlarda ve " -"yöntemlerde alacağı zamanı göz önüne almalısınız. Bu da veriyi uygulamalara " -"ya da uygulamaları işledikleri verilere yakın tutmak ve işlevselliği " -"gruplamak olabilir böylece az gecikme gerektiren bağlantılar birden çok " -"bulut içinde değil aynı bulut içinde gerçekleşir." - -msgid "" -"For information about deploying and operating OpenStack, see the " -"`Installation Tutorials and Guides `_, `Deployment Guides `_, and the `OpenStack Operations Guide `_." -msgstr "" -"OpenStack kurulum ve işletimiyle ilgili bilgi için, `Kurulum Öğreticileri ve " -"Kılavuzları `_, " -"`Kurulum Kılavuzları `_, ve `OpenStack İşletim Kılavuzuna `_ göz atın." - -msgid "" -"For instructions on installing Logstash, Elasticsearch and Kibana, see the " -"`Elasticsearch reference `_." -msgstr "" -"Logstash, Elasticsearch ve Kibana yükleme yönergeleri için bknz " -"`Elasticsearch kaynağı `_." - -msgid "" -"For many deployments, the cloud controller is a single node. However, to " -"have high availability, you have to take a few considerations into account, " -"which we'll cover in this chapter." -msgstr "" -"Çoğu kurulum için bulut kontrol birimi tek bir düğümdür. Ancak yüksek " -"kullanılırlık için bu bölümde kapsayacağımız bazı etmenleri göz önünde " -"tutmalısınız." - -msgid "" -"For many use cases the proximity of the user to their workloads has a direct " -"influence on the performance of the application and therefore should be " -"taken into consideration in the design. Certain applications require zero to " -"minimal latency that can only be achieved by deploying the cloud in multiple " -"locations. These locations could be in different data centers, cities, " -"countries or geographical regions, depending on the user requirement and " -"location of the users." -msgstr "" -"Çoğu kullanım durumunda kullanıcının iş yüklerine yakınlığının uygulama " -"başarımına doğrudan etkisi vardır, yani tasarımda bu göz önüne alınmalıdır. " -"Bazı uygulamalar sıfır ya da asgari gecikme gerektirirler, bu da bulutu " -"birden çok konumda kurmakla elde edilebilir. Bu konumlar kullanıcı " -"gereksinimi ve kullanıcıların konumuna göre değişik veri merkezleri, " -"şehirler, ülkeler veya coğrafik bölgeler olabilir." - -msgid "" -"For more information about NUMA, see `CPU topologies `_ in the Administrator Guide." -msgstr "" -"NUMA hakkında daha fazla bilgi için, Yönetici Kılavuzundaki `CPU " -"topolojileri `_ kısmına bakın." - -msgid "" -"For more information about feature support for hypervisors as well as ironic " -"and Virtuozzo (formerly Parallels), see `Hypervisor Support Matrix `_ and `Hypervisors " -"`_ in the Configuration Reference." -msgstr "" -"Hipervizörler için özellik desteği ve ironic ve Virtuozzo (eski Parallels) " -"ile ilgili daha fazla bilgi için Yapılandırma Kaynakçasındaki `Hipervizör " -"Destek Matrisi `_ ve `Hipervizörler `_ bağlantılarına göz atın." - -msgid "" -"For more information on configuring Block Storage to use NFS storage, see " -"`Configure an NFS storage back end `_ in the OpenStack Administrator Guide." -msgstr "" -"NFS depolama kullanan Blok Depolama yapılandırması hakkında daha fazla bilgi " -"için OpenStack Yönetici Kılavuzundaki `NFS depolama arka ucu " -"yapılandırmasına `_ göz atın." - -msgid "" -"For more information on high availability in OpenStack, see the `OpenStack " -"High Availability Guide `_." -msgstr "" -"OpenStack'de yüksek kullanılırlıkla ilgili daha fazla bilgi için, `OpenStack " -"Yüksek Kullanılırlık Kılavuzuna `_ göz " -"atın." - -msgid "" -"For more information on managing and maintaining your OpenStack environment, " -"see the `OpenStack Operations Guide `_." -msgstr "" -"OpenStack ortamınızı yönetmek ve bakım hakkında daha fazla bilgi için " -"`OpenStack İşlem Kılavuzuna `_ göz atın." - -msgid "" -"For more information, please see the `Swift replication page `_." -msgstr "" -"Daha fazla bilgi için, `Swift çoğaltma sayfasına `_ göz atın." - -msgid "" -"For our example, the cloud controller has a collection of ``nova-*`` " -"components that represent the global state of the cloud; talks to services " -"such as authentication; maintains information about the cloud in a database; " -"communicates to all compute nodes and storage :term:`workers ` " -"through a queue; and provides API access. Each service running on a " -"designated cloud controller may be broken out into separate nodes for " -"scalability or availability." -msgstr "" -"Örneğimize göre, bulut kontrol biriminin bulutun genel durumunu temsil eden " -"``nova-*`` bileşenleri koleksiyonu bulunur; kimlik doğrulama gibi " -"servislerle konuşur; bulut hakkında bilgiyi bir veritabanında yönetir; tüm " -"hesaplama düğümleri ve deoplama :term:`işçileriyle ` bir kuyruk " -"aracılığıyla konuşur; ve API erişimi sağlar. Belirlenmiş bulut kontrol " -"biriminde çalışan her servis ölçeklenebilirlik ve kullanılabilirlik için " -"ayrı düğümlere dağıtılmış olabilir." - -msgid "" -"Front end web for API requests, the scheduler for choosing which compute " -"node to boot an instance on, Identity services, and the dashboard" -msgstr "" -"API istekleri için web ön yüzü, bir sunucunun hangi hesaplama düğümünde " -"önyükleneceğini seçmek için zamanlayıcı, Kimlik servisleri ve kontrol paneli" - -msgid "" -"Furthermore, on large layer-2 networks, configuring ARP learning can be " -"complicated. The setting for the MAC address timer on switches is critical " -"and, if set incorrectly, can cause significant performance problems. So when " -"migrating MACs to different physical locations to support instance " -"migration, problems may arise. As an example, the Cisco default MAC address " -"timer is extremely long. As such, the network information maintained in the " -"switches could be out of sync with the new location of the instance." -msgstr "" -"Dahası, büyük katman-2 ağlarda, ARP öğrenmesini yapılandırmak da karmaşık " -"olabilir. Anahtarlardaki MAC adresi zamanlayıcısı kritiktir ve yanlış " -"ayarlanırsa büyük başarım sorunlarına yol açar. Yani sunucu göçünü " -"desteklemek için MAC'leri farklı fiziksel konumlara taşırken sorunlar ortaya " -"çıkabilir. Örnek olarak Cisco öntanımlı MAC adres zamanlayıcısı çok uzundur. " -"Yani sunucunun yeni konuma geçmesiyle ağ anahtarında tutulan ağ bilgisi " -"eşzamanlanmamış olur." - -msgid "General compute cloud" -msgstr "Genel hesaplama bulutu" - -msgid "" -"General examples and configuration guides can be found on the Elastic " -"`Logstash Configuration page `_." -msgstr "" -"Genel örnekler ve yapılandırma kılavuzları Elastic `Logstash Yapılandırma " -"sayfasında `_ bulunabilir." - -msgid "" -"Geographical considerations may also impact the cost of building or leasing " -"data centers. Considerations include:" -msgstr "" -"Coğrafi etkenler veri merkezi kiralama veya inşa etme masraflarını da " -"etkileyebilir. Etmenler şunları içerir:" - -msgid "Gluster" -msgstr "Gluster" - -msgid "GlusterFS" -msgstr "GlusterFS" - -msgid "HTTP" -msgstr "HTTP" - -msgid "Hardware Considerations" -msgstr "Donanım Etmenleri" - -msgid "Hardware must support network redundancy." -msgstr "Donanım ağ yedekliliğini desteklemeli." - -msgid "" -"Hardware resources selected for the resource nodes should be capable of " -"supporting enough storage for the cloud services. Defining the initial " -"requirements and ensuring the design can support adding capacity is " -"important. Hardware nodes selected for object storage should be capable of " -"support a large number of inexpensive disks with no reliance on RAID " -"controller cards. Hardware nodes selected for block storage should be " -"capable of supporting high speed storage solutions and RAID controller cards " -"to provide performance and redundancy to storage at a hardware level. " -"Selecting hardware RAID controllers that automatically repair damaged arrays " -"will assist with the replacement and repair of degraded or deleted storage " -"devices." -msgstr "" -"Kaynak düğümler için seçilmiş donanım kaynakları bulut servisleri için " -"yeterli depolamayı destekleme kapasitesine sahip olmalıdır. İlk " -"gereksinimleri tanımlamak ve tasarımın ek kapasiteyi kaldırabileceğini " -"bilmek önemlidir. Nesne depolama için seçilen donanım düğümleri RAID kontrol " -"kartlarına bel bağlamadan yüksek sayıda ucuz diski destekleyebilmelidir. " -"Blok depolama için seçilen donanım düğümleri yüksek hızlı depolama " -"çözümlerini ve RAID kontrol kartlarını destekleyerek donanım seviyesinde " -"başarım ve depolama yedekliliği sağlayabilmelidir. Otomatik olarak hasarlı " -"dizileri tamir eden donanımsal RAID kontrol kartlarını tercih etmek silinen " -"ya da eski kalmış depolama aygıtlarının tamirinde yardımcı olacaktır." - -msgid "" -"Heavy I/O usage on one compute node does not affect instances on other " -"compute nodes. Direct I/O access can increase performance." -msgstr "" -"Bir hesaplama düğümündeki ağır I/O kullanımı diğer hesaplama düğümlerindeki " -"sunucuları etkilemez. Doğrudan I/O erişimi başarımı artırabilir." - -msgid "" -"Here are some other factors to consider when selecting hardware for your " -"compute servers." -msgstr "" -"Hesaplama sunucularınız için donanım seçerken göz önüne almanız gereken " -"diğer etmenler şöyle." - -msgid "High availability" -msgstr "Yüksek kullanılırlık" - -msgid "High availability architecture to meet customer SLA requirements." -msgstr "" -"Müşteri SLA gereksinimlerini karşılamak için yüksek kullanılırlıklı mimari." - -msgid "" -"High availability implementations vary in functionality and design. Examples " -"of some common methods are active-hot-standby, active-passive, and active-" -"active. Development of high availability and test frameworks is necessary to " -"insure understanding of functionality and limitations." -msgstr "" -"Yüksek kullanılırlık uygulamaları işlevsellik ve tasarımda değişiklik " -"gösterir. Genelde kullanılan yöntemlerden bazılarına örnek olarak etkin-" -"sıcak-bekleme, etkin-pasif ve etkin-etkin gösterilebilir. İşlevsellik ve " -"sınırlamaları iyi anlamak için yüksek kullanılırlık ve deneme çatılarının " -"geliştirilmesi gereklidir." - -msgid "High performance database" -msgstr "Yüksek başarımlı veritabanı" - -msgid "High performance database with Database service" -msgstr "Veritabanı servisiyle yüksek başarımlı veritabanı" - -msgid "" -"High performance systems have SLA requirements for a minimum quality of " -"service with regard to guaranteed uptime, latency, and bandwidth. The level " -"of the SLA can have a significant impact on the network architecture and " -"requirements for redundancy in the systems." -msgstr "" -"Yüksek başarım sistemleri garanti edilen hizmet süresi, gecikme ve bant " -"genişliğiyle ilgili asgari servis kalitesi gereksinimleri için SLA'lara " -"sahiptirler. SLA seviyesi ağ mimarisi üzerinde ve sistemlerdeki yedeklilik " -"gereklilikleri üzerinde önemli etki sahibi olabilir." - -msgid "Host density" -msgstr "Sunucu yoğunluğu" - -msgid "How do I manage the storage operationally?" -msgstr "Depolama işlemlerini nasıl yöneteceğim?" - -msgid "How long does a single instance run?" -msgstr "Tek bir sunucu ne kadar çalışıyor?" - -msgid "How many ``nova-api`` services do you run at once for your cloud?" -msgstr "Bulutunuz için bir kerede kaç ``nova-api`` servisi çalıştırıyorsunuz?" - -msgid "How many compute nodes will run at once?" -msgstr "Bir kerede kaç hesaplama düğümü çalışacak?" - -msgid "How many instances will run at once?" -msgstr "Bir kerede kaç sunucu çalışacak?" - -msgid "How many users will access the API?" -msgstr "Kaç kullanıcı API'ye erişecek?" - -msgid "How many users will access the dashboard versus the REST API directly?" -msgstr "REST API'nin tersine kaç kullanıcı kontrol paneline doğrudan erişecek?" - -msgid "" -"How redundant and distributed is the storage? What happens if a storage node " -"fails? To what extent can it mitigate my data-loss disaster scenarios?" -msgstr "" -"Depolama ne kadar yedekli ve dağıtık? Bir depolama düğümü arızalanırsa ne " -"olur? Veri kaybı olan felaket durumu senaryolarımı ne kadar azaltabilir?" - -msgid "" -"How the particular storage architecture will be used is critical for " -"determining the architecture. Some of the configurations that will influence " -"the architecture include whether it will be used by the hypervisors for " -"ephemeral instance storage, or if OpenStack Object Storage will use it for " -"object storage." -msgstr "" -"Belirli depolama mimarisinin nasıl kullanılacağı mimarinin belirlenmesinde " -"ciddi rol oynar. Hipervizörler tarafından geçici sunucu depolaması olarak " -"mı, nesne depolama için OpenStack Nesne Depolama tarafından mı kullanılacağı " -"mimariyi etkileyecek yapılandırmalardan bazılarıdır." - -msgid "" -"However, before choosing a storage architecture, a few generic questions " -"should be answered:" -msgstr "" -"Ancak, bir depolama mimarisi seçerken, bazı genel sorular yanıtlanmalıdır:" - -msgid "" -"However, if you are more restricted in the number of physical hosts you have " -"available for creating your cloud and you want to be able to dedicate as " -"many of your hosts as possible to running instances, it makes sense to run " -"compute and storage on the same machines or use an existing storage array " -"that is available." -msgstr "" -"Bulutunuzu oluşturmak için kullanılabilir fiziksel sunucu sayısında " -"kısıtlamalarınız varsa ve olabildiğince fazla sunucunuzu sunucu çalıştırmak " -"için ayırmak istiyorsanız, hesaplama ve depolamayı aynı makinelerde " -"kullanmak veya mevcut kullanılabilir depolama dizisini kullanmak " -"isteyebilirsiniz." - -msgid "However, this option has several disadvantages:" -msgstr "Ancak bu seçeneğin bir çok dezavantajı bulunur:" - -msgid "" -"Hybrid cloud architecture enables the migration of applications between " -"different clouds." -msgstr "" -"Melez bulut mimarisi uygulamaların farklı bulutlar arasında göçünü " -"etkinleştirir." - -msgid "" -"Hybrid cloud designs must accommodate differences in SLAs between providers, " -"and consider their enforceability." -msgstr "" -"Melez bulut tasarımları sağlayıcılar arasındaki SLA'ların farklılıklarına " -"uyum sağlamalıdır, uygulanabilirliklerini göz önüne almalıdır." - -msgid "" -"Hyper-Threading is Intel's proprietary simultaneous multithreading " -"implementation used to improve parallelization on their CPUs. You might " -"consider enabling Hyper-Threading to improve the performance of " -"multithreaded applications." -msgstr "" -"Hyper-Threading Intel'in işlemcilerinde paralelleştirmeyi iyileştirmek için " -"kullandıkları tescilli eşzamanlı çoklu iplik uygulamasıdır. Çoklu iş ipliği " -"ile çalışan uygulamalarda başarımı artırmak için Hyper-Threading desteğini " -"etkinleştirmeyi düşünmelisiniz." - -msgid "" -"IOPS = 1 / (AverageLatency + AverageSeekTime) For example: Average Latency " -"for Single Disk = 2.99ms or .00299 seconds Average Seek Time for Single Disk " -"= 4.7ms or .0047 seconds IOPS = 1/(.00299 + .0047) IOPS = 130" -msgstr "" -"IOPS = 1 / (OrtalamaGecikme + OrtalamaAramaSüresi) Örneğin: Tek Disk İçin " -"Gecikme = 2.99ms veya .00299 saniye Tek Disk için Ortalama Arama Süresi = " -"4.7ms veya .0047 saniye IOPS = 1/(.00299 + .0047) IOPS = 130" - -msgid "Identity" -msgstr "Kimlik" - -msgid "" -"If OpenStack is not set up in the right way, it is simple to have scenarios " -"in which users are unable to contact their instances due to having only an " -"incorrect DNS alias. Despite this, EC2 compatibility can assist users " -"migrating to your cloud." -msgstr "" -"OpenStack düzgün ayarlanmamışsa, yalnızca yanlış bir DNS takma adı yüzünden " -"kullanıcılar sunucularına erişemeyebilirler. Buna rağmen EC2 uyumluluğu " -"kullanıcıların bulutunuza göçüne yardımcı olabilir." - -msgid "If a compute node fails, instances are usually easily recoverable." -msgstr "" -"Bir hesap düğümü arızalanırsa, sunucular genellikle kolaylıkla " -"kurtarılabilir." - -msgid "" -"If a compute node fails, the data associated with the instances running on " -"that node is lost." -msgstr "" -"Bir hesaplama düğümü başarısız olursa, bu düğümde çalışan sunucularla " -"ilişkili veri kaybolur." - -msgid "" -"If a replicator detects that a remote drive has failed, the replicator uses " -"the ``get_more_nodes`` interface for the ring to choose an alternative node " -"with which to synchronize. The replicator can maintain desired levels of " -"replication in the face of disk failures, though some replicas may not be in " -"an immediately usable location." -msgstr "" -"Bir çoğaltıcı uzak sürücünün arızalandığını algılarsa, çoğaltıcı halka için " -"``get_more_nodes`` arayüzünü kullanarak eşzamanlama yapılacak alternatif bir " -"düğüm seçer. Çoğaltıcı disk arızaları durumunda istenen seviyede yedeklemeyi " -"devam etirebilir, ama bazı yedekler anında kullanılabilir konumlarda " -"olmayabilir." - -msgid "" -"If a significant portion of the cloud is on externally managed systems, " -"prepare for situations where it may not be possible to make changes. " -"Additionally, cloud providers may differ on how infrastructure must be " -"managed and exposed. This can lead to delays in root cause analysis where a " -"provider insists the blame lies with the other provider." -msgstr "" -"Bulutun büyük bölümü harici yönetilen sistemlerdeyse, değişiklik " -"yapamayacağınız durumlar için hazırlıklı olun. Ek olarak, bulut sağlayıcılar " -"alt yapının nasıl yönetilip ortaya çıkarılacağı konusunda farklılıklar " -"gösterebilirler. Bu da bir sağlayıcının suçu diğer sağlayıcıya attığı " -"durumlarda sorunun kökünü anlamada gecikmelere yol açabilir." - -msgid "If additional storage is required, this option does not scale." -msgstr "Ek depolama gerekirse, bu seçenek ölçeklenmez." - -msgid "" -"If applications running in a cloud are not cloud-aware, there should be " -"clear measures and expectations to define what the infrastructure can and " -"cannot support. An example would be shared storage between sites. It is " -"possible, however such a solution is not native to OpenStack and requires a " -"third-party hardware vendor to fulfill such a requirement. Another example " -"can be seen in applications that are able to consume resources in object " -"storage directly." -msgstr "" -"Eğer bulutta çalışan uygulamalar buluttan habersizlerse, alt yapının " -"sağlayıp sağlayamayacağı şeyler arasında açık ölçütler olmalıdır. Konumlar " -"arasındaki paylaşımlı depolama bir örnek olabilir. Yapmak mümkündür, ancak " -"böyle bir çözüm OpenStack'te doğal olarak yoktur ve üçüncü şahıs bir donanım " -"sağlayıcısının gereksinimi sağlaması gerekir. Başka bir örnek nesne " -"depolamadan doğrudan kaynak tüketen uygulamalarda görülebilir." - -msgid "" -"If many users will make multiple requests, make sure that the CPU load for " -"the cloud controller can handle it." -msgstr "" -"Bir çok kullanıcı bir çok istek yapacaksa, bulut kontrol biriminin işlemci " -"yükünün bunu kaldırabileceğinden emin olun." - -msgid "" -"If storage protocols other than Ethernet are part of the storage solution, " -"ensure the appropriate hardware has been selected. If a centralized storage " -"array is selected, ensure that the hypervisor will be able to connect to " -"that storage array for image storage." -msgstr "" -"Ethernet dışındaki depolama iletişim kuralları depolama çözümünün " -"parçasıysa, uygun donanımın seçildiğinden emin olun. Merkezi bir depolama " -"dizisi seçildiyse, hipervizörün bu depolama dizisine imaj depolama için " -"erişebildiğinden emin olun." - -msgid "" -"If the cloud is initially built with near end of life, but cost effective " -"hardware, then the performance and capacity demand of new workloads will " -"drive the purchase of more modern hardware. With individual hardware " -"components changing over time, you may prefer to manage configurations as " -"stock keeping units (SKU)s. This method provides an enterprise with a " -"standard configuration unit of compute (server) that can be placed in any IT " -"service manager or vendor supplied ordering system that can be triggered " -"manually or through advanced operational automations. This simplifies " -"ordering, provisioning, and activating additional compute resources. For " -"example, there are plug-ins for several commercial service management tools " -"that enable integration with hardware APIs. These configure and activate new " -"compute resources from standby hardware based on a standard configurations. " -"Using this methodology, spare hardware can be ordered for a datacenter and " -"provisioned based on capacity data derived from OpenStack Telemetry." -msgstr "" -"Bulut kullanım ömrünün sonunda, ama ucuz donanım ile kurulursa, yeni iş " -"yüklerinin başarım ve kapasitesi daha modern donanımın alınmasını " -"gerektirir. Bağımsız donanım bileşenlerinin zamanla değişmesiyle " -"yapılandırmaları stok saklama birimleri (SKU) olarak yönetmeyi tercih " -"edebilirsiniz. Bu yöntem bir kuruma herhangi bir IT servis yöneticisi veya " -"üretici tarafından sağlanan sipariş sistemine dahil edilebilecek ve elle " -"veya işlevsel otomasyonlarla tetiklenebilecek standart hesaplama (sunucu) " -"yapılandırma birimi sağlar. Bu da sipariş, hazırlama, ve ek hesaplama " -"kaynaklarının etkinleştirilmesini kolaylaştırır. Örneğin, bir çok ticari " -"servis yönetim aracı için donanım API'leriyle tümleşimi etkinleştiren " -"eklentiler bulunur. Bunlar standart yapılandırmalara dayanarak duran " -"donanımdan yeni hesaplama kaynakları yapılandırır ve etkinleştirirler. Bu " -"yöntemle, bir veri merkezi için yedek donanım sipariş verilebilir ve " -"OpenStack Telemetrisinden gelen veriye göre hazırlanabilirler." - -msgid "" -"If the data store is highly changeable, the network requirements could have " -"a significant effect on the operational cost of maintaining the sites." -msgstr "" -"Veri depolama çokça değişebiliyorsa, ağ gereksinimleri konumların " -"yönetilmesinin işletme maliyetlerini çok etkileyebilir." - -msgid "" -"If the design incorporates more than one site, the ability to maintain " -"object availability in both sites has significant implications on the Object " -"Storage design and implementation. It also has a significant impact on the " -"WAN network design between the sites." -msgstr "" -"Tasarım birden çok konum içeriyorsa, nesne kullanılırlığını tüm konumlarda " -"sürdürmenin Nesne Depolama tasarımı ve kurulumunda büyük etkisi olacaktır. " -"Ayrıca konumlar arasındaki WAN ağ tasarımında da büyük etki yaratır." - -msgid "" -"If the solution is a scale-out storage architecture that includes DAS, it " -"will affect the server hardware selection. This could ripple into the " -"decisions that affect host density, instance density, power density, OS-" -"hypervisor, management tools and others." -msgstr "" -"Çözüm DAS içeren bir dışa ölçekleme depolama mimarisiyse, sunucu donanımı " -"seçimini etkiler. Bu sunucu yoğunluğu, güç yoğunluğu, OS-hipervizör, yönetim " -"araçları ve diğerlerini etkileyen kararların dalgalanmasına neden olur." - -msgid "" -"If this is the first time you are deploying a cloud infrastructure in your " -"organization, your first conversations should be with your networking team. " -"Network usage in a running cloud is vastly different from traditional " -"network deployments and has the potential to be disruptive at both a " -"connectivity and a policy level." -msgstr "" -"Kurumunuzda ilk bulut kurulumunuzu yapıyorsanız, yapacağınız ilk konuşma ağ " -"takımınızla olmalıdır. Çalışan bir bulutta ağ kullanımı geleneksel ağ " -"kurulumlarından farklıdır ve hem ilkesel hem bağlantısal seviyede yıkıcı " -"olma potansiyeli vardır." - -msgid "" -"If using a storage design that includes shared access to centralized " -"storage, ensure that this is also designed without single points of failure " -"and the SLA for the solution matches or exceeds the expected SLA for the " -"Data Plane." -msgstr "" -"Merkezi depoya paylaşımlı erişim sunan bir depolama tasarımı kullanılıyorsa, " -"tek bir kırılma noktası olmayacak şekilde tasarlandığından, ve çözüm için " -"SLA'nın Veri Düzlemi için beklenen SLA ile eşleştiğinden ya da daha iyi " -"olduğundan emin olun." - -msgid "" -"If you are using ``nova-network`` and multi-host networking in your cloud " -"environment, ``nova-compute`` still requires direct access to the database." -msgstr "" -"Bulut ortamınızda ``nova-network`` ve çoklu sunucu ağı kullanıyorsanız, " -"``nova-compute`` veritabanına erişim gerektirecektir." - -msgid "" -"If you have an OpenStack Object Storage service, we recommend using this as " -"a scalable place to store your images. You can also use a file system with " -"sufficient performance or Amazon S3—unless you do not need the ability to " -"upload new images through OpenStack." -msgstr "" -"Bir OpenStack Nesne Depolama servisiniz varsa, bunu imajlarınızı saklamak " -"için ölçeklenebilir bir yer olarak kullanmanızı öneririz. Yeterli başarıma " -"sahip bir dosya sistemi veya Amazon S3'de kullanabilirsiniz—OpenStack " -"üzerinden yeni imajlar yüklemeniz gerekmiyorsa." - -msgid "" -"If you plan to use live migration, we highly recommend a shared storage " -"configuration. This allows the operating system and application volumes for " -"instances to reside outside of the compute nodes and adds significant " -"performance increases when live migrating." -msgstr "" -"Canlı göç kullanmayı planlıyorsanız, paylaşımlı depolama yapılandırmasını " -"öneriyoruz. Bu işletim sisteminin ve sunucular için uygulama birimlerinin " -"hesaplama düğümleri dışında durmasını sağlar ve canlı göç yaparken kayda " -"değer başarım artışı ekler." - -msgid "" -"If you use separate compute and storage hosts, you can treat your compute " -"hosts as \"stateless\". As long as you do not have any instances currently " -"running on a compute host, you can take it offline or wipe it completely " -"without having any effect on the rest of your cloud. This simplifies " -"maintenance for the compute hosts." -msgstr "" -"Farklı hesaplama ve depolama sunucuları kullanıyorsanız, hesaplama " -"sunucularınıza \"durumsuz\" olarak davranabilirsiniz. Bir hesaplama " -"sunucusunda çalışan sunucularınız olmadığı sürece çevrimdışı hale " -"getirebilir, bulutunuzu etkilemeyecek şekilde tamamen silebilirsiniz bile. " -"Bu hesaplama sunucuları için bakım işini basitleştirir." - -msgid "" -"If you want to support shared-storage live migration, you need to configure " -"a distributed file system." -msgstr "" -"Paylaşımlı depolama canlı göçünü desteklemek isterseniz, dağıtık bir dosya " -"sistemi yapılandırmalısınız." - -msgid "Image disk utilization" -msgstr "İmaj diski kullanımı" - -msgid "Image portability" -msgstr "İmaj taşınabilirliği" - -msgid "Image service for the image management" -msgstr "İmaj yönetimi için imaj servisi" - -msgid "Image-management services" -msgstr "İmaj-yönetim servisleri" - -msgid "Images" -msgstr "İmajlar" - -msgid "Implementing Block Storage" -msgstr "Blok Depolamanın Uygulanması" - -msgid "Implementing Object Storage" -msgstr "Nesne Depolamanın Uygulanması" - -msgid "" -"In OpenStack, the infrastructure is integral to providing services and " -"should always be available, especially when operating with SLAs. Ensuring " -"network availability is accomplished by designing the network architecture " -"so that no single point of failure exists. A consideration of the number of " -"switches, routes and redundancies of power should be factored into core " -"infrastructure, as well as the associated bonding of networks to provide " -"diverse routes to your highly available switch infrastructure." -msgstr "" -"OpenStack'de alt yapı servis sağlamada ayrılmaz bir yere sahiptir ve her " -"zaman kullanılır olmalıdır, özellikle SLA'larla işlem yapılırken. Ağ " -"kullanılırlığından emin olmak tek bir kırılma noktasının olmadığı ağ " -"mimarisi tasarlamakla elde edilir. Çekirdek alt yapıda anahtarların sayısı, " -"yönlendiriciler ve gücün yedekliliği yanında rotaların yüksek " -"kullanılırlıklı anahtar alt yapısına yönlendirilmesini sağlayan ağların " -"bağlanması gibi ilişkiler göz önünde bulundurulmalıdır." - -msgid "" -"In a bin packing design, each independent resource pool provides service for " -"specific flavors. Since instances are scheduled onto compute hypervisors, " -"each independent node's resources will be allocated to efficiently use the " -"available hardware. While bin packing can separate workload specific " -"resources onto individual servers, bin packing also requires a common " -"hardware design, with all hardware nodes within a compute resource pool " -"sharing a common processor, memory, and storage layout. This makes it easier " -"to deploy, support, and maintain nodes throughout their lifecycle." -msgstr "" -"Kutu paketleme tasarımında, her bağımsız kaynak havuzu belirli nitelikler " -"için servis sağlar. Sunucular hesaplama hipervizörlerine " -"zamanlandıklarından, her bağımsız düğümün kaynakları kullanılabilir donanımı " -"etkin kullanmak üzere ayrılır. Kutu paketleme iş yüküne özel kaynakları " -"bağımsız sunuculara dağıtabilse de, kutu paketleme genel bir donanım " -"tasarımı gerektirir, bu tasarımda tüm donanım düğümleri genel bir işlemci, " -"hafıza, ve depolama düzenini paylaşan hesaplama kaynak havuzundadır. Bu " -"yaşam döngüleri süresince düğümleri kurmayı, desteklemeyi ve yönetmeyi " -"kolaylaştırır." - -msgid "" -"In a cloud with significant demands on Block Storage, the network " -"architecture should take into account the amount of East-West bandwidth " -"required for instances to make use of the available storage resources. The " -"selected network devices should support jumbo frames for transferring large " -"blocks of data, and utilize a dedicated network for providing connectivity " -"between instances and Block Storage." -msgstr "" -"Blok Depolamadan çokça talebi olan bir bulutta, ağ mimarisi sunucuların " -"kullanılabilir depolama kaynaklarının kullanımı için ihtiyaç duyacakları " -"Doğu-Batı bant genişliği miktarını hesaba katmalıdır. Seçilen ağ aygıtları " -"büyük veri bloklarını aktarmak için jumbo çerçeveleri desteklemeli ve " -"sunucular ve Blok Depolama arasındaki bağlantıyı kuran adanmış bir ağ " -"kullanılmalıdır." - -msgid "" -"In a design with multiple regions, the SLA would also need to take into " -"consideration the use of shared services such as the Identity service and " -"Dashboard." -msgstr "" -"Birden çok bölgeden oluşan bir tasarımda, SLA Kimlik servisi ve Kontrol " -"Paneli gibi paylaşımlı servislerin kullanımını da göz önüne almalıdır." - -msgid "" -"In a layer-2 network all devices are aware of all MACs, even those that " -"belong to instances. The network state information in the backbone changes " -"whenever an instance starts or stops. Because of this, there is far too much " -"churn in the MAC tables on the backbone switches." -msgstr "" -"Katman-2 ağda tüm aygıtlar tüm MAC'lerden haberdardır, sunuculara ait " -"olanlardan bile. Bir sunucu başladığında veya durduğunda omurgadaki ağ durum " -"bilgisi değişir. Bunun yüzünden, omurga anahtarlarındaki MAC tablolarında " -"çok daha fazla çalkalanma vardır." - -msgid "" -"In addition to the Block Storage resource nodes, it is important to design " -"for high availability and redundancy of the APIs, and related services that " -"are responsible for provisioning and providing access to storage. We " -"recommend designing a layer of hardware or software load balancers in order " -"to achieve high availability of the appropriate REST API services to provide " -"uninterrupted service. In some cases, it may also be necessary to deploy an " -"additional layer of load balancing to provide access to back-end database " -"services responsible for servicing and storing the state of Block Storage " -"volumes. It is imperative that a highly available database cluster is used " -"to store the Block Storage metadata." -msgstr "" -"Blok Depolama kaynağı düğümlerine ek olarak, API'lerin yüksek kullanılırlık " -"ve yedekliliği, ve depolamaya erişim sağlayan ve hazırlıkla görevli " -"servisler için tasarım yapmak da önemlidir. Kesintisiz servis sağlamak için " -"uygun REST API servislerine donanımsal veya yazılımsal yük dengeleyeciler " -"katmanı ile erişim tasarlamanızı öneririz. Bazı durumlarda, Blok Depolama " -"birimlerinin durumunu saklamak ve servis etmekle görevli arka uç veritabanı " -"servislerine erişim için de ek bir yük dengeleyici katman kurmak gerekli " -"olabilir. Blok Depolama metaverisini yüksek kullanılırlıklı bir veritabanı " -"kümesi ile kullanmak şarttır." - -msgid "" -"In addition to the open source technologies, there are a number of " -"proprietary solutions that are officially supported by OpenStack Block " -"Storage. You can find a matrix of the functionality provided by all of the " -"supported Block Storage drivers on the `CinderSupportMatrix wiki `_." -msgstr "" -"Açık kaynak teknolojilere ek olarak, OpenStack Blok Depolama tarafından " -"resmen desteklenen tescilli çözümler de bulunur. Desteklenen tüm Blok " -"Depolama sürücülerinin işlevsellik matrisini `CinderSupportMatrix wiki'sinde " -"`_ bulabilirsiniz." - -msgid "" -"In an HDD, data transfer is sequential. The actual read/write head \"seeks\" " -"a point in the hard drive to execute the operation. Seek time is " -"significant. Transfer rate can also be influenced by file system " -"fragmentation and the layout. Finally, the mechanical nature of hard disks " -"also has certain performance limitations." -msgstr "" -"Bir HDD'de, veri aktarımı sıralıdır. İşlemi gerçekleştirmek için okuma/yazma " -"kafası sabit diskte bir noktayı \"arar\". Arama süresi kayda değerdir. " -"Aktarım oranı da dosya sistemi parçalanması ve düzeninden etkilenir. Son " -"olarak sabit disklerin mekanik doğası başarım kısıtlaması oluşturur." - -msgid "" -"In an SSD, data transfer is *not* sequential; it is random so it is faster. " -"There is consistent read performance because the physical location of data " -"is irrelevant because SSDs have no read/write heads and thus no delays due " -"to head motion (seeking)." -msgstr "" -"Bİr SSD'de, veri aktarımı sıralı *değildir*; Rasgeledir yani daha hızlıdır. " -"Verinin fiziksel konumu önemsiz olduğundan tutarlı okuma başarımı bulunur, " -"SSD'lerin okuma/yazma kafası yoktur yani arama hareketi yüzünden gecikme " -"oluşmaz." - -msgid "" -"In any environment larger than just a few hosts, there are two areas that " -"might be subject to a SLA:" -msgstr "" -"Bir kaç sunucudan büyük olan her ortamda SLA'ya konu olabilecek iki alan " -"vardır:" - -msgid "" -"In compute server architecture design, you must also consider network and " -"storage requirements. For more information on network considerations, see :" -"ref:`network-design`." -msgstr "" -"Hesaplama sunucusu mimarisi tasarımında, ağ ve depolama gereksinimlerini de " -"hesaba katmalısınız. Ağ etmenleriyle ilgili daha fazla bilgi için bknz :ref:" -"`network-design`." - -msgid "" -"In environments that place substantial demands on Block Storage, we " -"recommend using multiple storage pools. In this case, each pool of devices " -"should have a similar hardware design and disk configuration across all " -"hardware nodes in that pool. This allows for a design that provides " -"applications with access to a wide variety of Block Storage pools, each with " -"their own redundancy, availability, and performance characteristics. When " -"deploying multiple pools of storage, it is also important to consider the " -"impact on the Block Storage scheduler which is responsible for provisioning " -"storage across resource nodes. Ideally, ensure that applications can " -"schedule volumes in multiple regions, each with their own network, power, " -"and cooling infrastructure. This will give tenants the option of building " -"fault-tolerant applications that are distributed across multiple " -"availability zones." -msgstr "" -"Blok Depolamaya yük bindiren ortamlarda, birden fazla depolama havuzu " -"kullanılmasını öneriyoruz. Bu durumda, her bir aygıt havuzu bu havuzdaki tüm " -"donanım düğümleri arasında benzer donanım tasarımı ve disk yapılandırmasına " -"sahip olmalıdır. Bu uygulamalara her biri kendi yedekliliğine, " -"kullanılırlığına ve başarım karakteristiklerine sahip çeşitli Blok Depolama " -"havuzlarına erişim sağlayan bir tasarıma izin verir. Birden fazla depolama " -"havuzu kurarken, düğüm kaynakları arasında depolama hazırlamakla görevli " -"Blok Depolama zamanlayıcısına olan etkinin de göz önünde tutulması gerekir. " -"İdeal olarak, uygulamaların birimleri her biri kendi ağ, güç ve soğutma alt " -"yapısına sahip birden fazla bölgede zamanlayabildiklerinden emin olun. Bu " -"kiracılara birden çok kullanılırlık bölgesine dağıtılmış hata toleranslı " -"uygulamalar inşa etme seçeneği verir." - -msgid "" -"In general, the questions you should ask when selecting storage are as " -"follows:" -msgstr "Genel olarak, depolama seçerken sormanız gereken sorular şunlardır:" - -msgid "" -"In layer-3 networking, routing takes instance MAC and IP addresses out of " -"the network core, reducing state churn. The only time there would be a " -"routing state change is in the case of a Top of Rack (ToR) switch failure or " -"a link failure in the backbone itself. Other advantages of using a layer-3 " -"architecture include:" -msgstr "" -"Katman-3 ağda, yönlendirme sunucu MAC ve IP adreslerini ağ çekirdeğinden " -"alır, bu da çalkalanmayı azaltır. Yönlendirme durum değişikliği ancak Kabin " -"Üstü (ToR) anahtar arızasında veya omurgadaki bir bağlantıda sorun olduğunda " -"olur. Katman-3 mimarisi kullanmanın diğer avantajları şunlardır:" - -msgid "" -"In most cases, hyper-threading CPUs can provide a 1.3x to 2.0x performance " -"benefit over non-hyper-threaded CPUs depending on types of workload." -msgstr "" -"Çoğu durumda, hyper-threading işlemciler iş yükü türüne bağlı olarak 1.3 " -"kattan 2.0 kata kadar başarım artışı sağlarlar." - -msgid "" -"In multi-tenant OpenStack cloud environment, the Shared File Systems service " -"(manila) provides a set of services for management of shared file systems. " -"The Shared File Systems service supports multiple back-ends in the form of " -"drivers, and can be configured to provision shares from one or more back-" -"ends. Share servers are virtual machines that export file shares using " -"different file system protocols such as NFS, CIFS, GlusterFS, or HDFS." -msgstr "" -"Çoklu kiracılı OpenStack bulut ortamında, Paylaşımlı Dosya Sistemi servisi " -"(manila) paylaşımlı dosya sistemlerinin yönetimi için bir servis kümesi " -"sağlar. Paylaşımlı Dosya Sistemleri servisi sürücüler biçiminde birden çok " -"arka uç destekler, ve paylaşımları bir ya da daha fazla arka uçtan " -"hazırlayacak şekilde yapılandırılabilir. Paylaşım sunucuları dosya " -"paylaşımlarını NFS, CIFS, GlusterFS, veya HDFS gibi farklı dosya sistemi " -"iletişim kurallarını kullanarak dışa aktarabilen sanal makinelerdir." - -msgid "" -"In order to take advantage of these new enhancements in the Compute service, " -"compute hosts must be using NUMA capable CPUs." -msgstr "" -"Hesaplama servisindeki bu yeni iyileştirmelerden faydalanmak için, hesaplama " -"sunucuları NUMA kapasiteli işlemciler kullanmalıdır." - -msgid "" -"In some cases, the demand on Block Storage may exhaust the available network " -"bandwidth. As a result, design network infrastructure that services Block " -"Storage resources in such a way that you can add capacity and bandwidth " -"easily. This often involves the use of dynamic routing protocols or advanced " -"networking solutions to add capacity to downstream devices easily. Both the " -"front-end and back-end storage network designs should encompass the ability " -"to quickly and easily add capacity and bandwidth." -msgstr "" -"Bazı durumlarda, Blok Depolama talebi kullanılabilir ağ bant genişliğini " -"yorabilir. Sonuç olarak, Blok Depolama kaynaklarına ihtiyaç halinde kapasite " -"ya da bant genişliğini kolaylıkla ekleyebileceğiniz ağ alt yapıları " -"tasarlayın. Bu çoğu zaman dinamik yönlendirme iletişim kurallarının veya " -"aşağı akış aygıtlarına kolaylıkla kapasite eklemek için gelişmiş ağ " -"çözümlerinin kullanılmasını içerir. Hem ön uç hem arka uç depolama ağı " -"tasarımları kolayca kapasite ve bant genişliği ekleme konusunu kapsamalıdır." - -msgid "" -"In some cases, you must add bandwidth and capacity to the network resources " -"servicing requests between proxy servers and storage nodes. For this reason, " -"the network architecture used for access to storage nodes and proxy servers " -"should make use of a design which is scalable." -msgstr "" -"Bazı durumlarda, vekil sunucular ve depolama düğümleri arasında istekleri " -"sunan ağ kaynakları için bant genişliği ve kapasite eklemeniz gerekebilir. " -"Bu sebeple depolama düğümleri ve vekil sunuculara erişim için kullanılan ağ " -"mimarisi ölçeklenebilir bir tasarımı kullanmalıdır." - -msgid "" -"In the previous version of OpenStack, all ``nova-compute`` services required " -"direct access to the database hosted on the cloud controller. This was " -"problematic for two reasons: security and performance. With regard to " -"security, if a compute node is compromised, the attacker inherently has " -"access to the database. With regard to performance, ``nova-compute`` calls " -"to the database are single-threaded and blocking. This creates a performance " -"bottleneck because database requests are fulfilled serially rather than in " -"parallel." -msgstr "" -"OpenStack'in önceki sürümünde tüm ``nova-compute`` servisleri bulut kontrol " -"biriminde sunulan veritabanına doğrudan erişim gerektiriyordu. Bu iki " -"sebepten sorunludur: güvenlik ve başarım. Güvenliğe nazaran, bir hesaplama " -"düğümü ele geçirilirse, saldırgan veritabanına erişim sağlayabilir. Başarımı " -"düşünürsek, veritabanına yapılan ``nova-compute`` çağrıları tek iş " -"ipliklidir ve engelleyicidir. Bu da veritabanı istekleri paralel yerine seri " -"işleneceğinden başarım sorunları oluşturur." - -msgid "" -"In this example, Ceph presents a swift-compatible REST interface, as well as " -"a block level storage from a distributed storage cluster. It is highly " -"flexible and has features that enable reduced cost of operations such as " -"self healing and auto balancing. Using erasure coded pools are a suitable " -"way of maximizing the amount of usable space." -msgstr "" -"Bu örnekte, Ceph swift-uyumlu bir REST arayüzü ve dağıtım depolama " -"kümesinden blok seviyesinde depolama sunar. Oldukça esnektir ve kendini " -"iyileştirme ve otomatik dengeleme gibi işlemlerin maliyetini azaltan " -"özelliklere sahiptir. Silinti kodlu havuzlar kullanmak azami kullanılır " -"alana sahip olmak için uygun bir yöntemdir." - -msgid "" -"In this option, each compute node is specified with a significant amount of " -"disk space, but a distributed file system ties the disks from each compute " -"node into a single mount." -msgstr "" -"Bu seçenekte, her hesaplama düğümü kayda değer miktarda disk alanıyla " -"belirtilir, ama dağıtık bir dosya sistemi her bir hesaplama düğümünden " -"diskleri tek bir bağlama noktasına bağlar." - -msgid "" -"In this option, each compute node is specified with enough disks to store " -"the instances it hosts." -msgstr "" -"Bu seçenekte, her hesaplama düğümü sunduğu sunucuları saklamak için yeterli " -"diskle belirtilir." - -msgid "" -"In this option, the disks storing the running instances are hosted in " -"servers outside of the compute nodes." -msgstr "" -"Bu seçenekte, çalışan sunucuları saklayan diskler hesaplama düğümleri " -"dışındaki sunucularda sunulur." - -msgid "In-memory key-value Store (a simplified internal storage structure)" -msgstr "" -"Hafızada anahtar-değer saklama (basitleştirilmiş dahili depolama yapısı)" - -msgid "" -"Increasing OpenStack Object Storage means network bandwidth needs to be " -"taken into consideration. Running OpenStack Object Storage with network " -"connections offering 10 GbE or better connectivity is advised." -msgstr "" -"OpenStack Nesne Depolamanın artırılması demek ağ genişliğinin hesaba " -"katılması demektir. OpenStack Nesne Depolamanın 10 GbE veya daha iyi " -"bağlantı sağlayan ağ bağlantılarıyla çalıştırılması önerilir." - -msgid "" -"Increasing the size of the supporting compute environment increases the " -"network traffic and messages, adding load to the controllers and " -"administrative services used to support the OpenStack cloud or networking " -"nodes. When considering hardware for controller nodes, whether using the " -"monolithic controller design, where all of the controller services live on " -"one or more physical hardware nodes, or in any of the newer shared nothing " -"control plane models, adequate resources must be allocated and scaled to " -"meet scale requirements. Effective monitoring of the environment will help " -"with capacity decisions on scaling. Proper planning will help avoid " -"bottlenecks and network oversubscription as the cloud scales." -msgstr "" -"Destekleyen hesaplama ortamının boyutunu artırmak ağ trafiği ve iletileri de " -"artırır, OpenStack bulutunu veya ağ düğümlerini desteklemek için kullanılan " -"kontrol birimlerine ve yönetim servislerine ek yük bindirir. Kontrol " -"düğümlerine donanım eklemeyi düşünürken, tüm kontrol servislerinin bir ya da " -"daha fazla fiziksel donanım düğümlerinde çalıştığı tek parça kontrol " -"tasarımı kullanılıyor olsa da, daha yeni hiçbir şeyin paylaşılmadığı kontrol " -"düzlemi modellerinden birinde olunsa da ölçekleme gereksinimlerini " -"karşılamak için yeterli kaynak ayrılmalı ve ölçeklenmelidir. Ortamın etkin " -"şekilde izlenmesi ölçeklemede kapasite seçimine yardımcı olacaktır. Düzgün " -"planlama bulut ölçeklendikçe ağ abonelik aşımlarını ve darboğazların " -"olmasını engeller." - -msgid "" -"Indicates which resources to use first; for example, spreading out where " -"instances are launched based on an algorithm" -msgstr "" -"İlk önce hangi kaynakların kullanılacağını belirtir, örneğin bir algoritmaya " -"göre sunucuların başlatıldığı yayılım" - -msgid "" -"Indicates which users can do what actions on certain cloud resources; quota " -"management is spread out among services, howeverauthentication" -msgstr "" -"Hangi kullanıcıların hangi eylemleri belirli bulut kaynaklarına göre " -"yapabileceğini gösterir; kota yönetimi servisler arasına dağılmıştır, ancak " -"yetkilendirme" - -msgid "" -"Input-Output performance requirements require researching and modeling " -"before deciding on a final storage framework. Running benchmarks for Input-" -"Output performance provides a baseline for expected performance levels. If " -"these tests include details, then the resulting data can help model behavior " -"and results during different workloads. Running scripted smaller benchmarks " -"during the lifecycle of the architecture helps record the system health at " -"different points in time. The data from these scripted benchmarks assist in " -"future scoping and gaining a deeper understanding of an organization's needs." -msgstr "" -"Girdi-Çıktı başarım gereksinimleri depolama çatısının son haline karar " -"verilmeden araştırılmalı ve modellenmelidir. Girdi-Çıktı başarımı için " -"değerlendirme deneyleri çalıştırmak beklenen başarım seviyeleri için temel " -"bir çizgi sağlar. Bu deneyler ayrıntıları içerirse, sonuçta alınan veri " -"farklı iş yükleri için davranış ve sonuç modellemede yardımcı olabilir. " -"Mimarinin yaşam sürecinde betik halinde daha küçük değerlendirme deneyleri " -"çalıştırmak sistem sağlığını zamanda farklı noktalarda kaydetmede yardımcı " -"olur. Bu betik halindeki değerlendirme deneylerinden gelen veri ilerdeki " -"kapsamın belirlenmesinde ve bir kurumun ihtiyaçlarının daha derinden " -"anlanabilmesinde yardımcı olur." - -msgid "Input-Output requirements" -msgstr "Girdi-Çıktı gereksinimleri" - -msgid "Installs a virtual environment and runs tests." -msgstr "Sanal bir ortam kurar ve denemeler çalıştırır." - -msgid "Instance and image locations" -msgstr "Sunucu ve imaj konumları" - -msgid "Instance density" -msgstr "Sunucu yoğunluğu" - -msgid "Instance storage solutions" -msgstr "Sunucu depolama çözümleri" - -msgid "" -"Insufficient disk capacity could also have a negative effect on overall " -"performance including CPU and memory usage. Depending on the back end " -"architecture of the OpenStack Block Storage layer, capacity includes adding " -"disk shelves to enterprise storage systems or installing additional Block " -"Storage nodes. Upgrading directly attached storage installed in Compute " -"hosts, and adding capacity to the shared storage for additional ephemeral " -"storage to instances, may be necessary." -msgstr "" -"Yetersiz disk kapasitesinin de işlemci ve hafıza kullanımıyla birlikte genel " -"başarımda negatif etkisi vardır. OpenStack Blok Depolama katmanının arka uç " -"mimarisine bağlı olarak, kapasite kurumsal depolama sistemlerine disk " -"eklemeyi veya ek Blok Depolama düğümleri eklemeyi içerir. Hesaplama " -"düğümlerine doğrudan ekli deoplamayı yükseltmek, ve sunuculara ek geçici " -"depolama için paylaşımlı depolamaya kapasite eklemek gerekli olabilir." - -msgid "" -"Integration with OpenStack Identity, and works with the OpenStack Dashboard." -msgstr "" -"OpenStack Kimlik ile tümleşik, ve OpenStack Kontrol Paneli ile birlikte " -"çalışır." - -msgid "" -"Internet Small Computer Systems Interface (iSCSI) is a network protocol that " -"operates on top of the Transport Control Protocol (TCP) for linking data " -"storage devices. It transports data between an iSCSI initiator on a server " -"and iSCSI target on a storage device." -msgstr "" -"İnternet Küçük Bilgisayar Sistemleri Arayüzü (iSCSI) Aktarım Kontrol " -"İletişim Kuralı (TCP) üzerinde çalışan veri depolama aygıtlarını bağlamak " -"için kullanılan bir ağ iletişim kuralıdır. Bir sunucu üzerindeki iSCSI " -"başlatıcı ile depolama aygıtındaki iSCSI hedefi arasında veri aktarır." - -msgid "" -"Is it interoperable with all of the projects you are planning on using in " -"your cloud?" -msgstr "" -"Bulutunuzda kullanmayı düşündüğünüz tüm projelerle birlikte çalışabilir mi?" - -msgid "Is the storage proven with the OpenStack platform?" -msgstr "Depolama OpenStack platformuyla uyumlu mu?" - -msgid "Isolate virtual networks using encapsulation technologies." -msgstr "Kapsülleme teknolojilerini kullanarak sanal ağları yalıtın." - -msgid "Issues with live migration" -msgstr "Canlı göç ile ilgili sorunlar" - -msgid "" -"It can be difficult to troubleshoot a network without IP addresses and ICMP." -msgstr "IP adresleri ve ICMP olmadan bir ağda sorun gidermek zordur." - -msgid "" -"It is also important to consider how costs will increase as your cloud " -"scales. Choices that have a negligible impact in small systems may " -"considerably increase costs in large systems. In these cases, it is " -"important to minimize capital expenditure (CapEx) at all layers of the " -"stack. Operators of massively scalable OpenStack clouds require the use of " -"dependable commodity hardware and freely available open source software " -"components to reduce deployment costs and operational expenses. Initiatives " -"like Open Compute (more information available in the `Open Compute Project " -"`_) provide additional information." -msgstr "" -"Bulutunuz ölçeklendiğinde masrafların da nasıl artacağını göz önünde tutmak " -"önemlidir. Küçük sistemlerde önemsiz etkisi olan seçimler sistem büyüdüğünde " -"masrafları kayda değer ölçüde artırabilir. Bu gibi durumlarda, yığının tüm " -"katmanlarında sermaye masrafını (CapEx) asgariye düşürmek önemlidir. Büyük " -"ölçekte OpenStack bulutlarını işletenlerin güvenilir donanım malları ve " -"özgürce kullanılabilir açık kaynak yazılım bileşenlerini kullanarak kurulum " -"ve işletme masraflarını düşürmeleri gereklidir. Açık Hesaplama gibi (daha " -"fazla bilgi için bknz `Açık Hesaplama Projesi `_) girişimler ek bilgi sağlarlar." - -msgid "" -"It is also possible to run multiple hypervisors in a single deployment using " -"host aggregates or cells. However, an individual compute node can run only a " -"single hypervisor at a time." -msgstr "" -"Tek bir kurulumda sunucu takımları veya hücreler kullanarak birden çok " -"hipervizör çalıştırmak da mümkün. Ancak, bağımsız bir hesaplama düğümü " -"yalnızca tek bir hipervizör çalıştırabilir." - -msgid "" -"It is difficult to predict the amount of load a particular application might " -"incur if the number of users fluctuates, or the application experiences an " -"unexpected increase in use. It is possible to define application " -"requirements in terms of vCPU, RAM, bandwidth, or other resources and plan " -"appropriately. However, other clouds might not use the same meter or even " -"the same oversubscription rates." -msgstr "" -"Belli bir uygulamanın kullanıcı sayısı dalgalandığında veya uygulama " -"kullanımda beklenmedik artış yaşadığında alacağı yükü tahmin etmek zordur. " -"Uygulama gereksinimlerini vCPU, RAM, bant genişliği, veeya diğer kaynaklara " -"göre belirleyip uygun planlama yapmak mümkündür. Ancak, diğer bulutlar aynı " -"ölçümleri hatta aynı abonelik aşım oranlarını kullanmıyor olabilir." - -msgid "" -"It is essentially an object storage system that manages disks and aggregates " -"the space and performance of disks linearly in hyper scale on commodity " -"hardware in a smart way. On top of its object store, Sheepdog provides " -"elastic volume service and http service. Sheepdog does require a specific " -"kernel version and can work nicely with xattr-supported file systems." -msgstr "" -"Özünde diskleri yöneten ve disklerin alanını ve başarımını doğrusal olarak " -"büyük ölçekte ticari donanım üzerinde akıllıca bir yolla takımlayan nesne " -"depolama sistemidir. Nesne depolamasının üstüne, Sheepdog esnek birim " -"servisi ve http servisi sağlar. Sheepdog belirli bir çekirdek sürümüne " -"ihtiyaç duyar ve xattr-destekli dosya sistemlerinde güzelce çalışabilir." - -msgid "" -"It is important to analyze the applications tolerance for latency and jitter " -"when designing an environment to support network focused applications. " -"Certain applications, for example VoIP, are less tolerant of latency and " -"jitter. When latency and jitter are issues, certain applications may require " -"tuning of QoS parameters and network device queues to ensure that they " -"immediately queue for transmitting or guarantee minimum bandwidth. Since " -"OpenStack currently does not support these functions, consider carefully " -"your selected network plug-in." -msgstr "" -"Ağ odaklı uygulamaları destekleyen bir ortam tasarlarken uygulamanın gecikme " -"ve titremeye karşı dayanıklılığını çözümlemek önemlidir. Bazı uygulamalar, " -"örneğin VoIP gecikmeye pek gelmez. Gecikme ve titreme sorun olduğunda, bazı " -"uygulamalar QoS parametreleri ve ağ aygıt kuyruklarıyla ayarlanarak iletim " -"kuyruğuna anında alınmaları ya da asgari bant genişliği atamalarının " -"yapılması sağlanabilir. OpenStack şu an bu özellikleri desteklemediğinden, " -"seçtiğiniz ağ eklentisini dikkatle ele alın." - -msgid "" -"It is important to consider the functionality, security, scalability, " -"availability, and testability of the network when choosing a CMP and cloud " -"provider." -msgstr "" -"Bir CMP ve bulut sağlayıcısı seçerken ağın işlevsellik, güvenlik, " -"ölçeklenebilirlik, kullanılabilirlik, ve denenebilirliğini göz önüne almak " -"önemlidir." - -msgid "" -"It is important to determine as part of the SLA negotiation which party is " -"responsible for monitoring and starting up the Compute service instances if " -"an outage occurs." -msgstr "" -"Bir kesinti durumunda hangi tarafın Hesaplama servisi sunucularını " -"başlatmaktan ve takip etmekten sorumlu olduğunu SLA el sıkışmalarında " -"tanımlamak önemlidir." - -msgid "" -"It is important to know that layer-2 has a very limited set of network " -"management tools. It is difficult to control traffic as it does not have " -"mechanisms to manage the network or shape the traffic. Network " -"troubleshooting is also troublesome, in part because network devices have no " -"IP addresses. As a result, there is no reasonable way to check network delay." -msgstr "" -"Katman-2'nin çok kısıtlı ağ yönetim araçları olduğunu bilmek önemlidir. Ağı " -"yönetmek ve trafiği şekillendirmek için mekanizmaları olmadığından trafiği " -"kontrol etmek zordur. Kısmen ağ aygıtlarının IP adresi olmadığından, ağda " -"sorun giderme de sorunludur. Sonuç olarak, ağ gecikmesini kontrol edecek " -"makul bir yol yoktur." - -msgid "" -"It is important to understand what happens to the replication of objects and " -"data between the sites when a site goes down. If this causes queues to start " -"building up, consider how long these queues can safely exist until an error " -"occurs." -msgstr "" -"Bir konum çalışmaz hale geldiğinde nesnelerin kopyalarına ve konumlar " -"arasındaki veriye ne olduğunu anlamak önemlidir. Eğer bu kuyrukların " -"oluşmasına sebep oluyorsa, bu kuyrukların bir hata oluşmadan ne kadar uzun " -"var olabileceklerini düşünün." - -msgid "" -"It is possible to gain more performance out of a single storage system by " -"using specialized network technologies such as RDMA, SRP, iSER and SCST. The " -"specifics of using these technologies is beyond the scope of this book." -msgstr "" -"RDMA, SRP, iSER ve SCST gibi özelleştirilmiş ağ teknolojilerini kullanarak " -"tek bir depolama sisteminden daha çok başarım almak mümkündür. Bu " -"teknolojilerin kullanımı bu kitabın kapsamı dışında kalıyor." - -msgid "" -"It is recommended to have a single authentication domain rather than a " -"separate implementation for each and every site. This requires an " -"authentication mechanism that is highly available and distributed to ensure " -"continuous operation. Authentication server locality might be required and " -"should be planned for." -msgstr "" -"Her konum için ayrı bir uygulama yerine tek bir yetkilendirme alanının " -"olması tavsiye edilir. Bu yüksek kullanılırlıklı ve dağıtık bir " -"yetkilendirme mekanizması demektir. Yetkilendirme sunucusunun konumu " -"planlanmalıdır." - -msgid "" -"It may be necessary to implement a third party caching layer for some " -"applications to achieve suitable performance." -msgstr "" -"Uygun başarımı yakalamak için bazı uygulamalar için üçüncü taraf bir ön " -"bellekleme katmanı uygulamak gerekebilir." - -msgid "It may be possible to share the external storage for other purposes." -msgstr "Harici depolamayı diğer amaçlar için paylaşmak mümkün olabilir." - -msgid "" -"It's also possible to use virtual machines for all or some of the services " -"that the cloud controller manages, such as the message queuing. In this " -"guide, we assume that all services are running directly on the cloud " -"controller." -msgstr "" -"Bulut kontrol biriminin yönettiği ileti kuyruğu gibi bazı servisler ya da " -"tüm servisler için sanal makineler kullanmak da mümkündür. Bu kılavuzda, tüm " -"servislerin bulut kontrol biriminde çalıştığını varsayacağız." - -msgid "Justification" -msgstr "Gerekçe" - -msgid "LBaaS" -msgstr "LBaaS" - -msgid "LDAP (such as OpenLDAP or Microsoft's Active Directory)" -msgstr "LDAP (OpenLDAP veya Microsoft Active Directory gibi)" - -msgid "LVM" -msgstr "LVM" - -msgid "" -"LVM does *not* provide any replication. Typically, administrators configure " -"RAID on nodes that use LVM as block storage to protect against failures of " -"individual hard drives. However, RAID does not protect against a failure of " -"the entire host." -msgstr "" -"LVM herhangi bir yedeklilik *sunmaz*. Genellikle yöneticiler LVM'i blok " -"depolama olarak kullanan düğümler üzerinde RAID yapılandırarak hard " -"disklerin arızalanması durumuna karşı koruma sağlarlar. Ancak RAID tüm bir " -"sunucunun arızalanması durumunda koruma sağlayamaz." - -msgid "" -"Larger rack-mounted servers, such as 4U servers, often provide even greater " -"CPU capacity, commonly supporting four or even eight CPU sockets. These " -"servers have greater expandability, but such servers have much lower server " -"density and are often more expensive." -msgstr "" -"4U sunucular gibi daha geniş kabine-bağlı sunucular genellikle daha büyük, " -"dört ya da sekiz işlemci soketine sahip işlemci kapasitesi sağlarlar. Bu " -"sunucuların genişleyebilirliği büyük olsa da, sunucu yoğunlukları düşüktür " -"ve genellikle daha pahalıdırlar." - -msgid "Latency" -msgstr "Gecikme" - -msgid "Layer networking choices" -msgstr "Katman ağ seçimleri" - -msgid "" -"Layer-2 Ethernet usage has additional benefits over layer-3 IP network usage:" -msgstr "" -"Katman-2 Ethernet kullanımının katman-3 IP ağı kullanımına göre ek faydaları " -"bulunur:" - -msgid "Layer-2 architecture limitations" -msgstr "Katman-2 mimari kısıtlamaları" - -msgid "" -"Layer-2 network architectures have some limitations that become noticeable " -"when used outside of traditional data centers." -msgstr "" -"Katman-2 ağ mimarileri geleneksel veri merkezlerinin dışına çıkıldığında " -"fark edilebilen bazı kısıtlamalara sahiptirler." - -msgid "Layer-3 architecture limitations" -msgstr "Katman-3 mimari kısıtlamaları" - -msgid "" -"Layer-3 architectures enable the use of :term:`quality of service (QoS)` to " -"manage network performance." -msgstr "" -"Katman-3 mimariler ağ başarımını yönetmek için :term:`servis kalitesi (QoS)` " -"kullanımını etkinleştirirler." - -msgid "" -"Layer-3 networks provide the same level of resiliency and scalability as the " -"Internet." -msgstr "" -"Katman-3 ağları İnternet'le aynı seviyede esneklik ve ölçeklenebilirlik " -"sağlar." - -msgid "" -"Leveraging Orchestration and Telemetry services is also a potential issue " -"when providing auto-scaling, orchestrated web application environments. " -"Defining the web applications in a :term:`Heat Orchestration Template (HOT)` " -"negates the reliance on the current scripted Puppet solution." -msgstr "" -"Otomatik ölçeklenen, düzenlenen web uygulama ortamları sağlanırken " -"Orkestrasyon ve Telemetri servislerini yükseltmek de potansiyel bir " -"sorundur. Web uygulamalarını bir term:`Heat Orkestrasyon Şablonun (HOT)` " -"içinde tanımlamak mevcut betiklenmiş Puppet çözümünü boşa çıkarır." - -msgid "" -"Likely to be fully symmetric. Because replication originates from any node " -"and might target multiple other nodes algorithmically, it is less likely for " -"this traffic to have a larger volume in any specific direction. However, " -"this traffic might interfere with north-south traffic." -msgstr "" -"Tamamen simetrik olacaktır. Çoğaltma herhangi bir düğümden olacağından ve " -"algoritmik olarak diğer düğümleri hedefleyeceğinden, bu trafiğin herhangi " -"özel bir yöne daha fazla hacmi olması beklenmez. Ancak bu trafik kuzey-güney " -"trafiğe karışabilir." - -msgid "Limitations applied by Administrator" -msgstr "Yönetici tarafından uygulanan sınırlamalar" - -msgid "Linux and virtualization experience." -msgstr "Linux ve sanallaştırma deneyimi." - -msgid "Live migration and block migration still have some issues:" -msgstr "Canlı göç ve blok göçün yine de bazı sorunları bulunur:" - -msgid "" -"Live migration can also be done with non-shared storage, using a feature " -"known as *KVM live block migration*. While an earlier implementation of " -"block-based migration in KVM and QEMU was considered unreliable, there is a " -"newer, more reliable implementation of block-based live migration as of the " -"Mitaka release." -msgstr "" -"Canlı göç paylaşımsız depolamayla da yapılabilir, bu *KVM canlı blok göçü* " -"olarak bilinen bir özelliktir. KVM ve QEMU'da blok tabanlı göçün öcneki " -"uygulamaları güvenilir değilse de, Mitaka dağıtımıyla birlikte daha " -"güvenilir ve yeni bir blok tabanlı canlı göç uygulaması gelmiştir." - -msgid "" -"Live migration is an integral part of the operations of the cloud. This " -"feature provides the ability to seamlessly move instances from one physical " -"host to another, a necessity for performing upgrades that require reboots of " -"the compute hosts, but only works well with shared storage." -msgstr "" -"Canlı göç bulut işlevlerinin ayrılmaz parçasıdır. Bu özellik sunucuların bir " -"fiziksel sunucudan diğerine kolaylıkla taşınmasını sağlar, bu da hesaplama " -"düğümünün yeniden başlatılmasının gerektiği güncellemelerde bir " -"gereksinimdir, ama yalnızca paylaşımlı depolamada iyi çalışır." - -msgid "Live migration of rescued images." -msgstr "Kurtarılan imajların canlı göçü." - -msgid "Live migration resource tracking issues." -msgstr "Canlı göç kaynak izleme sorunları." - -msgid "Load balancing" -msgstr "Yük dengeleme" - -msgid "" -"Load balancing spreads requests across multiple instances. This workload " -"scales well horizontally across large numbers of instances. This enables " -"instances to run without publicly routed IP addresses and instead to rely on " -"the load balancer to provide a globally reachable service. Many of these " -"services do not require direct server return. This aids in address planning " -"and utilization at scale since only the virtual IP (VIP) must be public." -msgstr "" -"Yük dengeleme istekleri birden çok sunucu arasına dağıtır. Bu iş yükü yatay " -"olarak çok sayıda sunucu ile iyi ölçeklenir. Bu sunucuların açıkça " -"yönlendirilmiş IP adresleri olmadan çalışmasını sağlar ve açıkça " -"erişilebilir servis sunma işini yük dengeleyiciye bırakır. Bu servislerden " -"bir çoğu doğrudan sunucu geridönüşü gerektirmez. Bu da büyük ölçekte adres " -"planlama ve kullanımına yardımcı olur zira yalnızca sanal IP (VIP) dışardan " -"erişilebilir olmalıdır." - -msgid "Location" -msgstr "Konum" - -msgid "" -"Log analysis often requires disparate logs of differing formats. Elastic " -"Stack (namely Logstash) was created to take many different log inputs and " -"transform them into a consistent format that Elasticsearch can catalog and " -"analyze. As seen in the image above, the process of ingestion starts on the " -"servers by Logstash, is forwarded to the Elasticsearch server for storage " -"and searching, and then displayed through Kibana for visual analysis and " -"interaction." -msgstr "" -"Günlük kaydı analizi çoğunlukla farklı biçimlerde apayrı kayıtlarla yapılır. " -"Elastic Stack (yani Logstash) olabildiğince farklı kayıt girdisini alıp " -"Elasticsearch sunucusunun sınıflandırıp analiz edebileceği tutarlı bir " -"biçime dönüştürmek için oluşturulmuştur. Aşağıdaki imajda görülebildiği " -"gibi, sunuculardaki içeri alım süreci Logstash ile başlar, depolama ve arama " -"için Elasticsearch sunucusuna gönderilir, ve görsel analiz ve etkileşim için " -"Kibana aracılığıyla görüntülenir." - -msgid "Logging and monitoring" -msgstr "Günlük kayıtları ve izleme" - -msgid "" -"Logging and monitoring does not significantly differ for a multi-site " -"OpenStack cloud. The tools described in the `Logging and monitoring `__ in the " -"Operations Guide remain applicable. Logging and monitoring can be provided " -"on a per-site basis, and in a common centralized location." -msgstr "" -"Günlük kayıtları ve izleme birden çok konumdaki OpenStack bulutlarında fazla " -"değişiklik göstermez. İşlemler kılavuzundaki `Günlük kaydı ve izleme " -"`__ " -"araçları uygulanabilir kalırlar. Günlük kayıtları ve izleme konum başına " -"dağıtılabilir ya da merkezi bir konumda tutulabilir." - -msgid "" -"Logging is described in more detail in the `Operations Guide `_. However, it is an " -"important design consideration to take into account before commencing " -"operations of your cloud." -msgstr "" -"Günlük kayıtları `İşlem Kılavuzunda `_ daha ayrıntılı tanımlanmıştır. Ancak " -"bulutunuzu işletmeye başlamadan önce ele almanız gereken önemli tasarım " -"etmenidir." - -msgid "" -"Logs from the web application servers are shipped to OpenStack Object " -"Storage for processing and archiving." -msgstr "" -"Web uygulama sunucularından gelen günlük kayıtları OpenStack Nesne " -"Depolamaya işleme ve arşivleme için gönderilir." - -msgid "Loss of compute nodes decreases storage availability for all hosts." -msgstr "" -"Hesaplama düğümlerinin kaybı tüm sunucular için kullanılabilir depolamanın " -"azalmasına neden olur." - -msgid "" -"Loss of the database leads to errors. As a result, we recommend that you " -"cluster your database to make it failure tolerant. Configuring and " -"maintaining a database cluster is done outside OpenStack and is determined " -"by the database software you choose to use in your cloud environment. MySQL/" -"Galera is a popular option for MySQL-based databases." -msgstr "" -"Veritabanı kaydı hatalara yol açar. Sonuç olarak hataya dayanıklı olması " -"için veritabanınızı kümelemenizi öneririz. Veritabanı kümesi yapılandırmak " -"ve yönetmek OpenStack kapsamı dışında kalır ve bulut ortamınız için " -"seçtiğiniz veritabanı yazılımına bağlıdır. MySQL tabanlı veritabanları için " -"MySQL/Galera popüler bir seçenektir." - -msgid "Lustre" -msgstr "Lustre" - -msgid "" -"MLAG, often used for switch redundancy, is a proprietary solution that does " -"not scale beyond two devices and forces vendor lock-in." -msgstr "" -"Çoğunlukla anahtar yedekliliğinde kullanılan MLAG, iki aygıttan fazlasına " -"ölçeklenemeyen ve üreticiye bağımlılığa zorlayan bir çözümdür." - -msgid "Maintenance considerations" -msgstr "Bakım etmenleri" - -msgid "Maintenance tasks" -msgstr "Bakım görevleri" - -msgid "Managed by…" -msgstr "Yöneten..." - -msgid "Management" -msgstr "Yönetim" - -msgid "Management software" -msgstr "Yönetim yazılımı" - -msgid "" -"Management software providing clustering, logging, monitoring, and alerting " -"details for a cloud environment is often used. This impacts and affects the " -"overall OpenStack cloud design, and must account for the additional resource " -"consumption such as CPU, RAM, storage, and network bandwidth." -msgstr "" -"Kümeleme, günlük kaydı, izleme, ve uyarı ayrıntıları sağlayan yönetim " -"yazılımı bulut ortamında sıklıkla kullanılır. Bu genel OpenStack bulut " -"tasarımını etkiler, ve CPU, RAM, depolama ve ağ bant genişliği gibi ek " -"kaynakların tüketimi hesaba katılmalıdır." - -msgid "" -"Many deployments use the SQL database; however, LDAP is also a popular " -"choice for those with existing authentication infrastructure that needs to " -"be integrated." -msgstr "" -"Çoğu kurulum SQL veritabanı kullanır; ancak, tümleştirilecek mevcut kimlik " -"doğrulama alt yapısı olanlar arasında LDAP popüler seçimdir." - -msgid "" -"Many operators use separate compute and storage hosts instead of a " -"hyperconverged solution. Compute services and storage services have " -"different requirements, and compute hosts typically require more CPU and RAM " -"than storage hosts. Therefore, for a fixed budget, it makes sense to have " -"different configurations for your compute nodes and your storage nodes. " -"Compute nodes will be invested in CPU and RAM, and storage nodes will be " -"invested in block storage." -msgstr "" -"Çoğu işletici bir noktada birleşmiş çözüm yerine ayrı hesaplama ve depolama " -"sunucuları kullanır. Hesaplama servisleri ve depolama servislerinin farklı " -"gereksinimleri vardır, ve hesaplama sunucularının depolama sunucularına göre " -"daha fazla CPU ve RAM ihtiyacı vardır. Yani sabit bir bütçe için hesaplama " -"ve depolama düğümlerinin farklı yapılandırmaya sahip olması mantıklıdır. " -"Hesaplama düğümleri için CPU ve RAM'e, depolama düğümleri için blok " -"depolamaya yatırım yapılır." - -msgid "" -"MariaDB server instances store their data on shared enterprise storage, such " -"as NetApp or Solidfire devices. If a MariaDB instance fails, storage would " -"be expected to be re-attached to another instance and rejoined to the Galera " -"cluster." -msgstr "" -"MariaDB sunucuları verilerini paylaşımlı kurumsal depolamada tutuyor, " -"örneğin NetApp veya Solidfire aygıtlarında. Bir MariaDB sunucusu " -"arızalanırsa, depolamanın başka bir sunucuya eklenmesi ve Galera kümesine " -"yeniden katılması beklenir." - -msgid "" -"Massively scalable OpenStack clouds require extensive metering and " -"monitoring functionality to maximize the operational efficiency by keeping " -"the operator informed about the status and state of the infrastructure. This " -"includes full scale metering of the hardware and software status. A " -"corresponding framework of logging and alerting is also required to store " -"and enable operations to act on the meters provided by the metering and " -"monitoring solutions. The cloud operator also needs a solution that uses the " -"data provided by the metering and monitoring solution to provide capacity " -"planning and capacity trending analysis." -msgstr "" -"Büyük ölçekteki OpenStack bulutları işletmeni alt yapının durumuyla ilgili " -"bilgilendirerek işlem verimliliğini en üst seviyeye çıkarmak için kapsamlı " -"ölçme ve izleme işlevleri gerektirir. Bu donanım ve yazılım durumuyla ilgili " -"tüm aralıklarda ölçüm içerir. Ölçme ve izleme çözümlerinin sağladığı " -"ölçümleri kaydetmek ve bunlar üzerine hareket etmek için ilgili günlük ve " -"uyarı çatılar da gereklidir. Bulut işletmeni ölçme ve izleme çözümünün " -"sağladığı veriyi kullanarak kapasite planlama ve kapasite trend analizi " -"yapan bir çözüme de ihtiyaç duyar." - -msgid "Massively scale the ecosystem to support millions of end users." -msgstr "" -"Milyonlarca son kullanıcıyı destekleyecek şekilde ekosistemi büyük " -"ölçekleyin." - -msgid "Maximize flexibility to architect future production environments." -msgstr "" -"İlerdeki üretim ortamlarını imar edebilmek için esnekliği azami seviyeye " -"çıkarın." - -msgid "" -"Maximum Read IOPS: In order to accurately calculate maximum read IOPS for a " -"disk array, multiply the IOPS for each disk by the maximum read or write " -"IOPS per disk. maxReadIOPS = nDisks * diskMaxIOPS For example, 15 10K " -"Spinning Disks would be measured the following way: maxReadIOPS = 15 * 130 " -"maxReadIOPS = 1950" -msgstr "" -"Azami Okuma IOPS'u: Bir disk dizisi için azami okuma IOPS'unu doğru " -"hesaplamak için, her bir disk için IOPS'u disk başına azami okuma veya yazma " -"IOPS'uyla çarpın. maxReadIOPS = nDisks * diskMaxIOPS Örneğin, 15 10K Hızında " -"Disk şöyle ölçülürdü: maxReadIOPS = 15 * 130 maxReadIOPS = 1950" - -msgid "Maximum write IOPS per array:" -msgstr "Dizi başına azami yazma IOPS'u:" - -msgid "Memcached (a distributed memory object caching system)" -msgstr "Memcached (dağıtık hafıza nesne ön bellekleme sistemi)" - -msgid "Message Queue" -msgstr "İleti Kuyruğu" - -msgid "Message queue services" -msgstr "İleti kuyruğu servisleri" - -msgid "" -"Migrating MACs (instance migration) to different physical locations are a " -"potential problem if you do not set ARP table timeouts properly." -msgstr "" -"ARP tablosu zaman aşımlarını düzgün ayarlamadıysanız MAC'lerin (sunucu göçü) " -"farklı fiziksel konumlara göçü sorun teşkil eder." - -msgid "Migration scenarios" -msgstr "Göç senaryoları" - -msgid "Migration, availability, site loss and recovery" -msgstr "Göç, kullanılırlık, konum kaybı ve kurtarma" - -msgid "" -"Migrations of instances from one node to another are more complicated and " -"rely on features that may not continue to be developed." -msgstr "" -"Sunucuların bir düğümden diğerine göçü daha karmaşıktır ve devam " -"ettirilmeyen ya da geliştirilmeyen özelliklere bağlı olabilir." - -msgid "MongoDB has its own design considerations for high availability." -msgstr "" -"MongoDB'nin yüksek kullanılırlık için kendi tasarım kısıtlamaları vardır." - -msgid "MooseFS" -msgstr "MooseFS" - -msgid "" -"More hosts are required to support the anticipated scale if the design " -"architecture uses dual-socket hardware designs." -msgstr "" -"Tasarım mimarisi çift-soket donanım tasarımlarını kullanırsa beklenen ölçeği " -"desteklemek için daha fazla sunucu gerekir." - -msgid "" -"Most OpenStack components require access to back-end database services to " -"store state and configuration information. Choose an appropriate back-end " -"database which satisfies the availability and fault tolerance requirements " -"of the OpenStack services." -msgstr "" -"Çoğu OpenStack bileşenleri durum ve yapılandırma bilgisini kaydetmek için " -"arka uç veritabanı servislerine erişim gerektirir. OpenStack servislerinin " -"kullanılırlık ve arıza payı gereksinimlerini tatmin eden bir arka uç " -"veritabanı seçin." - -msgid "" -"Most OpenStack services communicate with each other using the *message " -"queue*. For example, Compute communicates to block storage services and " -"networking services through the message queue. Also, you can optionally " -"enable notifications for any service. RabbitMQ, Qpid, and Zeromq are all " -"popular choices for a message-queue service. In general, if the message " -"queue fails or becomes inaccessible, the cluster grinds to a halt and ends " -"up in a read-only state, with information stuck at the point where the last " -"message was sent. Accordingly, we recommend that you cluster the message " -"queue. Be aware that clustered message queues can be a pain point for many " -"OpenStack deployments. While RabbitMQ has native clustering support, there " -"have been reports of issues when running it at a large scale. While other " -"queuing solutions are available, such as Zeromq and Qpid, Zeromq does not " -"offer stateful queues. Qpid is the messaging system of choice for Red Hat " -"and its derivatives. Qpid does not have native clustering capabilities and " -"requires a supplemental service, such as Pacemaker or Corsync. For your " -"message queue, you need to determine what level of data loss you are " -"comfortable with and whether to use an OpenStack project's ability to retry " -"multiple MQ hosts in the event of a failure, such as using Compute's ability " -"to do so." -msgstr "" -"Çoğu OpenStack servisi birbirleriyle *ileti kuyruğu* ile haberleşir. Örneğin " -"Hesaplama blok depolama servisleriyle ve ağ servisleriyle ileti kuyruğu " -"aracılığıyla haberleşir. Ayrıca isteğe bağlı olarak herhangi bir servis için " -"ileti kuyruğunu etkinleştirebilirsiniz. RabbitMQ, Qpid ve Zeromq ileti-" -"kuyruğu servisleri arasında popüler seçimlerdir. Genelde ileti kuyruğu arıza " -"çıkarırsa ya da erişilemez olursa küme durma noktasına gelir ve salt okunur " -"durumda kalır, bilgi son iletinin gönderildiği noktada kalır. Bu duruma " -"uygun olarak ileti kuyruğunuzu kümelemenizi öneriyoruz. Kümelenen ileti " -"kuyruklarının da OpenStack kurulumlarında sorunlar yaşatabildiğini " -"unutmayın. RabbitMQ doğal kümeleme desteğine sahip olsa da, büyük ölçekte " -"çalıştırıldığında çıkan sorunlarla ilgili raporlar var. Zeromq ve Qpid gibi " -"başka kuyruklama çözümleri olsa da, Zeromy durumsal kuyruk sağlamıyor. Qpid " -"Red Hat ve türevlerinde kullanılan ileti sistemi seçimi. Qpid de doğal " -"kümeleme yeteneğine sahip değil ve Pacemaker veya Corosync gibi destekleyen " -"bir servise ihtiyaç duyuyor. İleti kuyruğunuz için ne kadar veri kaybının " -"sorun olmayacağına ve OpenStack projesinin arıza durumunda birden çok ileti " -"kuyruğu sunucusuna tekrar deneme yapabilme yeteneğini, örneğin Hesaplamanın " -"yeteneğini kullanmak isteyip istemeyeceğinize karar vermeniz gerekiyor." - -msgid "" -"Most blade servers can support dual-socket multi-core CPUs. To avoid this " -"CPU limit, select ``full width`` or ``full height`` blades. Be aware, " -"however, that this also decreases server density. For example, high density " -"blade servers such as HP BladeSystem or Dell PowerEdge M1000e support up to " -"16 servers in only ten rack units. Using half-height blades is twice as " -"dense as using full-height blades, which results in only eight servers per " -"ten rack units." -msgstr "" -"Çoğu blade sunucu çift soket çoklu çekirdek işlemcileri destekler. Bu " -"işlemci sınırlamasından kaçınmak için ``tam geniş`` ya da ``tam yüksek`` " -"blade'leri seçin. Bunun sunucu yoğunluğunu azalttığını da unutmayın. Örneğin " -"HP BladeSystem veya Dell PowerEdge M1000e gibi yüksek yoğunluklu blade " -"sunuclar yalnızca on kabin birimi içinde 16 sunucu desteklerler. Yarım " -"yükseklikte blade'ler kullanmak tam yüksek blade'lerin iki katı yoğunluk " -"demektir, bu da on kabin birimine yalnızca sekiz sunucunun sığması demektir." - -msgid "" -"Most block storage drivers allow the instance to have direct access to the " -"underlying storage hardware's block device. This helps increase the overall " -"read/write IO. However, support for utilizing files as volumes is also well " -"established, with full support for NFS, GlusterFS and others." -msgstr "" -"Çoğu blok depolama sürücüsü sunucunun altta yatan depolama donanımının blok " -"aygıtına doğrudan erişime izin verir. Bu genel okuma/yazma IO'sunun " -"artmasına fayda sağlar. Ancak dosyaların birim gibi kullanılmasının desteği " -"de, NFS, GlusterFS ve diğerlerine tam destekle verilir." - -msgid "" -"Most information starts and ends inside Ethernet frames. Today this applies " -"to data, voice, and video. The concept is that the network will benefit more " -"from the advantages of Ethernet if the transfer of information from a source " -"to a destination is in the form of Ethernet frames." -msgstr "" -"Çoğu bilgi Ethernet çerçevelerinin içinde başlar ve biter. Bugün bu veri, " -"ses ve video için de geçerlidir. Kavram ağın Ethernet avantajlarından " -"kaynaktan hedefe bilgi aktarımı Ethernet çerçeveleri biçimindeyse daha iyi " -"yararlanabileceği üzerine kuruludur." - -msgid "Multiple data centers" -msgstr "Birden çok veri merkezi" - -msgid "" -"Multiple network links should be deployed between sites to provide " -"redundancy for all components. This includes storage replication, which " -"should be isolated to a dedicated network or VLAN with the ability to assign " -"QoS to control the replication traffic or provide priority for this traffic." -msgstr "" -"Tüm bileşenler için yedeklilik sağlamak için konumlar arasında birden çok ağ " -"bağlantısı kurulmalıdır. Bu depolama çoğaltmayı da kapsar, ki bu çoğaltma " -"trafiğini kontrol edecek QoS atanmış bir VLAN veya adanmış bir ağ ile " -"yalıtılmış olmalıdır." - -msgid "Multiple racks" -msgstr "Birden çok kabin" - -msgid "" -"MySQL is the default database for OpenStack, but other compatible databases " -"are available." -msgstr "" -"MySQL OpenStack için öntanımlı veritabanıdır, ama uyumlu diğer veritabanları " -"da kullanılabilir." - -msgid "NFS" -msgstr "NFS" - -msgid "NFS (default for Linux)" -msgstr "NFS (Linux için öntanımlı)" - -msgid "NTP" -msgstr "NTP" - -msgid "Network" -msgstr "Ağ" - -msgid "Network Considerations" -msgstr "Ağ Etmenleri" - -msgid "" -"Network File System (NFS) is a file system protocol that allows a user or " -"administrator to mount a file system on a server. File clients can access " -"mounted file systems through Remote Procedure Calls (RPC)." -msgstr "" -"Ağ Dosya Sistemi (NFS) bir kullanıcı veya yöneticinin bir sunucu üzerine " -"dosya sistemi bağlamasını sağlayan sistem iletişim kuralıdır. Dosya " -"istemcileri bağlı dosya sistemlerine Uzak Yordam Çağrıları (RPC) " -"aracılığıyla erişebilirler." - -msgid "Network connectivity" -msgstr "Ağ bağlantısı" - -msgid "Network design" -msgstr "Ağ tasarımı" - -msgid "Network functions" -msgstr "Ağ işlevleri" - -msgid "" -"Network functions is a broad category but encompasses workloads that support " -"the rest of a system's network. These workloads tend to consist of large " -"amounts of small packets that are very short lived, such as DNS queries or " -"SNMP traps. These messages need to arrive quickly and do not deal with " -"packet loss as there can be a very large volume of them. There are a few " -"extra considerations to take into account for this type of workload and this " -"can change a configuration all the way to the hypervisor level. For an " -"application that generates 10 TCP sessions per user with an average " -"bandwidth of 512 kilobytes per second per flow and expected user count of " -"ten thousand concurrent users, the expected bandwidth plan is approximately " -"4.88 gigabits per second." -msgstr "" -"Ağ işlevleri geniş bir kategori ama bir sistemin ağının geri kalanını " -"destekleyen iş yüklerini kapsar. Bu iş yükleri çok sayıda kısa ömürlü küçük " -"paketten oluşma eğilimindedir, örneğin DNS sorguları ya da SNMP tuzakları " -"gibi. Bu iletiler çabukça gelmelidir ve paket kaybıyla ilgilenmezler çünkü " -"çok sayıdadırlar. Bu tür iş yükü için hesaba katılması gereken bir kaç ek " -"etmen de bulunur ve bu yapılandırmayı hipervizör seviyesine kadar " -"değiştirebilir. Kullanıcı başına 10 TCP oturumu üreten, saniyede 512 " -"kilobayt ortalama bant genişliği olan, aynı anda on bin beklenen kullanıcısı " -"olan bir uygulama için beklenen bant genişliği planı saniyede 4.88 " -"gigabittir." - -msgid "Network hardware" -msgstr "Ağ donanımı" - -msgid "Network hardware requirements" -msgstr "Ağ donanım gereksinimleri" - -msgid "" -"Network level tuning for this workload is minimal. :term:`Quality of Service " -"(QoS)` applies to these workloads for a middle ground Class Selector " -"depending on existing policies. It is higher than a best effort queue but " -"lower than an Expedited Forwarding or Assured Forwarding queue. Since this " -"type of application generates larger packets with longer-lived connections, " -"you can optimize bandwidth utilization for long duration TCP. Normal " -"bandwidth planning applies here with regards to benchmarking a session's " -"usage multiplied by the expected number of concurrent sessions with overhead." -msgstr "" -"Bu iş yükü için Ağ seviyesi ayarlama asgaridir. :term:`Servis Kalitesi " -"(QoS)` bu iş yüklerine bir orta nokta Sınıf Seçici için mevcut ilkelere göre " -"uygulanır. En iyi çaba kuyruğundan daha yüksektir ama Hızlandırılmış " -"Yönlendirme veya Garantili Yönlendirme kuyruğundan düşüktür. Bu tür bir " -"uygulama uzun zaman alan bağlantıları olan büyük paketler ürettiğinden, bant " -"genişliğini uzun süreli TCP ile kullanabilirsiniz. Normal bant genişliği " -"planlama bir oturumun kullanımını değerlendirme deneyi yaparak beklenen aynı " -"andaki oturum sayısını abonelik aşımını ekleyip çarparak kullanılabilir." - -msgid "Network misconfigurations" -msgstr "Ağ bozuk yapılandırmaları" - -msgid "Network redundancy protocols" -msgstr "Ağ yedeklilik iletişim kuralları" - -msgid "Network software requirements" -msgstr "Ağ yazılım gereksinimleri" - -msgid "Network tuning" -msgstr "Ağ ayarlama" - -msgid "" -"Network uptime guarantees affecting switch design, which might require " -"redundant switching and power." -msgstr "" -"Ağ çalışma zamanı anahtar tasarımını etkiler, bu da yedekli anahtarlama ve " -"güç anlamına gelir." - -msgid "Network virtual function cloud" -msgstr "Ağ sanal işlev bulutu" - -msgid "Network zones" -msgstr "Ağ bölgeleri" - -msgid "Network-focused cloud examples" -msgstr "Ağ vurgulu bulut örnekleri" - -msgid "Network:" -msgstr "Ağ:" - -msgid "Networking" -msgstr "Ağ" - -msgid "" -"Networking at large scales becomes a set of boundary questions. The " -"determination of how large a layer-2 domain must be is based on the number " -"of nodes within the domain and the amount of broadcast traffic that passes " -"between instances. Breaking layer-2 boundaries may require the " -"implementation of overlay networks and tunnels. This decision is a balancing " -"act between the need for a smaller overhead or a need for a smaller domain." -msgstr "" -"Büyük ölçekte ağ düşünüldüğünde bu sınırsal sorulara dönüşür. Bir katman-2 " -"alanın ne kadar geniş olacağını tanımlamak alandaki düğüm sayısı ve " -"sunucular arasında geçen yayım trafiğinin miktarına bağlıdır. Katman-2 " -"sınırların aşılması üst katman ağların veya tünellerin uygulanmasını " -"gerektirebilir. Seçim daha küçük yük veya daha küçük alan arasında dengeleme " -"hareketidir." - -msgid "" -"Networking at the frame level says nothing about the presence or absence of " -"IP addresses at the packet level. Almost all ports, links, and devices on a " -"network of LAN switches still have IP addresses, as do all the source and " -"destination hosts. There are many reasons for the continued need for IP " -"addressing. The largest one is the need to manage the network. A device or " -"link without an IP address is usually invisible to most management " -"applications. Utilities including remote access for diagnostics, file " -"transfer of configurations and software, and similar applications cannot run " -"without IP addresses as well as MAC addresses." -msgstr "" -"Çerçeve seviyesinde bir ağ paket seviyesinde IP adreslerinin varlığı " -"hakkında hiçbir şey söylemez. LAN anahtarlarından oluşan bir ağdaki " -"neredeyse tüm bağlantı noktaları, bağlantılar, ve aygıtlar ve tüm kaynak ve " -"hedef sunucular da IP adreslerine sahiptir. IP adreslemeye olan sürekli " -"ihtiyaç için bir çok sebep bulunur. En büyüğü ağın yönetimidir. IP adresi " -"olmayan bir bağlantı veya aygıt genellikle çoğu yönetim uygulaması için " -"görünmezdir. Sorun giderme için uzaktan erişim araçları, yapılandırma ve " -"yazılımların dosya transferi, ve benzer uygulamalar IP adresleri ve MAC " -"adresleri olmadan çalışamazlar." - -msgid "Networking concepts" -msgstr "Ağ kavramları" - -msgid "Networking resources" -msgstr "Ağ kaynakları" - -msgid "Networking security policy requirements." -msgstr "Ağ güvenlik ilkesi gereksinimleri." - -msgid "Networking service (neutron)" -msgstr "Ağ servisi (neutron)" - -msgid "Next answer the following:" -msgstr "Ardından şunları yanıtlayın:" - -msgid "No need to keep track of address configuration as systems move around." -msgstr "" -"Sistemler hareket ettiklerinden adres yapılandırmalarını takip etmeye gerek " -"yok." - -msgid "No predefined usage model" -msgstr "Ön tanımlı kullanım modeli yok" - -msgid "Non-compute node based shared file system" -msgstr "Hesaplama dışı düğüm tabanlı paylaşımlı dosya sistemi" - -msgid "Non-standard features" -msgstr "Standart olmayan özellikler" - -msgid "" -"North/South - The flow of traffic between the workload and all external " -"networks, including clients and remote services. This traffic flow is highly " -"dependant on the workload within the cloud and the type of network services " -"being offered." -msgstr "" -"Kuzey/Güney - İş yükü ile tüm harici ağlar arasındaki trafik akışıdır, buna " -"istemciler ve uzak servisler dahildir. Bu trafik akışı bulut içindeki iş " -"yükü türüne ve teklif edilen ağ servislerinin türüne bağlıdır." - -msgid "Not yet available" -msgstr "Henüz kullanılabilir değil" - -msgid "" -"Now that you see the myriad designs for controlling your cloud, read more " -"about the further considerations to help with your design decisions." -msgstr "" -"Bulutunuz yapılandırmak için sayısız tasarım gördüğünüze göre, tasarım " -"kararlarınızda yardımcı olması için diğer etmenler hakkında okuyun." - -msgid "Number of VLANs is limited to 4096." -msgstr "VLAN sayısı 4096 ile sınırlıdır." - -msgid "Number of physical cores" -msgstr "Fiziksel çekirdek sayısı" - -msgid "Number of virtual cores per instance" -msgstr "Sunucu başına sanal çekirdek sayısı" - -msgid "OR" -msgstr "VEYA" - -msgid "OS-hypervisor combination" -msgstr "OS-hipervizör katışımı" - -msgid "Object" -msgstr "Nesne" - -msgid "" -"Object Storage frequent communicates among servers hosting data. Even a " -"small cluster generates megabytes per second of traffic." -msgstr "" -"Nesne Depolama veri sunan sunucular arasında sıklıkla iletişim kurar. Küçük " -"bir küme bile saniyede megabaytlarca trafik üretir." - -msgid "Object storage" -msgstr "Nesne depolama" - -msgid "" -"Object storage is implemented in OpenStack by the Object Storage service " -"(swift). Users access binary objects through a REST API. If your intended " -"users need to archive or manage large datasets, you should provide them with " -"Object Storage service. Additional benefits include:" -msgstr "" -"OpenStack'de nesne depolama Nesne Depolama servisi (swift) ile uygulanır. " -"Kullanıcılar ikilik nesnelere REST API ile erişirler. Kullanıcılarınızın " -"büyük veri kümeleri arşivlemesi veya yönetmesi gerekecekse onlara Nesne " -"Depolama servisi sunmalısınız. Ek faydaları şunlardır:" - -msgid "" -"Object storage resource nodes have no requirements for hardware fault " -"tolerance or RAID controllers. It is not necessary to plan for fault " -"tolerance within the object storage hardware because the object storage " -"service provides replication between zones as a feature of the service. " -"Block storage nodes, compute nodes, and cloud controllers should all have " -"fault tolerance built in at the hardware level by making use of hardware " -"RAID controllers and varying levels of RAID configuration. The level of RAID " -"chosen should be consistent with the performance and availability " -"requirements of the cloud." -msgstr "" -"Nesne depolama kaynak düğümlerinin donanım arızası dayanıklılığına veya RAID " -"kontrolcülerine ihtiyacı yoktur. Nesne depolama donanımı içinde arıza " -"dayanıklılığı için plan yapmaya gerek yoktur çünkü nesne depolama servisi " -"bir servis özelliği olarak bölgeler arası yedekleme sağlar. Blok depolama " -"düğümleri, hesaplama düğümleri, ve bulut kontrolcüleri çeşitli seviyelerde " -"RAID yapılandırmaları ve donanım seviyesinde RAID kontrolcüleri kullanarak " -"arıza dayanıklılığına sahip olmak zorundadırlar. Seçilen RAID seviyesi bulut " -"gereksinimleriyle başarım ve kullanılırlık açısından uyuşmalıdır." - -msgid "Off compute node storage—shared file system" -msgstr "Hesaplama dışı düğüm deposu—paylaşımlı dosya sistemi" - -msgid "" -"Offers each service's REST API access, where the API endpoint catalog is " -"managed by the Identity service" -msgstr "" -"Her bir servisin REST API erişimini sunar, API uç nokta kataloğu Kimlik " -"servisi tarafından yönetilir" - -msgid "On compute node storage—nonshared file system" -msgstr "Hesaplama düğüm depolama—paylaşımsız dosya sistemi" - -msgid "On compute node storage—shared file system" -msgstr "Hesaplama düğüm depolama-paylaşımlı dosya sistemi" - -msgid "" -"On each host that will house block storage, an administrator must initially " -"create a volume group dedicated to Block Storage volumes. Blocks are created " -"from LVM logical volumes." -msgstr "" -"Blok depolamayı barındıracak her sunucuda, bir yönetici ilk önce Blok " -"Depolama birimlerine adanmış bir birim grubu oluşturmalıdır. Bloklar LVM " -"mantıksal birimlerinden oluşturulur." - -msgid "" -"On the other hand, a scale-out storage solution that uses direct-attached " -"storage (DAS) in the servers may be an appropriate choice. This requires " -"configuration of the server hardware to support the storage solution." -msgstr "" -"Diğer yandan, sunucularda doğrudan eklemeli depolama (DAS) kullanan bir dışa " -"ölçek çözümü uygun seçim olabilir. Bu sunucu donanımının depolama çözümünü " -"destekleyecek şekilde yapılandırılmasını gerektirir." - -msgid "On-demand and self-service application" -msgstr "İstek halinde ve kendine servis uygulamalar" - -msgid "" -"Once a configuration is complete, Kibana can be used as a visualization tool " -"for OpenStack and system logging. This will allow operators to configure " -"custom dashboards for performance, monitoring and security." -msgstr "" -"Yapılandırma tamamlandığında Kibana OpenStack ve sistem kayıtları için " -"görselleştirme aracı olarak kullanılabilir. Bu işletmenlere başarım, izleme " -"ve güvenlik için özel kontrol panelleri yapılandırma izni verir." - -msgid "" -"One choice that always comes up is whether to virtualize. Some services, " -"such as ``nova-compute``, ``swift-proxy`` and ``swift-object`` servers, " -"should not be virtualized. However, control servers can often be happily " -"virtualized—the performance penalty can usually be offset by simply running " -"more of the service." -msgstr "" -"Hep akla gelen bir seçenek de sanallaştırmanın yapılıp yapılmayacağıdır. " -"``nova-compute``, ``swift-proxy`` ve ``swift-object`` sunucuları gibi bazı " -"servisler sanallaştırılmamalıdır. Ancak kontrol sunucuları rahatlıkla " -"sanallaştırılabilir—başarım düşüklüğü genellikle servisten birden fazla " -"çalıştırılarak giderilebilir." - -msgid "" -"One of the most important networking topics today is the exhaustion of IPv4 " -"addresses. As of late 2015, ICANN announced that the final IPv4 address " -"blocks have been fully assigned. Because of this, IPv6 protocol has become " -"the future of network focused applications. IPv6 increases the address space " -"significantly, fixes long standing issues in the IPv4 protocol, and will " -"become essential for network focused applications in the future." -msgstr "" -"Bugünlerde ağ başlıklarından en önemlisi IPv4 adreslerinin bitiyor oluşu. " -"2015 sonuna doğru, ICANN son IPv4 adres bloklarının da atandığını açıkladı. " -"Bu sebeple, ağ odaklı uygulamalar için gelecek IPv6 iletişim kuralı. IPv6 " -"iletişim kuralı adres uzayını kat kat artırır, IPv4 ile uzun zamandır var " -"olan sorunları düzeltir, ve gelecekte ağ odaklı uygulamalar için gerekli " -"olacaktır." - -msgid "" -"One potential solution to this problem is the implementation of storage " -"systems designed for performance. Parallel file systems have previously " -"filled this need in the HPC space and are suitable for large scale " -"performance-orientated systems." -msgstr "" -"Bu probleme muhtemel bir çözüm başarım için tasarlanmış depolama " -"sistemlerinin uygulanmasıdır. Paralel dosya sistemleri daha önceleri bu " -"ihtiyacı HPC alanında doldurdu ve büyük ölçekli başarım eksenli sistemler " -"için uygundur." - -msgid "One zone per node" -msgstr "Düğüm başına bir bölge" - -msgid "" -"Ongoing maintenance operations are made much simpler if there is logical and " -"physical separation of Data Plane and Control Plane systems. It then becomes " -"possible to, for example, reboot a controller without affecting customers. " -"If one service failure affects the operation of an entire server (``noisy " -"neighbor``), the separation between Control and Data Planes enables rapid " -"maintenance with a limited effect on customer operations." -msgstr "" -"Veri Düzlemi ve Kontrol Düzlemi sistemleri arasında mantıksal ve fiziksel " -"ayrım varsa devam eden bakım işlemleri çok daha basit olur. Ardından örneğin " -"bir kontrol birimini müşterileri etkilemeden yeniden başlatmak mümkün olur. " -"Bir servisin bozulması tüm sunucunun işlemini etkilerse (``gürültülü " -"komşu``), Kontrol ve Veri Düzlemlerinin ayrı olması müşteri işlemleri " -"üstünden sınırlı bir etki ile hızlıca bakım yapılmasını sağlar." - -msgid "OpenStack Architecture Design Guide" -msgstr "OpenStack Mimari Tasarım Kılavuzu" - -msgid "OpenStack Block Storage (cinder)" -msgstr "OpenStack Blok Depolama (cinder)" - -msgid "" -"OpenStack Block Storage for use by compute instances, requiring persistent " -"storage (such as databases for dynamic sites)." -msgstr "" -"Hesaplama sunucuları tarafından kullanılmak üzere kalıcı depolama gerektiren " -"(dinamik siteler için veritabanları gibi) OpenStack Blok Depolama." - -msgid "OpenStack Compute (nova)" -msgstr "OpenStack Hesaplama (nova)" - -msgid "OpenStack Compute running KVM hypervisor" -msgstr "KVM hipervizörünü çalıştıran OpenStack Hesaplama" - -msgid "" -"OpenStack Compute uses an SQL database to store and retrieve stateful " -"information. MySQL is the popular database choice in the OpenStack community." -msgstr "" -"OpenStack Hesaplama durum bilgisini kaydetmek ve almak için bir SQL " -"veritabanı kullanır. OpenStack topluluğu araında popüler seçim MySQL'dir." - -msgid "" -"OpenStack Controller service running Image service, Identity service, " -"Networking service, combined with support services such as MariaDB and " -"RabbitMQ, configured for high availability on at least three controller " -"nodes." -msgstr "" -"En az üç kontrol düğümünde yüksek kullanılırlık için yapılandırılmış, " -"MariaDB ve RabbitMQ gibi destek servisleri ile İmaj servisi, Kimlik servisi, " -"Ağ servisi karışımını çalıştıran OpenStack Kontrol servisi." - -msgid "" -"OpenStack Controller services (Image service, Identity service, Networking " -"service, and supporting services such as MariaDB and RabbitMQ)" -msgstr "" -"OpenStack Kontrol sevisleri (İmaj servisi, Kimlik servisi, Ağ servisi, ve " -"MariaDB ve RabbitMQ gibi destekleyen servisler)" - -msgid "" -"OpenStack Identity provides authentication decisions and user attribute " -"information, which is then used by the other OpenStack services to perform " -"authorization. The policy is set in the ``policy.json`` file. For " -"information on how to configure these, see `Managing Projects and Users " -"`_ in the " -"OpenStack Operations Guide." -msgstr "" -"OpenStack Kimlik kimlik doğrulama kararlarını ve kullanıcı özniteliği " -"bilgisini sağlar, bu da diğer OpenStack servislerinin yetkilendirme " -"yapmasında kullanılır. İlke ``policy.json`` dosyasında ayarlanır. Bunların " -"nasıl yapılandırılacağıyla ilgili daha fazla bilgi için OpenStack İşlem " -"Kılavuzundaki `Proje ve Kullanıcı Yönetimine `_ göz atın." - -msgid "" -"OpenStack Identity supports different plug-ins for authentication decisions " -"and identity storage. Examples of these plug-ins include:" -msgstr "" -"OpenStack Kimlik kimlik doğrulama kararları ve kimlik depolama için farklı " -"eklentileri destekler. Bu eklentilere örnek verecek olursak:" - -msgid "OpenStack Logical Architecture" -msgstr "OpenStack Mantıksal Mimarisi" - -msgid "" -"OpenStack Networking (neutron) is the component of OpenStack that provides " -"the Networking service API and a reference architecture that implements a " -"Software Defined Network (SDN) solution." -msgstr "" -"OpenStack Ağı (neutron) Ağ servisi API'si ve bir Yazılımla Tanımlanmış Ağ " -"(SDN) çözümü uygulayan mimariye başvurudan oluşan OpenStack bileşenidir. " - -msgid "" -"OpenStack Networking (neutron) provides a wide variety of networking " -"services for instances. There are many additional networking software " -"packages that can be useful when managing OpenStack components. Some " -"examples include:" -msgstr "" -"OpenStack Ağı (neutron) sunucular için geniş çeşitlilikte ağ servisleri " -"sunar. OpenStack bileşenlerini yönetirken kullanışlı olabilecek bir çok ek " -"ağ yazılım paketi bulunur. Bazı örnekler:" - -msgid "" -"OpenStack Networking can be used to control hardware load balancers through " -"the use of plug-ins and the Networking API. This allows users to control " -"hardware load balance pools and instances as members in these pools, but " -"their use in production environments must be carefully weighed against " -"current stability." -msgstr "" -"OpenStack Ağı eklentiler ve Ağ API'si kullanılarak donanımsal yük " -"dengeleyicileri kontrol etmek için kullanılabilir. Bu kullanıcılara " -"donanımsal yük dengeleyici havuzlarını ve bu havuzların üyleri olan " -"sunucuları kontrol etme olasılığı sağlar, ama üretim ortamlarında " -"kullanımları mevcut kararlılığa göre değerlendirilmelidir." - -msgid "" -"OpenStack Networking, when configured for it, supports IPv6. To enable IPv6, " -"create an IPv6 subnet in Networking and use IPv6 prefixes when creating " -"security groups." -msgstr "" -"OpenStack Ağı, yapılandırıldığında IPv6 destekler. IPv6'yı etkinleştirmek " -"için, Ağ kısmında bir IPv6 alt ağı oluşturun ve güvenlik grupları " -"oluştururken IPv6 ön ekleri kullanın." - -msgid "OpenStack Object Storage" -msgstr "OpenStack Nesne Depolama" - -msgid "OpenStack Object Storage (swift)" -msgstr "OpenStack Nesne Depolama (swift)" - -msgid "OpenStack Object Storage for serving static objects (such as images)." -msgstr "Statik nesneleri sunmak için OpenStack Nesne Depolama (imajlar gibi)." - -msgid "OpenStack Shared File System Storage (manila)" -msgstr "OpenStack Paylaşımlı Dosya Sistemi Depolama (manila)" - -msgid "" -"OpenStack allows you to overcommit CPU and RAM on compute nodes. This allows " -"you to increase the number of instances running on your cloud at the cost of " -"reducing the performance of the instances. The Compute service uses the " -"following ratios by default:" -msgstr "" -"OpenStack hesaplama düğümlerinde CPU ve RAM için abonelik aşımına izin " -"verir. Bu da sunucuların başarımını düşürmek pahasına bulutunuzda çalışan " -"sunucu sayısını artırmanızı sağlar. Hesaplama servisi öntanımlı olarak şu " -"oranları kullanır:" - -msgid "" -"OpenStack can store your virtual machine (VM) images inside of an Object " -"Storage system, as an alternative to storing the images on a file system." -msgstr "" -"İmajlarınızı bir dosya sisteminde saklamak yerine OpenStack sanal makine " -"(VM) imajlarınızı Nesne Depolama sistemi içinde saklar." - -msgid "" -"OpenStack clouds do not present file-level storage to end users. However, it " -"is important to consider file-level storage for storing instances under ``/" -"var/lib/nova/instances`` when designing your cloud, since you must have a " -"shared file system if you want to support live migration." -msgstr "" -"OpenStack bulutlar kullanıcılara dosya seviyesinde depolama sunmazlar. " -"Ancak, bulutunuzu tasarlarken canlı göçü desteklemek istiyorsanız paylaşımlı " -"dosya sisteminiz olması gerektiğinden ``/var/lib/nova/instances`` altında " -"sunucularınız saklamak için dosya seviyesinde depolamayı göz önünde " -"bulundurun." - -msgid "" -"OpenStack clouds explicitly support three types of persistent storage: " -"*Object Storage*, *Block Storage*, and *File-based storage*." -msgstr "" -"OpenStack bulutları üç tür kalıcı depolamayı açıkça destekler: *Nesne " -"Depolama*, *Blok Depolama*, ve *Dosya tabanlı depolama*." - -msgid "" -"OpenStack clouds require appropriate monitoring platforms to identify and " -"manage errors." -msgstr "" -"OpenStack bulutları hataları tanımlamak ve yönetmek için uygun izleme " -"platformları gerektirir." - -msgid "OpenStack compute nodes running the KVM hypervisor." -msgstr "KVM hipervizörünü çalıştıran OpenStack hesaplama düğümleri." - -msgid "" -"OpenStack design, generally, does not include shared storage. However, for " -"some high availability designs, certain components might require it " -"depending on the specific implementation." -msgstr "" -"OpenStack tasarımı genel olarak paylaşımlı depolama içermez. Ancak, bazı " -"yüksek kullanılırlık tasarımları için bazı bileşenlerin duruma özel " -"uygulamalar üzere ihtiyacı olabilir." - -msgid "" -"OpenStack does not currently provide DNS services, aside from the dnsmasq " -"daemon, which resides on ``nova-network`` hosts. You could consider " -"providing a dynamic DNS service to allow instances to update a DNS entry " -"with new IP addresses. You can also consider making a generic forward and " -"reverse DNS mapping for instances' IP addresses, such as ``vm-203-0-113-123." -"example.com.``" -msgstr "" -"OpenStack ``nova-network`` sunucularında barınan dnsmasq artalan işi dışında " -"şu an DNS servisleri sağlamıyor. Sunucuların yeni IP adresleriyle DNS " -"girdilerini güncellemesini sağlamak için dinamik DNS servisi sağlamayı " -"düşünebilirsiniz. Ayrıca sunucuların IP adresleri için genel bir ileri ve " -"geri DNS eşleştirmesi yapmak isteyebilrisiniz, örneğin ``vm-203-0-113-123." -"ornek.com.``" - -msgid "" -"OpenStack has integration with Hadoop to manage the Hadoop cluster within " -"the cloud. The following diagram shows an OpenStack store with a high " -"performance requirement:" -msgstr "" -"OpenStack Hadoop kümesini bulutta yönetmeyi sağlamak için Hadoop " -"tümleştirmesine sahiptir. Aşağıdaki çizim yüksek başarım gereksinimli bir " -"OpenStack deposunu gösterir:" - -msgid "" -"OpenStack input, output and filter examples can be found at https://github." -"com/sorantis/elkstack/tree/master/elk/logstash." -msgstr "" -"OpenStack girdi, çıktı ve süzme örnekleri https://github.com/sorantis/" -"elkstack/tree/master/elk/logstash adresinde bulunabilir." - -msgid "" -"OpenStack is designed to be massively horizontally scalable, which allows " -"all services to be distributed widely. However, to simplify this guide, we " -"have decided to discuss services of a more central nature, using the concept " -"of a *cloud controller*. A cloud controller is a conceptual simplification. " -"In the real world, you design an architecture for your cloud controller that " -"enables high availability so that if any node fails, another can take over " -"the required tasks. In reality, cloud controller tasks are spread out across " -"more than a single node." -msgstr "" -"OpenStack ağırlıklı olarak yatay ölçeklenmek için tasarlanmıştır, bu da tüm " -"servislerin genişçe dağıtılmasına izin verir. Ancak bu kılavuzu " -"basitleştirmek için bir *bulut kontrol birimi* kavramını kullanarak daha " -"merkezi doğada olan servisleri tartışmaya karar verdik. Bulut kontrol birimi " -"kavramsal bir basitleştirmedir. Gerçek dünyada bulut kontrol biriminiz için " -"yüksek kullanılırlık sağlayan, herhangi bir düğüm arızalandığında gerekli " -"görevleri bir diğerinin devam ettirebildiği bir mimari tasarlarsınız. " -"Gerçekte bulut kontrol birimi görevleri tek bir düğümden fazlasına " -"yayılmıştır." - -msgid "" -"OpenStack lends itself to deployment in a highly available manner where it " -"is expected that at least 2 servers be utilized. These can run all the " -"services involved from the message queuing service, for example ``RabbitMQ`` " -"or ``QPID``, and an appropriately deployed database service such as " -"``MySQL`` or ``MariaDB``. As services in the cloud are scaled out, back-end " -"services will need to scale too. Monitoring and reporting on server " -"utilization and response times, as well as load testing your systems, will " -"help determine scale out decisions." -msgstr "" -"OpenStack en az 2 sunucunun kullanılacağı yüksek kullanılırlık kurulumlarına " -"katar. Bunlar ihtiyaç olan tüm servisleri çalıştırabilirler, örneğin " -"``RabbitMQ`` veya ``QPID`` gibi mesaj kuyruğu servisleri, ve uygun kurulmuş " -"``MySQL`` veya ``MariaDB`` gibi veritabanı servisi. Buluttaki servisler " -"ölçeklenebildiğinden, arka uç servislerin de ölçeklenmesi gerekir. Sunucu " -"kullanımını ve yanıt sürelerini izleme ve raporlama, aynı zamanda " -"sisteminize yük testi yapmak, ölçekleme kararlarının alınmasında yardımcı " -"olur." - -msgid "" -"OpenStack produces a great deal of useful logging information, but for the " -"information to be useful for operations purposes, you should consider having " -"a central logging server to send logs to, and a log parsing/analysis system " -"such as Elastic Stack [formerly known as ELK]." -msgstr "" -"OpenStack yüksek miktarda faydalı günlük kaydı bilgisi üretir, ama bilginin " -"işlevsel amaçlı faydalı olabilmesi için kayıtların gönderilebileceği merkezi " -"bir günlük sunucusu ve Elastic Stack [eski ELK] gibi bir günlük işleme/" -"analiz sistemine ihtiyacınız vardır." - -msgid "" -"OpenStack provides a rich networking environment. This chapter details the " -"requirements and options to consider when designing your cloud. This " -"includes examples of network implementations to consider, information about " -"some OpenStack network layouts and networking services that are essential " -"for stable operation." -msgstr "" -"OpenStack zengin bir ağ ortamı sunar. Bu bölüm bulutunuzu tasarlarken göz " -"önüne almanız gereken gereksinim ve seçenekleri gösterir. Bu göz önüne " -"alınacak ağ uygulaması örneklerini, bazı OpenStack ağ yerleşimleri hakkında " -"bilgi ve kararlı bir işletme için gerekli ağ servislerini içerir." - -msgid "" -"OpenStack, like any network application, has a number of standard services " -"to consider, such as NTP and DNS." -msgstr "" -"OpenStack, herhangi bir ağ uygulaması gibi, dikkate alması gereken standart " -"servislere sahiptir, NTP ve DNS gibi." - -msgid "" -"Operating system patching, hardware/firmware upgrades, and datacenter " -"related changes, as well as minor and release upgrades to OpenStack " -"components are all ongoing operational tasks. The six monthly release cycle " -"of the OpenStack projects needs to be considered as part of the cost of " -"ongoing maintenance. The solution should take into account storage and " -"network maintenance and the impact on underlying workloads." -msgstr "" -"İşletim sistemi yamalama, donanım/üretici yazılımı güncellemeleri, ve veri " -"merkeziyle ilgili değişiklikler, ayrıca OpenStack bileşenlerine yapılan " -"küçük ve dağıtım yükseltmeleri hep süreklilik arz eden işlevsel görevlerdir. " -"OpenStack projelerinin altı aylık dağıtım döngüsü bakım masraflarının " -"parçası olarak ele alınmalıdır. Çözüm depolama ve ağ bakımını ve altta yatan " -"iş yüklerine etkiyi göz önüne almalıdır." - -msgid "Operational costs" -msgstr "İşlem maliyetleri" - -msgid "Operational requirements" -msgstr "İşlevsel gereksinimler" - -msgid "Operator access to systems" -msgstr "Sistemlere işletmen erişimi" - -msgid "Operator requirements" -msgstr "İşletmen gereksinimleri" - -msgid "Optimizing network performance" -msgstr "Ağ başarımının iyileştirilmesi" - -msgid "" -"Orchestration requires special client configurations to integrate with " -"Amazon Web Services. For other types of clouds, use CMP features." -msgstr "" -"Orkestrasyon Amazon Web Servisleriyle tümleşme için özel istemci " -"yapılandırması gerektirir. Diğer tür bulutlar için, CMP özelliklerini " -"kullanın." - -msgid "Orchestration service" -msgstr "Orkestrasyon servisi" - -msgid "" -"Organizations leveraging cloud-based services can embrace business diversity " -"and utilize a hybrid cloud design to spread their workloads across multiple " -"cloud providers. This ensures that no single cloud provider is the sole host " -"for an application." -msgstr "" -"Bulut tabanlı servislerden güç alan kurumlar iş çeşitliliği ihtiva edebilir " -"ve iş yüklerini farklı bulut sağlayıcılar arasında dağıtaran melez bulut " -"tasarımını kullanabilirler. Bu da uygulamayı tek bir bulut sağlayıcının " -"sunmamasını sağlar." - -msgid "" -"Organizations must find the right balance between data integrity and data " -"availability. Replication strategy may also influence disaster recovery " -"methods." -msgstr "" -"Kurumlar veri tutarlılığıyla veri kullanılırlığı arasındaki doğru dengeyi " -"bulmalıdırlar. Çoğaltma stratejisi afet anında kurtarma yöntemlerini de " -"etkileyebilir." - -msgid "" -"Outages can cause partial or full loss of site functionality. Strategies " -"should be implemented to understand and plan for recovery scenarios." -msgstr "" -"Kesintiler konum işlevselliğini kısmen ya da tamamen kaybettirebilir. " -"Kurtarma senaryolarının anlaşılması ve uygulanması için stratejiler " -"uygulanmalıdır." - -msgid "Overcommitting CPU and RAM" -msgstr "CPU ve RAM'in abonelik aşımı" - -msgid "Overlay" -msgstr "Üst Katman" - -msgid "Overlay networks" -msgstr "Üst katman ağlar" - -msgid "" -"Oversubscription is a method to emulate more capacity than may physically be " -"present. For example, a physical hypervisor node with 32 GB RAM may host 24 " -"instances, each provisioned with 2 GB RAM. As long as all 24 instances do " -"not concurrently use 2 full gigabytes, this arrangement works well. However, " -"some hosts take oversubscription to extremes and, as a result, performance " -"can be inconsistent. If at all possible, determine what the oversubscription " -"rates of each host are and plan capacity accordingly." -msgstr "" -"Abonelik aşım fiziksel olarak var olan kapasiteden daha fazlası varmış gibi " -"yapma yöntemidir. Örneğin, 32 GB RAM'e sahip fiziksel hipervizör düğümü her " -"birinde 2 GB RAM olan 24 sunucu barındırıyor olabilir. Tüm 24 sunucu 2 " -"gigabaytın tamamını kullanmadığı sürece, bu ayarlama düzgün çalışacaktır. " -"Ancak, bazı sunucular abonelik aşımlarını uç noktalara taşırlar, ve sonuç " -"olarak başarım tutarlı olmayabilir. Eğer mümkünse her sunucunun abonelik " -"aşım oranlarının ne olduğunu öğrenin ve kapasiteyi buna uygun planlayın." - -msgid "PC" -msgstr "PC" - -msgid "Parameter in ``nova.conf``" -msgstr "``nova.conf`` dosyasındaki parametre" - -msgid "Penalty" -msgstr "Kayıp" - -msgid "Performance" -msgstr "Başarım" - -msgid "" -"Performance is a critical consideration when designing any cloud, and " -"becomes increasingly important as size and complexity grow. While single-" -"site, private clouds can be closely controlled, multi-site and hybrid " -"deployments require more careful planning to reduce problems such as network " -"latency between sites." -msgstr "" -"Başarım herhangi bir bulut tasarımında büyük öneme sahiptir, ve boyut ve " -"karmaşıklık büyüdükçe önemi gittikçe artar. Tek konumda, özel bulutlar " -"yakından kontrol edilebilirken, farklı bölgelerdeki melez kurulumlar " -"bölgeler arasındaki ağ gecikmesi gibi problemleri azaltmak için çok daha " -"dikkatli planlanmalıdırlar." - -msgid "" -"Performance of block based storage is typically measured in the maximum read " -"and write operations to non-contiguous storage locations per second. This " -"measurement typically applies to SAN, hard drives, and solid state drives. " -"While IOPS can be broadly measured and is not an official benchmark, many " -"vectors like to be used by vendors to communicate performance levels. Since " -"there are no real standards for measuring IOPS, vendor test results may " -"vary, sometimes wildly. However, along with transfer rate which measures the " -"speed that data can be transferred to contiguous storage locations, IOPS can " -"be used in a performance evaluation. Typically, transfer rate is represented " -"by a bytes per second calculation but IOPS is measured by an integer." -msgstr "" -"Blok tabanlı depolamanın başarımı genellikle bitişik olmayan depolama " -"konumlarına saniyede yapılan okuma ve yazma sınırlarıyla ölçülür. Bu ölçüm " -"genellikle SAN, hard diskler, ve ssd'lere uygulanır. IOPS ölçmek için bir " -"çok yöntem olsa da ve resmi bir ölçüm olmasa da, çoğur üretici başarım " -"seviyesini belirtmek için kullanır. IOPS ölçmek için gerçek standartlar " -"olmadığından, üretici deneme sonuçları bazen yüksek farklılıklar " -"gösterebilir. Ancak verinin sıralı depolama konumlarına aktarım hızını ölçen " -"aktarım oranının yanı sıra, IOPS da başarım değerlendirmede kullanılabilir. " -"Genel olarak, aktarım oranı saniyede bayt şeklinde sunulurken IOPS bir " -"tamsayıdır." - -msgid "Performance tuning" -msgstr "Başarım ayarları" - -msgid "Persistent file-based storage support" -msgstr "Kalıcı dosya tabanlı depolama desteği" - -msgid "" -"Persistent storage - Persistent storage means that the storage resource " -"outlives any other resource and is always available, regardless of the state " -"of a running instance." -msgstr "" -"Kalıcı depolama - Kalıcı depolama depolama kaynağının herhangi bir diğer " -"kaynaktan kalıcı olduğu ve her zaman kullanılabilir olduğu anlamına gelir, " -"çalışan sunucunun durumundan bağımsızdır." - -msgid "Persists until…" -msgstr "Kalıcılık süresi..." - -msgid "Physical constraints such as power, rack space, network cabling, etc." -msgstr "Güç, kabin alanı, ağ kabloları gibi fiziksel kısıtlamalar." - -msgid "" -"Physical data centers have limited physical space, power, and cooling. The " -"number of hosts (or hypervisors) that can be fitted into a given metric " -"(rack, rack unit, or floor tile) is another important method of sizing. " -"Floor weight is an often overlooked consideration." -msgstr "" -"Fiziksel veri merkezlerinin sınırlı fiziksel alanı, gücü ve soğutması " -"vardır. Verilen bir ölçüte (kabin, kabin birimi, döşeme) sığabilecek sunucu " -"(veya hipervizör) sayısı boyutlandırma için bir diğer önemli yöntemdir. " -"Zemin ağırlığı genellikle göz önüne alınmayan bir etmendir." - -msgid "Planning and scaling storage capacity" -msgstr "Depolama kapasitesinin planlanması ve ölçeklenmesi" - -msgid "Port count" -msgstr "Bağlantı noktası sayısı" - -msgid "Port density" -msgstr "Bağlantı noktası yoğunluğu" - -msgid "Port speed" -msgstr "Bağlantı noktası hızı" - -msgid "Possible options include:" -msgstr "Muhtemel seçenekler:" - -msgid "Power and cooling density" -msgstr "Güç ve soğutma yoğunluğu" - -msgid "Power requirements" -msgstr "Güç gereksinimleri" - -msgid "Prior knowledge of cloud architecture and principles." -msgstr "Bulut mimarisi ve ilkeleri hakkında ön bilgi." - -msgid "Protocol support" -msgstr "İletişim kuralı desteği" - -msgid "Provider API changes" -msgstr "Sağlayıcı API değişiklikleri" - -msgid "Provider availability or implementation details" -msgstr "Sağlayıcı kullanılırlığı veya uygulama ayrıntıları" - -msgid "" -"Provides a web-based front end for users to consume OpenStack cloud services" -msgstr "" -"Kullanıcıları OpenStack bulut servislerini tüketebilecekleri web tabanlı ön " -"yüz sağlar" - -msgid "Providing IPv6 support" -msgstr "IPv6 desteği sağlamak" - -msgid "Proxy requests to a database" -msgstr "Veritabanına istekleri vekilden geçir" - -msgid "Proxy:" -msgstr "Vekil:" - -msgid "" -"Public, private, or a hybrid cloud (performance profiles, shared storage, " -"replication options)" -msgstr "" -"Açık, özel, ya da melez bulut (başarım profilleri, paylaşımlı depolama, " -"çoğaltma seçenekleri)" - -msgid "" -"QoS is desirable for some workloads to ensure delivery. DNS has a major " -"impact on the load times of other services and needs to be reliable and " -"provide rapid responses. Configure rules in upstream devices to apply a " -"higher Class Selector to DNS to ensure faster delivery or a better spot in " -"queuing algorithms." -msgstr "" -"QoS bazı iş yüklerinde teslimattan emin olmak için gereklidir. DNS'in diğer " -"servislerin yüklenme zamanı üzerinde büyük önemi bulunur ve güvenilir ve " -"hızlı yanıt verebilir olması gerekir. Üst akış aygıtlarında DNS için daha " -"yüksek Sınıf Seçici kuralları yapılandırarak veya kuyruklama " -"algoritmalarında daha iyi bir yer vererek hızlı aktarım sağlayın." - -msgid "RAM allocation ratio: 1.5:1" -msgstr "RAM ayırma oranı: 1.5:1" - -msgid "REST proxy:" -msgstr "REST vekili:" - -msgid "" -"Raid 5 has the worst penalty (has the most cross disk writes.) Therefore, " -"when using the above examples, a 15 disk array using RAID 5 is capable of " -"1950 read IOPS however, we need to add the penalty when determining the " -"*write* IOPS:" -msgstr "" -"Raid 5 en büyük kayba sahiptir (diskler arası en çok yazmaya sahip) Bu " -"yüzden, yukarıdaki örnekleri kullanırken, RAID 5 kullanan 15 diskli bir dizi " -"1950 okuma IOPS'una sahipken, *yazma* IOPS'una karar verirken kaybı " -"eklemeliyiz." - -msgid "Raid Type" -msgstr "Raid Türü" - -msgid "Ramification" -msgstr "Dallanma" - -msgid "Recovery of instances is complicated by depending on multiple hosts." -msgstr "" -"Sunucuların kurtarılması birden çok sunucuya bağımlılık yüzünden karmaşıktır." - -msgid "Reduced overhead of the IP hierarchy." -msgstr "IP sıra düzeni giderinin azalması." - -msgid "Redundancy" -msgstr "Yedeklilik" - -msgid "Redundant networking" -msgstr "Yedekli ağ" - -msgid "" -"Regardless of the overcommit ratio, an instance can not be placed on any " -"physical node with fewer raw (pre-overcommit) resources than the instance " -"flavor requires." -msgstr "" -"Abonelik aşım oranından bağımsız olarak, bir sunucu fiziksel bir düğüme " -"sunucu niteliğinin gerektirdiğinden az ham (abonelik aşım öncesi) kaynak " -"varsa konulamaz." - -msgid "Reliability and availability" -msgstr "Güvenilirlik ve kullanılırlık" - -msgid "" -"Reliability and availability depend on the many supporting components' " -"availability and on the level of precautions taken by the service provider. " -"This includes network, storage systems, datacenter, and operating systems." -msgstr "" -"Güvenilirlik ve kullanılırlık bir çok destekleyen bileşenin " -"kullanılabilirliğine ve servis sağlayıcı tarafından alınan önlemlerin " -"seviyesine bağlıdır. Bu ağ, depolama sistemler, veri merkezi ve işletim " -"sistemlerini içerir." - -msgid "Remove shares." -msgstr "Paylaşımları kaldır." - -msgid "" -"Replicas in Object Storage function independently, and clients only require " -"a majority of nodes to respond to a request in order for an operation to be " -"considered successful. Thus, transient failures like network partitions can " -"quickly cause replicas to diverge. Fix These differences are eventually " -"reconciled by asynchronous, peer-to-peer replicator processes. The " -"replicator processes traverse their local filesystems, concurrently " -"performing operations in a manner that balances load across physical disks." -msgstr "" -"Nesne Depolamadaki yedekler bağımsız işlerler, ve bir işlemin başarılı " -"olarak sayılması için istemcilerin yalnızca düğümlerin büyük çoğunluğunun " -"bir isteğe yanıt vermesine ihtiyaçları vardır. Böylece ağ bölümleri gibi " -"geçici arızalar yedeklerin hızlıca sapmasına sebep olabilir. Bu farklılıklar " -"bir noktada asenkron, eşten-eşe çoğaltma süreçleri ile yeniden " -"buluşturulurlar. Çoğaltma süreçleri yükü fiziksel disklere dengeleyecek " -"şekilde eşzamanlı olarak işleyerek yerel dosya sistemlerinin üstünden " -"geçerler." - -msgid "Replicating inter-site data" -msgstr "Konum arası verinin çoğaltılması" - -msgid "Replication" -msgstr "Çoğaltma" - -msgid "" -"Replication across different racks, data centers, and geographical regions " -"increases focus on determining and ensuring data locality. The ability to " -"guarantee data is accessed from the nearest or fastest storage can be " -"necessary for applications to perform well." -msgstr "" -"Farklı kabinler, veri merkezleri, ve coğrafi bölgeler arasında çoğaltma " -"dikkati veri yerelliğinden emin olma noktasında artırır. Veriye en yakın " -"veya en hızlı depolamadan erişebilme garantisi uygulamaların iyi çalışması " -"için zorunlu olabilir." - -msgid "" -"Replication is an area of active development, andimplementation details are " -"likely to change over time." -msgstr "" -"Çoğaltma etkin geliştirme alanındadır, ve uygulama ayrıntıları zamanla " -"değişmeye müsaittir." - -msgid "" -"Replication uses a push model, with records and files generally only being " -"copied from local to remote replicas. This is important because data on the " -"node may not belong there (as in the case of handoffs and ring changes), and " -"a replicator can not know what data exists elsewhere in the cluster that it " -"should pull in. It is the duty of any node that contains data to ensure that " -"data gets to where it belongs. Replica placement is handled by the ring." -msgstr "" -"Çoğaltma, itiş modeli kullanır, kayıtlar ve dosyalar genellikle yalnızca " -"yerelden uzak yedeklere kopyalanır. Bu önemlidir çünkü düğümdeki veri oraya " -"ait olmayabilir (transfer ve halka değişikliklerinde olduğu gibi) ve " -"çoğaltıcı kümede başka yerde çekebileceği hangi verinin olduğunu bilemez. " -"Verinin ait olduğu yere gitmesinden veriyi içeren düğüm sorumludur." - -msgid "Requests for extension" -msgstr "Eklenti için istekler" - -msgid "Requirements" -msgstr "Gereksinimler" - -msgid "" -"Research indicates the mean time between failures (MTBF) on switches is " -"between 100,000 and 200,000 hours. This number is dependent on the ambient " -"temperature of the switch in the data center. When properly cooled and " -"maintained, this translates to between 11 and 22 years before failure. Even " -"in the worst case of poor ventilation and high ambient temperatures in the " -"data center, the MTBF is still 2-3 years." -msgstr "" -"Araştırmaya göre anahtarlar arasında arıza aralığı (MTBF) 100,000 ile " -"200,000 saat arasında. Bu rakam veri merkezindeki anahtarın çevre " -"sıcaklığına bağımlı. Düzgün soğutulup bakımı yapıldığında, bu rakam arızadan " -"önce 11 ve 22 yıl arasına denk gelir. En kötü durumda havalandırmanın " -"olmadığı ve ortam sıcaklığının yüksek olduğu bir veri merkezinde bile, bu " -"değer 2-3 senedir." - -msgid "Resource capacity" -msgstr "Kaynak kapasitesi" - -msgid "Response time to the Compute API" -msgstr "Hesaplama API'sine yanıt verme zamanı" - -msgid "" -"Revenue opportunities vary based on the intent and use case of the cloud. " -"The requirements of a commercial, customer-facing product are often very " -"different from an internal, private cloud. You must consider what features " -"make your design most attractive to your users." -msgstr "" -"Gelir fırsatları bulutun kullanım amacı durumuna göre değişir. Ticari, " -"müşteriye bakan bir ürünün gereklilikleri dahili, özel bir buluttan oldukça " -"farklıdır. Hangi özelliklerin tasarımınızı kullanıcılarınıza daha çekici " -"yapacağını göze almalısınız." - -msgid "Revenue opportunity" -msgstr "Gelir fırsatı" - -msgid "Routing daemons." -msgstr "Yönlendirme artalan işlemleri." - -msgid "Run ``glance-*`` servers on the ``swift-proxy`` server." -msgstr "``glance-*`` sunucularını ``swift-proxy`` sunucusu üzerinde çalıştır." - -msgid "Run a central dedicated database server." -msgstr "Merkezi adanmış veritabanı sunucusu çalıştır." - -msgid "Run one VM per service." -msgstr "Servis başına bir sanal makine çalıştır." - -msgid "Run operating system and scratch space" -msgstr "İşletim sistemi ve sıfırdan alan çalıştır" - -msgid "Running a dedicated storage system can be operationally simpler." -msgstr "" -"Adanmış bir depolama sistemi çalıştırmak işlemsel olarak daha basittir." - -msgid "" -"Running a distributed file system can make you lose your data locality " -"compared with nonshared storage." -msgstr "" -"Dağıtık dosya sistemi çalıştırmak paylaşımsız bir depoalamayla " -"karşılaştırınca verinizin yerelliğini kaybetmesine sebep olabilir." - -msgid "" -"Running a shared file system on a storage system apart from the compute " -"nodes is ideal for clouds where reliability and scalability are the most " -"important factors. Running a shared file system on the compute nodes " -"themselves may be best in a scenario where you have to deploy to pre-" -"existing servers for which you have little to no control over their " -"specifications or have specific storage performance needs but do not have a " -"need for persistent storage." -msgstr "" -"Hesaplama düğümlerinden ayrı bir depolama sistemi üzerinde paylaşımlı dosya " -"sistemi çalıştırmak güvenilirliğin ve ölçeklenebilirliğin en önemli etmenler " -"olduğu bulutlar için idealdir. Hesaplama düğümlerinin üzerinde paylaşımlı " -"dosya sistemi çalıştırmak ise özellikleri üzerinde kontrolünüz olmayan veya " -"belirli deoplama başarım gereksinimleri olan ama kalıcı depolamaya ihtiyacı " -"olmayan mevcut sunucular üzerine kurmanız gerektiğinde en iyi senaryo " -"olabilir." - -msgid "" -"Running up to 140 web instances and the small number of MariaDB instances " -"requires 292 vCPUs available, as well as 584 GB of RAM. On a typical 1U " -"server using dual-socket hex-core Intel CPUs with Hyperthreading, and " -"assuming 2:1 CPU overcommit ratio, this would require 8 OpenStack Compute " -"nodes." -msgstr "" -"140 web sunucu ve az sayıda MariaDB sunucusu çalıştırmak kullanılabilir 292 " -"vCPU ve 584 GB RAM gerektirir. Hyperthreading destekli onaltı çekirdekli " -"çift soket Intel CPU'ya sahip sıradan bir 1U sunucu üzerinde 2:1 CPU " -"abonelik aşım oranı varsayarsak, 8 OpenStack Hesaplama düğümüne ihtiyaç " -"duyarız." - -msgid "" -"Runs as a background process. On Linux platforms, a daemon is usually " -"installed as a service." -msgstr "" -"Arkaplan süreci olarak çalışır. Linux platformlarda, bir artalan işlemi " -"genellikle servis olarak kurulur." - -msgid "S3" -msgstr "S3" - -msgid "SLA considerations" -msgstr "SLA etmenleri" - -msgid "SLA terms that affect the design include:" -msgstr "Tasarımı etkileyen SLA etmenleri şunları içerir:" - -msgid "SQL database (such as MySQL or PostgreSQL)" -msgstr "SQL veritabanı (MySQL veya PostgreSQL gibi)" - -msgid "Scalability" -msgstr "Ölçeklenebilirlik" - -msgid "" -"Scalability across multiple cloud providers may dictate which underlying " -"network framework you choose in different cloud providers. It is important " -"to present the network API functions and to verify that functionality " -"persists across all cloud endpoints chosen." -msgstr "" -"Birden çok bulut sağlayıcı arasında ölçeklendirme farklı bulut " -"sağlayıcılarda hangi ağ çatısını kullanacağınızı dikte edebilir. Ağ API " -"işlevlerini sunmak ve işlevselliğin seçili tüm bulut uç noktalarında " -"varlığını doğrulamak önemlidir." - -msgid "Scalability can be affected by network architecture." -msgstr "Ölçeklenebilirlik ağ mimarisi tarafından etkilenebilir." - -msgid "" -"Scalability, along with expandability, is a major consideration in a general " -"purpose OpenStack cloud. It might be difficult to predict the final intended " -"size of the implementation as there are no established usage patterns for a " -"general purpose cloud. It might become necessary to expand the initial " -"deployment in order to accommodate growth and user demand." -msgstr "" -"Ölçeklenebilirlik, genişleyebilirlikle beraber genel amaçlı bir OpenStack " -"bulutu için ana etmendir. Uygulamanın nihai boyutu genel amaçlı bir bulut " -"için elde edilmiş kullanıcı kalıpları olmadığından tahmin etmesi zor " -"olabilir. Büyümeyi ve kullanıcı isteklerini karşılamak için ilk kurulumun " -"genişletilmesi gerekebilir." - -msgid "Scale" -msgstr "Ölçek" - -msgid "Scale-out solutions" -msgstr "Dışa ölçekleme çözümleri" - -msgid "Scaling Block Storage" -msgstr "Blok Depolamanın Ölçeklenmesi" - -msgid "Scaling Object Storage" -msgstr "Nesne Depolamanın Ölçeklenmesi" - -msgid "" -"Scaling storage solutions in a storage-focused OpenStack architecture design " -"is driven by initial requirements, including :term:`IOPS `, capacity, bandwidth, and future needs. " -"Planning capacity based on projected needs over the course of a budget cycle " -"is important for a design. The architecture should balance cost and " -"capacity, while also allowing flexibility to implement new technologies and " -"methods as they become available." -msgstr "" -"Depolama çözümlerini depolama-odaklı bir OpenStack mimari tasarımında " -"ölçeklendirmek :term:`IOPS `, " -"kapasite, bant genişlği, ve gelecekti ihtiyaçlar gibi bazı gereksinimler " -"ister. Bir bütçe dönemi boyunca öngörülen ihtiyaçlar doğrultusunda kapasite " -"planlamak tasarım için önemlidir. Mimari, kapasite ve giderleri dengelemeli, " -"yeni teknoloji ve yöntemleri kullanılabilir olduklarında uygulayacak " -"esnekliğe sahip olmalıdır." - -msgid "Scaling your cloud" -msgstr "Bulutunuzu ölçekleme" - -msgid "Scenario" -msgstr "Senaryo" - -msgid "Scheduling" -msgstr "Zamanlama" - -msgid "Scheduling services" -msgstr "Zamanlama servisleri" - -msgid "Script" -msgstr "Betik" - -msgid "Security" -msgstr "Güvenlik" - -msgid "Selecting hardware form factor" -msgstr "Donanım biçim katsayısı seçimi" - -msgid "Selecting storage hardware" -msgstr "Depolama donanımı seçmek" - -msgid "" -"Selecting the proper zone design is crucial for allowing the Object Storage " -"cluster to scale while providing an available and redundant storage system. " -"It may be necessary to configure storage policies that have different " -"requirements with regards to replicas, retention, and other factors that " -"could heavily affect the design of storage in a specific zone." -msgstr "" -"Düzgün bölge tasarımını seçmek Nesne Depolama kümesine kullanılabilir ve " -"yedekli depolama sistemi sunarken ölçekleme imkanı sağlar. Yedekler, koruma " -"ve belirli bir bölgedeki depolamanın tasarımını derinden etkileyebilecek " -"diğer etmenlere nazaran farklı gereksinimlere sahip depolama ilkeleri " -"yapılandırmak gerekli olabilir." - -msgid "Separation of Services" -msgstr "Servislerin Ayrılması" - -msgid "Server density" -msgstr "Sunucu yoğunluğu" - -msgid "Server hardware" -msgstr "Sunucu donanımı" - -msgid "Service level agreements" -msgstr "Servis seviyesi anlaşmaları" - -msgid "" -"Service level agreements (SLA) must be developed in conjunction with " -"business, technical, and legal input. Small, private clouds may operate " -"under an informal SLA, but hybrid or public clouds generally require more " -"formal agreements with their users." -msgstr "" -"Servis seviyesi anlaşmalaro (SLA) iş, teknik, ve yasal girdilerle birlikte " -"geliştirilmelidir. Küçük, özel bulutlar resmi olmayan bir SLA ile " -"çalışabilirler, ama melez veya açık bulutlar genellikle kullanıcılarıyla " -"yasal anlaşmalar gerektirirler." - -msgid "" -"Service-level agreements (SLAs) define the levels of availability that will " -"impact the design of an OpenStack cloud to provide redundancy and high " -"availability." -msgstr "" -"Servis seviyesi anlaşmaları (SLA'lar) yedeklilik ve yüksek kullanılırlık " -"sağlamak için bir OpenStack bulutunun tasarımını etkileyen kullanılırlık " -"seviyelerini tanımlar." - -msgid "Services providing RPC, such as ``RabbitMQ``." -msgstr "``RabbitMQ`` gibi RPC sağlayan servisler." - -msgid "Set rate limits and quotas for specific shares and snapshots." -msgstr "" -"Belirli paylaşım ve anlık görüntüler için oran sınırları ve kotalar ayarla." - -msgid "Shared File System storage" -msgstr "Paylaşımlı Dosya Sistemi depolama" - -msgid "" -"Shared File Systems service does not apply any additional encryption above " -"what the share’s back-end storage provides" -msgstr "" -"Paylaşımlı Dosya Sistemleri servisi paylaşımın arka ucunun sağladığının " -"dışında ek şifreleme uygulamaz" - -msgid "" -"Shared storage including SAN based arrays, storage clusters such as " -"``Ceph``, and/or NFS services." -msgstr "" -"SAN tabanlı diziler dahil paylaşımlı depolama, ``Ceph``, ve/veya NFS " -"servisleri gibi depolama kümeleri." - -msgid "Sheepdog" -msgstr "Sheepdog" - -msgid "" -"Sheepdog is a userspace distributed storage system. Sheepdog scales to " -"several hundred nodes, and has powerful virtual disk management features " -"like snapshot, cloning, rollback and thin provisioning." -msgstr "" -"Sheepdog kullanıcı uzayında çalışan dağıtık depolama sistemidir. Sheepdog " -"yüzlerce düğüme ölçeklenebilir ve güçlü sanal disk yönetim özelliklerine " -"sahiptir, örneğin anlık görüntüler, klonlama, geri dönme, ve ince hazırlama." - -msgid "" -"Should my persistent storage drives be contained in my compute nodes, or " -"should I use external storage?" -msgstr "" -"Kalıcı depolama sürücülerim hesaplama düğümlerinde mi olmalı, yoksa harici " -"depolama mı kullanmalıyım?" - -msgid "" -"Similarly, the default RAM allocation ratio of 1.5:1 means that the " -"scheduler allocates instances to a physical node as long as the total amount " -"of RAM associated with the instances is less than 1.5 times the amount of " -"RAM available on the physical node." -msgstr "" -"Benzer şekilde, öntanımlı RAM ayırma oranı olan 1.5:1, zamanlayıcının sunucu " -"ile ilişkili toplam RAM miktarının fiziksel düğümdeki RAM miktarının 1.5 " -"katından az olduğu sürece fiziksel düğüme sunucu ayıracağı anlamına gelir." - -msgid "Single Point Of Failure (SPOF)" -msgstr "Tek Kırılma Noktası (SPOF)" - -msgid "Site loss and recovery" -msgstr "Konum kaybı ve kurtarma" - -msgid "" -"Size your database server accordingly, and scale out beyond one cloud " -"controller if many instances will report status at the same time and " -"scheduling where a new instance starts up needs computing power." -msgstr "" -"Veritabanı sunucunuzu uygun şekilde boyutlandırın, ve eğer bir çok sunucu " -"aynı anda durum raporu verecekse bir bulut kontrol biriminden öteye " -"ölçekleyin, yeni bir sunucu başlarken hesaplama gücü isteyecektir." - -msgid "Sizing determined by…" -msgstr "Boyutlandırmaya karar verme kriteri..." - -msgid "Software to provide load balancing" -msgstr "Yük dengeleme sağlayacak yazılım" - -msgid "" -"Solutions that employ Galera/MariaDB require at least three MySQL nodes." -msgstr "Galera/MariaDB dahil eden çözümler en az üç MySQL düğümü gerektirir." - -msgid "" -"Some applications are tolerant of a lack of synchronized object storage, " -"while others may need those objects to be replicated and available across " -"regions. Understanding how the cloud implementation impacts new and existing " -"applications is important for risk mitigation, and the overall success of a " -"cloud project. Applications may have to be written or rewritten for an " -"infrastructure with little to no redundancy, or with the cloud in mind." -msgstr "" -"Bazı uygulamalar eşzamanlı nesne depolamanın olmayışına müsamaha " -"gösterebilirler, diğerleri is bu nesnelerin çoğaltılmış ve bölgeler arasında " -"kullanılabilir olmasını gerektirebilir. Bulut kurulumunun yeni ve mevcut " -"uygulamaların risk azaltımını, veya projenin genel başarısını nasıl " -"etkilediğini anlamak önemlidir. Uygulamaların bulut göz önünde " -"bulundurularak çok az yedeklilik olan ya da hiç olmayan alt yapılar için " -"yazılması veya tekrar yazılması gerekebilir." - -msgid "Some basic benchmarks for small read/writes:" -msgstr "Küçük okuma/yazmalar için bazı değerlendirme deneyleri:" - -msgid "" -"Some of the key considerations in the selection of networking hardware " -"include:" -msgstr "" -"Ağ donanımı seçerken göz önüne alınacak bazı anahtar etmenler şunlardır:" - -msgid "Some other potential design impacts include:" -msgstr "Diğer bazı tasarım etmenleri şunlardır:" - -msgid "" -"Some services are commonly shared between multiple regions, including the " -"Identity service and the Dashboard. In this case, it is necessary to ensure " -"that the databases backing the services are replicated, and that access to " -"multiple workers across each site can be maintained in the event of losing a " -"single region." -msgstr "" -"Bazı servisler genellikle birden çok bölge arasında paylaşılırlar, örneğin " -"Kimlik servisi ve Kontrol Paneli. Bu durumda servisleri destekleyen " -"veritabanlarının çoğaltıldığından, ve bir bölgenin kaybı durumunda her bir " -"konumdaki birden çok işçiye erişimin sağlandığından emin olunmalıdır." - -msgid "Specific meters that are critically important to capture include:" -msgstr "Yakalanması önemli belirli ölçütler şunlardır:" - -msgid "Specify access rules and security services for existing shares." -msgstr "" -"Mevcut paylaşımlar için erişim kuralları ve güvenlik servislerini belirt." - -msgid "Speed" -msgstr "Hız" - -msgid "" -"Starting instances and deleting instances is demanding on the compute node " -"but also demanding on the controller node because of all the API queries and " -"scheduling needs." -msgstr "" -"API sorguları ve zamanlama gereksinimleri sebebiyle sunucuları başlatmak ve " -"silmek hesaplama düğümünde olduğu kadar kontrol düğümünde de yük yaratır." - -msgid "Storage" -msgstr "Depolama" - -msgid "Storage architecture" -msgstr "Depolama mimarisi" - -msgid "" -"Storage can be a significant portion of the overall system cost. For an " -"organization that is concerned with vendor support, a commercial storage " -"solution is advisable, although it comes with a higher price tag. If initial " -"capital expenditure requires minimization, designing a system based on " -"commodity hardware would apply. The trade-off is potentially higher support " -"costs and a greater risk of incompatibility and interoperability issues." -msgstr "" -"Depolama genel sistem masrafları arasında önemli bir kısmı tutabilir. " -"Üretici desteğiyle ilgili endişes olan bir kurum için ticari bir çözüm " -"tavsiye edilebilir, her ne kadar daha pahalı olacaksa da. Eğer ilk ana para " -"giderleri asgari olmayı gerektiriyorsa emtia donanım tabanlı bir sistem " -"tasarlamak tavsiye edilebilir. Verilen ödün muhtemel yüksek destek giderleri " -"ve uyumsuzluk ve birlikte çalışılabilirlik sorunları olacaktır." - -msgid "Storage cloud" -msgstr "Depolama bulutu" - -msgid "Storage concepts" -msgstr "Depolama kavramları" - -msgid "Storage design" -msgstr "Depolama tasarımı" - -msgid "" -"Storage hardware architecture is determined by selecting specific storage " -"architecture. Determine the selection of storage architecture by evaluating " -"possible solutions against the critical factors, the user requirements, " -"technical considerations, and operational considerations. Consider the " -"following factors when selecting storage hardware:" -msgstr "" -"Depolama donanımı mimarisine belirli depolama mimarisi seçilerek karar " -"verilir. Ciddi etmenler, kullanıcı gereksinimleri, teknik etmenler ve " -"işlevsel etmenlere karşı uygun çözümleri değerlendirerek depolama mimarisini " -"seçin. Depolama donanımı seçerken şu etmenlere dikkat edin:" - -msgid "Storage hardware:" -msgstr "Depolama donanımı:" - -msgid "" -"Storage is found in many parts of the OpenStack cloud environment. It is " -"important to understand the distinction between :term:`ephemeral ` storage and :term:`persistent ` storage:" -msgstr "" -"Depolama OpenStack bulut ortamının bir çok kısmında bulunur. :term:`geçici " -"` depolama ve :term:`kalıcı ` depolama: " -"arasındaki farkı bilmek önemlidir." - -msgid "" -"Storage is found in many parts of the OpenStack cloud environment. This " -"chapter describes storage type, design considerations and options when " -"selecting persistent storage options for your cloud environment." -msgstr "" -"Depolama OpenStack bulut ortamının çoğu kısmında bulunur. Bu bölüm bulut " -"ortamınız için kalıcı depolama seçerken kullanacağınız depolama türü, " -"tasarım etmenleri ve seçeneklerini tanımlar." - -msgid "Storage requirements" -msgstr "Depolama gereksinimleri" - -msgid "" -"Storage-focused OpenStack clouds must address I/O intensive workloads. These " -"workloads are not CPU intensive, nor are they consistently network " -"intensive. The network may be heavily utilized to transfer storage, but they " -"are not otherwise network intensive." -msgstr "" -"Depolama odaklı OpenStack bulutları I/O ağırlıklı iş yüklerini ele " -"almalıdır. Bu iş yükleri CPU ağırlıklı değildir, ayrıca tutarlı olarak ağ " -"ağırlıklı da değillerdir. Ağ ağır şekilde depolama aktarımı için " -"kullanılıyor olabilir, ama aksi halde ağ ağırlıklı değillerdir. " - -msgid "" -"Storage-focused architecture depends on specific use cases. This section " -"discusses three example use cases:" -msgstr "" -"Depolama odaklı mimari belirli kullanım durumlarına bağımlıdır. Bu kısım üç " -"örnek kullanım durumunu tartışır:" - -msgid "Storage-intensive use cases like HPC and Big Data clouds" -msgstr "" -"HPC ve Büyük Veri bulutları gibi depolama yoğunluklu kullanım durumları" - -msgid "Store data, including VM images" -msgstr "VM imajları dahil veri sakla" - -msgid "" -"Stores and serves images with metadata on each, for launching in the cloud" -msgstr "" -"Herbirinde metaveri ile bulutta çalıştırmak üzere imajları kaydeder ve sunar" - -msgid "" -"Sufficient monitoring and data collection should be in-place from the start, " -"such that timely decisions regarding capacity, input/output metrics (IOPS) " -"or storage-associated bandwidth can be made." -msgstr "" -"Yeterli izleme ve veri toplama en baştan yerli yerinde çalışmalıdır, " -"kapasiteyle ilgili, girdi/çıktı ölçümleri (IOPS) veya depolama ilişkili bant " -"genişliği kararları böylece vaktinde yapılabilir." - -msgid "Support an indeterminate variety of platforms and applications." -msgstr "Kesin olmayan çeşitlilikte platform ve uygulamayı destekleyin." - -msgid "Support and maintenance" -msgstr "Destek ve bakım" - -msgid "" -"Support for the distributed file-system interface `CephFS `_." -msgstr "" -"Dağıtık dosya sistemi arayüzü `CephFS `_ için destek." - -msgid "Supporting asymmetric links" -msgstr "Asimetrik bağlantıları desteklemek" - -msgid "Swift" -msgstr "Swift" - -msgid "Table. Cloud controller hardware sizing considerations" -msgstr "Tablo. Bulut kontrol birimi donanım boyutlandırma etmenleri" - -msgid "Table. Deployment scenarios" -msgstr "Tablo. Kurulum senaryoları" - -msgid "Table. OpenStack storage" -msgstr "Tablo. OpenStack depolama" - -msgid "Technical details" -msgstr "Teknik ayrıntılar" - -msgid "Telemetry service" -msgstr "Telemetri servisi" - -msgid "Telemetry uses MongoDB." -msgstr "Telemetri MongoDB kullanır." - -msgid "" -"The Architecture Design Guide provides information on planning and designing " -"an OpenStack cloud. It explains core concepts, cloud architecture design " -"requirements, and the design criteria of key components and services in an " -"OpenStack cloud. The guide also describes five common cloud use cases." -msgstr "" -"Mimari Tasarım Kılavuzu bir OpenStack bulutu planlama ve tasarlama üstüne " -"bilgi sağlar. Çekirdek kavramları, bulut mimari tasarım gereksinimlerini, ve " -"OpenStack bulutundaki anahtar bileşenlerin ve servislerin tasarım " -"kriterlerini açıklar. Kılavuz ayrıca beş genel bulut kullanım durumunu " -"tanımlar." - -msgid "" -"The Block Storage service supports multiple back ends in the form of " -"drivers. Your choice of a storage back end must be supported by a block " -"storage driver." -msgstr "" -"Blok Depolama servisi sürücüler biçiminde bir çok arka ucu destekler. " -"Depolama arka ucu seçiminiz blok depolama sürücüsü tarafından " -"desteklenmelidir." - -msgid "" -"The Logical Volume Manager (LVM) is a Linux-based system that provides an " -"abstraction layer on top of physical disks to expose logical volumes to the " -"operating system. The LVM back-end implements block storage as LVM logical " -"partitions." -msgstr "" -"Mantıksal Birim Yöneticisi (LVM) işletim sistemine mantıksal birimler sunmak " -"için fiziksel diskler üstüne bir soyutlama katmanı ekleyen Linux tabanlı " -"sistemdir. LVM arka uu blok depolamayı LVM mantıksal bölümleri olarak " -"uygular." - -msgid "" -"The Logstash filter performs intermediary processing on each event. " -"Conditional filters are applied based on the characteristics of the input " -"and the event. Some examples of filtering are:" -msgstr "" -"Logstash süzgeci her olayda ara işlemeyi gerçekleştirir. Girdinin ve olayın " -"ayırıcı niteliğine göre süzgeçler uygulanır. Bazı süzme örnekleri şöyledir:" - -msgid "" -"The Networking service provides full control over creation of virtual " -"network resources to tenants. This is often accomplished in the form of " -"tunneling protocols that establish encapsulated communication paths over " -"existing network infrastructure in order to segment tenant traffic. This " -"method varies depending on the specific implementation, but some of the more " -"common methods include tunneling over GRE, encapsulating with VXLAN, and " -"VLAN tags." -msgstr "" -"Ağ servisi kiracılara sanal ağ kaynaklarının oluşturulmasında tam kontrol " -"sağlar. Bu da genellikle kiracı trafiğini dilimlemek için mevcut ağ alt " -"yapısı üstünde kapsüllenmiş iletişim yolları sağlayan tünelleme iletişim " -"kuralları biçiminde başarılır. Bu yöntem belirli uygulamaya göre değişim " -"gösterir, ama yaygın yöntemlerden bazıları GRE üzerinden tünelleme, VXLAN " -"ile kapsülleme, ve VLAN etiketleridir." - -msgid "" -"The OpenStack Compute API is extensible. An extension adds capabilities to " -"an API beyond those defined in the core. The introduction of new features, " -"MIME types, actions, states, headers, parameters, and resources can all be " -"accomplished by means of extensions to the core API. This allows the " -"introduction of new features in the API without requiring a version change " -"and allows the introduction of vendor-specific niche functionality." -msgstr "" -"OpenStack Hesaplama API'si eklentilenebilir. Eklenti API'ye çekirdekte " -"tanımlanmamış yetenekler ekler. Yeni özelliklerin tanıtımı, MIME türleri, " -"eylemler, durumlar, başlıklar, parametreler, ve kaynaklar hep çekirdek " -"API'ye eklenti olarak elde edilebilir. Bu API'ye yeni özelliklerin bir sürüm " -"değişikliğine gidilmeden getirilebilmesi ve üreticiye özel işlevselliğe izin " -"verilmesi demektir." - -msgid "" -"The OpenStack Image service consists of two parts: ``glance-api`` and " -"``glance-registry``. The former is responsible for the delivery of images; " -"the compute node uses it to download images from the back end. The latter " -"maintains the metadata information associated with virtual machine images " -"and requires a database." -msgstr "" -"OpenStack imaj servisi iki bölümden oluşur: ``glance-api`` ve ``glance-" -"registry``. İlki imajların getirilmesinden sorumludur, hesaplama düğümü arka " -"uçtan imajları indirmek için kullanır. Sonraki sanal makine imajlarıyla " -"ilişkili metaveri bilgisini yönetir ve bir veritabanına ihtiyaç duyar." - -msgid "" -"The OpenStack dashboard (horizon) provides a web-based user interface to the " -"various OpenStack components. The dashboard includes an end-user area for " -"users to manage their virtual infrastructure and an admin area for cloud " -"operators to manage the OpenStack environment as a whole." -msgstr "" -"OpenStack kontrol paneli (horizon) çeşitli OpenStack bileşenleri için web " -"tabanlı kullanıcı arayüzü sunar. Kontrol paneli kullanıcılar için sanal alt " -"yapılarını yönetebilecekleri bir son kullanıcı alanı ve bulut " -"yöneticilerinin OpenStack ortamını yönetebildikleri bir yönetici alanı " -"içerir." - -msgid "" -"The OpenStack services themselves should be deployed across multiple servers " -"that do not represent a single point of failure. Ensuring availability can " -"be achieved by placing these services behind highly available load balancers " -"that have multiple OpenStack servers as members." -msgstr "" -"OpenStack'in kendi servisleri tek bir kırılma noktası olmayan birden çok " -"sunucuda kurulmalıdır. Kullanılırlıktan emin olmak için bu servisleri birden " -"çok OpenStack sunucu üyesine sahip yüksek kullanılırlıklı yük " -"dengeleyicilerin arkasına koyabilirsiniz." - -msgid "The REST API" -msgstr "REST API" - -msgid "" -"The Shared File Systems service is persistent storage and can be mounted to " -"any number of client machines. It can also be detached from one instance and " -"attached to another instance without data loss. During this process the data " -"are safe unless the Shared File Systems service itself is changed or removed." -msgstr "" -"Paylaşımlı Dosya Sistemleri servisi kalıcı depolamadır ve istenen sayıda " -"istemci makineye bağlanabilir. Ayrıca veri kaybı olmadan bir sunucudan " -"ayrılıp başka bir sunucuya bağlanabilir. Bu süreçte Paylaşımlı Dosya " -"Sistemleri servisinin kendisi değiştirilmediği ya da kaldırılmadığı sürece " -"veri güvendedir." - -msgid "" -"The Solaris iSCSI driver for OpenStack Block Storage implements blocks as " -"ZFS entities. ZFS is a file system that also has the functionality of a " -"volume manager. This is unlike on a Linux system, where there is a " -"separation of volume manager (LVM) and file system (such as, ext3, ext4, " -"xfs, and btrfs). ZFS has a number of advantages over ext4, including " -"improved data-integrity checking." -msgstr "" -"OpenStack Blok Depolama için Solaris iSCSI sürücüsü blokları ZFS girdileri " -"olarak uygular. ZFS bir birim yönetici işlevselliğine de sahip olan bir " -"dosya sistemidir. Bu birim yönetimi (LVM) ile dosya sistemi (ext3, ext3, " -"xfs, btrfs vs.) ayrımı olan bir Linux sistemi gibi değildir. ZFS'in ext4'e " -"göre bir takım avantajları vardır, geliştirilmiş veri tutarlılığı kontrolü " -"de bunlardan biridir." - -msgid "" -"The ZFS back end for OpenStack Block Storage supports only Solaris-based " -"systems, such as Illumos. While there is a Linux port of ZFS, it is not " -"included in any of the standard Linux distributions, and it has not been " -"tested with OpenStack Block Storage. As with LVM, ZFS does not provide " -"replication across hosts on its own, you need to add a replication solution " -"on top of ZFS if your cloud needs to be able to handle storage-node failures." -msgstr "" -"OpenStack Blok Depolama için ZFS arka ucu yalnızca Illumos gibi Solaris " -"tabanlı sistemleri destekler. ZFS'in bir Linux portu olsa da standart Linux " -"dağıtımlarıyla birlikte gelmez, ve OpenStack Blok Depolama ile test " -"edilmemiştir. LVM ile, ZFS sunucular arasında yedeklemeyi kendi başına " -"sağlamaz, bulut ihtiyaçlarınız depolama düğümü arızalarına dayanıklı olmak " -"zorundaysa ZFS üstüne bir yedekleme çözümü koymalısınız." - -msgid "" -"The `API Specifications `_ define the core actions, capabilities, and mediatypes of " -"the OpenStack API. A client can always depend on the availability of this " -"core API, and implementers are always required to support it in its " -"entirety. Requiring strict adherence to the core API allows clients to rely " -"upon a minimal level of functionality when interacting with multiple " -"implementations of the same API." -msgstr "" -"`API Özellikleri `_ OpenStack API'sinin çekirdek eylemlerini, yeteneklerini ve " -"ortam türlerini tanımlar. Bir istemci her zaman bu çekirden API'nin " -"kullanılırlığına güvenebilir, ve bu API'yi uygulayanlar tamamını desteklemek " -"durumundadır. Çekirdek API'ye sıkı sıkıya bağlılığı gerektirmek aynı API'nin " -"farklı uygulamalarıyla etkileşime geçen istemcilerin asgari düzeyde " -"işlevselliğe sahip olması demektir." - -msgid "" -"The ``glance-api`` part is an abstraction layer that allows a choice of back " -"end. Currently, it supports:" -msgstr "" -"``glance-api`` kısmı bir arka uç seçimine izin veren soyutlama katmanıdır. " -"Şunları destekler:" - -msgid "" -"The ``nova-conductor`` service is horizontally scalable. To make ``nova-" -"conductor`` highly available and fault tolerant, just launch more instances " -"of the ``nova-conductor`` process, either on the same server or across " -"multiple servers." -msgstr "" -"``nova-conductor`` servisi yatay ölçeklenebilirdir. Yüksek kullanılırlıklı " -"ve arızaya dayanıklı bir ``nova-conductor`` için, ``nova-conductor`` " -"sürecindeki sunuculardan aynı sunucuda ya da birden çok sunucuda daha fazla " -"başlatın yeter." - -msgid "" -"The ability to create pools or availability zones for unpredictable " -"workloads should be considered. In some cases, the demand for certain " -"instance types or flavors may not justify individual hardware design. " -"Allocate hardware designs that are capable of servicing the most common " -"instance requests. Adding hardware to the overall architecture can be done " -"later." -msgstr "" -"Beklenmedik iş yükleri için havuzlar veya kullanılırlık bölgeleri oluşturmak " -"göz önüne alınmalıdır. Bazı durumlarda, belirli sunucu türlerine veya " -"niteliklerine duyulan ihtiyaç donanım tasarımıyla eşleşmeyebilir. En yaygın " -"sunucu isteklerini karşılayabilecek donanım tasarımlarını ayırın. Genel " -"mimariye donanım eklemek daha sonra da yapılabilir." - -msgid "" -"The ability to deliver services or products within a flexible time frame is " -"a common business factor when building a cloud. Allowing users to self-" -"provision and gain access to compute, network, and storage resources on-" -"demand may decrease time-to-market for new products and applications." -msgstr "" -"Bulut inşa ederken esnek zaman aralığında servis veya ürünleri " -"yetiştirebilmek genel bir iş etmenidir. Kullanıcıların kendi hazırlıklarıyla " -"ve hesaplama, ağ, ve depolama kaynaklarına ihtiyaçları olduğunda erişim " -"kabiliyetleriyle iş yapmaları yeni ürün ve uygulamaların pazara sürüm " -"süresini azaltabilir." - -msgid "" -"The administrator has more fine-grained control over data distribution and " -"replication strategies." -msgstr "" -"Yöneticinin veri dağıtımı ve yedekleme stratejileri üzerinde daha ince " -"ayrıntılı kontrolü bulunur." - -msgid "" -"The benefits of NFS is low implementation cost due to shared NICs and " -"traditional network components, and a simpler configuration and setup " -"process." -msgstr "" -"NFS'in faydaları paylaşımlı NIC'ler ve geleneksel ağ bileşenleri ile " -"uygulama masraflarının düşük olması ve daha basit yapılandırma ve kurulum " -"sürecidir." - -msgid "" -"The chassis size of the compute node can limit the number of spindles able " -"to be used in a compute node." -msgstr "" -"Hesaplama düğümünün şasi boyutu bir hesaplama düğümünde kullanılabilecek mil " -"sayısını sınırlayabilir." - -msgid "" -"The chosen high availability database solution changes according to the " -"selected database. MySQL, for example, provides several options. Use a " -"replication technology such as Galera for active-active clustering. For " -"active-passive use some form of shared storage. Each of these potential " -"solutions has an impact on the design:" -msgstr "" -"Seçilen yüksek kullanılırlık veritabanı çözümü seçilen veritabanına göre " -"değişir. MySQL örneğin, bir çok seçenek sunar. Etkin-etkin kümeleme için " -"Galera gibi bir çoğaltma teknolojisi kullanın. Etkin-pasif kullanım için bir " -"çeşit paylaşımlı depolama kullanın. Bu çözümlerden her birinin tasarımda " -"belirli bir etkisi vardır:" - -msgid "The cloud controller manages the following services for the cloud:" -msgstr "Bulut kontrol birimi bulut için şu servisleri yönetir:" - -msgid "" -"The cloud controller provides the central management system for OpenStack " -"deployments. Typically, the cloud controller manages authentication and " -"sends messaging to all the systems through a message queue." -msgstr "" -"Bulut kontrol birimi OpenStack kurulumları için merkezi yönetim sistemi " -"sağlar. Genellikle bulut kontrol birimi yetkilendirmeyi yönetir ve bir mesaj " -"kuyruğu aracılığıyla tüm sistemlere mesajlaşma gönderir." - -msgid "" -"The cloud networks are divided into a number of logical zones that support " -"the network traffic flow requirements. We recommend defining at the least " -"four distinct network zones." -msgstr "" -"Bulut ağları ağ trafik akış gereksinimlerini destekleyen bir takım mantıksal " -"bölgelere bölünür. En az dört ayrı ağ bölgesi oluşturmanızı öneriyoruz." - -msgid "" -"The cloud user expects repeatable, dependable, and deterministic processes " -"for launching and deploying cloud resources. You could deliver this through " -"a web-based interface or publicly available API endpoints. All appropriate " -"options for requesting cloud resources must be available through some type " -"of user interface, a command-line interface (CLI), or API endpoints." -msgstr "" -"Bulut kullanıcısı bulut kaynaklarını başlatmak ve kurmak için " -"tekrarlanabilir, güvenilir, ve belirleyici süreçler bekler. Bunu web tabanlı " -"bir arayüz veya genele açık API uç noktaları kullanarak sağlayabilirsiniz. " -"Bulut kaynakları istemekle ilgili kullanılabilir tüm seçenekler bir tür " -"kullanıcı arayüzü aracılığıyla, komut satırı arayüzüyle (CLI) veya API uç " -"noktalarıyla sunulmalıdır." - -msgid "" -"The company runs hardware load balancers and multiple web applications " -"serving their websites and orchestrates environments using combinations of " -"scripts and Puppet. The website generates large amounts of log data daily " -"that requires archiving." -msgstr "" -"Şirket web sitelerini sunan donanımsal yük dengeleyiciler ve bir çok web " -"uygulaması çalıştırır, ortamları betikler ve Puppet karışımı ile orkestre " -"eder. Web site arşivlemeye ihtiyaç duyan günlük bol miktarda kayıt üretir." - -msgid "" -"The concepts supporting OpenStack's authentication and authorization are " -"derived from well-understood and widely used systems of a similar nature. " -"Users have credentials they can use to authenticate, and they can be a " -"member of one or more groups (known as projects or tenants, interchangeably)." -msgstr "" -"OpenStack'in kimlik doğrulama ve yetkilendirmesini destekleyen kavramlar " -"iyice anlaşılmış ve geniş çapta kullanılan aynı doğadaki sistemlerden gelir. " -"Kullanıcıların kimlik doğrulamada kullanabilecekleri kimlik bilgileri olur, " -"ve bir ya da daha fazla grubun üyesi olabilirler (proje veya kiracı diye de " -"bilinir)." - -msgid "" -"The conductor service resolves both of these issues by acting as a proxy for " -"the ``nova-compute`` service. Now, instead of ``nova-compute`` directly " -"accessing the database, it contacts the ``nova-conductor`` service, and " -"``nova-conductor`` accesses the database on ``nova-compute``'s behalf. Since " -"``nova-compute`` no longer has direct access to the database, the security " -"issue is resolved. Additionally, ``nova-conductor`` is a nonblocking " -"service, so requests from all compute nodes are fulfilled in parallel." -msgstr "" -"Orkestra yönetim servisi bu sorunlardan ikisini de ``nova-compute`` servisi " -"için vekil olarak davranarak çözer. Artık ``nova-compute`` veritabanına " -"doğrudan erişmek yerine ``nova-conductor`` servisi ile iletişim kurar, ve " -"``nova-conductor`` veritabanına ``nova-compute``'nin yerine erişir. ``nova-" -"compute`` artık doğrudan veritabanına erişemediğinden, güvenlik sorunu " -"çözülmüş olur. Ek olarak, ``nova-conductor`` engelleyici bir servis " -"olmadığından, tüm hesaplama düğümlerinden gelen istekler paralel olarak " -"işlenebilir." - -msgid "" -"The dashboard is implemented as a Python web application that normally runs " -"in :term:`Apache` ``httpd``. Therefore, you may treat it the same as any " -"other web application, provided it can reach the API servers (including " -"their admin endpoints) over the network." -msgstr "" -"Kontrol paneli normalde :term:`Apache` ``httpd`` çalıştıran bir Python web " -"uygulaması olarak geliştirildi. Yani API sunucularına (yönetici uç noktaları " -"da dahil) ağ üzerinden erişebildiği sürece herhangi bir web uygulaması gibi " -"davranabilirsiniz." - -msgid "" -"The dashboard makes many requests, even more than the API access, so add " -"even more CPU if your dashboard is the main interface for your users." -msgstr "" -"Kontrol paneli birçok istek yapar, API erişiminden bile daha fazla, yani " -"kullanıcılarınız için ana arayüzünüz kontrol paneliyse daha fazla işlemci " -"ekleyin." - -msgid "" -"The data center floor must be able to support the weight of the proposed " -"number of hosts within a rack or set of racks. These factors need to be " -"applied as part of the host density calculation and server hardware " -"selection." -msgstr "" -"Veri merkezi zemini kabindeki veya kabin kümelerindeki hazırlanan " -"sunucuların ağırlığını destekleyebilmelidir. Bu etmenler sunucu yoğunluk " -"hesaplamalarının ve sunuc donanım seçiminin parçası olarak hesaplanmalıdır." - -msgid "" -"The default CPU allocation ratio of 16:1 means that the scheduler allocates " -"up to 16 virtual cores per physical core. For example, if a physical node " -"has 12 cores, the scheduler sees 192 available virtual cores. With typical " -"flavor definitions of 4 virtual cores per instance, this ratio would provide " -"48 instances on a physical node." -msgstr "" -"Öntanımlı CPU ayırma oranı olan 16:1 zamanlayıcının fiziksel çekirdek başına " -"16 sanal çekirdek ayırdığı anlamına gelir. Örneğin, 12 çekirdekli fiziksel " -"bir düğümü, zamanlayıcı 192 sanal çekirdek olarak görür. Genel nitelik " -"tanımlarında olan sunucu başına 4 sanal çekirdek düşünüldüğünde, bu oran " -"fiziksel düğüm başına 48 sunucu demektir." - -msgid "" -"The deployed applications need to continue to function and, more " -"importantly, you must consider the impact on the performance and reliability " -"of the application if a site is unavailable." -msgstr "" -"Kurulu uygulamalar çalışmaya devam etmeli, daha da önemlisi, bir konum " -"kullanılamaz olduğunda uygulamanın başarım ve güvenilirliğine olan etkiyi " -"göz önünde bulundurmalısınız." - -msgid "" -"The deployed applications need to continue to function and, more " -"importantly, you must consider the impact on the performance and reliability " -"of the application when a site is unavailable." -msgstr "" -"Kurulan uygulamaların çalışmaya devam etmesi gereklidir, daha önemlisi, bir " -"konum kullanılamaz olduğunda uygulamanın başarım ve güvenilirliğine etkisini " -"göz önünde bulundurmalısınız." - -msgid "" -"The design will require networking hardware that has the requisite port " -"count." -msgstr "" -"Tasarım zorunlu bağlantı noktası sayısına sahip ağ donanımı gerektirecektir." - -msgid "" -"The edge zone is where network traffic transitions from the cloud overlay or " -"SDN networks into the traditional network environments." -msgstr "" -"Uç bölge trafiğin bulut üst katmanından ya da SDN ağlarından geleneksel ağ " -"ortamlarına geçiş yaptığı yere denir." - -msgid "" -"The example REST interface, presented as a traditional Object Store running " -"on traditional spindles, does not require a high performance caching tier." -msgstr "" -"Örnek REST arayüzü, geleneksel miller üzerinde çalışan, yüksek başarımlı ön " -"bellekleme katmanı gerektirmeyen geleneksel Nesne Depolama sundu." - -msgid "" -"The example below shows a REST interface without a high performance " -"requirement. The following diagram depicts the example architecture:" -msgstr "" -"Aşağıdaki örnek yüksek başarım gereksinimi olmayan bir REST arayüzünü " -"gösterir. Aşağıdaki çizim örnek mimariyi tasvir eder:" - -msgid "" -"The external network is defined as the configuration and components that are " -"required to provide access to cloud resources and workloads, the external " -"network is defined as all the components outside of the cloud edge gateways." -msgstr "" -"Harici ağ bulut kaynaklarına ve iş yüklerine erişim sağlamak için gerekli " -"yapılandırma ve bileşenler olarak tanımlanır, harici ağ bulut kenar " -"geçitleri dışında kalan tüm bileşenler olarak tanımlanır." - -msgid "" -"The figure below depicts an example design for this workload. In this " -"example, a hardware load balancer provides SSL offload functionality and " -"connects to tenant networks in order to reduce address consumption. This " -"load balancer links to the routing architecture as it services the VIP for " -"the application. The router and load balancer use the GRE tunnel ID of the " -"application's tenant network and an IP address within the tenant subnet but " -"outside of the address pool. This is to ensure that the load balancer can " -"communicate with the application's HTTP servers without requiring the " -"consumption of a public IP address." -msgstr "" -"Aşağıdaki şekil bu iş yükü için örnek bir tasarım tasvir eder. Bu örnekte, " -"donanımsal bir yük dengeleyici SSL yükünü alır ve adres tüketimini azaltmak " -"için kiracı ağlara bağlanır. Bu yük dengeleyici uygulama için VIP servis " -"ederken yönlendirme mimarisine bağlanır. Yönlendirici ve yük dengeleyici " -"uygulamanın kiracı ağını GRE tünel kimliğini ve kiracı alt ağındaki IP " -"adresini adres havuzunun dışından kullanır. Bu yük dengeleyicinin " -"uygulamanın HTTP sunucularıyla açık IP adreslerinin tüketimine gerek " -"duymadan iletişim kurabildiğinden emin olmak içindir." - -msgid "" -"The following sections describe business, usage, and performance " -"considerations for customers which will impact cloud architecture design." -msgstr "" -"Aşağıdaki kısımlar müşteriler için bulut mimari tasarımını iş, kullanım, ve " -"başarım göz önüne alınarak tanımlar." - -msgid "" -"The formula for the number of virtual instances on a compute node is " -"``(OR*PC)/VC``, where:" -msgstr "" -"Hesaplama düğümündeki sanal sunucu sayısının formülü ``(OR*PC)/VC``, " -"şöyledir:" - -msgid "" -"The hardware requirements and configuration are similar to those of the High " -"Performance Database example below. In this case, the architecture uses " -"Ceph's Swift-compatible REST interface, features that allow for connecting a " -"caching pool to allow for acceleration of the presented pool." -msgstr "" -"Donanım gereksinimleri ve yapılandırma aşağıdaki Yüksek Başarımlı Veritabanı " -"örneği ile aynıdır. Bu durumda, mimari Ceph'in Swift-uyumlu REST arayüzünü, " -"mevcut havuzun hızlandırılmasına izin veren bir ön bellekleme havuzuna " -"bağlanmayı sağlayan özellikleri kullanır." - -msgid "" -"The importance of security varies based on the type of organization using a " -"cloud. For example, government and financial institutions often have very " -"high security requirements. Security should be implemented according to " -"asset, threat, and vulnerability risk assessment matrices. See `security-" -"requirements`." -msgstr "" -"Güvenliğin önemi bulutu kullanan kurumun türüne bağlı olarak değişir. " -"Örneğin, devlet ve finans enstitüleri genellikle yüksek güvenlik " -"gereksinimlerine ihtiyaç duyar. Güvenlik varlık, tehdit ve kırılganlık risk " -"matrislerine göre uygulanmalıdır. Bknz `security-requirements`." - -msgid "" -"The inclusion of clustering software, such as Corosync or Pacemaker, is " -"primarily determined by the availability of the cloud infrastructure and the " -"complexity of supporting the configuration after it is deployed. The " -"`OpenStack High Availability Guide `_ " -"provides more details on the installation and configuration of Corosync and " -"Pacemaker, should these packages need to be included in the design." -msgstr "" -"Corosync ya da Pacemaker gibi kümeleme yazılımının dahil edilmesine, bulut " -"alt yapısının kullanılabilirliği ve kurulumundan sonra yapılandırmanın " -"desteklenme karmaşıklığına bağlı olarak karar verilir. `OpenStack Yüksek " -"Kullanılırlık Kılavuzu `_ Corosync ve " -"Pacemaker yapılandırması ve kurulumu hakkında - eğer tasarıma dahil " -"edileceklerse - daha fazla ayrıntı verir." - -msgid "" -"The lack of a pre-defined usage model enables the user to run a wide variety " -"of applications without having to know the application requirements in " -"advance. This provides a degree of independence and flexibility that no " -"other cloud scenarios are able to provide." -msgstr "" -"Ön tanımlı bir kullanım modelinin olmayışı kullanıcılara önceden uygulama " -"gereksinimlerini bilmeden çok çeşitli uygulamaları çalıştırma imkanı verir. " -"Bu diğer bulut senaryolarının sağlayamayacağı bir bağımsızlık ve esneklik " -"derecesi sunar." - -msgid "" -"The location of a service may also impact the application or consumer " -"experience. If an application serves differing content to different users, " -"it must properly direct connections to those specific locations. Where " -"appropriate, use a multi-site installation for these situations." -msgstr "" -"Bir servisin konumu da uygulama veya müşteri deneyimini etkileyebilir. " -"Uygulama farklı içeriği farklı kullanıcılara sunarsa, bu belirli konumlara " -"bağlantıları düzgün yönlendirmelidir. Uygun olduğunda, bu gibi durumlar için " -"çoklu konumlu bir kurulum yapın." - -msgid "" -"The logs on the compute nodes, or any server running nova-compute (for " -"example in a hyperconverged architecture), are the primary points for " -"troubleshooting issues with the hypervisor and compute services. " -"Additionally, operating system logs can also provide useful information." -msgstr "" -"Hesaplama düğümlerindeki günlük kayıtları, veya nova-compute çalıştıran " -"herhangi bir sunucu (aşırı yakınsamalı bir mimarideki gibi) hipervizör ve " -"hesaplama servisleriyle ilgili sorun gidermede birincil noktalardır. Ek " -"olarak, işletim sistemi kayıtları da faydalı bilgi sağlayabilir." - -msgid "" -"The main advantage of this option is that it scales to external storage when " -"you require additional storage." -msgstr "" -"Bu seçeneğin temel avantajı ek deoplamaya ihtiyacınız olduğunda harici " -"depolamaya ölçeklenebilmesidir." - -msgid "The main disadvantages to this approach are:" -msgstr "Bu yaklaşımın temel dezavantajları şunlardır:" - -msgid "" -"The main limitation of layer-3 networking is that there is no built-in " -"isolation mechanism comparable to the VLANs in layer-2 networks. " -"Furthermore, the hierarchical nature of IP addresses means that an instance " -"is on the same subnet as its physical host, making migration out of the " -"subnet difficult. For these reasons, network virtualization needs to use IP " -"encapsulation and software at the end hosts. This is for isolation and the " -"separation of the addressing in the virtual layer from the addressing in the " -"physical layer. Other potential disadvantages of layer-3 networking include " -"the need to design an IP addressing scheme rather than relying on the " -"switches to keep track of the MAC addresses automatically, and to configure " -"the interior gateway routing protocol in the switches." -msgstr "" -"Katman-3 ağın temel kısıtlaması katman-2 ağlardaki VLAN'larla " -"karşılaştırılabilecek yerleşik bir yalıtım mekanizması olmamasıdır. Dahası, " -"IP adreslerin sıra düzenli olması sebebiyle bir sunucunun fiziksel sunucuyla " -"aynı alt ağda bulunması gerekeceğinden alt ağdan dışarı göç zorlaşır. Bu " -"sebeplerle, ağ sanallaştırma IP kapsülleme ve uç sunucularda yazılım " -"kullanmak zorundadır. Bu, sanal katmandaki adreslemeyle fiziksel katmandaki " -"adreslemeyi yalıtmak içindir. Katman-3 ağın başka bir dezavantajı da " -"anahtarların MAC adreslerini otomatik takip etmesine bel bağlamak yerine bir " -"IP adresleme şeması tasarlamak gerekliliğidir, ayrıca anahtarlarda bir " -"dahili geçit yönlendirme iletişim kuralı yapılandırılmalıdır." - -msgid "" -"The main reason to use GFO rather than swift is if you also want to support " -"a distributed file system, either to support shared storage live migration " -"or to provide it as a separate service to your end users. If you want to " -"manage your object and file storage within a single system, you should " -"consider GFO." -msgstr "" -"Swift yerine GFO kullanmanın temel sebebi dağıtık bir dosya sistemini " -"paylaşımlı depolama canlı göçünü desteklemek veya son kullanıcılarınıza ayrı " -"bir servis olarak sunmak istediğiniz durumdur. Nesne ve dosya depolamanızı " -"tek bir sistem içinde tutmak isterseniz, GFO kullanmayı düşünmelisiniz." - -msgid "" -"The maintenance function of an operator should be taken into consideration:" -msgstr "Bir işletmenin bakım işlevi dikkate alınmalıdır." - -msgid "" -"The network architecture determines which network hardware will be used. " -"Networking software is determined by the selected networking hardware." -msgstr "" -"Ağ mimarisi hangi ağ donanımının kullanılacağını belirler. Ağ yazılımı " -"seçilen ağ donanımına göre belirlenir." - -msgid "" -"The network design for an OpenStack cluster includes decisions regarding the " -"interconnect needs within the cluster, the need to allow clients to access " -"their resources, and the access requirements for operators to administrate " -"the cluster. You should consider the bandwidth, latency, and reliability of " -"these networks." -msgstr "" -"Bir OpenStack kümesi için ağ tasarımı kümeler arası bağlantı, istemcilerin " -"kaynaklara erişimini sağlama, ve işletenlerin bulutu yönetmeleri için " -"gerekli erişim gereksinimleri gibi kararları içerir. Bu ağların ağ " -"genişliği, gecikme ve güvenilirliklerini göz önüne almalısınız." - -msgid "" -"The network design should encompass a physical and logical network design " -"that can be easily expanded upon. Network hardware should offer the " -"appropriate types of interfaces and speeds that are required by the hardware " -"nodes." -msgstr "" -"Ağ tasarımı kolaylıkla genişleyebilir fiziksel ve mantıksal ağ tasarımını " -"kapsamalıdır. Ağ donanımı donanım düğümleri tarafından ihtiyaç duyulan " -"arayüz türlerini ve hızları sağlayabilmelidir." - -msgid "" -"The network design will be affected by the physical space that is required " -"to provide the requisite port count. A higher port density is preferred, as " -"it leaves more rack space for compute or storage components. This can also " -"lead into considerations about fault domains and power density. Higher " -"density switches are more expensive, therefore it is important not to over " -"design the network." -msgstr "" -"Ağ tasarımı gerekli bağlantı noktası sayısını sağlamak için gerekli fiziksel " -"alan tarafından da etkilenir. Yüksek bağlantı noktası yoğunluğu tercih " -"edilir, çünkü bu hesaplama ve depolama bileşenlerine daha çok kabin alanı " -"bırakır. Bu ayrıca arıza alanları ve güç yoğunluğuyla ilgili etmenlere " -"götürebilir. Yüksek yoğunluklu anahtarlar daha pahalıdır, bu yüzden ağı " -"gereğinden fazla tasrlamamak önemlidir." - -msgid "" -"The network design, in this case, is less dependent on availability and more " -"dependent on being able to handle high bandwidth. As a direct result, it is " -"beneficial to forgo redundant links in favor of bonding those connections. " -"This increases available bandwidth. It is also beneficial to configure all " -"devices in the path, including OpenStack, to generate and pass jumbo frames." -msgstr "" -"Ağ tasarımı, bu durumda, kullanılırlığa daha az bağımlıdır, daha çok yüksek " -"bant genişliğini ele almaya bağımlıdır. Bunun doğrudan bir sonucu olarak, bu " -"bağlantıları bağlamak için yedekli bağlantılara yönelmek faydalıdır. Bu " -"kullanılabilir bant genişliğini artırır. Ayrıca yoldaki tüm aygıtları, " -"OpenStack dahil, jumbo çerçeveleri geçirecek ve üretecek şekilde " -"yapılandırmak faydalı olacaktır." - -msgid "" -"The network hardware selection needs to be supported by the logging, " -"monitoring, and alerting software." -msgstr "" -"Ağ donanımı seçimi günlükleme, izleme ve uyarı yazılımı tarafından " -"desteklenmelidir." - -msgid "" -"The networking hardware must support the proposed network speed, for " -"example: 1 GbE, 10 GbE, or 40 GbE (or even 100 GbE)." -msgstr "" -"Ağ donanımı teklif edilen ağ hızını desteklemelidir, örneğin: 1 GbE, 10 GbE, " -"veya 40 GbE (hatta 100 GbE)." - -msgid "" -"The number of CPU cores, how much RAM, or how much storage a given server " -"delivers." -msgstr "" -"Sunucunun işlemci çekirdek sayısı, RAM miktarı veya ne kadar depola sunduğu." - -msgid "The number of MACs stored in switch tables is limited." -msgstr "Anahtar tablolarında saklanan MAC sayısı sınırlıdır." - -msgid "" -"The number of additional resources you can add to a server before it reaches " -"capacity." -msgstr "Kapasiteye ulaşmadan önce sunucuya ne kadar ek kaynak eklenebileceği." - -msgid "" -"The number of cores that the CPU has also affects your decision. It is " -"common for current CPUs to have up to 24 cores. Additionally, if an Intel " -"CPU supports hyper-threading, those 24 cores are doubled to 48 cores. If you " -"purchase a server that supports multiple CPUs, the number of cores is " -"further multiplied." -msgstr "" -"İşlemcinin sahip olduğu çekirdek sayısıda kararınızı etkiler. Mevcut " -"işlemcilerin 24 çekirdeğe kadar çıkması normaldir. Ek olarak, eğer Intel bir " -"işlemci hyper-threading destekliyorsa, bu 24 çekirdek 48 çekirdeğe katlanır. " -"Birden çok işlemcili bir sunucu alırsanız, çekirdek sayısı daha da " -"artacaktır." - -msgid "" -"The number of processor cores and threads impacts the number of worker " -"threads which can be run on a resource node. Design decisions must relate " -"directly to the service being run on it, as well as provide a balanced " -"infrastructure for all services." -msgstr "" -"İşlemci çekirdek ve iş ipliği sayısı bir kaynak düğümünde kaç iş ipliği " -"çalışabileceğini belirler. Tasarım kararı doğrudan üzerinde çalışacak servis " -"ve tüm servisler için dengeli bir alt yapı sağlayarak ele alınmalıdır." - -msgid "" -"The overlay functionality design includes OpenStack Networking in Open " -"vSwitch GRE tunnel mode. In this case, the layer-3 external routers pair " -"with VRRP, and switches pair with an implementation of MLAG to ensure that " -"you do not lose connectivity with the upstream routing infrastructure." -msgstr "" -"Üst katman işlevi mimarisi Open vSwitch GRE tünel kipinde OpenStack Ağını " -"içerir. Bu durumda, katman-3 harici yönlendiriciler VRRP ile eşleşir, ve " -"anahtarlar üst alt yapıya yönlendirmede bağlantınızı kaybetmemeniz için MLAG " -"uygulamasıyla eşleşirler." - -msgid "" -"The overlay zone is defined as any L3 connectivity between the cloud " -"components and could take the form of SDN solutions such as the neutron " -"overlay solution or 3rd Party SDN solutions." -msgstr "" -"Üst katman bölgesi bulut bileşenleri arasındaki herhangi bir L3 bağlantısı " -"gibi tanımlanır ve neutron üst katman çözümü veya 3. Kişi SDN çözümleri gibi " -"SDN çözümleri biçiminde de olabilir." - -msgid "" -"The power and cooling density requirements might be lower than with blade, " -"sled, or 1U server designs due to lower host density (by using 2U, 3U or " -"even 4U server designs). For data centers with older infrastructure, this " -"might be a desirable feature." -msgstr "" -"Blade, sled veya 1U tasarımlarda sunucu yoğunluğunun az olmasından dolayı " -"(2U, 3U hatta 4U sunucu tasarımlarını kullanarak) güç ve soğutma yoğunluğu " -"gereksinimleri daha az olabilir. Eski alt yapıya sahip veri merkezlerinde bu " -"istenen bir özellik olabilir." - -msgid "" -"The remaining point on bandwidth is the public-facing portion. The ``swift-" -"proxy`` service is stateless, which means that you can easily add more and " -"use HTTP load-balancing methods to share bandwidth and availability between " -"them. More proxies means more bandwidth." -msgstr "" -"Bant genişliği hakkındaki başka bir nokta açık taraftaki yüzle ilgilidir. " -"``swift-proxy`` servisi durumsuzdur, yani kolaylıkla daha fazla " -"ekleyebilirsiniz ve HTTP yük dengeleme yöntemlerini kullanarak bant " -"genişliği ve kullanılabilirliği paylaştırabilirsiniz. Daha fazla vekil daha " -"fazla bant genişliği demektir." - -msgid "" -"The remaining services, responsible for create, read, update and delete " -"(CRUD) operations, metering, monitoring, and so on, are often referred to as " -"the Control Plane. The SLA is likely to dictate a lower uptime requirement " -"for these services." -msgstr "" -"Oluşturma, okuma, güncelleme ve silme (CRUD), ölçme, izleme vs. den sorumlu " -"geri kalan servislere Kontrol Düzlemi denir. SLA bu servisler için " -"muhtemelen daha düşük bir hizmet süresi belirleyecektir." - -msgid "" -"The replicator does not maintain desired levels of replication when other " -"failures occur, such as entire node failures, because most failures are " -"transient." -msgstr "" -"Çoğaltıcı diğer arıza durumlarında istenen yedekleme seviyelerini korumaz, " -"örneğin tüm düğümün arızası durumunda, çünkü çoğu arıza geçicidir." - -msgid "" -"The scheduling services are responsible for determining the compute or " -"storage node where a virtual machine or block storage volume should be " -"created. The scheduling services receive creation requests for these " -"resources from the message queue and then begin the process of determining " -"the appropriate node where the resource should reside. This process is done " -"by applying a series of user-configurable filters against the available " -"collection of nodes." -msgstr "" -"Zamanlama servisleri hesaplama veya depolama düğümünde bir sanal makinenin " -"veya blok depolama biriminin nerde oluşturulması gerektiğine karar verir. " -"Zamanlama servisleri ileti kuyruğundan bu kaynaklar için oluşturma istekleri " -"alırlar ve kaynağın oluşturulması gereken uygun düğüme karar verme sürecini " -"başlatırlar. Bu süreç kullanılabilir düğüm koleksiyonlarına kullanıcı " -"tarafından yapılandırılabilen süzgeçlerin uygulanmasıyla yapılır." - -msgid "" -"The selected server hardware must have the appropriate number of network " -"connections, as well as the right type of network connections, in order to " -"support the proposed architecture. Ensure that, at a minimum, there are at " -"least two diverse network connections coming into each rack." -msgstr "" -"Seçili sunucu donanımı teklif edilen mimariyi destekleyebilmesi için uygun " -"ağ bağlantısı sayısına ve doğru ağ bağlantısı türüne sahip olmalıdır. Emin " -"olmak için her bir kabine en az iki ayrı ağ bağlantısının geldiğinden emin " -"olun." - -msgid "" -"The selection of form factors or architectures affects the selection of " -"server hardware. Ensure that the selected server hardware is configured to " -"support enough storage capacity (or storage expandability) to match the " -"requirements of selected scale-out storage solution. Similarly, the network " -"architecture impacts the server hardware selection and vice versa." -msgstr "" -"Biçim katsayılarının veya mimarilerin seçimi sunucu donanımı seçimini " -"etkiler. Seçili sunucu donanımının seçili depolama ölçeklendirme çözümünün " -"gereksinimleriyle eşleşerek yeterli depolama kapasitesini (veya depolamanın " -"genişleyebilirliğini) destekleyecek şekilde yapılandırıldığından emin olun. " -"Benzer şekilde, ağ mimarisi de sunucu donanımı seçimini etkiler, tersi de " -"doğrudur." - -msgid "" -"The selection of storage hardware determines the overall performance and " -"scalability of a storage-focused OpenStack design architecture. Several " -"factors impact the design process, including:" -msgstr "" -"Depolama donanımının seçimi depolama odaklı bir OpenStack tasarım " -"mimarisinin genel başarımını ve ölçeklenebilirliğini etkiler. Tasarım " -"sürecini bir çok etmen etkiler, bazıları:" - -msgid "" -"The services comprising an OpenStack cloud have a number of requirements " -"that you need to understand in order to be able to meet SLA terms. For " -"example, in order to provide the Compute service a minimum of storage, " -"message queueing and database services are necessary as well as the " -"networking between them." -msgstr "" -"Bir OpenStack bulutundan oluşan servislerin SLA koşullarını karşılamak için " -"anlamanız gereken bir takım gereksinimleri olabilir. Örneğin, Hesaplama " -"servisine asgari depolama sağlamak için, mesaj kuyruklama ve veritabanı " -"servisleri ve aralandaki ağ zorunludur." - -msgid "The solution would consist of the following OpenStack components:" -msgstr "Çözüm şu OpenStack bileşenlerinden oluşurdu:" - -msgid "" -"The supporting network for this type of configuration needs to have a low " -"latency and evenly distributed availability. This workload benefits from " -"having services local to the consumers of the service. Use a multi-site " -"approach as well as deploying many copies of the application to handle load " -"as close as possible to consumers. Since these applications function " -"independently, they do not warrant running overlays to interconnect tenant " -"networks. Overlays also have the drawback of performing poorly with rapid " -"flow setup and may incur too much overhead with large quantities of small " -"packets and therefore we do not recommend them." -msgstr "" -"Bu tür bir yapılandırmada destek ağının düşük gecikmeye ve eşit dağıtılmış " -"kullanılırlığa sahip olması gerekir. Bu iş yükü servislerin servisleri " -"kullananlara yakın olmasından faydalanır. Yükü kullanıcılara olabildiğince " -"yakın tutmak için farklı konumlar yaklaşımı yanında uygulamanın " -"olabildiğince fazla kopyasını dağıtarak muhtemel tüketicilere olabildiğince " -"yakınlaşın. Bu işlevler bağımsız çalıştıklarından, çalışan üst katmanların " -"kiracı ağlarla dahili bağ kuracaklarını garantilemezler. Üst katmanlar ani " -"akış kurulumuyla başarısız çalışabilir ve yüksek sayıda küçük paket olan " -"durumlarda fazla ek yük bindirebilirler bu yüzden tavsiye etmiyoruz." - -msgid "" -"The three main approaches to instance storage are provided in the next few " -"sections." -msgstr "" -"Sunucu depolamayla ilgili üç ana yaklaşım sonraki kısımlarda anlatılmıştır." - -msgid "" -"The type of CPU in your compute node is a very important decision. You must " -"ensure that the CPU supports virtualization by way of *VT-x* for Intel chips " -"and *AMD-v* for AMD chips." -msgstr "" -"Hesaplama düğümünüzdeki işlemcinin türü çok önemli bir karardır. İşlemcinin " -"Intel çipler için *VT-x* ve AMD çipler için *AMD-v* yoluyla sanallaştırmayı " -"desteklediğinden emin olun." - -msgid "" -"The underlay zone is defined as the physical network switching " -"infrastructure that connects the storage, compute and control platforms. " -"There are a large number of potential underlay options available." -msgstr "" -"Altkatman bölgesi depolama, hesaplama ve kontrol platformlarını bağlayan " -"fiziksel ağ anahtarlama alt yapısı olarak tanımlanır. Çok sayıda altkatman " -"seçeneği kullanılabilirdir." - -msgid "" -"The web application instances run from local storage on each of the " -"OpenStack Compute nodes. The web application instances are stateless, " -"meaning that any of the instances can fail and the application will continue " -"to function." -msgstr "" -"Web uygulaması sunucuları her bir OpenStack Hesaplama düğümünde yerel " -"depolamadan çalışıyor. Web uygulaması sunucuları durumsal değil, yani " -"sunuculardan herhangi biri arızalanabilir ve uygulama çalışmaya devam " -"edecektir." - -msgid "" -"There are a small number of OpenStack services which are intended to only " -"run in one place at a time (for example, the ``ceilometer-agent-central`` " -"service) . In order to prevent these services from becoming a single point " -"of failure, they can be controlled by clustering software such as " -"``Pacemaker``." -msgstr "" -"Yalnızca tek bir yerde çalışması gereken küçük sayıda OpenStack servisi " -"bulunur (örneğin, ``ceilometer-agent-central`` servisi). Bu servislerin " -"kırılma noktasına dönüşmesini engellemek için, ``Pacemaker`` gibi kümeleme " -"yazılımı ile kontrol edebilirsiniz." - -msgid "" -"There are a variety of well tested tools, such as Internet Control Message " -"Protocol (ICMP) to monitor and manage traffic." -msgstr "" -"Trafiği izlemek ve yönetmek için İnternet Kontrol İletisi İletişim Kuralı " -"(ICMP) gibi çok iyi denenmiş araçlar bulunur." - -msgid "" -"There are additional risks that arise from configuring the cloud network to " -"take advantage of vendor specific features. One example is multi-link " -"aggregation (MLAG) used to provide redundancy at the aggregator switch level " -"of the network. MLAG is not a standard and, as a result, each vendor has " -"their own proprietary implementation of the feature. MLAG architectures are " -"not interoperable across switch vendors, which leads to vendor lock-in, and " -"can cause delays or inability when upgrading components." -msgstr "" -"Bulut ağını üreticiye özel özellikleri kullanacak şekilde yapılandırmanın ek " -"riskleri vardır. Bir örnek çoklu bağlantı toplama (MLAG) kullanarak ağın " -"anahtar seviyesinde toplama yapmaktır. MLAG standart değildir, yani her " -"üreticinin bu özelliği kendine has uygulaması vardır. MLAG mimariler anahtar " -"üreticiler arasında eş çalıştırılabilir değildir, bu da belli üreticiye " -"kitlenmeye sebep olur, ve bileşenler yükseltilirken gecikmelere veya " -"engellemeye yol açar." - -msgid "" -"There are also output filters available that send event data to many " -"different destinations. Some examples are:" -msgstr "" -"Olay verisini bir çok hedefe gönderek çıktı süzgeçleri de bulunur. Bazı " -"örnekler:" - -msgid "" -"There are currently two schedulers: ``nova-scheduler`` for virtual machines " -"and ``cinder-scheduler`` for block storage volumes. Both schedulers are able " -"to scale horizontally, so for high-availability purposes, or for very large " -"or high-schedule-frequency installations, you should consider running " -"multiple instances of each scheduler. The schedulers all listen to the " -"shared message queue, so no special load balancing is required." -msgstr "" -"Mevcut iki zamanlayıcı bulunur: sanal makineler için ``nova-scheduler`` ve " -"blok depolama birimleri için ``cinder-scheduler``. Her iki zamanlayıcı da " -"yatay ölçeklenebilirdir, yani yüksek kullanılırlık için, veya çok büyük veya " -"yüksek zamanlama sıklığındaki kurulumlar için, her bir zamanlayıcıdan birden " -"fazla çalıştırmayı düşünmelisiniz. Zamanlayıcılar paylaşımlı ileti kuyruğunu " -"dinlerler, yani özel bir yük dengelemeye gerek yoktur." - -msgid "" -"There are many different storage architectures available when designing an " -"OpenStack cloud. The convergence of orchestration and automation within the " -"OpenStack platform enables rapid storage provisioning without the hassle of " -"the traditional manual processes like volume creation and attachment." -msgstr "" -"OpenStack bulutu tasarlarken kullanılabilecek çok sayıda farklı depolama " -"mimarileri bulunur. OpenStack platformundaki orkestrasyon ve otomasyonun " -"birleşimi geleneksel elle işletilen birim oluşturma ve ekleme gibi " -"süreçlerden kurtulmanızı sağlar." - -msgid "" -"There are many reasons an OpenStack network has complex requirements. One " -"main factor is that many components interact at different levels of the " -"system stack. Data flows are also complex." -msgstr "" -"Bir OpenStack ağının karmaşık gereksinimleri olmasının bir çok sebebi " -"vardır. Ana etmenlerden biri de bir çok bileşenin sistem yığınıyla farklı " -"seviyelerde iletişime geçmesidir. Veri akışları da karmaşıktır." - -msgid "" -"There are many services outside the realms of pure OpenStack code which " -"affects the ability of a cloud design to meet SLAs, including:" -msgstr "" -"OpenStack kodu alanı dışında kalan ve bulut tasarımının SLA'ları " -"karşılamasını etkileyebilecek bir çok servis bulunur, bazıları:" - -msgid "" -"There are more subtle design impacts that need to be considered. The " -"selection of certain networking hardware (and the networking software) " -"affects the management tools that can be used. There are exceptions to this; " -"the rise of *open* networking software that supports a range of networking " -"hardware means there are instances where the relationship between networking " -"hardware and networking software are not as tightly defined." -msgstr "" -"Ele alınması gereken göze pek çarpmayan tasarım etkenleri bulunur. Belirli " -"ağ donanımının seçilmesi (ve yazılımının) kullanılabilecek yönetim " -"araçlarını da etkiler. Buna istisnalar da bulunur; geniş aralıkta ağ " -"donanımını destekleyen *açık* ağ yazılımının yükselişi ağ donanımı ile ağ " -"yazılımının sıkı sıkıya tanımlanmadığı durumların da olduğu anlamına geliyor." - -msgid "There are several advantages to this approach:" -msgstr "Bu yaklaşımın bir çok avantajı bulunur:" - -msgid "There are several disadvantages:" -msgstr "Bir çok dezavantaj bulunur:" - -msgid "" -"There are several factors to take into consideration when deciding on " -"whether to use Layer 2 networking architecture or a layer 3 networking " -"architecture. For more information about OpenStack networking concepts, see " -"the `OpenStack Networking `_ section in the OpenStack Networking Guide." -msgstr "" -"Katman 2 ağ mimarisi veya katman 3 ağ mimarisi seçerken hesaba katılması " -"gereken çeşitli etmenler bulunur. OpenStack ağ kavramlarıyla ilgili daha " -"fazla bilgi için OpenStack Ağ Kılavuzundaki `OpenStack Ağı `_ kısmına " -"göz atın." - -msgid "" -"There are several other considerations when designing a network-focused " -"OpenStack cloud." -msgstr "" -"Ağ odaklı OpenStack bulutu tasarlarken ele alınacak bir çok etmen bulunur." - -msgid "" -"There are several reasons a network designed on layer-2 protocols is " -"selected over a network designed on layer-3 protocols. In spite of the " -"difficulties of using a bridge to perform the network role of a router, many " -"vendors, customers, and service providers choose to use Ethernet in as many " -"parts of their networks as possible. The benefits of selecting a layer-2 " -"design are:" -msgstr "" -"Katman-2 iletişim kurallarıyla tasarlanan bir ağın katman-3 ile " -"tasarlananlara tercih edilmesinin çeşitli sebepleri vardır. Bir " -"yönlendiricinin ağ rolünü üstlenmesi için köprü kullanmanın zorluklarına " -"rağmen, çoğu üretici müşteriler ve servis sağlayıcılar ağlarının " -"olabildiğince çok bölümünde Ethernet kullanmayı terchi ederler. Katman-2 " -"tasarımını seçmenin faydaları şunlardır:" - -msgid "" -"There are some specific configuration parameters that are needed to " -"configure Logstash for OpenStack. For example, in order to get Logstash to " -"collect, parse, and send the correct portions of log files to the " -"Elasticsearch server, you need to format the configuration file properly. " -"There are input, output and filter configurations. Input configurations tell " -"Logstash where to recieve data from (log files/forwarders/filebeats/StdIn/" -"Eventlog), output configurations specify where to put the data, and filter " -"configurations define the input contents to forward to the output." -msgstr "" -"OpenStack için Logstash yapılandırılması için gereken belirli yapılandırma " -"parametreleri bulunur. Örneğin Logstash'in günlük kayıtlarının doğru " -"kısımlarını toplayıp ayrıştırıp Elasticsearch sunucusuna gönderebilmesi " -"için, yapılandırma dosyasını düzgün biçimlendirmelisiniz. Girdi, çıktı ve " -"süzgeç yapılandırmaları bulunur. Girdi yapılandırmaları Logstash'e verinin " -"nerden alınacağını söyler (kayıt dosyası/yönlendiriciler/filebeat/StdIn/Olay " -"kaydı), çıktı yapılandırmaları verinin nereye konacağını belirtir, süzgeç " -"yapılandırmaları çıktıya yönlendirilecek girdi içeriğini tanımlar." - -msgid "" -"There are special considerations around erasure coded pools. For example, " -"higher computational requirements and limitations on the operations allowed " -"on an object; erasure coded pools do not support partial writes." -msgstr "" -"Bunlar silinti kodlu havuzlarla ilgili özel etmenlerdir. Örneğin, yüksek " -"hesaplama gereksinimleri ve bir nesne üzerinde izin verilen işlemlerin " -"sınırlandırılması; silinti kodlu havuzlar kısmi yazmaları desteklemez." - -msgid "There are two main advantages:" -msgstr "İki temel avantaj bulunur:" - -msgid "" -"There are two major classes of replicator: the db replicator, which " -"replicates accounts and containers, and the object replicator, which " -"replicates object data." -msgstr "" -"İki ana çoğaltıcı sınıfı bulunur; db çoğaltıcı, hesapları ve kapsayıcıları " -"yedekler, ve nesne çoğaltıcı, nesne verisini yedekler." - -msgid "" -"There are two primary types of traffic flow within a cloud infrastructure, " -"the choice of networking technologies is influenced by the expected loads." -msgstr "" -"Bir bulut altyapısında iki temel trafik akış türü bulunur, ağ " -"teknolojilerinin seçimi beklenen yüke göre yapılır." - -msgid "" -"There are various commodity storage back end technologies available. " -"Depending on your cloud user's needs, you can implement one or many of these " -"technologies in different combinations." -msgstr "" -"Çok çeşitli ticari depolama arka uç teknolojileri bulunur. Bulut " -"kullanıcılarınızın ihtiyaçları doğrultusunda, bu teknolojilerden birini ya " -"da bir kaçını değişik birleştirmelerle uygulayabilirsiniz." - -msgid "" -"There is a trend for cloud operations systems being hosted within the cloud " -"environment. Operators require access to these systems to resolve a major " -"incident." -msgstr "" -"Bulut işletme sistemlerinin bulut ortamında tutulması eğilimi bulunmaktadır. " -"Büyük bir hadise olması durumunda çözüm için işletenlerin bu sistemlere " -"erişebilmesi gerekir." - -msgid "" -"There is no single best practice architecture for the networking hardware " -"supporting an OpenStack cloud. Some of the key factors that will have a " -"major influence on selection of networking hardware include:" -msgstr "" -"OpenStack bulutunu destekleyen ağ donanımı için üstün tek bir yöntem yoktur. " -"Ağ donanımı seçiminde önemli rol oynayacak olan bazı etmenler şunlardır:" - -msgid "" -"Therefore, we recommend that host aggregates are used to separate not only " -"bare metal hosts, but hosts that will provide resources for workloads that " -"require dedicated resources. This said, when workloads are provisioned to " -"NUMA host aggregates, NUMA nodes are chosen at random and vCPUs can float " -"across NUMA nodes on a host. If workloads require SR-IOV or DPDK, they " -"should be assigned to a NUMA node aggregate with hosts that supply the " -"functionality. More importantly, the workload or vCPUs that are executing " -"processes for a workload should be on the same NUMA node due to the limited " -"amount of cross-node memory bandwidth. In all cases, the " -"``NUMATopologyFilter`` must be enabled for ``nova-scheduler``." -msgstr "" -"Yani sunucu takımlarının sadece saf metal sunucuları değil, adanmış " -"kaeynakları gerektiren iş yükleri için kaynak sağlayan sunucuları da ayırmak " -"için kullanılmasını öneriyoruz. Bununla beraber, iş yükleri NUMA sunucu " -"takımlarına hazırlandıklarında, NUMA düğümleri rasgele seçilir ve vCPU'lar " -"sunucu üstündeki NUMA düğümleri arasında kayabilirler. İş yükleri SR-IOV " -"veya DPDK gerektiriyorsa, özelliği destekleyen sunuclardaki NUMA düğüm " -"takımına atanmalıdırlar. Daha da önemlisi, iş yükleri ya da iş yükleri için " -"süreçleri çalıştıran vCPU'lar düğümler arası kısıtlı hafıza bant genişliği " -"yüzünden aynı NUMA düğümünde olmalıdırlar. Her halükarda, ``nova-scheduler`` " -"için ``NUMATopologyFilter`` etkin olmalıdır." - -msgid "" -"These drivers work a little differently than a traditional block storage " -"driver. On an NFS or GlusterFS file system, a single file is created and " -"then mapped as a virtual volume into the instance. This mapping and " -"translation is similar to how OpenStack utilizes QEMU's file-based virtual " -"machines stored in ``/var/lib/nova/instances``." -msgstr "" -"Bu sürücüler geleneksel blok depolama sürücülerine göre biraz farklı " -"çalışırlar. NFS veya GlusterFS dosyas sisteminde, tek bir dosya oluşturulur " -"ve sanal birim olarak sunucuya eşleştirilir. Bu eşleştirme ve çevrim " -"OpenStack'in QEMU'nun ``/var/lib/nova/instances`` dizininde tutulan dosya " -"tabanlı sanal makineleri kullanmasına benzer." - -msgid "" -"These input, output and filter configurations are typically stored in :file:" -"`/etc/logstash/conf.d` but may vary by linux distribution. Separate " -"configuration files should be created for different logging systems such as " -"syslog, Apache, and OpenStack." -msgstr "" -"Bu girdi, çıktı ve süzgeç yapılandırmaları genellikle :file:`/etc/logstash/" -"conf.d` dizininde saklanır ama linux dağıtımına göre bu konum değişebilir. " -"Syslog, Apache, ve OpenStack gibi farklı kayıt sistemleri için ayrı " -"yapılandırma dosyaları oluşturulmalıdır." - -msgid "" -"This application prioritizes the north-south traffic over east-west traffic: " -"the north-south traffic involves customer-facing data." -msgstr "" -"Bu uygulama kuzey-güney trafiği doğu-batı trafiğe göre öncelik edinir: kuzey-" -"güney trafiği müşteriye dönük veriyi içerir." - -msgid "" -"This chapter describes the enterprise and operational factors that impacts " -"the design of an OpenStack cloud." -msgstr "" -"Bu bölüm bir OpenStack bulutun tasarımını etkileyen kurumsal ve işlevsel " -"etmenleri tanımlar." - -msgid "" -"This deployment felt that the spare I/O on the Object Storage proxy server " -"was sufficient and that the Image Delivery portion of glance benefited from " -"being on physical hardware and having good connectivity to the Object " -"Storage back end it was using." -msgstr "" -"Bu kurulum Nesne Depolama vekil sunucusundaki yedek I/O'nun yeterli olduğunu " -"ve glance'in İmaj Aktarım kısmının fiziksel donanımda olmaktan " -"faydalandığını ve kullandığı Nesne Depolamayla iyi bağlantısı olduğunu " -"hissetti." - -msgid "" -"This deployment had an expensive hardware load balancer in its organization. " -"It ran multiple ``nova-api`` and ``swift-proxy`` servers on different " -"physical servers and used the load balancer to switch between them." -msgstr "" -"Bu kurulum kurumundaki pahalı donanımsal yük dengeleyiciye sahipti. Farklı " -"fiziksel sunucularda birden çok ``nova-api`` ve ``swift-proxy``sunucusu " -"çalıştırdı ve yük dengeleyici ile birbirleri arasında geçişi sağladı." - -msgid "" -"This deployment ran central services on a set of servers running KVM. A " -"dedicated VM was created for each service (``nova-scheduler``, rabbitmq, " -"database, etc). This assisted the deployment with scaling because " -"administrators could tune the resources given to each virtual machine based " -"on the load it received (something that was not well understood during " -"installation)." -msgstr "" -"Bu kurulum KVM çalıştıran sunucu kümesi üzerinde merkezi servisleri " -"çalıştırdı. Her bir servis için adanmış bir sanal makine oluşturuldu (``nova-" -"scheduler``, rabbitmq, veritabanı, vs). Bu kurulumun ölçeklenmesinde faydalı " -"oldu çünkü yöneticiler her bir sanal makineye aldığı yük oranında kaynak " -"ayarlayabiliyorlardı (kurulum sırasında tam anlaşılmamış bir şeydi)." - -msgid "" -"This deployment used a central dedicated server to provide the databases for " -"all services. This approach simplified operations by isolating database " -"server updates and allowed for the simple creation of slave database servers " -"for failover." -msgstr "" -"Bu kurulum tüm servislere veritabanı sağlamak için merkezi adanmış bir " -"sunucu kullandı. Bu yaklaşım veritabanı sunucu güncellemelerini yalıtarak " -"işlemleri ve problem halinde kullanılacak köle veritabanı sunucuların " -"oluşturulmasını basitleştirdi." - -msgid "This example uses the following components:" -msgstr "Bu örnek aşağıdaki bileşenleri kullanır:" - -msgid "This guide is a work in progress. Contributions are welcome." -msgstr "Bu kılavuz üstünde hala çalışılıyor. Katkılarınız hoş karşılanır." - -msgid "This guide targets OpenStack Architects for architectural design" -msgstr "Bu kılavuz OpenStack Mimarlarını mimari tasarım için hedefler" - -msgid "" -"This is not an issue for top of rack (ToR) switches. This may be an issue " -"for spine switches in a leaf and spine fabric, or end of row (EoR) switches." -msgstr "" -"Bu kabin üstü (ToR) anahtarlar için sorun değildir. Bu yaprak ve omurga " -"iskeletindeki, veya sıra sonundaki (EoR) anahtarlar için sorun olabilir." - -msgid "" -"This list expands upon the potential impacts for including a particular " -"storage architecture (and corresponding storage hardware) into the design " -"for a general purpose OpenStack cloud:" -msgstr "" -"Bu liste genel amaçlı bir OpenStack bulut tasarımına belirli bir depolama " -"mimarisini (ve ilişkili depolama donanımını) katmanın potansiyel etkilerini " -"genişletir." - -msgid "" -"This list of open source file-level shared storage solutions is not " -"exhaustive. Your organization may already have deployed a file-level shared " -"storage solution that you can use." -msgstr "" -"Bu açık kaynak dosya-seviyesi paylaşım depolama çözümleri kapsamlı değil. " -"Kurumunuz zaten kullanabileceğiniz dosya seviyesinde paylaşımlı depolama " -"çözümü kurmuş olabilir." - -msgid "" -"This may also require a CMP that can determine which cloud can most " -"efficiently run which types of workloads." -msgstr "" -"Bu ayrıca hangi bulutun ne tür iş yüklerini etkin çalıştırabildiğini " -"tanımlayabilen bir CMP gerektirebilir." - -msgid "" -"This may cause issues for organizations that have preferred vendor policies " -"or concerns with support and hardware warranties of non-tier 1 vendors." -msgstr "" -"Bu da belirli üretici ilkeleri olan veya birinci kat olmayan üreticilerle " -"ilgili donanım garantisi ve desteği endişeleri olan kurumlar için sorun " -"yaratabilir." - -msgid "" -"This section describes operational factors affecting the design of an " -"OpenStack cloud." -msgstr "" -"Bu kısım bir OpenStack bulutunun tasarımını etkileyen işlevsel etmenleri " -"tanımlar." - -msgid "" -"This section describes some of the choices you need to consider when " -"designing and building your compute nodes. Compute nodes form the resource " -"core of the OpenStack Compute cloud, providing the processing, memory, " -"network and storage resources to run instances." -msgstr "" -"Bu kısım hesaplama düğümlerinizi tasarlarken ve inşa ederken hesaba katmanız " -"gereken bazı seçimleri tanımlar. Hesaplama düğümleri OpenStack Hesaplama " -"bulutunun kaynak çekirdeğini biçimlendirir, sunucularınız çalıştırmak için " -"işleme, hafıza, ağ ve depolama kaynaklarını sağlar." - -msgid "" -"This system can provide additional performance. For example, in the database " -"example below, a portion of the SSD pool can act as a block device to the " -"Database server. In the high performance analytics example, the inline SSD " -"cache layer accelerates the REST interface." -msgstr "" -"Bu sistem ek başarım sağlayabilir. Örneğin aşağıdaki veritabanı örneğinde " -"SSD havuzunun bir kısmı Veritabanı sunucusu için blok aygıtı olarak " -"davranabilir. Yüksek başarımlı çözümleme örneğinde, SSD önbellek katmanı " -"REST arayüzünü hızlandırır." - -msgid "Throughput" -msgstr "İşlem hacmi" - -msgid "" -"Time synchronization is a critical element to ensure continued operation of " -"OpenStack components. Ensuring that all components have the correct time is " -"necessary to avoid errors in instance scheduling, replication of objects in " -"the object store, and matching log timestamps for debugging." -msgstr "" -"Zaman eşzamanlama OpenStack bileşenlerinin çalışması için ciddi öneme " -"sahiptir. Tüm bileşenlerin doğru zamana sahip olduğundan emin olmak sunucu " -"zamanlamada, nesnelerin nesne deposunda yedeklenmesinde, ve günlük " -"kayıtlarının hata ayıklama için zaman damgalarının eşleştirilmesinde " -"önemlidir." - -msgid "Time-to-market" -msgstr "Pazara sürme süresi" - -msgid "To calculate IOPS for a single drive you could use:" -msgstr "Tek bir sürücü için IOPS hesaplamak için şunu kullanabilirsiniz:" - -msgid "To calculate maximum IOPS for a disk array:" -msgstr "Bir disk dizisi için azami IOPS hesaplamak için:" - -msgid "" -"To deploy your storage by using only commodity hardware, you can use a " -"number of open-source packages, as described in :ref:" -"`table_persistent_file_storage`." -msgstr "" -"Depolamanızı yalnızca ticari donanımla kurmak için, :ref:" -"`table_persistent_file_storage` tablosunda tanımlandığı gibi bir takım açık " -"kaynak paketleri kullanabilirsiniz." - -msgid "" -"To design, deploy, and configure OpenStack, administrators must understand " -"the logical architecture. OpenStack modules are one of the following types:" -msgstr "" -"OpenStack tasarlamak, kurmak ve yapılandırmak için yöneticiler mantıksal " -"mimariyi anlamalıdır. OpenStack modülleri şu türlerden birindedir:" - -msgid "" -"To effectively run cloud installations, initial downtime planning includes " -"creating processes and architectures that support planned maintenance and " -"unplanned system faults." -msgstr "" -"Bulut kurulumlarını etkin şekilde çalıştırmak için, arıza süresi planlama " -"planlı bakım ve plansız sistem hatalarını destekleyen mimariler ve süreçler " -"oluşturmayı içerir." - -msgid "" -"To ensure access to nodes within the cloud is not interrupted, we recommend " -"that the network architecture identifies any single points of failure and " -"provides some level of redundancy or fault tolerance. The network " -"infrastructure often involves use of networking protocols such as LACP, VRRP " -"or others to achieve a highly available network connection. It is also " -"important to consider the networking implications on API availability. We " -"recommend a load balancing solution is designed within the network " -"architecture to ensure that the APIs and potentially other services in the " -"cloud are highly available." -msgstr "" -"Buluttaki düğümlere erişimin kesilmediğinden emin olmak için, ağ mimarisinin " -"tüm kırılma noktalarını tanımladığından ve belirli seviyede yedekleme veya " -"hata toleransı sağladığından emin olunmasını öneriyoruz. Ağ mimarisi " -"çoğunlukla LACP, VRRP veya diğerleri gibi ağ iletişim kuralları kullanarak " -"yüksek kullanılırlıklı ağ bağlantıları elde eder. Ağ durumunun API " -"kullanılırlığına etkisi de göz önünde bulundurulmalıdır. API ve diğer " -"servislerin yüksek kullanılırlığı için bir yük dengeleme çözümünün de " -"tasarlanmasını öneriyoruz." - -msgid "" -"To obtain greater than dual-socket support in a 1U rack-mount form factor, " -"customers need to buy their systems from Original Design Manufacturers " -"(ODMs) or second-tier manufacturers." -msgstr "" -"1U kabine-bağlı biçim katsayısında çift-soket desteğinden fazlasını elde " -"etmek için, müşteriler sistemlerini Asıl Tasarım Üreticilerinden (ODM'ler) " -"ya da ikinci katman üreticilerden almalıdırlar." - -msgid "" -"To segregate traffic, allow applications to create a private tenant network " -"for database and storage network traffic. Use a public network for services " -"that require direct client access from the Internet. Upon segregating the " -"traffic, consider :term:`quality of service (QoS)` and security to ensure " -"each network has the required level of service." -msgstr "" -"Trafiği ayırmak için, uygulamaların depolama ve veritabanı trafiği için özel " -"kiracı ağı oluşturmalarına izin verin. İnternetten doğrudan istemci " -"erişimine izin gerektiren servisler için açık bir ağ kullanın. Trafiği " -"ayırdıktan sonra, her ağın gerekli servis seviyesine sahip olduğundan emin " -"olmak için :term:`servis kalitesini (QoS)` göz önüne alın." - -msgid "Tolerant to rack level failure." -msgstr "Kabin seviyesinde arızalara dayanıklılık." - -msgid "" -"Tracks current information about users and instances, for example, in a " -"database, typically one database instance managed per service" -msgstr "" -"Kullanıcılar ve sunucularla ilgili mevcut bilgiyi takip eder, örneğin bir " -"veritabanında, genellikle servis başına bir veritabanı sunucusu yönetilir" - -msgid "" -"Traditionally, replication has been the best method of protecting object " -"store implementations. A variety of replication methods exist in storage " -"architectures, for example synchronous and asynchronous mirroring. Most " -"object stores and back-end storage systems implement methods for replication " -"at the storage subsystem layer. Object stores also tailor replication " -"techniques to fit a cloud's requirements." -msgstr "" -"Geleneksel olarak, çoğaltma, nesne depolama uygulamalarını korumanın en iyi " -"yöntemi olmuştur. Depolama mimarilerinde bir takım çoğaltma yöntemi vardr, " -"örneğin senkron ya da asenkron yansılama. Çoğu nesne depolama ve arka uç " -"depolama sistemleri deoplama alt sistem katmanında çoğaltma yöntemlerini " -"uygularlar. Nesne depoları ayrıca çoğaltma tekniklerini bulut " -"gereksinimlerine uyacak şekilde uydururlar." - -msgid "Traffic flow" -msgstr "Trafik akışı" - -msgid "Underlay" -msgstr "Altkatman" - -msgid "" -"Upgrading, patching, and changing configuration items may require downtime " -"for some services. Stopping services that form the Control Plane may not " -"impact the Data Plane. Live-migration of Compute instances may be required " -"to perform any actions that require downtime to Data Plane components." -msgstr "" -"Yükseltme, yamalama, ve yapılandırma ögelerinin değiştirilmesi bazı " -"servisler için kesinti zamanı gerektirebilir. Kontrol Düzlemini oluşturan " -"servisleri durdurmak Veri Düzlemini etkilemeyebilir. Veri Düzlemi " -"bileşenlerinin kesintisini gerektiren herhangi bir eylemde Hesaplama " -"sunucularının canlı göçü gerekli olabilir." - -msgid "Usage" -msgstr "Kullanım" - -msgid "" -"Use External Border Gateway Protocol (eBGP) to connect to the Internet up-" -"link." -msgstr "" -"İnternet bağlantısına bağlanmak için Harici Sınır Geçit İletişim Kuralı " -"(eBGP) kullanın." - -msgid "" -"Use Internal Border Gateway Protocol (iBGP) to flatten the internal traffic " -"on the layer-3 mesh." -msgstr "" -"Dahili trafiği katman-3 örgüsünde düzleştirmek için Dahili Sınır Geçit " -"İletişim Kuralı (iBGP) kullanın." - -msgid "Use an external load balancer." -msgstr "Harici yük dengeleyici kullan." - -msgid "Use cases" -msgstr "Kullanım durumları" - -msgid "" -"Use hierarchical addressing because it is the only viable option to scale a " -"network ecosystem." -msgstr "" -"Sıra düzenli adresleme kullanın çünkü bir ağ ekosistemini ölçeklemek için " -"uygulanabilir tek seçenek odur." - -msgid "" -"Use of DAS impacts the server hardware choice and affects host density, " -"instance density, power density, OS-hypervisor, and management tools." -msgstr "" -"DAS kullanımı sunucu donanımı seçimini ve sunucu yoğunluğu, güç yoğunluğu, " -"OS-hipervizörü, ve yönetim araçlarını etiler" - -msgid "Use of the network can decrease performance." -msgstr "Ağın kullanımı başarımı düşürebilir." - -msgid "Use traffic shaping for performance tuning." -msgstr "Başarım artırma için trafik şekillendirmeyi kullanın." - -msgid "" -"Use virtual networking to isolate instance service network traffic from the " -"management and internal network traffic." -msgstr "" -"Sanal ağ kullanarak sunucu servis ağını yönetim ve dahili ağ trafiğinden " -"ayırın." - -msgid "User dashboard" -msgstr "Kullanıcı kontrol paneli" - -msgid "" -"User requirements for high availability and cost considerations influence " -"the level of network hardware redundancy. Network redundancy can be achieved " -"by adding redundant power supplies or paired switches." -msgstr "" -"Yüksek kullanılırlık ve masraf etmenleri için kullanıcı gereksinimleri ağ " -"donanımı yedekliliğinin seviyesini etkiler. Ağ yedekliliği eşleşen " -"anahtarlar veya yedekli güç kaynakları ekleyerek elde edilebilir." - -msgid "User specification in initial request" -msgstr "İlk istekte kullanıcı tanımı" - -msgid "" -"Users interact with the Shared File Systems service by mounting remote file " -"systems on their instances with the following usage of those systems for " -"file storing and exchange. The Shared File Systems service provides shares " -"which is a remote, mountable file system. You can mount a share and access a " -"share from several hosts by several users at a time. With shares, you can " -"also:" -msgstr "" -"Kullanıcılar Paylaşımlı Dosya Sistemleri servisi ile uzak dosya sistemlerini " -"kendi sunucularına bu sistemlerin şu şekilde, dosya depolama ve değişimi " -"için kullanmak için bağlayarak etkileşirler. Paylaşımlı Dosya Sistemleri " -"servisi uzak, bağlanabilir dosya sistemi olan paylaşımlar sağlar. Bir " -"paylaşımı bağlayabilir ve bir çok sunucudan bir çok kullanıcı ile aynı anda " -"erişebilirsiniz. Paylaşımlarla ayrıca şunları yapabilirsiniz:" - -msgid "" -"Users will indicate different needs for their cloud architecture. Some may " -"need fast access to many objects that do not change often, or want to set a " -"time-to-live (TTL) value on a file. Others may access only storage that is " -"mounted with the file system itself, but want it to be replicated instantly " -"when starting a new instance. For other systems, ephemeral storage is the " -"preferred choice. When you select :term:`storage back ends `, consider the following questions from user's perspective:" -msgstr "" -"Kullanıcılar bulut ihtiyaçları için farklı gereksinimler belirteceklerdir. " -"Bazıları bir sürü pek fazla değişmeyen nesneye hızlı erişim isteyecek, ya da " -"bir dosyaya yaşam süresi (TTL) değeri ayarlamak isteyecek. Diğerleri " -"yalnızca dosya sistemine bağlı depolamaya erişim isteyebilir, ama yeni bir " -"sunucu başlatırken anında kopyalanmasını isteyebilir. Diğer sistemler için " -"geçici deoplama tercih edilen çözümdür. :term:`Depolama arka uçlarını " -"` seçerken kullanıcının bakış açısına göre şu soruları " -"yanıtlayın:" - -msgid "" -"Users with a persistent storage mechanism for objects like images and video." -msgstr "" -"Resimler ve videolar gibi nesneler için geçici depolama mekanizması olan " -"kullanıcılar." - -msgid "Uses any traditional file system to store the images as files." -msgstr "" -"İmajları dosya olarak kaydetmek için herhangi bir geleneksel dosya sistemini " -"kullanır." - -msgid "" -"Using Ceph as an applicable example, a potential architecture would have the " -"following requirements:" -msgstr "" -"Uygulanabilir bir örnek olarak Ceph kullanılsa, muhtemel bir mimari şu " -"gereksinimlere sahip olurdu:" - -msgid "" -"Using a scale-out storage solution with direct-attached storage (DAS) in the " -"servers is well suited for a general purpose OpenStack cloud. Cloud services " -"requirements determine your choice of scale-out solution. You need to " -"determine if a single, highly expandable and highly vertical, scalable, " -"centralized storage array is suitable for your design. After determining an " -"approach, select the storage hardware based on this criteria." -msgstr "" -"Sunucularda doğrudan ekli depolamaya (DAS) sahip bir ölçekleme çözümü " -"kullanmak genel amaçlı bir OpenStack bulutu için uygundur. Bulut servisi " -"gereksinimleri ölçekleme çözümünüzü belirler. Tek bir genişleyebilir ve " -"dikey, ölçeklenebilir, merkezi bir depolama dizisinin tasarımınıza uygun " -"olup olmadığına karar vermelisiniz. Bir yaklaşım belirledikten sonra, bu " -"kritere göre bir depolama donanımı seçin." - -msgid "" -"Using an SSD cache layer, you can present block devices directly to " -"hypervisors or instances. The REST interface can also use the SSD cache " -"systems as an inline cache." -msgstr "" -"Bir SSD önbellek katmanı kullanarak, blok aygıtları doğrudan hipervizörlere " -"veya sunuculara sunabilirsiniz. REST arayüzü ayrıca SSD önbellek " -"sistemlerini de satıriçi önbelleği olarak kullanabilir." - -msgid "" -"Using native OpenStack tools can help improve performance. For example, you " -"can use Telemetry to measure performance and the Orchestration service " -"(heat) to react to changes in demand." -msgstr "" -"Orjinal OpenStack araçlarını kullanmak başarımı artırabilir. Örneğin, " -"Telemetri ile başarım ölçebilir Orkestrasyon servisi (heat) ile taleplerdeki " -"değişikliklere tepki verebilirsiniz." - -msgid "Using tunable networking components" -msgstr "Ayarlanabilir ağ bileşenlerinin kullanılması" - -msgid "VC" -msgstr "VC" - -msgid "VLANs are an easy mechanism for isolating networks." -msgstr "VLAN'lar ağları yalıtmak için kolay bir yöntem sunarlar." - -msgid "VM is terminated" -msgstr "VM sonlandırılınca" - -msgid "View usage of share resources." -msgstr "Paylaşım kaynaklarının kullanımını görüntüle." - -msgid "" -"We recommend deploying high performing storage solutions such as SSD drives " -"or flash storage systems for applications requiring additional performance " -"out of Block Storage devices." -msgstr "" -"Blok Depoama aygıtlarından ek başarım bekleyen uygulamalar için SSD aygıtlar " -"veya flash depolama sistemleri gibi yüksek başarımlı depolama çözümleri " -"kurmanızı öneriyoruz." - -msgid "" -"We recommend leveraging existing monitoring systems to see if they are able " -"to effectively monitor an OpenStack environment." -msgstr "" -"Mevcut izleme sistemlerini tetikleyerek OpenStack ortamını etkin şekilde " -"izleyip izlemediklerine bakmanızı öneriyoruz." - -msgid "" -"We recommend that data be encrypted both in transit and at-rest. To this " -"end, carefully select disks, appliances, and software. Do not assume these " -"features are included with all storage solutions." -msgstr "" -"Verinin hem aktarımda hem de dururken şifreli olmasını öneriyoruz. Diskleri, " -"gereçleri ve yazılımları dikkatli seçin. Bu özelliklerin tüm depolama " -"çözümlerinde dahil olduğunu varsaymayın." - -msgid "" -"We recommend that you choose the option operators are most familiar with. " -"NFS is the easiest to set up and there is extensive community knowledge " -"about it." -msgstr "" -"İşletmenlerin daha aşina oldukları seçenekle devam etmenizi öneriyoruz. NFS " -"kurulumu en kolay olandır ve geniş topluluk bilgisi sunar." - -msgid "" -"We recommend that you use a fast NIC, such as 10 GB. You can also choose to " -"use two 10 GB NICs and bond them together. While you might not be able to " -"get a full bonded 20 GB speed, different transmission streams use different " -"NICs. For example, if the cloud controller transfers two images, each image " -"uses a different NIC and gets a full 10 GB of bandwidth." -msgstr "" -"Hızlı bir NIC kullanmanızı öneriyoruz, örneğin 10 GB. İki 10 GB NIC kullanıp " -"bağlamayı da tercih edebilirsiniz. Tam bağlı 20 GB hıza erişemeseniz de, " -"farklı aktarım akışları farklı NIC'leri kullanacaktır. Örneğin bulut kontrol " -"birimi iki imajı aktarıyorsa, her bir imaj farklı bir NIC kullanarak tam 10 " -"GB bant genişliği kullanabilir." - -msgid "" -"We recommend using cloud orchestration tools for managing a diverse " -"portfolio of systems and applications across multiple cloud platforms." -msgstr "" -"Birden çok bulut platformuna yayılan çok çeşitli sistemleri yönetmek için " -"bulut orkestrasyon araçları kullanmanızı öneriyoruz." - -msgid "Web scale cloud" -msgstr "Web ölçekli bulut" - -msgid "" -"Web-scale or development clouds where storage is typically ephemeral in " -"nature" -msgstr "" -"Depolamanın doğası gereği geçici olduğu web ölçekli veya geliştirme bulutları" - -msgid "" -"Weigh these considerations against each other to determine the best design " -"for the desired purpose. For example, increasing server density means " -"sacrificing resource capacity or expandability. It also can decrease " -"availability and increase the chance of noisy neighbor issues. Increasing " -"resource capacity and expandability can increase cost but decrease server " -"density. Decreasing cost often means decreasing supportability, " -"availability, server density, resource capacity, and expandability." -msgstr "" -"İstenen amaca göre en iyi tasarım için bu etmenleri tartın. Örneğin, sunucu " -"yoğunluğunu artırmak demek kaynak kapasitesinden veya genişleyebilirlikten " -"ödün vermek demektir. Ayrıca kullanılırlığı azaltabilir ve daha çok " -"gürültülü komşu sorunları yaratabilir. Kaynak kapasitesi ve " -"genişleyebilirliği artırmak masraflı olabilir ama sunucu yoğunluğunu " -"azaltır. Masrafı azaltmak çoğu zaman desteklenebilirliği, kullanılırlığı, " -"sunucu yoğunluğunu, kaynak kapasitesini ve genişleyebilirliği azaltmak " -"demektir." - -msgid "What OpenStack features and enhancements does the cinder driver enable?" -msgstr "" -"Cinder sürücüsü hangi OpenStack özelliklerini ve iyileştirmelerini " -"etkinleştiriyor?" - -msgid "What about SSD? DRAM SSD?" -msgstr "Peki ya SSD? DRAM SSD?" - -msgid "What are my workloads?" -msgstr "İş yüklerim neler?" - -msgid "What is my company currently using and can I use it with OpenStack?" -msgstr "Şirketim şu an ne kullanıyor ve bunu OpenStack ile kullanabilir miyim?" - -msgid "What is my forecast for the scaling of storage for compute?" -msgstr "Hesaplama için depolamada ilerisi için ölçekleme öngörüm nedir?" - -msgid "What is the desired attachment method: NFS, iSCSI, FC, or other?" -msgstr "" -"Tercih edilen ekleme yöntemi nedir: NFS, iSCSI, FC, veya başka bir şey?" - -msgid "" -"What is the level of support provided by the vendor within the community?" -msgstr "Üreticinin topluluk içinde sağladığı destek seviyesi nedir?" - -msgid "What storage is my enterprise currently using? Can it be re-purposed?" -msgstr "Kurumum şu an hangi depolamayı kullanıyor? Yeniden tasarlanabilir mi?" - -msgid "" -"What type of performance do I need in regards to IOPS? Total IOPS and IOPS " -"per instance? Do I have applications with IOPS SLAs?" -msgstr "" -"IOPS bakımından nasıl bir başarıma ihtiyacım var? Toplam IOPS ve sunucu " -"başına IOPS? IOPS SLA'ları olan uygulamalarım var mı?" - -msgid "" -"When CPU pinning is requested for for a guest, it is assumed there is no " -"overcommit (or, an overcommit ratio of 1.0). When dedicated resourcing is " -"not requested for a workload, the normal overcommit ratios are applied." -msgstr "" -"Bir misafir için işlemci sabitleme istenildiğinde, kaynak aşımı olmadığı " -"varsayılır (veyea 1.0 oranında kaynak aşımı denebilir). Bir iş yükü için " -"adanmış kaynaklama istenmediğinde, normal kaynak aşım oranları uygulanır." - -msgid "" -"When a user uploads and stores content, that content moves into the " -"OpenStack installation. When users download this content, the content moves " -"out from the OpenStack installation. Because this service operates primarily " -"as a backup, most of the traffic moves southbound into the environment. In " -"this situation, it benefits you to configure a network to be asymmetrically " -"downstream because the traffic that enters the OpenStack installation is " -"greater than the traffic that leaves the installation." -msgstr "" -"Kullanıcı içerik yüklediğinde ve kaydettiğinde, bu içerik OpenStack " -"kurulumuna taşınır. Kullanıcılar içeriği indirdiklerinde, içerik OpenStack " -"kurulumundan dışarı taşınır. Bu servis birincil olarak yedekleme için servis " -"vereceğinden, çoğu trafik güney taraflı olarak ortama doğru taşınır. Bu " -"durumda, ağı asimetrik aşağı akışlı yapılandırmak faydalıdır çünkü OpenStack " -"kurulumuna doğru giren trafik kurulumu terk eden trafikten büyüktür. " - -msgid "" -"When architecting an OpenStack cloud, as part of the planning process, you " -"must not only determine what hardware to utilize but whether compute " -"resources will be provided in a single pool or in multiple pools or " -"availability zones. You should consider if the cloud will provide distinctly " -"different profiles for compute." -msgstr "" -"OpenStack bulutu imar ederken, planlama sürecinin bir parçası olarak hangi " -"donanımın kullanılacağının yanı sıra hesaplama havuzlarının tek bir havuzda " -"mı birden çok havuzda ya da kullanılırlık bölgesinde mi olacağına karar " -"vermeniz gerekir. Bulutun hesaplama için farklı profiller sağlayıp " -"sağlamayacağına karar vermelisiniz." - -msgid "" -"When attempting to deploy logging and monitoring facilities to a centralized " -"location, care must be taken with the load placed on the inter-site " -"networking links" -msgstr "" -"Merkezi bir konuma günlükleme ve izleme kurulumuna teşebbüs edilirken, " -"konumlar arası bağlantıya gelecek yük hesaba katılmalıdır" - -msgid "" -"When designing a OpenStack cloud compute server architecture, you must " -"decide whether you intend to scale up or scale out. Selecting a smaller " -"number of larger hosts, or a larger number of smaller hosts, depends on a " -"combination of factors: cost, power, cooling, physical rack and floor space, " -"support-warranty, and manageability. Typically, the scale out model has been " -"popular for OpenStack because it reduces the number of possible failure " -"domains by spreading workloads across more infrastructure. However, the " -"downside is the cost of additional servers and the datacenter resources " -"needed to power, network, and cool the servers." -msgstr "" -"Bir OpenStack bulut hesaplama sunucusu mimarisi tasarlarken yapacağınız " -"ölçeklemenin yönüne karar vermelisiniz. Az sayıda daha büyük sunucu seçmek " -"veya daha fazla küçük sunucuyla devam etmek, bir çok etmenin birleşimine " -"bağlıdır: masraf, güç, soğutma, fiziksel kabin ve zemin alanı, destek-" -"garanti, ve yönetilebilirlik. Genellikle sayıca artırım OpenStack için " -"popüler olmuştur çünkü iş yükünü daha fazla alt yapıya dağıtarak arıza " -"alanlarının sayısını azaltır. Eksi tarafı ek sunucuların fiyatı ve güç, ağ " -"ve soğutma isteyen veri merkezi kaynaklarıdır." - -msgid "" -"When designing a network architecture, the traffic patterns of an " -"application heavily influence the allocation of total bandwidth and the " -"number of links that you use to send and receive traffic. Applications that " -"provide file storage for customers allocate bandwidth and links to favor " -"incoming traffic; whereas video streaming applications allocate bandwidth " -"and links to favor outgoing traffic." -msgstr "" -"Bir ağ mimarisi tasarlarken bir uygulamanın trafik kalıpları trafik alıp " -"göndermek için kullandığınız toplam bant genişliği ve bağlantı sayısını " -"çokça etkiler. Müşterileri için dosya depolama sağlayan uygulamalar yoğun " -"gelen trafiğe uygun bant genişliği ve bağlantılar ayırır; bunun gibi video " -"aktarım yapan uygulamalar ise dışarı giden trafiğe uygun bant genişliği ve " -"bağlantılar ayırır." - -msgid "" -"When designing an OpenStack cloud, it is important to consider the needs " -"dictated by the :term:`Service Level Agreement (SLA)`. This includes the " -"core services required to maintain availability of running Compute service " -"instances, networks, storage, and additional services running on top of " -"those resources. These services are often referred to as the Data Plane " -"services, and are generally expected to be available all the time." -msgstr "" -"Bir OpenStack bulutu tasarlarken, :term:`Servis Seviyesi Anlaşması (SLA)` " -"tarafından istenen ihtiyaçlar göz önüne alınmalıdır. Bu çalışan Hesaplama " -"servisi sunuclarının, depolamanın ve bu servislerin üstüne çalışan ek " -"servislerin kullanılırlığının sağlayan çekirdek servisleri içerir. Bu " -"servisler genellikle Veri Düzlemi servisleri olarak adlandırılır, ve " -"genellikle her zaman kullanılabilir olmaları beklenir." - -msgid "" -"When designing compute resource pools, consider the number of processors, " -"amount of memory, network requirements, the quantity of storage required for " -"each hypervisor, and any requirements for bare metal hosts provisioned " -"through ironic." -msgstr "" -"Hesaplama kaynak havuzları tasarlarken, işlemci sayısını, hafıza miktarını, " -"ağ gereksinimlerini, her bir hipervizör için gereken depolama miktarını, ve " -"ironic üzerinden hazırlanan metal istemciler için gereksinimleri göz önüne " -"alın." - -msgid "" -"When designing your cluster, you must consider durability and availability " -"which is dependent on the spread and placement of your data, rather than the " -"reliability of the hardware." -msgstr "" -"Kümenizi tasarlarken, dayanıklılık ve kullanılırlığı da göz önüne " -"almalısınız, bu da donanımın güvenilirliğinden ziyade verinizin " -"yerleştirmesine ve dağıtımına bağlıdır." - -msgid "" -"When running embedded object store methods, ensure that you do not instigate " -"extra data replication as this may cause performance issues." -msgstr "" -"Gömülü nesne depolama yöntemleri kullanılırken, ek veri çoğaltma " -"başlatmadığınızdan emin olun, bu başarım sorunlarına yol açabilir." - -msgid "" -"When selecting a processor, compare features and performance " -"characteristics. Some processors include features specific to virtualized " -"compute hosts, such as hardware-assisted virtualization, and technology " -"related to memory paging (also known as EPT shadowing). These types of " -"features can have a significant impact on the performance of your virtual " -"machine." -msgstr "" -"Bir işlemci seçerken, özelliklerini ve başarım karakteristiğini " -"karşılaştırın. Bazı işlemciler sanallaştırma sunucuları için iyileştirmeler " -"içerir, örneğin donanım destekli sanallaştırma ve hafıza sayfalandırmayla " -"ilgili özellikler (EPT gölgelendirme diye de bilinir). Bu tür özelliklerin " -"sanal makinenizin başarımı üstünde hatrı sayılır etkisi olacaktır." - -msgid "" -"When selecting network devices, be aware that making a decision based on the " -"greatest port density often comes with a drawback. Aggregation switches and " -"routers have not all kept pace with ToR switches and may induce bottlenecks " -"on north-south traffic. As a result, it may be possible for massive amounts " -"of downstream network utilization to impact upstream network devices, " -"impacting service to the cloud. Since OpenStack does not currently provide a " -"mechanism for traffic shaping or rate limiting, it is necessary to implement " -"these features at the network hardware level." -msgstr "" -"Ağ aygıtları seçerken, en yoğun bağlantı noktasını baz alarak yapacağınız " -"seçimin genellikle sakıncaları olacaktır. Takım anahtarların ve " -"yönlendiricilerin hepsi ToR anahtarlarıyla tempoyu tuttramadılar, bu da " -"kuzey-güney trafiğinde dar boğazların oluşabileceği anlamına geliyor. Sonuç " -"olarak çok büyük miktarda aşağı akış ağı kullanımının yukarı akış ağ " -"aygıtlarını etkilemesi mümkündür, bu da bulut servisini etkiler. OpenStack " -"şu an trafik şekillendirme veya oran sınırlandırma için bir mekanizma " -"desteklemediğinden, bu özellikleri ağ donanımı seviyesinde uygulamak " -"gereklidir." - -msgid "" -"When using the Networking service, the OpenStack controller servers or " -"separate Networking hosts handle routing unless the dynamic virtual routers " -"pattern for routing is selected. Running routing directly on the controller " -"servers mixes the Data and Control Planes and can cause complex issues with " -"performance and troubleshooting. It is possible to use third party software " -"and external appliances that help maintain highly available layer three " -"routes. Doing so allows for common application endpoints to control network " -"hardware, or to provide complex multi-tier web applications in a secure " -"manner. It is also possible to completely remove routing from Networking, " -"and instead rely on hardware routing capabilities. In this case, the " -"switching infrastructure must support layer three routing." -msgstr "" -"Ağ servisini kullanırken, dinamik sanal yönlendiriciler kalıbı seçilmezse " -"OpenStack kontrol sunucuları veya ayrı Ağ sunucuları yönlendirmeyi ele " -"alırlar. Yönlendirmeyi doğrudan kontrol sunucularında çalıştırmak Veri ve " -"Kontrol Düzlemlerini karıştırır ve başarım ve hata ayıklamada " -"karmaşıklıklara yol açabilirler. Yüksek kullanılırlıklı katman üç " -"yönlendiricileri yönetmek için üçüncü taraf yazılımı ve harici uygulamalar " -"kullanmak da mümkündür. Böyle yapmak genel uygulama uç noktalarının ağ " -"donanımını kontrol etmesine veya birden çok aşamalı web uygulamalarını " -"güvenli bir şekilde sağlamasına izin verir. Ağdan yönlendirmeyi tamamen " -"kaldırmak ve yalnızca donanımla yönlendirmeye bel bağlamak da mümkündür. Bu " -"durumda, anahtarlama alt yapısı katman üç yönlendirmeyi desteklemelidir." - -msgid "" -"Where instances and images will be stored will influence the architecture." -msgstr "Sunucuların ve imajların nerede saklanacağı mimariyi etkiler." - -msgid "" -"Whereas the simplicity of layer-2 protocols might work well in a data center " -"with hundreds of physical machines, cloud data centers have the additional " -"burden of needing to keep track of all virtual machine addresses and " -"networks. In these data centers, it is not uncommon for one physical node to " -"support 30-40 instances." -msgstr "" -"Katman-2 iletişim kurallarının basitliği yüzlerce fiziksel makinenin olduğu " -"fiziksel bir veri merkezinde iyi çalışsa da, bulut veri merkezleri bir de " -"tüm sanal makine adresleri ve ağlarının izini sürmek zorundadır. Bu veri " -"merkezlerinde bir fiziksel düğümün 30-40 sunucuyu desteklemesi yaygındır." - -msgid "" -"Whether you should enable Hyper-Threading on your CPUs depends upon your use " -"case. For example, disabling Hyper-Threading can be beneficial in intense " -"computing environments. We recommend performance testing with your local " -"workload with both Hyper-Threading on and off to determine what is more " -"appropriate in your case." -msgstr "" -"İşlemcilerinizde Hyper-Threading etkinleştirip etkinleştirmeyeceğiniz " -"kullanım durumunuza bağlıdır. Örneğin, Hyper-Threading'i kapatmak yoğun " -"hesaplama ortamlarında faydalı olabilir. Yerel iş yükünüzle Hyper-Threading " -"açık ve kapalıyken denemeler yapmanızı ve uygun olan hangisiyse onu " -"seçmenizi öneriyoruz." - -msgid "" -"Which storage choices result in the best cost-performance scenario I am " -"aiming for?" -msgstr "" -"Hedeflediğim masraf-başarım senaryosunda hangi depolama sonuçları en iyileri?" - -msgid "" -"While consistency and partition tolerance are both inherent features of the " -"Object Storage service, it is important to design the overall storage " -"architecture to ensure that the implemented system meets those goals. The " -"OpenStack Object Storage service places a specific number of data replicas " -"as objects on resource nodes. Replicas are distributed throughout the " -"cluster, based on a consistent hash ring also stored on each node in the " -"cluster." -msgstr "" -"Tutarlılık ve bölüm tahammülü Nesne Depolama servisinin doğasında olan " -"özellikler olsa da, genel depolama mimarisini kurulan sistemin hedeflerle " -"eşleşmesi üzerine tasarlamak önemlidir. OpenStack Nesne Depolama servisi " -"belirli sayıda veri yedeğini kaynak düğümlerde nesneler olarak saklar. " -"Yedekler küme içinde yine kümedeki her bir düğümde kaydedilen tutarlı bir " -"özet halkası baz alınarak dağıtılır." - -msgid "" -"While each enterprise install is different, the following networks with " -"their proposed bandwidth is highly recommended for a basic production " -"OpenStack install." -msgstr "" -"Her kurumun kurulumu farklı olsa da, temel OpenStack ürün kurulumunda " -"aşağıdaki bant genişliği teklif edilen ağlar tavsiye edilir." - -msgid "" -"While not as common in large enterprises, compute host components can also " -"be upgraded to account for increases in demand, known as vertical scaling. " -"Upgrading CPUs with more cores, or increasing the overall server memory, can " -"add extra needed capacity depending on whether the running applications are " -"more CPU intensive or memory intensive. Since OpenStack schedules workload " -"placement based on capacity and technical requirements, removing compute " -"nodes from availability and upgrading them using a rolling upgrade design." -msgstr "" -"Büyük kurumlarda yaygın olmasa da, hesaplama sunucu bileşenleri istek " -"halinde dikey ölçeklendirme denilen şekilde de yükseltilebilirler. Daha " -"fazla çekirdeğe sahip işlemcilere yükseltme veya genel sunucu belleğini " -"artırma, çalışan uygulamaların işlemci veya hafıza yoğunluklu olmaları " -"durumunda gerekli ek kapasiteyi sağlayaiblir. OpenStack iş yükü " -"yerleştirmesini kapasite ve teknik gereksinimlere göre yaptığından, " -"hesaplama düğümlerini çıkarmak ve yuvarlanan yükseltme tasarımıyla " -"güncellemek gerekir." - -msgid "" -"While our example contains all central services in a single location, it is " -"possible and indeed often a good idea to separate services onto different " -"physical servers. :ref:`table_deployment_scenarios` is a list of deployment " -"scenarios we've seen and their justifications." -msgstr "" -"Örneğimiz tüm merkezi servisleri tek bir konumda içerse de, servisleri " -"farklı fiziksel sunuculara ayırmak mümkündür ve çoğunlukla iyi bir " -"fikirdir. :ref:`table_deployment_scenarios` gördüğümüz kurulum " -"senaryolarının listesi ve gerekçeleridir." - -msgid "" -"While this is not a definitive list of all the questions possible, the list " -"above will hopefully help narrow the list of possible storage choices down." -msgstr "" -"Bu sorulması gereken soruların tam bir listesi değil, ama mümkün depolama " -"seçeneklerini azalatmanıza yardımcı olacağını umuyoruz." - -msgid "" -"Will the storage architecture scale linearly as the cloud grows and what are " -"its limits?" -msgstr "" -"Depolama mimarisi bulut büyüdükçe doğrusal olarak ölçeklenecek mi ve " -"sınırları nelerdir?" - -msgid "" -"With file-level storage, users access stored data using the operating " -"system's file system interface. Most users who have used a network storage " -"solution before have encountered this form of networked storage. The most " -"common file system protocol for Unix is NFS, and for Windows, CIFS " -"(previously, SMB)." -msgstr "" -"Dosya-seviyesinde depolamayla, kullanıcılar kaydedilen veriye işletim " -"sisteminin dosya sistemi arayüzüyle erişirler. Daha önce bir ağ çözümü " -"kullanmış çoğu kullanıcı bu şekildeki ağ depolamanın bir biçimini " -"kullanmıştır. Unix için en yaygın sistem iletişim kuralı NFS'dir, ve Windows " -"için, CIFS'dir (önceden, SMB)." - -msgid "Within a VM" -msgstr "Bir VM" - -msgid "" -"You can add adjunct networking features, for example class of service (CoS) " -"or multicasting, to Ethernet as readily as IP networks." -msgstr "" -"Ethernete IP ağlarındaki kadar hazır şekilde ek ağ özellikleri " -"ekleyebilirsiniz, örneğin servis sınıfı (CoS) veya çokluyayın." - -msgid "" -"You can configure layer-3 to use Border Gateway Protocol (BGP) confederation " -"for scalability. This way core routers have state proportional to the number " -"of racks, not to the number of servers or instances." -msgstr "" -"Katman-3'ü ölçeklenebilirlik için Sınır Geçidi İletişim Kuralı (BGP) birliği " -"ile yapılandırabilirsiniz. Böylece çekirdek yönlendiriciler sunucu sayısına " -"göre değil kabin sayısına oranlı durum bilgisine sahip olurlar." - -msgid "" -"You can implement networking in two separate ways. Legacy networking (nova-" -"network) provides a flat DHCP network with a single broadcast domain. This " -"implementation does not support tenant isolation networks or advanced plug-" -"ins, but it is currently the only way to implement a distributed layer-3 " -"(L3) agent using the multi-host configuration. The Networking service " -"(neutron) is the official networking implementation and provides a pluggable " -"architecture that supports a large variety of network methods. Some of these " -"include a layer-2 only provider network model, external device plug-ins, or " -"even OpenFlow controllers." -msgstr "" -"Ağı iki farklı şekilde uygulayabilirsiniz. Geleneksel ağ (nova-ağı) tek " -"yayın alanı olan düz bir DHCP ağı sağlar. Bu uygulama kiracı yalıtım " -"ağlarını veya gelişmiş eklentileri desteklemez, ama şu an çoklu sunucu " -"yapılandırmasını kullanarak bir dağıtık katman-3 (L3) aracısı uygulamanın " -"tek yoludur. Ağ servisi (neutron) resmi ağ uygulamasıdır ve çok çeşitli ağ " -"yöntemlerini destekleyen tak-çıkar mimari sağlar. Bunlardan bazıları " -"yalnızca katman-2 sağlayıcı ağ modeli, harici aygıt eklentileri, hatta " -"OpenStack kontrolcüleridir." - -msgid "You can scale to any number of spindles." -msgstr "İstediğiniz sayıda mile ölçekleyebilirsiniz." - -msgid "" -"You can upgrade Block Storage pools to add storage capacity without " -"interrupting the overall Block Storage service. Add nodes to the pool by " -"installing and configuring the appropriate hardware and software and then " -"allowing that node to report in to the proper storage pool through the " -"message bus. Block Storage nodes generally report into the scheduler service " -"advertising their availability. As a result, after the node is online and " -"available, tenants can make use of those storage resources instantly." -msgstr "" -"Blok Depolama havuzlarını genel Blok Depolama servisini kesintiye uğratmadan " -"güncelleyebilir ve kapasite eklyebilirsiniz. Havuza uygun donanım ve " -"yazılımı yükleyerek düğümler ekleyin ve düğümün ileti yolu ile uygun " -"depolama havuzuna raporlama yapmasını sağlayın. Blok Depolama düğümleri " -"genellikle zamanlayıcı servisine kullanılırlıklarını iletirler. Sonuç " -"olarak, düğüm çevrimiçi ve kullanılabilir olduğunda, kiracılar bu depolama " -"kaynaklarını anında kullanabilir duruma gelirler." - -msgid "" -"You must accommodate the need to maintain a set of layer-4 devices to handle " -"traffic control." -msgstr "" -"Trafik kontrolünü ele alması için bir grup katman-4 aygıtı barındırmanız " -"gerekir." - -msgid "" -"You must balance the time required to build a new cloud platform against the " -"time saved by migrating users away from legacy platforms. In some cases, " -"existing infrastructure may influence your architecture choices. For " -"example, using multiple cloud platforms may be a good option when there is " -"an existing investment in several applications, as it could be faster to tie " -"the investments together rather than migrating the components and " -"refactoring them to a single platform." -msgstr "" -"Yeni bir bulu platformu inşa etmek için gerekli zamanı kullanıcıları eski " -"platformlardan göç ettirmeyle kazanılacak zamanla dengelemelisiniz. Bazı " -"durumlarda, mevcut alt yapı mimari seçeneklerinizi etkileyebilir. Örneğin, " -"birden çok bulut platformu kullanmak, bir çok uygulamaya yapılmış mevcut " -"yatırım varsa iyi biri seçenek olabilir, çünkü bileşenleri göç ettirmek ve " -"tek bir platform düzenlemektense yatırımları beraber bağlamak daha hızlı " -"olabilir." - -msgid "" -"You must choose whether you want to support the Amazon EC2 compatibility " -"APIs, or just the OpenStack APIs. One issue you might encounter when running " -"both APIs is an inconsistent experience when referring to images and " -"instances." -msgstr "" -"Yalnızca OpenStack API'lerini mi Amazon EC2 uyumluluk API'lerini demi " -"desteklemek istediğinize karar vermelisiniz. Her iki API'yi de çalıştırırken " -"yaşayacağınız bir sorun imaj ve sunuculara başvururken yaşanacak tutarsız " -"deneyimdir." - -msgid "" -"You must consider a number of important technical and business requirements " -"when planning and designing an OpenStack network:" -msgstr "" -"Bir OpenStack ağı tasarlarken bir takım önemli teknik ve iş gereksinimlerini " -"göz önüne almalısınız:" - -msgid "" -"You must select the appropriate CPU and RAM allocation ratio for your " -"particular use case." -msgstr "" -"Kullanım durumunuza göre uygun CPU ve RAM ayırma oranlarını kendiniz " -"seçmelisiniz." - -msgid "You need to size the controller with a core per service." -msgstr "" -"Kontrol birimini servis başına bir çekirdek olacak şekilde " -"boyutlandırmalısınız." - -msgid "" -"You should conduct a high availability risk analysis to determine whether to " -"use redundant switches such as Top of Rack (ToR) switches. In most cases, it " -"is much more economical to use single switches with a small pool of spare " -"switches to replace failed units than it is to outfit an entire data center " -"with redundant switches. Applications should tolerate rack level outages " -"without affecting normal operations since network and compute resources are " -"easily provisioned and plentiful." -msgstr "" -"Kabin Üstü (ToR) anahtarlar gibi yedekli anahtarlar kullanıp kullanmamanız " -"gerektiğine karar vermek için bir yüksek kullanılırlık risk çözümlemesi " -"yapmalısınız. Çoğu durumda, tüm veri merkezini yedekli anahtarlarla " -"doldurmak yerine tekli anahtarlar kullanmak ve bir birimin arıza yapması " -"halinde değiştirmek için yedek anahtarlar tutmak daha ekonomiktir. Ağ ve " -"hesaplama kaynakları bol olduğundan ve kolayca hazırlandığından uygulamalar " -"kabin seviyesinde kesintilere dayanıklı olmalı ve normal işlemeye devam " -"etmelidir." - -msgid "" -"You should consider Ceph if you want to manage your object and block storage " -"within a single system, or if you want to support fast boot-from-volume." -msgstr "" -"Nesne ve blok depolamanızı aynı sistemden yönetmek istiyorsanız, veya " -"birimden hızlı önyüklemeyi desteklemek istiyorsanız Ceph kullanmayı gözden " -"geçirmelisiniz." - -msgid "" -"You should consider designing the Object Storage system with a sufficient " -"number of zones to provide quorum for the number of replicas defined. For " -"example, with three replicas configured in the swift cluster, the " -"recommended number of zones to configure within the Object Storage cluster " -"in order to achieve quorum is five. While it is possible to deploy a " -"solution with fewer zones, the implied risk of doing so is that some data " -"may not be available and API requests to certain objects stored in the " -"cluster might fail. For this reason, ensure you properly account for the " -"number of zones in the Object Storage cluster." -msgstr "" -"Tanımlanan sayıda yedek için gerekli çoğunluğu sağlamak için yeterli sayıda " -"bölgeye sahip bir Nesne Depolama sistemi tasarlamaya dikkat etmelisiniz. " -"Örneğin üç yedek ile yapılandırılmış bir swift kümesinde Nesne Depolama " -"kümesi ile gerekli çoğunluğu sağlamak için yapılandırılması gereken tavsiye " -"edilen bölge sayısı beştir. Daha az sayıda bölge ile bir çözüm kurmak da " -"mümkünken, bunu yapmanın riski bazı verilerin kullanılabilir olmamasını ve " -"bazı nesnelere yapılan API isteklerinin başarısız olmasını beraberinde " -"getirebilir. Bu sebeple Nesne Depolama kümesinde yeterli bölge olduğundan " -"emin olmalısınız." - -msgid "" -"You should consider using the OpenStack Object Storage service if you " -"eventually plan on distributing your storage cluster across multiple data " -"centers, if you need unified accounts for your users for both compute and " -"object storage, or if you want to control your object storage with the " -"OpenStack Dashboard. For more information, see the `Swift project page " -"`_." -msgstr "" -"Depolama kümenizi birden çok veri merkezi arasında dağıtmayı düşünüyorsanız, " -"hem hesaplama hem nesne depolama için kullanıcılarınız için tekil hesaplara " -"ihtiyacınız varsa, veya nesne depolamanızı OpenStack Kontrol Paneli ile " -"kontrol etmek isterseniz OpenStack Nesne Depolama servisini kullanmayı " -"düşünmelisiniz." - -msgid "ZFS" -msgstr "ZFS" - -msgid "Zone per collection of nodes" -msgstr "Düğüm topluluğu başına bölge" - -msgid "`Docker `_" -msgstr "`Docker `_" - -msgid "`Hyper-V `_" -msgstr "`Hyper-V `_" - -msgid "`KVM `_" -msgstr "`KVM `_" - -msgid "`LXC `_" -msgstr "`LXC `_" - -msgid "`QEMU `_" -msgstr "`QEMU `_" - -msgid "`VMware ESX/ESXi `_" -msgstr "`VMware ESX/ESXi `_" - -msgid "`Xen `_" -msgstr "`Xen `_" - -msgid "" -"``Sled servers`` are rack-mounted servers that support multiple independent " -"servers in a single 2U or 3U enclosure. These deliver higher density as " -"compared to typical 1U or 2U rack-mounted servers. For example, many sled " -"servers offer four independent dual-socket nodes in 2U for a total of eight " -"CPU sockets in 2U." -msgstr "" -"``Sled sunucular`` tek bir 2U veya 3U alanında birden çok bağımsız sunucu " -"destekleyen kabine-bağlı sunuculardır. Bunlar tipik 1U veya 2U kabine-bağlı " -"sunuculara göre yüksek yoğunluk sunarlar. Örneğin çoğun sled sunucu 2U'da " -"dört bağımsız çift-soket düğüm, toplam sekiz işlemci soketi sunarlar." - -msgid "authentication, authorization, and auditing (AAA)" -msgstr "kimlik doğrulama, yetkilendirme, ve denetleme (AAA)" - -msgid "collectd" -msgstr "collectd" - -msgid "csv" -msgstr "csv" - -msgid "date" -msgstr "tarih" - -msgid "east-west traffic" -msgstr "doğu-batı trafik" - -msgid "elasticsearch" -msgstr "elasticsearch" - -msgid "environmental considerations" -msgstr "ortam etmenleri" - -msgid "federal legal requirements" -msgstr "birleşik yasal gereklilikler" - -msgid "file" -msgstr "dosya" - -msgid "floor space" -msgstr "yer boşluğu" - -msgid "floor weight" -msgstr "yer ağırlığı" - -msgid "graphite" -msgstr "graphite" - -msgid "grok" -msgstr "grok" - -msgid "iSCSI" -msgstr "iSCSI" - -msgid "" -"iSCSI is suitable for cloud environments with Block Storage service to " -"support applications or for file sharing systems. Network connectivity can " -"be achieved at a lower cost compared to other storage back end technologies " -"since iSCSI does not require host bus adaptors (HBA) or storage-specific " -"network devices." -msgstr "" -"iSCSI uygulamaları desteklemek için Blok Depolama servisi olan veya dosya " -"paylaşım sistemli bulut ortamları için uygundur. Ağ bağlanılırlığı diğer " -"depolama arka uç teknolojilerine göre düşük masrafla elde edilebilir, çünkü " -"iSCSI depolamaya özel ağ aygıtları ya da sunucu yolu adaptörlerine (HBA) " -"ihtiyaç duymaz." - -msgid "image consistency and availability" -msgstr "imaj tutarlılığı ve kullanılırlığı" - -msgid "jira" -msgstr "jira" - -msgid "json" -msgstr "json" - -msgid "local jurisdictional legal and compliance requirements" -msgstr "yerel yargı yasası ve uyum gereksinimleri" - -msgid "nagios" -msgstr "nagios" - -msgid "north-south traffic" -msgstr "kuzey-güney trafik" - -msgid "pagerduty" -msgstr "pagerduty" - -msgid "physical security" -msgstr "fiziksel güvenlik" - -msgid "plan" -msgstr "plan" - -msgid "power usage and power usage efficiency (PUE)" -msgstr "güç kullanımı ve güç kullanım etkinliği (PUE)" - -msgid "rack height and type" -msgstr "kabin yüksekliği ve türü" - -msgid "redis" -msgstr "redis" - -msgid "rubydebug" -msgstr "rubydebug" - -msgid "stdout" -msgstr "stdout" - -msgid "" -"storage replication and availability (both block and file/object storage)" -msgstr "depo kopyalama ve kullanılırlığı (hem blok hem dosya/nesne depolama)" diff --git a/doc/arch-design/source/use-cases.rst b/doc/arch-design/source/use-cases.rst deleted file mode 100644 index 7e0d5959b3..0000000000 --- a/doc/arch-design/source/use-cases.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _use-cases: - -========= -Use cases -========= - -.. toctree:: - :maxdepth: 2 - - use-cases/use-case-development - use-cases/use-case-general-compute - use-cases/use-case-web-scale - use-cases/use-case-storage - use-cases/use-case-nfv diff --git a/doc/arch-design/source/use-cases/use-case-development.rst b/doc/arch-design/source/use-cases/use-case-development.rst deleted file mode 100644 index f1ee023330..0000000000 --- a/doc/arch-design/source/use-cases/use-case-development.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _development-cloud: - -================= -Development cloud -================= - -Design model -~~~~~~~~~~~~ - -Requirements -~~~~~~~~~~~~ - -Component block diagram -~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/arch-design/source/use-cases/use-case-general-compute.rst b/doc/arch-design/source/use-cases/use-case-general-compute.rst deleted file mode 100644 index e565248b47..0000000000 --- a/doc/arch-design/source/use-cases/use-case-general-compute.rst +++ /dev/null @@ -1,196 +0,0 @@ -.. _general-compute-cloud: - -===================== -General compute cloud -===================== - -Design model -~~~~~~~~~~~~ - -An online classified advertising company wants to run web applications -consisting of Tomcat, Nginx, and MariaDB in a private cloud. To meet the -policy requirements, the cloud infrastructure will run in their -own data center. The company has predictable load requirements but -requires scaling to cope with nightly increases in demand. Their current -environment does not have the flexibility to align with their goal of -running an open source API environment. The current environment consists -of the following: - -* Between 120 and 140 installations of Nginx and Tomcat, each with 2 - vCPUs and 4 GB of RAM - -* A three node MariaDB and Galera cluster, each with 4 vCPUs and 8 GB - of RAM - -The company runs hardware load balancers and multiple web applications -serving their websites and orchestrates environments using combinations -of scripts and Puppet. The website generates large amounts of log data -daily that requires archiving. - -The solution would consist of the following OpenStack components: - -* A firewall, switches and load balancers on the public facing network - connections. - -* OpenStack Controller service running Image service, Identity service, - Networking service, combined with support services such as MariaDB and - RabbitMQ, configured for high availability on at least three controller - nodes. - -* OpenStack compute nodes running the KVM hypervisor. - -* OpenStack Block Storage for use by compute instances, requiring - persistent storage (such as databases for dynamic sites). - -* OpenStack Object Storage for serving static objects (such as images). - -.. figure:: ../figures/General_Architecture3.png - -Running up to 140 web instances and the small number of MariaDB -instances requires 292 vCPUs available, as well as 584 GB of RAM. On a -typical 1U server using dual-socket hex-core Intel CPUs with -Hyperthreading, and assuming 2:1 CPU overcommit ratio, this would -require 8 OpenStack Compute nodes. - -The web application instances run from local storage on each of the -OpenStack Compute nodes. The web application instances are stateless, -meaning that any of the instances can fail and the application will -continue to function. - -MariaDB server instances store their data on shared enterprise storage, -such as NetApp or Solidfire devices. If a MariaDB instance fails, -storage would be expected to be re-attached to another instance and -rejoined to the Galera cluster. - -Logs from the web application servers are shipped to OpenStack Object -Storage for processing and archiving. - -Additional capabilities can be realized by moving static web content to -be served from OpenStack Object Storage containers, and backing the -OpenStack Image service with OpenStack Object Storage. - -.. note:: - - Increasing OpenStack Object Storage means network bandwidth needs to - be taken into consideration. Running OpenStack Object Storage with - network connections offering 10 GbE or better connectivity is - advised. - -Leveraging Orchestration and Telemetry services is also a potential -issue when providing auto-scaling, orchestrated web application -environments. Defining the web applications in a -:term:`Heat Orchestration Template (HOT)` -negates the reliance on the current scripted Puppet -solution. - -OpenStack Networking can be used to control hardware load balancers -through the use of plug-ins and the Networking API. This allows users to -control hardware load balance pools and instances as members in these -pools, but their use in production environments must be carefully -weighed against current stability. - -Requirements -~~~~~~~~~~~~ - -.. temporarily location of storage information until we establish a template - -Storage requirements --------------------- -Using a scale-out storage solution with direct-attached storage (DAS) in -the servers is well suited for a general purpose OpenStack cloud. Cloud -services requirements determine your choice of scale-out solution. You -need to determine if a single, highly expandable and highly vertical, -scalable, centralized storage array is suitable for your design. After -determining an approach, select the storage hardware based on this -criteria. - -This list expands upon the potential impacts for including a particular -storage architecture (and corresponding storage hardware) into the -design for a general purpose OpenStack cloud: - -Connectivity - If storage protocols other than Ethernet are part of the storage solution, - ensure the appropriate hardware has been selected. If a centralized storage - array is selected, ensure that the hypervisor will be able to connect to - that storage array for image storage. - -Usage - How the particular storage architecture will be used is critical for - determining the architecture. Some of the configurations that will - influence the architecture include whether it will be used by the - hypervisors for ephemeral instance storage, or if OpenStack Object - Storage will use it for object storage. - -Instance and image locations - Where instances and images will be stored will influence the - architecture. - -Server hardware - If the solution is a scale-out storage architecture that includes - DAS, it will affect the server hardware selection. This could ripple - into the decisions that affect host density, instance density, power - density, OS-hypervisor, management tools and others. - -A general purpose OpenStack cloud has multiple options. The key factors -that will have an influence on selection of storage hardware for a -general purpose OpenStack cloud are as follows: - -Capacity - Hardware resources selected for the resource nodes should be capable - of supporting enough storage for the cloud services. Defining the - initial requirements and ensuring the design can support adding - capacity is important. Hardware nodes selected for object storage - should be capable of support a large number of inexpensive disks - with no reliance on RAID controller cards. Hardware nodes selected - for block storage should be capable of supporting high speed storage - solutions and RAID controller cards to provide performance and - redundancy to storage at a hardware level. Selecting hardware RAID - controllers that automatically repair damaged arrays will assist - with the replacement and repair of degraded or deleted storage - devices. - -Performance - Disks selected for object storage services do not need to be fast - performing disks. We recommend that object storage nodes take - advantage of the best cost per terabyte available for storage. - Contrastingly, disks chosen for block storage services should take - advantage of performance boosting features that may entail the use - of SSDs or flash storage to provide high performance block storage - pools. Storage performance of ephemeral disks used for instances - should also be taken into consideration. - -Fault tolerance - Object storage resource nodes have no requirements for hardware - fault tolerance or RAID controllers. It is not necessary to plan for - fault tolerance within the object storage hardware because the - object storage service provides replication between zones as a - feature of the service. Block storage nodes, compute nodes, and - cloud controllers should all have fault tolerance built in at the - hardware level by making use of hardware RAID controllers and - varying levels of RAID configuration. The level of RAID chosen - should be consistent with the performance and availability - requirements of the cloud. - - -Network hardware requirements ------------------------------ - -For a compute-focus architecture, we recommend designing the network -architecture using a scalable network model that makes it easy to add -capacity and bandwidth. A good example of such a model is the leaf-spine -model. In this type of network design, you can add additional -bandwidth as well as scale out to additional racks of gear. It is important to -select network hardware that supports port count, port speed, and -port density while allowing for future growth as workload demands -increase. In the network architecture, it is also important to evaluate -where to provide redundancy. - -Network software requirements ------------------------------ -For a general purpose OpenStack cloud, the OpenStack infrastructure -components need to be highly available. If the design does not include -hardware load balancing, networking software packages like HAProxy will -need to be included. - -Component block diagram -~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/arch-design/source/use-cases/use-case-nfv.rst b/doc/arch-design/source/use-cases/use-case-nfv.rst deleted file mode 100644 index 2f4042e59f..0000000000 --- a/doc/arch-design/source/use-cases/use-case-nfv.rst +++ /dev/null @@ -1,181 +0,0 @@ -.. _nfv-cloud: - -============================== -Network virtual function cloud -============================== - - -Design model -~~~~~~~~~~~~ - -Requirements -~~~~~~~~~~~~ - -Component block diagram -~~~~~~~~~~~~~~~~~~~~~~~ - - -Network-focused cloud examples ------------------------------- - -An organization designs a large scale cloud-based web application. The -application scales horizontally in a bursting behavior and generates a -high instance count. The application requires an SSL connection to secure -data and must not lose connection state to individual servers. - -The figure below depicts an example design for this workload. In this -example, a hardware load balancer provides SSL offload functionality and -connects to tenant networks in order to reduce address consumption. This -load balancer links to the routing architecture as it services the VIP -for the application. The router and load balancer use the GRE tunnel ID -of the application's tenant network and an IP address within the tenant -subnet but outside of the address pool. This is to ensure that the load -balancer can communicate with the application's HTTP servers without -requiring the consumption of a public IP address. - -Because sessions persist until closed, the routing and switching -architecture provides high availability. Switches mesh to each -hypervisor and each other, and also provide an MLAG implementation to -ensure that layer-2 connectivity does not fail. Routers use VRRP and -fully mesh with switches to ensure layer-3 connectivity. Since GRE -provides an overlay network, Networking is present and uses the Open -vSwitch agent in GRE tunnel mode. This ensures all devices can reach all -other devices and that you can create tenant networks for private -addressing links to the load balancer. - -.. figure:: ../figures/Network_Web_Services1.png - -A web service architecture has many options and optional components. Due -to this, it can fit into a large number of other OpenStack designs. A -few key components, however, need to be in place to handle the nature of -most web-scale workloads. You require the following components: - -* OpenStack Controller services (Image service, Identity service, Networking - service, and supporting services such as MariaDB and RabbitMQ) - -* OpenStack Compute running KVM hypervisor - -* OpenStack Object Storage - -* Orchestration service - -* Telemetry service - -Beyond the normal Identity service, Compute service, Image service, and -Object Storage components, we recommend the Orchestration service component -to handle the proper scaling of workloads to adjust to demand. Due to the -requirement for auto-scaling, the design includes the Telemetry service. -Web services tend to be bursty in load, have very defined peak and -valley usage patterns and, as a result, benefit from automatic scaling -of instances based upon traffic. At a network level, a split network -configuration works well with databases residing on private tenant -networks since these do not emit a large quantity of broadcast traffic -and may need to interconnect to some databases for content. - -Load balancing -~~~~~~~~~~~~~~ - -Load balancing spreads requests across multiple instances. This workload -scales well horizontally across large numbers of instances. This enables -instances to run without publicly routed IP addresses and instead to -rely on the load balancer to provide a globally reachable service. Many -of these services do not require direct server return. This aids in -address planning and utilization at scale since only the virtual IP -(VIP) must be public. - -Overlay networks -~~~~~~~~~~~~~~~~ - -The overlay functionality design includes OpenStack Networking in Open -vSwitch GRE tunnel mode. In this case, the layer-3 external routers pair -with VRRP, and switches pair with an implementation of MLAG to ensure -that you do not lose connectivity with the upstream routing -infrastructure. - -Performance tuning -~~~~~~~~~~~~~~~~~~ - -Network level tuning for this workload is minimal. :term:`Quality of -Service (QoS)` applies to these workloads for a middle ground Class -Selector depending on existing policies. It is higher than a best effort -queue but lower than an Expedited Forwarding or Assured Forwarding -queue. Since this type of application generates larger packets with -longer-lived connections, you can optimize bandwidth utilization for -long duration TCP. Normal bandwidth planning applies here with regards -to benchmarking a session's usage multiplied by the expected number of -concurrent sessions with overhead. - -Network functions -~~~~~~~~~~~~~~~~~ - -Network functions is a broad category but encompasses workloads that -support the rest of a system's network. These workloads tend to consist -of large amounts of small packets that are very short lived, such as DNS -queries or SNMP traps. These messages need to arrive quickly and do not -deal with packet loss as there can be a very large volume of them. There -are a few extra considerations to take into account for this type of -workload and this can change a configuration all the way to the -hypervisor level. For an application that generates 10 TCP sessions per -user with an average bandwidth of 512 kilobytes per second per flow and -expected user count of ten thousand concurrent users, the expected -bandwidth plan is approximately 4.88 gigabits per second. - -The supporting network for this type of configuration needs to have a -low latency and evenly distributed availability. This workload benefits -from having services local to the consumers of the service. Use a -multi-site approach as well as deploying many copies of the application -to handle load as close as possible to consumers. Since these -applications function independently, they do not warrant running -overlays to interconnect tenant networks. Overlays also have the -drawback of performing poorly with rapid flow setup and may incur too -much overhead with large quantities of small packets and therefore we do -not recommend them. - -QoS is desirable for some workloads to ensure delivery. DNS has a major -impact on the load times of other services and needs to be reliable and -provide rapid responses. Configure rules in upstream devices to apply a -higher Class Selector to DNS to ensure faster delivery or a better spot -in queuing algorithms. - -Cloud storage -~~~~~~~~~~~~~ - -Another common use case for OpenStack environments is providing a -cloud-based file storage and sharing service. You might consider this a -storage-focused use case, but its network-side requirements make it a -network-focused use case. - -For example, consider a cloud backup application. This workload has two -specific behaviors that impact the network. Because this workload is an -externally-facing service and an internally-replicating application, it -has both :term:`north-south` and -:term:`east-west` traffic considerations: - -north-south traffic - When a user uploads and stores content, that content moves into the - OpenStack installation. When users download this content, the - content moves out from the OpenStack installation. Because this - service operates primarily as a backup, most of the traffic moves - southbound into the environment. In this situation, it benefits you - to configure a network to be asymmetrically downstream because the - traffic that enters the OpenStack installation is greater than the - traffic that leaves the installation. - -east-west traffic - Likely to be fully symmetric. Because replication originates from - any node and might target multiple other nodes algorithmically, it - is less likely for this traffic to have a larger volume in any - specific direction. However, this traffic might interfere with - north-south traffic. - -.. figure:: ../figures/Network_Cloud_Storage2.png - -This application prioritizes the north-south traffic over east-west -traffic: the north-south traffic involves customer-facing data. - -The network design, in this case, is less dependent on availability and -more dependent on being able to handle high bandwidth. As a direct -result, it is beneficial to forgo redundant links in favor of bonding -those connections. This increases available bandwidth. It is also -beneficial to configure all devices in the path, including OpenStack, to -generate and pass jumbo frames. diff --git a/doc/arch-design/source/use-cases/use-case-storage.rst b/doc/arch-design/source/use-cases/use-case-storage.rst deleted file mode 100644 index 49833dfe24..0000000000 --- a/doc/arch-design/source/use-cases/use-case-storage.rst +++ /dev/null @@ -1,210 +0,0 @@ -.. _storage-cloud: - -============= -Storage cloud -============= - -Design model -~~~~~~~~~~~~ - -Storage-focused architecture depends on specific use cases. This section -discusses three example use cases: - -* An object store with a RESTful interface - -* Compute analytics with parallel file systems - -* High performance database - - -An object store with a RESTful interface ----------------------------------------- - -The example below shows a REST interface without a high performance -requirement. The following diagram depicts the example architecture: - -.. figure:: ../figures/Storage_Object.png - -The example REST interface, presented as a traditional Object Store -running on traditional spindles, does not require a high performance -caching tier. - -This example uses the following components: - -Network: - -* 10 GbE horizontally scalable spine leaf back-end storage and front - end network. - -Storage hardware: - -* 10 storage servers each with 12x4 TB disks equaling 480 TB total - space with approximately 160 TB of usable space after replicas. - -Proxy: - -* 3x proxies - -* 2x10 GbE bonded front end - -* 2x10 GbE back-end bonds - -* Approximately 60 Gb of total bandwidth to the back-end storage - cluster - -.. note:: - - It may be necessary to implement a third party caching layer for some - applications to achieve suitable performance. - - - -Compute analytics with data processing service ----------------------------------------------- - -Analytics of large data sets are dependent on the performance of the -storage system. Clouds using storage systems such as Hadoop Distributed -File System (HDFS) have inefficiencies which can cause performance -issues. - -One potential solution to this problem is the implementation of storage -systems designed for performance. Parallel file systems have previously -filled this need in the HPC space and are suitable for large scale -performance-orientated systems. - -OpenStack has integration with Hadoop to manage the Hadoop cluster -within the cloud. The following diagram shows an OpenStack store with a -high performance requirement: - -.. figure:: ../figures/Storage_Hadoop3.png - -The hardware requirements and configuration are similar to those of the -High Performance Database example below. In this case, the architecture -uses Ceph's Swift-compatible REST interface, features that allow for -connecting a caching pool to allow for acceleration of the presented -pool. - -High performance database with Database service -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Databases are a common workload that benefit from high performance -storage back ends. Although enterprise storage is not a requirement, -many environments have existing storage that OpenStack cloud can use as -back ends. You can create a storage pool to provide block devices with -OpenStack Block Storage for instances as well as object interfaces. In -this example, the database I-O requirements are high and demand storage -presented from a fast SSD pool. - -A storage system presents a LUN backed by a set of SSDs using a -traditional storage array with OpenStack Block Storage integration or a -storage platform such as Ceph or Gluster. - -This system can provide additional performance. For example, in the -database example below, a portion of the SSD pool can act as a block -device to the Database server. In the high performance analytics -example, the inline SSD cache layer accelerates the REST interface. - -.. figure:: ../figures/Storage_Database_+_Object5.png - -In this example, Ceph presents a swift-compatible REST interface, as -well as a block level storage from a distributed storage cluster. It is -highly flexible and has features that enable reduced cost of operations -such as self healing and auto balancing. Using erasure coded pools are a -suitable way of maximizing the amount of usable space. - -.. note:: - - There are special considerations around erasure coded pools. For - example, higher computational requirements and limitations on the - operations allowed on an object; erasure coded pools do not support - partial writes. - -Using Ceph as an applicable example, a potential architecture would have -the following requirements: - -Network: - -* 10 GbE horizontally scalable spine leaf back-end storage and - front-end network - -Storage hardware: - -* 5 storage servers for caching layer 24x1 TB SSD - -* 10 storage servers each with 12x4 TB disks which equals 480 TB total - space with about approximately 160 TB of usable space after 3 - replicas - -REST proxy: - -* 3x proxies - -* 2x10 GbE bonded front end - -* 2x10 GbE back-end bonds - -* Approximately 60 Gb of total bandwidth to the back-end storage - cluster - -Using an SSD cache layer, you can present block devices directly to -hypervisors or instances. The REST interface can also use the SSD cache -systems as an inline cache. - - -Requirements -~~~~~~~~~~~~ - -Storage requirements --------------------- - -Storage-focused OpenStack clouds must address I/O intensive workloads. -These workloads are not CPU intensive, nor are they consistently network -intensive. The network may be heavily utilized to transfer storage, but -they are not otherwise network intensive. - -The selection of storage hardware determines the overall performance and -scalability of a storage-focused OpenStack design architecture. Several -factors impact the design process, including: - -Latency - A key consideration in a storage-focused OpenStack cloud is latency. - Using solid-state disks (SSDs) to minimize latency and, to reduce CPU - delays caused by waiting for the storage, increases performance. Use - RAID controller cards in compute hosts to improve the performance of the - underlying disk subsystem. - -Scale-out solutions - Depending on the storage architecture, you can adopt a scale-out - solution, or use a highly expandable and scalable centralized storage - array. If a centralized storage array meets your requirements, then the - array vendor determines the hardware selection. It is possible to build - a storage array using commodity hardware with Open Source software, but - requires people with expertise to build such a system. - - On the other hand, a scale-out storage solution that uses - direct-attached storage (DAS) in the servers may be an appropriate - choice. This requires configuration of the server hardware to support - the storage solution. - -Considerations affecting storage architecture (and corresponding storage -hardware) of a Storage-focused OpenStack cloud include: - -Connectivity - Ensure the connectivity matches the storage solution requirements. We - recommend confirming that the network characteristics minimize latency - to boost the overall performance of the design. - -Latency - Determine if the use case has consistent or highly variable latency. - -Throughput - Ensure that the storage solution throughput is optimized for your - application requirements. - -Server hardware - Use of DAS impacts the server hardware choice and affects host - density, instance density, power density, OS-hypervisor, and - management tools. - -Component block diagram -~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/arch-design/source/use-cases/use-case-web-scale.rst b/doc/arch-design/source/use-cases/use-case-web-scale.rst deleted file mode 100644 index 170d187bf0..0000000000 --- a/doc/arch-design/source/use-cases/use-case-web-scale.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. _web-scale-cloud: - -=============== -Web scale cloud -=============== - -Design model -~~~~~~~~~~~~ - -Requirements -~~~~~~~~~~~~ - -Component block diagram -~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/tools/build-all-rst.sh b/tools/build-all-rst.sh index a8116cbb36..7a1586e6e0 100755 --- a/tools/build-all-rst.sh +++ b/tools/build-all-rst.sh @@ -27,11 +27,10 @@ while [[ $# > 0 ]] ; do done # PDF targets for Install guides are dealt in build-install-guides-rst.sh -PDF_TARGETS=( 'arch-design'\ - 'image-guide' \ +PDF_TARGETS=( 'image-guide' \ 'install-guide') -for guide in arch-design doc-contrib-guide glossary \ +for guide in doc-contrib-guide glossary \ image-guide install-guide; do if [[ ${PDF_TARGETS[*]} =~ $guide ]]; then tools/build-rst.sh doc/$guide --build build \

(cjylV(R- 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 Jg^H$u{{xG7=AMMCjXD%Uj!Zg@%fLi^LU& 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 Nr3-rJi_ckv{6D|lzls0= diff --git a/doc/arch-design/source/figures/Multi-site_Geo_Redundant_LB.png b/doc/arch-design/source/figures/Multi-site_Geo_Redundant_LB.png deleted file mode 100644 index 855d65edcc4698fddcd5d3f26d6aec46da6a6a97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76795 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%0A-aht2k3dk3pse;~9jt&ZuX-u`9127x}X-tj~3 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 bGW@ZRm>sp_{r@Hr1|aZs^>bP0l+XkK%;)@v diff --git a/doc/arch-design/source/figures/Network_Cloud_Storage2.png b/doc/arch-design/source/figures/Network_Cloud_Storage2.png deleted file mode 100644 index 9e38860624043dd78a23f49dd760205b17727b62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37491 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ⅇ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 diff --git a/doc/arch-design/source/figures/Network_Web_Services1.png b/doc/arch-design/source/figures/Network_Web_Services1.png deleted file mode 100644 index b0004ccefe0499e4b5b9208a54ef6032ed709d1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57855 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