Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Dunia melihat prototaip pertama penyimpanan objek pada tahun 1996. Dalam 10 tahun, Perkhidmatan Web Amazon akan melancarkan Amazon S3, dan dunia akan mula menjadi gila secara sistematik dengan ruang alamat rata. Terima kasih kepada bekerja dengan metadata dan keupayaannya untuk menskala tanpa mengendur di bawah beban, storan objek dengan cepat menjadi standard untuk kebanyakan perkhidmatan storan data awan, dan bukan itu sahaja. Satu lagi ciri penting ialah ia sangat sesuai untuk menyimpan arkib dan fail serupa yang jarang digunakan. Semua orang yang terlibat dalam penyimpanan data bergembira dan memakai teknologi baharu dalam tangan mereka.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Tetapi khabar angin orang ramai penuh dengan khabar angin bahawa penyimpanan objek hanya mengenai awan besar, dan jika anda tidak memerlukan penyelesaian daripada pemodal terkutuk, maka ia akan menjadi sangat sukar untuk membuat anda sendiri. Banyak yang telah ditulis tentang menggunakan awan anda sendiri, tetapi tidak cukup maklumat tersedia tentang mencipta penyelesaian yang serasi dengan S3.

Oleh itu, hari ini kami akan memikirkan pilihan yang ada "Supaya ia seperti orang dewasa, bukan CEPH dan fail yang lebih besar," kami akan menggunakan salah satu daripadanya, dan kami akan menyemak sama ada semuanya berfungsi menggunakan Veeam Backup & Replication. Ia mendakwa menyokong kerja dengan storan serasi S3, dan kami akan menguji tuntutan ini.

Bagaimana dengan orang lain?

Saya cadangkan bermula dengan gambaran keseluruhan kecil pasaran dan pilihan storan objek. Pemimpin dan standard yang diiktiraf umum ialah Amazon S3. Dua pengejar terdekat ialah Microsoft Azure Blob Storage dan IBM Cloud Object Storage.

Itu sahajakah? Adakah benar-benar tiada pesaing lain? Sudah tentu, terdapat pesaing, tetapi ada yang mengikut cara mereka sendiri, seperti Google Cloud atau Oracle Cloud Object Storage, dengan sokongan yang tidak lengkap untuk API S3. Sesetengah menggunakan versi lama API, seperti Baidu Cloud. Dan sesetengahnya, seperti Hitachi Cloud, memerlukan logik khas, yang pastinya akan menyebabkan kesukarannya sendiri. Walau apa pun, semua orang dibandingkan dengan Amazon, yang boleh dianggap sebagai standard industri.

Tetapi dalam penyelesaian di premis terdapat lebih banyak pilihan, jadi mari kita gariskan kriteria yang penting bagi kita. Pada dasarnya, hanya dua yang mencukupi: sokongan untuk API S3 dan penggunaan tandatangan v4. Tangan di hati, kami, sebagai pelanggan masa depan, hanya berminat dalam antara muka untuk interaksi, dan kami tidak begitu berminat dengan dapur dalaman kemudahan storan itu sendiri.

Banyak penyelesaian sesuai dengan syarat mudah ini. Contohnya, syarikat wajaran berat klasik:

  • DellEMC ECS
  • NetApp S3 StorageGrid
  • Baldi Nutanix
  • Penyimpanan Tulen FlashBlade dan StorReduce
  • Huawei FusionStorage

Terdapat niche penyelesaian perisian semata-mata yang berfungsi di luar kotak:

  • Topi Merah Ceph
  • Storan Perusahaan SUSE
  • Cloudian

Dan bahkan mereka yang suka memfailkan dengan teliti selepas perhimpunan tidak tersinggung:

  • CEPH dalam bentuk paling tulen
  • Minio (versi Linux, kerana terdapat banyak soalan mengenai versi Windows)

Senarai itu jauh dari lengkap; ia boleh dibincangkan dalam ulasan. Cuma jangan lupa untuk menyemak prestasi sistem sebagai tambahan kepada keserasian API sebelum pelaksanaan. Perkara terakhir yang anda mahukan ialah kehilangan terabait data kerana pertanyaan yang tersekat. Jadi jangan malu dengan ujian beban. Secara umum, semua perisian dewasa yang berfungsi dengan jumlah data yang besar mempunyai sekurang-kurangnya laporan keserasian. Dalam kes Veeam ada keseluruhan program pada ujian bersama, yang membolehkan kami dengan yakin mengisytiharkan keserasian penuh produk kami dengan peralatan tertentu. Ini sudah menjadi kerja dua hala, tidak selalu pantas, tetapi kami sentiasa berkembang senarai penyelesaian yang diuji.

Menghimpun pendirian kami

Saya ingin bercakap sedikit tentang memilih subjek ujian.

Mula-mula, saya ingin mencari pilihan yang akan berfungsi di luar kotak. Nah, atau sekurang-kurangnya dengan kebarangkalian maksimum bahawa ia akan berfungsi tanpa perlu membuat pergerakan yang tidak perlu. Menari dengan tamborin dan bermain-main dengan konsol pada waktu malam sangat mengujakan, tetapi kadangkala anda mahu ia berfungsi dengan segera. Dan kebolehpercayaan keseluruhan penyelesaian sedemikian biasanya lebih tinggi. Dan ya, semangat pengembaraan telah hilang dalam diri kami, kami berhenti memanjat ke tingkap wanita tercinta kami, dll. (c).

Kedua, sejujurnya, keperluan untuk bekerja dengan penyimpanan objek timbul dalam syarikat yang agak besar, jadi ini adalah kes yang berlaku apabila melihat ke arah penyelesaian peringkat perusahaan bukan sahaja tidak memalukan, malah digalakkan. Walau apa pun, saya masih belum mengetahui sebarang contoh sesiapa yang dipecat kerana membeli penyelesaian sedemikian.

Berdasarkan semua perkara di atas, pilihan saya jatuh pada Dell EMC ECS Edisi Komuniti. Ini adalah projek yang sangat menarik, dan saya menganggap perlu untuk memberitahu anda mengenainya.

Perkara pertama yang terlintas di fikiran apabila anda melihat alat tambah itu Edisi Komuniti - bahawa ini hanyalah salinan ECS sepenuhnya dengan beberapa sekatan yang dialih keluar dengan membeli lesen. Jadi tidak!

Ingat:

!!!Edisi Komuniti ialah projek berasingan yang dicipta untuk ujian, dan tanpa sokongan teknikal daripada Dell!!
Dan ia tidak boleh ditukar menjadi ECS sepenuhnya, walaupun anda benar-benar mahu.

Mari kita fikirkan

Ramai orang percaya bahawa Dell EMC ECS hampir merupakan penyelesaian terbaik jika anda memerlukan storan objek. Semua projek di bawah jenama ECS, termasuk komersial dan korporat, adalah berdasarkan github. Semacam isyarat muhibah daripada Dell. Dan sebagai tambahan kepada perisian yang berjalan pada perkakasan berjenama mereka, terdapat versi sumber terbuka yang boleh digunakan dalam awan, pada mesin maya, dalam bekas atau pada mana-mana perkakasan anda sendiri. Melihat ke hadapan, terdapat juga versi OVA, yang akan kami gunakan.
Edisi Komuniti DELL ECS sendiri ialah versi mini perisian lengkap yang dijalankan pada pelayan Dell EMC ECS berjenama.

Saya mengenal pasti empat perbezaan utama:

  • Tiada sokongan penyulitan. Ia memalukan, tetapi tidak kritikal.
  • Lapisan Fabrik tiada. Perkara ini bertanggungjawab untuk membina kluster, pengurusan sumber, kemas kini, memantau dan menyimpan imej Docker. Di sinilah ia sudah sangat menyinggung perasaan, tetapi Dell juga boleh difahami.
  • Akibat yang paling menjijikkan dari titik sebelumnya: saiz nod tidak boleh dikembangkan selepas pemasangan selesai.
  • Tiada sokongan teknikal. Ini adalah produk untuk ujian, yang tidak dilarang untuk digunakan dalam pemasangan kecil, tetapi saya secara peribadi tidak akan berani memuat naik petabait data penting di sana. Tetapi secara teknikal tiada siapa boleh menghalang anda daripada melakukan ini.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Apa yang ada dalam versi besar?

Mari bergegas merentasi Eropah dan melalui penyelesaian kuku besi untuk mendapatkan pemahaman yang lebih lengkap tentang ekosistem.

Saya tidak akan mengesahkan atau menafikan kenyataan bahawa DELL ECS ialah storan objek di hadapan yang terbaik, tetapi jika anda mempunyai apa-apa untuk diperkatakan mengenai topik ini, saya akan gembira membacanya dalam ulasan. Sekurang-kurangnya mengikut versi IDC MarketScape 2018 Dell EMC yakin antara lima peneraju pasaran OBS teratas. Walaupun penyelesaian berasaskan awan tidak diambil kira di sana, ini adalah perbualan yang berasingan.

Dari sudut pandangan teknikal, ECS ialah storan objek yang menyediakan akses kepada data menggunakan protokol storan awan. Menyokong AWS S3 dan OpenStack Swift. Untuk baldi yang didayakan fail, ECS menyokong NFSv3 untuk eksport fail demi fail.

Proses merekod maklumat agak luar biasa, terutamanya selepas sistem penyimpanan blok klasik.

  • Apabila data baharu tiba, objek baharu dicipta yang mempunyai nama, data itu sendiri dan metadata.
  • Objek dibahagikan kepada ketulan 128 MB, dan setiap ketulan ditulis kepada tiga nod sekaligus.
  • Fail indeks dikemas kini, tempat pengecam dan lokasi storan direkodkan.
  • Fail log (masukan log) dikemas kini dan juga ditulis kepada tiga nod.
  • Mesej tentang rakaman yang berjaya dihantar kepada klien
    Ketiga-tiga salinan data ditulis secara selari. Penulisan dianggap berjaya hanya jika ketiga-tiga salinan berjaya ditulis.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Membaca lebih mudah:

  • Pelanggan meminta data.
  • Indeks mencari tempat data disimpan.
  • Data dibaca dari satu nod dan dihantar kepada klien.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Terdapat beberapa pelayan sendiri, jadi mari kita lihat Dell EMC ECS EX300 yang paling kecil. Ia bermula dari 60TB, dengan keupayaan untuk membesar sehingga 1,5PB. Dan abangnya, Dell EMC ECS EX3000, membolehkan anda menyimpan sebanyak 8,6PB setiap rak.

Sebarkan

Secara teknikal, Dell ECS CE boleh digunakan sebesar mana yang anda suka. Walau apa pun, saya tidak menemui sebarang sekatan yang jelas. Walau bagaimanapun, adalah mudah untuk melakukan semua penskalaan dengan mengkloning nod pertama, yang mana kita perlukan:

  • 8 vCPU
  • RAM 64GB
  • 16GB untuk OS
  • Storan langsung 1TB
  • Keluaran terkini CentOS minimum

Ini adalah pilihan apabila anda ingin memasang semuanya sendiri dari awal. Pilihan ini tidak relevan untuk kami, kerana... Saya akan menggunakan imej OVA untuk penggunaan.

Tetapi dalam apa jua keadaan, keperluan adalah sangat jahat walaupun untuk satu nod, dan jika anda mematuhi peraturan undang-undang, maka anda memerlukan empat nod tersebut.

Walau bagaimanapun, pemaju ECS CE hidup di dunia nyata, dan pemasangan berjaya walaupun dengan satu nod, dan keperluan minimum ialah:

  • 4 vCPU
  • 16 GB RAM
  • 16 GB untuk OS
  • Storan 104 GB itu sendiri

Ini adalah sumber yang diperlukan untuk menggunakan imej OVA. Sudah jauh lebih berperikemanusiaan dan realistik.

Nod pemasangan itu sendiri boleh didapati daripada pegawai github. Terdapat juga dokumentasi terperinci tentang penggunaan semua-dalam-satu, tetapi anda juga boleh membaca pada rasmi readthedocs. Oleh itu, kami tidak akan membincangkan secara terperinci mengenai pembukaan OVA, tidak ada muslihat di sana. Perkara utama ialah sebelum memulakannya, jangan lupa sama ada mengembangkan cakera ke volum yang diperlukan, atau melampirkan yang diperlukan.
Kami memulakan mesin, membuka konsol dan menggunakan kelayakan lalai terbaik:

  • log masuk: admin
  • kata laluan: ChangeMe

Kemudian kami menjalankan sudo nmtui dan mengkonfigurasi antara muka rangkaian - IP/mask, DNS dan gerbang. Mengingati bahawa CentOS minimum tidak mempunyai alatan bersih, kami menyemak tetapan melalui ip addr.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Dan kerana hanya yang berani menakluki lautan, kami melakukan kemas kini yum, selepas itu kami but semula. Ia sebenarnya agak selamat kerana... semua penggunaan dilakukan melalui buku permainan, dan semua pakej docker penting dikunci kepada versi semasa.

Kini tiba masanya untuk mengedit skrip pemasangan. Tiada tingkap mewah atau UI pseudo untuk anda - semuanya dilakukan melalui editor teks kegemaran anda. Secara teknikal, terdapat dua cara: anda boleh menjalankan setiap arahan secara manual atau segera melancarkan konfigurator videoploy. Ia hanya akan membuka konfigurasi dalam vim, dan apabila keluar ia akan mula menyemaknya. Tetapi tidak menarik untuk sengaja memudahkan hidup anda, jadi mari jalankan dua lagi arahan. Walaupun ini tidak masuk akal, saya memberi amaran kepada anda =)

Jadi, mari buat vim ECS-CommunityEdition/deploy.xml dan buat perubahan minimum yang optimum supaya ECS tersedia dan berjalan. Senarai parameter boleh dipendekkan, tetapi saya melakukannya seperti ini:

  • licensed_accepted: true Anda tidak perlu mengubahnya, kemudian apabila menggunakan, anda akan diminta secara eksplisit untuk menerimanya dan akan ditunjukkan frasa yang bagus. Mungkin ini juga telur Paskah.
    Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri
  • Nyahkomen baris nama auto: dan tersuai: Masukkan sekurang-kurangnya satu nama yang dikehendaki untuk nod - nama hos akan digantikan dengannya semasa proses pemasangan.
  • install_node: 192.168.1.1 Tentukan IP sebenar nod. Dalam kes kami, kami menunjukkan sama seperti dalam nmtui
  • dns_domain: masukkan domain anda.
  • dns_servers: masukkan dns anda.
  • ntp_servers: anda boleh menentukan mana-mana satu. Saya mengambil yang pertama yang saya temui dari kolam 0.pool.ntp.org (ia menjadi 91.216.168.42)
  • autonaming: tersuai Jika anda tidak membatalkan ulasan, bulan akan dipanggil Luna.
  • ecs_block_devices:
    / dev / sdb
    Atas sebab yang tidak diketahui, mungkin terdapat peranti storan blok /dev/vda yang tidak wujud
  • storage_pools:
    ahli:
    192.168.1.1 Di sini sekali lagi kami menunjukkan IP sebenar nod
  • ecs_block_devices:
    /dev/sdb Kami mengulangi operasi memotong peranti yang tidak wujud.

Secara umum, keseluruhan fail diterangkan dengan terperinci dalam dokumentasi, tetapi siapa yang akan membacanya dalam masa yang sukar. Ia juga mengatakan bahawa minimum yang mencukupi adalah untuk menentukan IP dan topeng, tetapi dalam makmal saya set sedemikian bermula dengan agak teruk, dan saya terpaksa mengembangkannya kepada yang dinyatakan di atas.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Selepas keluar dari editor, anda perlu menjalankan update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, dan jika semuanya dilakukan dengan betul, ini akan dilaporkan secara eksplisit.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Kemudian anda masih perlu menjalankan videoploy, tunggu persekitaran dikemas kini, dan anda boleh memulakan pemasangan itu sendiri dengan arahan ova-step1, dan selepas berjaya selesai, arahan ova-step2. Penting: jangan hentikan skrip dengan tangan! Sesetengah langkah mungkin mengambil masa yang lama, mungkin tidak selesai pada percubaan pertama, dan mungkin kelihatan seperti semuanya rosak. Walau apa pun, anda perlu menunggu skrip selesai secara semula jadi. Pada akhirnya anda akan melihat mesej yang serupa dengan ini.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Kini kami akhirnya boleh membuka panel kawalan WebUI menggunakan IP yang kami tahu. Jika konfigurasi tidak diubah pada peringkat, akaun lalai akan menjadi root/ChangeMe. Anda juga boleh menggunakan storan serasi S3 kami dengan segera. Ia tersedia pada port 9020 untuk HTTP dan 9021 untuk HTTPS. Sekali lagi, jika tiada apa-apa yang diubah, maka access_key: object_admin1 dan secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.

Tetapi janganlah kita terlalu mendahului diri sendiri dan mulakan dengan teratur.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Apabila anda log masuk buat kali pertama, anda akan dipaksa untuk menukar kata laluan anda kepada kata laluan yang mencukupi, yang sememangnya betul. Papan pemuka utama sangat jelas, jadi mari kita lakukan sesuatu yang lebih menarik daripada menerangkan metrik yang jelas. Sebagai contoh, mari kita buat pengguna yang akan kita gunakan untuk mengakses storan. Dalam dunia penyedia perkhidmatan, ini dipanggil penyewa. Ini dilakukan dalam Urus > Pengguna > Pengguna Objek Baharu

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Apabila mencipta pengguna, kami diminta untuk menentukan ruang nama. Secara teknikal, tiada apa yang menghalang kami daripada mencipta sebanyak mungkin pengguna. Dan begitu juga sebaliknya. Ini membolehkan anda mengurus sumber secara bebas untuk setiap penyewa.

Sehubungan itu, kami memilih fungsi yang kami perlukan dan menjana kunci pengguna. S3/Atmos sudah memadai untuk saya. Dan jangan lupa simpan kunci πŸ˜‰

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Pengguna telah dibuat, kini tiba masanya untuk memperuntukkan baldi kepadanya. Pergi ke Urus > Baldi dan isikan medan yang diperlukan. Semuanya mudah di sini.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Kini kami telah menyediakan segala-galanya untuk penggunaan storan S3 kami yang agak pertempuran.

Menyediakan Veeam

Jadi, seperti yang kita ingat, salah satu kegunaan utama penyimpanan objek ialah penyimpanan maklumat jangka panjang yang jarang diakses. Contoh yang ideal ialah keperluan untuk menyimpan sandaran di tapak terpencil. Dalam Sandaran & Replikasi Veeam, ciri ini dipanggil Tahap Kapasiti.

Mari mulakan persediaan dengan menambahkan Dell ECS CE kami pada antara muka Veeam. Pada tab Infrastruktur Sandaran, lancarkan Tambah Wizard Repositori Baharu dan pilih Storan Objek.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Mari pilih untuk apa semuanya bermula - S3 Compatible.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Dalam tetingkap yang muncul, tulis nama yang dikehendaki dan pergi ke langkah Akaun. Di sini anda perlu menentukan titik Perkhidmatan dalam borang https://your_IP:9021, rantau ini boleh dibiarkan seperti sedia ada dan pengguna yang dibuat boleh ditambah. Pelayan gerbang diperlukan jika storan anda terletak di tapak terpencil, tetapi ini sudah menjadi topik untuk mengoptimumkan infrastruktur dan artikel berasingan, jadi anda boleh melangkaunya dengan selamat di sini.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Jika semuanya ditentukan dan dikonfigurasikan dengan betul, amaran tentang sijil akan muncul dan kemudian tetingkap dengan baldi di mana anda boleh membuat folder untuk fail kami.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Kami pergi melalui ahli sihir hingga akhir dan menikmati hasilnya.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Langkah seterusnya ialah sama ada membuat Repositori Sandaran Skala Keluar baharu, atau tambahkan S3 kami kepada yang sedia ada - ia akan digunakan sebagai Peringkat Kapasiti untuk storan arkib. Tiada fungsi untuk menggunakan storan serasi S3 secara langsung, seperti repositori biasa, dalam keluaran semasa. Terlalu banyak masalah yang agak tidak jelas perlu diselesaikan untuk ini berlaku, tetapi segala-galanya boleh dilakukan.
Pergi ke tetapan repositori dan dayakan Tahap Kapasiti. Segala-galanya telus di sana, tetapi terdapat nuansa yang menarik: jika anda mahu semua data dihantar ke storan objek secepat mungkin, hanya tetapkan kepada 0 hari.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Selepas melalui wizard, jika anda tidak mahu menunggu, anda boleh menekan ctrl+RMB pada repositori, melancarkan tugas Tiering secara paksa dan menonton graf merangkak.

Penyimpanan objek di ruang belakang, atau Bagaimana untuk menjadi pembekal perkhidmatan anda sendiri

Itu sahaja buat masa ini. Saya rasa saya berjaya dalam tugas menunjukkan bahawa storan blok tidak semenakutkan seperti yang orang fikirkan. Ya, terdapat penyelesaian dan pilihan untuk gerabak dan troli kecil, tetapi anda tidak boleh merangkumi segala-galanya dalam satu artikel. Jadi mari berkongsi pengalaman kami dalam komen.

Sumber: www.habr.com

Tambah komen