Pengantar

Layanan Shared File Systems (manila) dimaksudkan untuk dijalankan pada node tunggal atau beberapa node. Layanan Shared File Systems terdiri dari empat layanan utama, yang serupa dengan layanan Block Storage:

  • manila-api

  • manila-scheduler

  • manila-share

  • manila-data

manila-api

Layanan yang menyediakan RESTful API yang stabil. Layanan mengotentikasi dan merutekan permintaan di seluruh layanan Shared Filesystem. Ada python-manilaclient untuk berinteraksi dengan API. Untuk detail lebih lanjut tentang Shared File Systems API, lihat OpenStack Shared File Systems API.

manila-share

Bertanggung jawab untuk mengelola perangkat Shared File Service, khususnya perangkat back-end.

manila-scheduler

Bertanggung jawab atas penjadwalan dan permintaan routing ke layanan manila-share yang sesuai. Hal itu dilakukan dengan memilih satu back-end sambil menyaring semua kecuali satu back-end.

manila-data

Layanan ini bertanggung jawab untuk mengelola operasi data yang memerlukan waktu lama untuk menyelesaikan dan memblokir layanan lain jika tidak ditangani secara terpisah.

Layanan Shared File Systems menggunakan basis data berbasis SQL yang dibagi oleh semua layanan Shared File Systems di sistem. Hal ini dapat menggunakan dialek SQL yang didukung oleh ORM SQLALchemy, namun hanya diuji dengan basis data MySQL dan PostgreSQL.

Menggunakan SQL, layanan Shared File Systems mirip dengan layanan OpenStack lainnya dan dapat digunakan dengan penyebaran OpenStack apa pun. Untuk detail lebih lanjut tentang API, lihat deskripsi OpenStack Shared File Systems API. Untuk detail lebih lanjut tentang penggunaan dan konfigurasi CLI, lihat Shared File Systems Cloud Administrative Guide.

Pada image di bawah ini Anda dapat melihat bagaimana berbagai bagian layanan Shared File System berinteraksi satu sama lain.

../_images/manila-intro.png

Selain sudah dijelaskan layanan Anda bisa melihat dua entitas lain pada image: python-manilaclient dan storage controller.

python-manilaclient

Antarmuka command line untuk berinteraksi dengan layanan Shared File Systems melalui manila-api dan juga modul Python untuk berinteraksi secara terprogram dengan layanan Shared File Systems.

Storage controller

Biasanya kotak logam dengan disk berputar, port ethernet, dan beberapa jenis perangkat lunak yang memungkinkan klien jaringan membaca dan menulis file di disk. Ada juga controller penyimpanan software-only yang berjalan di perangkat keras sembarangan, controller kluster yang berjalan menigizinkan beberapa perangkat fisik muncul sebagai controller penyimpanan tunggal, atau controller penyimpanan virtual yang murni

Share adalah sistem berkas yang dapat di mount dan jauh. Anda dapat me-mount share dan mengakses share dari beberapa host oleh beberapa pengguna sekaligus.

Layanan Shared File Systems dapat bekerja dengan berbagai jenis jaringan: flat, VLAN, VXLAN, atau GRE, dan mendukung jaringan tersegmentasi. Ada juga jenis yang berbeda network plug-ins yang menyediakan berbagai pendekatan integrasi dengan layanan jaringan yang tersedia dengan OpenStack.

Ada sejumlah besar driver share yang dibuat oleh vendor yang berbeda yang mendukung solusi penyimpanan perangkat keras yang berbeda, misalnya NetApp Clustered Data ONTAP (cDOT) Driver, Driver NAS Huawei atau Driver GlusterFS. Setiap driver share adalah kelas Python yang bisa diatur untuk back end dan berjalan di back end untuk mengelola operasi share, beberapa di antaranya bisa menjadi vendor-specific. Back end adalah instance dari layanan manila-share.

Data konfigurasi klien untuk otentikasi dan otorisasi dapat disimpan oleh security services. Protokol seperti layanan otentikasi LDAP, Kerberos, atau Microsoft Active Directory dapat dikonfigurasi dan digunakan.

Unless it is not explicitly changed in the policy.json, either an administrator or the tenant that owns a share are able to manage access to the shares. Manajemen akses dilakukan dengan membuat aturan akses dengan otentikasi melalui sertifikat IP address, user, group, atau TLS. Metode otentikasi yang tersedia bergantung pada pengandar berbagi dan layanan keamanan yang Anda konfigurasikan dan gunakan.

Catatan

Driver yang berbeda mendukung pilihan akses yang berbeda tergantung pada protokol sistem file bersama yang digunakan. Protokol sistem file bersama yang didukung adalah NFS, CIFS, GlusterFS, dan HDFS. Misalnya, driver Generic (Block Storage as a back end) tidak mendukung metode otentikasi pengguna dan sertifikat. Ini juga tidak mendukung layanan keamanan apa pun, seperti LDAP, Kerberos, atau Active Directory. Untuk rincian fitur yang didukung oleh driver yang berbeda, lihat Manila share features support mapping.

Sebagai administrator, Anda dapat membuat jenis share yang memungkinkan penjadwal memfilter kembali sebelum Anda membuat share. Jenis share memiliki spesifikasi tambahan dimana Anda dapat menetapkan penjadwal penyaringan dan pembobotan back end sehingga share yang sesuai dipilih untuk pengguna yang meminta pembuatan share. Share dan tipe share bisa dibuat sebagai publik atau privat. Tingkat visibilitas ini mendefinisikan apakah penyewa lain dapat melihat object ini dan beroperasi dengan mereka, atau tidak. Administrator bisa menambahkan access to the private share types untuk pengguna atau penyewa tertentu dalam layanan Identity. Dengan demikian pengguna yang telah Anda berikan akses dapat melihat jenis share yang tersedia dan membuat share yang menggunakannya.

Izin untuk panggilan API untuk pengguna yang berbeda dan peran mereka ditentukan oleh policies seperti di layanan OpenStack lainnya.

Layanan Identity dapat digunakan untuk otentikasi dalam layanan Shared File Systems. Lihat rincian keamanan layanan Identity di bagian Identitas.

Informasi keamanan umum

Serupa dengan proyek OpenStack lainnya, layanan Shared File Systems didaftarkan pada layanan Identity, sehingga Anda dapat menemukan API endpoint dari layanan share v1 dan v2 menggunakan perintah **manila endpoints **:

$ 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        |
+-------------+-----------------------------------------+

Secara default, layanan Shared File Systems API hanya mendengarkan pada port 8786 dengan tipe tcp6 yang mendukung IPv4 dan IPv6.

Catatan

Port 8786 adalah port default untuk layanan Shared File Systems. Ini bisa diubah ke port lain, tapi perubahan ini juga harus dilakukan pada file konfigurasi ke opsi osapi_share_listen_port yang defaultnya ke 8786.

Di direktori /etc/manila/ Anda dapat menemukan beberapa file konfigurasi:

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

./rootwrap.d:
share.filters

Disarankan agar Anda mengkonfigurasi layanan Shared File Systems agar berjalan di bawah akun layanan non-root, dan mengubah perizinan file sehingga hanya administrator sistem yang dapat memodifikasinya. Layanan Shared File Systems mengharapkan bahwa hanya administrator yang dapat menulis ke file konfigurasi dan layanan hanya dapat membacanya melalui keanggotaan grup mereka di grup manila. Yang lain tidak boleh bisa membaca file ini karena file tersebut mengandung kata sandi admin untuk berbagai layanan.

Terapkan cek Check-Shared-01: Apakah user/group kepemilikan file konfigurasi diset ke root/manila? dan Check-Shared-02: Apakah ada izin ketat diatur untuk file konfigurasi? dari checklist untuk memverifikasi bahwa izin ditetapkan dengan benar.

Catatan

Konfigurasi untuk manila-rootwrap di file rootwrap.conf dan filter perintah manila-rootwrap untuk share node dalam file rootwrap.d/share.filters harus dimiliki oleh, dan hanya dapat ditulisi oleh, pengguna root

Tip

File konfigurasi manila manila.conf dapat ditempatkan dimana saja. Path /etc/manila/manila.conf diharapkan secara default.