Giriş

Paylaşımlı Dosya Sistemleri servisi (manila), tek düğümde veya birden çok düğümde koştuğu düşünülmüştür. Paylaşılan Dosya Sistemleri servisi, Blok Depolama servisinkine benzer dört ana servisten oluşur:

  • manila-api

  • manila-scheduler

  • manila-share

  • manila-data

manila-api

The service that provides a stable RESTful API. The service authenticates and routes requests throughout the Shared Filesystem service. There is python-manilaclient to interact with the API. For more details on the Shared File Systems API, see the OpenStack Shared File Systems API.

manila-share

Paylaşımlı Dosya Servisi cihazlarını, özellikle arka uç cihazlarını yönetmekle sorumludur.

manila-scheduler

İstekleri uygun manila-share servisine planlamak ve yönlendirme yapmaktan sorumludur. Bunu, bir arka uç hariç tümü süzülmüşken bir arka uç seçerek yapar.

manila-data

Bu servis, ayrı işlem yapılmaması durumunda diğer servislerin tamamlanması ve engellenmesi için uzun sürebilecek veri işlemlerini yönetmekten sorumludur.

Paylaşımlı Dosya Sistemleri servisi, sistemdeki tüm Paylaşımlı Dosya Sistemleri servisleri tarafından paylaşılan bir SQL tabanlı merkezi veritabanı kullanır. ORM SQLALchemy tarafından desteklenen herhangi bir SQL lehçesini kullanabilir, ancak yalnızca MySQL ve PostgreSQL veri tabanlarıyla test edilir.

Using SQL, the Shared File Systems service is similar to other OpenStack services and can be used with any OpenStack deployment. For more details on the API, see the OpenStack Shared File Systems API description. For more details on the CLI usage and configuration, see Shared File Systems Cloud Administrative Guide.

Aşağıdaki resimde, Paylaşımlı Dosya Sistemi servisinin farklı bölümlerinin birbirleriyle nasıl etkileşime girdiğini görebilirsiniz.

../_images/manila-intro.png

Daha önce açıklanan servislerin yanı sıra, görselde iki varlık daha görebilirsiniz: python-manilaclient ve depolama denetleyicisi.

python-manilaclient

manila-api yoluyla Paylaşımlı Dosya Sistemleri servisiyle ve programlı olarak Paylaşımlı Dosya Sistemleri servisiyle etkileşime giren bir Python modülü ile etkileşim kurmak için komut satırı arabirimi.

Depolama kontrolcüsü

Tipik olarak, dönen diskler, ethernet bağlantı noktaları ve ağ istemcilerinin disklerdeki dosyaları okumasına ve yazmasına olanak tanıyan bir tür yazılım içeren bir metal kutu. Ayrıca rastgele donanım üzerinde çalışan, yalnızca birden fazla fiziksel aygıtın tek bir depolama denetleyicisi olarak görünmesine veya tamamen sanal depolama denetleyicilerine izin verebilen kümelenmiş denetleyicilerde çalışan salt yazılımlı depolama denetleyicileri de vardır.

Paylaşım, uzaktan bağlanabilen bir dosya sistemidir. Aynı anda birkaç kullanıcı tarafından birkaç ana bilgisayardan bir paylaşım yükleyebilir ve bir paylaşıma erişebilirsiniz.

Paylaşımlı Dosya Sistemleri servisi farklı ağ türleri ile çalışabilir: düz, VLAN, VXLAN veya GRE ve segmentli ağları destekler. Ayrıca, farklı ağ eklentileri, OpenStack ile kullanılabilen ağ servisleri ile çeşitli entegrasyon yaklaşımları sağlar.

NetApp Kümeli Veri ONTAP (cDOT) Sürücüsü, Huawei NAS Sürücüsü veya GlusterFS Sürücüsü gibi farklı donanım depolama çözümlerini destekleyen farklı satıcılar tarafından oluşturulan çok sayıda paylaşım sürücüsü vardır. Her bir paylaşım sürücüsü, bir arka uç için ayarlanabilen ve bazıları satıcıya özgü olan paylaşım işlemlerini yönetmek için arka uçta çalıştırılabilen bir Python sınıfıdır. Arka uç, manila-share servisinin bir örneğidir.

Kimlik doğrulama ve yetkilendirme için müşterilerin yapılandırma verileri :ref: güvenlik servisleri <shared_fs_security_services> tarafından saklanabilir. LDAP, Kerberos veya Microsoft Active Directory kimlik doğrulama servisi gibi protokoller yapılandırılabilir ve kullanılabilir.

policy.json dosyasında açıkça değiştirilmediği sürece bir yönetici veya bir paylaşıma sahip olan kiracı paylaşımlara erişim sağlayabilir. Erişim yönetimi, IP adresi, kullanıcı, grup veya TLS sertifikaları aracılığıyla kimlik doğrulama ile erişim kuralları oluşturarak yapılır. Kullanılabilir kimlik doğrulama yöntemleri, yapılandırdığınız ve kullandığınız güvenlik ve paylaşım sürücüsüne bağlıdır.

Not

Different drivers support different access options depending on which shared file system protocol is used. Supported shared file system protocols are NFS, CIFS, GlusterFS, and HDFS. For example, the Generic (Block Storage as a back end) driver does not support user and certificate authentication methods. It also does not support any of the security services, such as LDAP, Kerberos, or Active Directory. For details of features supported by different drivers, see Manila share features support mapping.

Bir yönetici olarak, bir paylaşım oluşturmadan önce zamanlayıcı tarafından bitiş noktalarını filtrelemenizi sağlayan paylaşım türleri oluşturabilirsiniz. Paylaşım türlerinin, paylaşım yaratma isteyen bir kullanıcı için uygun olanın seçilmesi için zamanlayıcıya arka uçları filtrelemek ve tartmak için ayarlayabileceğiniz ek özelliklere sahipsiniz. Paylaşımlar ve paylaşım türleri, herkese açık veya özel olarak oluşturulabilir. Bu görünürlük seviyesi, diğer kiracıların bu nesneleri görüp görmeyeceğini ve onlarla birlikte çalışıp çalışamayacaklarını belirtir. Bir yönetici, belirli kullanıcılar veya Kimlik servisindeki kiracılar için özel paylaşım türlerine erişim ekleyebilir. Böylece, erişim izni verdiğiniz kullanıcılar mevcut paylaşım türlerini görebilir ve bunları kullanarak paylaşımlar oluşturabilir.

Farklı kullanıcılar ve rolleri için API çağrıları için izinler, diğer OpenStack servislerinde olduğu gibi policies tarafından belirlenir.

Kimlik servisi, Paylaşımlı Dosya Sistemleri servisinde kimlik doğrulama için kullanılabilir. Kimlik hizmeti güvenliği ile ilgili ayrıntılar için Kimlik bölümüne bakınız.

Genel güvenlik bilgisi

Diğer OpenStack projelerine benzer şekilde Paylaşımlı Dosya Sistemleri servisi Kimlik servisiyle kayıtlı olduğundan **manila endpoints ** komutunu kullanarak paylaşım servisi v1 ve v2’nin API bitiş noktalarını bulabilirsiniz:

$ manila endpoints
+-------------+-----------------------------------------+
| manila      | Value                                   |
+-------------+-----------------------------------------+
| adminURL    | http://172.18.198.55:8786/v1/20787a7b...|
| region      | RegionOne                               |
| publicURL   | http://172.18.198.55:8786/v1/20787a7b...|
| internalURL | http://172.18.198.55:8786/v1/20787a7b...|
| id          | 82cc5535aa444632b64585f138cb9b61        |
+-------------+-----------------------------------------+

+-------------+-----------------------------------------+
| manilav2    | Value                                   |
+-------------+-----------------------------------------+
| adminURL    | http://172.18.198.55:8786/v2/20787a7b...|
| region      | RegionOne                               |
| publicURL   | http://172.18.198.55:8786/v2/20787a7b...|
| internalURL | http://172.18.198.55:8786/v2/20787a7b...|
| id          | 2e8591bfcac4405fa7e5dc3fd61a2b85        |
+-------------+-----------------------------------------+

Varsayılan olarak, Paylaşımlı Dosya Sistemleri API servisi, IPv4 ve IPv6’yi destekleyen tcp6 tipi ile 8786 portunu dinler.

Not

8786 portu, Paylaşımlı Dosya Sistemleri servisinin varsayılan portudur. Diğer herhangi bir porta değiştirilebilir, ancak bu değişikliğin yapılandırma dosyasında osapi_share_listen_port seçeneğine yapılması gerekir; varsayılan değeri 8786.

/etc/manila/ dizininde birkaç yapılandırma dosyası bulabilirsiniz:

api-paste.ini
manila.conf
policy.json
rootwrap.conf
rootwrap.d

./rootwrap.d:
share.filters

Paylaşımlı Dosya Sistemleri servisini root olmayan bir servis hesabı altında çalışacak şekilde yapılandırmanız ve dosya izinlerini yalnızca sistem yöneticisinin değiştirebilmesi için değiştirmeniz önerilir. Paylaşımlı Dosya Sistemleri servisi, yalnızca yöneticilerin yapılandırma dosyalarına yazabileceğini ve servislerin yalnızca grup üyeliği yoluyla bunları manila grubunda okuyabileceğini beklemektedir. Dosyalar, farklı servisler için yönetici parolalarını içerdiğinden diğerleri bu dosyaları okuyamamalıdır.

İzinlerin uygun bir şekilde ayarlandığından emin olmak için kontrol listesinden Check-Shared-01: Yapılandırma dosyalarının kullanıcı/grup sahipliği root/manila mı? ve Check-Shared-02: Yapılandırma dosyalarının izinleri sıkı olarak ayarlandı mı? kontrollerini onaylayın.

Not

rootwrap.conf dosyasındaki manila-rootwrap için yapılandırma ve rootwrap.d/share.filters dosyasındaki paylaşım düğümleri için manila-rootwrap komut filtreleri için sahibi tarafından ve sadece root tarafından yazılabilir olmalıdır.

Tüyo

Manila yapılandırma dosyası manila.conf herhangi bir yerde olabilir. /etc/manila/manila.conf öntanımlı yoldur.