Dunia melihat prototipe pertama dari penyimpanan objek pada tahun 1996. Setelah 10 tahun, Amazon Web Services akan meluncurkan Amazon S3, dan dunia akan mulai menjadi gila secara sistematis dengan ruang alamat datar. Berkat bekerja dengan metadata dan kemampuannya untuk menskalakan tanpa melorot saat dimuat, penyimpanan objek dengan cepat menjadi standar untuk sebagian besar layanan penyimpanan cloud, dan banyak lagi. Fitur penting lainnya adalah kemampuannya yang baik untuk menyimpan arsip dan file yang jarang digunakan serupa. Setiap orang yang terlibat dalam penyimpanan data bersukacita dan membawa teknologi baru di tangan.

Tetapi desas-desus orang dipenuhi dengan desas-desus bahwa objek repositori hanya tentang awan besar, dan jika Anda tidak memerlukan solusi dari kapitalis terkutuk, maka akan sangat sulit untuk membuat sendiri. Banyak yang telah ditulis tentang penyebaran cloud-nya, tetapi tidak ada banyak informasi tentang penciptaan apa yang disebut solusi yang kompatibel S3.
Oleh karena itu, hari ini kita akan mencari tahu apa saja pilihan "Untuk membuatnya lebih seperti orang dewasa, bukan CEPH dan file yang lebih besar", kami akan memperluas salah satunya, dan kami akan memeriksa dengan Veeam Backup & Replikasi bahwa semuanya berfungsi. Ia mengklaim dukungan untuk bekerja dengan repositori yang kompatibel dengan S3, dan kami akan memeriksa pernyataan ini.
Bagaimana dengan orang lain?
Saya sarankan mulai dengan gambaran singkat tentang pasar dan opsi untuk penyimpanan objek. Pemimpin dan standar yang diakui adalah Amazon S3. Dua pengejar terdekat adalah Microsoft Azure Blob Storage dan IBM Cloud Object Storage.
Hanya itu semua Apakah benar-benar tidak ada pesaing lain? Tentu saja, ada pesaing, tetapi seseorang berjalan dengan caranya sendiri, seperti Google Cloud atau Oracle Cloud Object Storage, dengan dukungan yang tidak lengkap untuk API S3. Seseorang menggunakan versi API yang lebih lama seperti Baidu Cloud. Dan beberapa, seperti Hitachi Cloud, memerlukan penggunaan logika khusus, yang tentunya akan menyebabkan kesulitan mereka. Bagaimanapun, semua orang dibandingkan dengan Amazon, yang dapat dianggap sebagai standar industri.
Tetapi solusi di tempat memiliki lebih banyak pilihan, jadi mari kita identifikasi kriteria yang penting bagi kami. Pada prinsipnya, hanya dua yang cukup: dukungan untuk API S3 dan penggunaan penandatanganan v4. Dengan sepenuh hati, kami, sebagai pelanggan di masa depan, hanya tertarik pada antarmuka untuk interaksi, dan kami tidak begitu tertarik pada dapur internal penyimpanan itu sendiri.
Nah, banyak solusi yang cocok untuk kondisi sederhana ini. Misalnya, perusahaan kelas berat klasik:
- DellEMC ECS
- NetApp S3 StorageGrid
- Ember Nutanix
- Penyimpanan Murni FlashBlade dan StorReduce
- Huawei FusionStorage
Ada ceruk solusi perangkat lunak murni yang bekerja di luar kotak:
- Topi merah ceph
- SUSE Penyimpanan Perusahaan
- Cloudian
Dan bahkan mereka yang suka memproses file dengan hati-hati setelah perakitan tidak tersinggung:
- Ceph murni
- Minio (versi Linux, untuk versi Windows ada banyak pertanyaan)
Daftarnya masih jauh dari lengkap, bisa dibahas di komentar. Ingatlah untuk memeriksa kinerja sistem selain API kompatibilitas sebelum implementasi. Hal terakhir yang Anda butuhkan adalah hilangnya data terabyte karena permintaan menggantung. Jadi jangan ragu untuk stress test. Secara umum, semua perangkat lunak dewasa yang bekerja dengan sejumlah besar data memiliki setidaknya laporan kompatibilitas. Dalam hal Veeam, ada seluruh program untuk pengujian bersama, yang memungkinkan Anda untuk mendeklarasikan kompatibilitas penuh produk kami dengan peralatan tertentu secara aman. Ini sudah merupakan pekerjaan dua arah, tidak selalu cepat, tetapi kami terus-menerus memperluas daftar solusi yang teruji.
Menyatukan stand kami
Saya ingin berbicara sedikit tentang memilih subjek ujian.
Pertama, saya ingin menemukan opsi yang akan segera bekerja di luar kotak. Ya, atau paling tidak dengan probabilitas maksimum yang akan ia peroleh tanpa harus membuat gerakan ekstra. Menari dengan rebana dan memetik konsol di malam hari sangat mengasyikkan, tapi kadang-kadang saya ingin langsung bekerja. Dan keandalan umum dari solusi semacam itu biasanya lebih tinggi. Dan ya, semangat petualangan menghilang dalam diri kita, kita berhenti memanjat melalui jendela wanita tercinta kita, dll. (C).
Kedua, jujur, kebutuhan untuk bekerja dengan penyimpanan objek muncul untuk perusahaan yang cukup besar, jadi ini adalah kasus ketika mencari solusi tingkat perusahaan tidak hanya tidak memalukan, tetapi bahkan didorong. Bagaimanapun, saya belum tahu contoh seseorang dipecat karena membeli solusi tersebut.
Berdasarkan hal tersebut di atas, pilihan saya jatuh pada Edisi Komunitas Dell EMC ECS . Ini adalah proyek yang sangat menarik, dan saya menganggap perlu untuk memberi tahu Anda tentang itu.
Hal pertama yang terlintas dalam pikiran ketika melihat add-on Edisi Komunitas adalah itu hanyalah kertas kalkir dari ECS lengkap dengan beberapa batasan yang dihapus dengan membeli lisensi. Jadi tidak!
Ingat:
!!! Community Edition adalah proyek terpisah yang dirancang untuk pengujian, dan tanpa dukungan teknis dari Dell !!
Dan itu tidak dapat diubah menjadi ECS lengkap, bahkan jika Anda benar-benar menginginkannya.
Mari kita mengerti
Banyak orang berpikir bahwa Dell EMC ECS hampir merupakan solusi terbaik jika Anda memerlukan penyimpanan objek. Semua proyek di bawah merek ECS, termasuk komersial dan perusahaan, terletak di github . Semacam niat baik dari Dell. Dan di samping perangkat lunak yang berjalan pada perangkat keras bermerek mereka, ada versi open source yang dapat digunakan bahkan di cloud, setidaknya di mesin virtual, setidaknya di wadah, setidaknya di salah satu perangkat keras Anda. Ke depan - bahkan ada versi OVA, yang akan kita gunakan.
DELL ECS Community Edition sendiri adalah versi mini dari perangkat lunak lengkap yang berjalan pada server bermerek Dell EMC ECS.
Saya menyoroti empat perbedaan utama:
- Tidak ada dukungan enkripsi. Ini memalukan, tetapi tidak kritis.
- Lapisan Kain Hilang. Hal ini bertanggung jawab untuk pembangunan cluster, manajemen sumber daya, pembaruan, pemantauan dan penyimpanan gambar Docker. Di sini sudah sangat mengecewakan, tetapi Dell juga bisa dipahami.
- Konsekuensi paling buruk dari paragraf sebelumnya: ukuran node tidak dapat diperluas setelah instalasi selesai.
- Tidak ada dukungan teknis. Ini adalah produk untuk pengujian, yang tidak dilarang untuk digunakan dalam instalasi kecil, tetapi secara pribadi saya tidak akan berani mengunggah petabytes data penting di sana. Tetapi secara teknis tidak ada yang bisa menghentikan Anda dari melakukan ini.

Dan apa yang ada di versi besar?
Kami berpacu melalui Eropa untuk solusi besi untuk mendapatkan gambaran ekosistem yang lebih lengkap.
Saya tidak akan mengkonfirmasi atau menolak pernyataan bahwa DELL ECS adalah penyimpanan objek on-prem terbaik, tetapi jika Anda memiliki sesuatu untuk dikatakan tentang hal ini, saya akan membacanya dalam komentar dengan senang hati. Dalam kasus apa pun, menurut IDC MarketScape 2018, Dell EMC dengan percaya diri adalah salah satu dari lima pemimpin di pasar OBS. Meskipun solusi berbasis cloud tidak diperhitungkan di sana, ini adalah masalah terpisah.
Dari sudut pandang teknis, ECS adalah penyimpanan objek yang menyediakan akses ke data melalui protokol penyimpanan cloud. Mendukung AWS S3 dan OpenStack Swift. Untuk bucket yang didukung file, ECS mendukung NFSv3 untuk kapabilitas ekspor file.
Proses perekaman informasi sangat tidak biasa, terutama setelah sistem penyimpanan blok klasik.
- Ketika data baru tiba, objek baru dibuat yang memiliki nama, data itu sendiri, dan metadata.
- Objek berdetak pada 128 MB potongan, dan masing-masing potongan dicatat segera pada tiga node.
- File indeks diperbarui, di mana pengidentifikasi dan lokasi penyimpanan dicatat.
- File log (catatan log) diperbarui dan juga ditulis ke tiga node.
- Pesan tentang perekaman yang berhasil dikirim ke klien
Ketiga salinan data direkam secara paralel. Rekaman dianggap berhasil hanya jika ketiga salinan telah berhasil direkam.

Membaca lebih sederhana:
- Klien meminta data.
- Indeks mencari tempat untuk menyimpan data.
- Data dibaca dari satu node dan dikirim ke klien.

Ada beberapa server sendiri, jadi mari kita lihat Dell EMC ECS EX300 terkecil. Itu dimulai pada 60Tb, dengan kemampuan untuk tumbuh hingga 1,5Pb. Dan kakaknya, Dell EMC ECS EX3000 sudah dapat menyimpan sebanyak 8.6Pb per rak.
Sebarkan
Secara teknis, Dell ECS CE dapat digunakan secara besar-besaran. Bagaimanapun, saya tidak menemukan batasan eksplisit. Namun, semua penskalaan mudah dilakukan dengan mengkloning simpul pertama, yang kami butuhkan:
- 8 vCPU
- RAM 64GB
- 16GB untuk OS
- 1TB langsung untuk penyimpanan
- Rilis minimal CentOS terbaru
Ini adalah opsi untuk kasing saat Anda ingin memasang semuanya sendiri dari awal. Bagi kami, opsi ini tidak relevan, karena Saya akan menggunakan gambar OVA untuk ditempatkan.
Tetapi bagaimanapun juga, persyaratannya sangat jahat bahkan untuk satu simpul, dan jika Anda benar-benar mengikuti surat hukum, maka ada empat simpul semacam itu.
Namun, pengembang ECS CE hidup di dunia nyata, dan pemasangannya berhasil bahkan dengan satu node, dan persyaratan minimum adalah sebagai berikut:
- 4 vCPU
- RAM 16 GB
- 16 GB untuk OS
- Penyimpanan mandiri 104 GB
Sumber daya inilah yang diperlukan untuk menggunakan gambar OVA. Sudah jauh lebih manusiawi dan realistis.
Node instalasi itu sendiri dapat diambil di github resmi. Ada juga dokumentasi terperinci tentang penggunaan all-in-one, tetapi Anda masih bisa membaca di dokumen resmi readthed . Karena itu, kami tidak akan berkutat pada penyebaran OVA secara detail, tidak ada trik. Hal utama - jangan lupa sebelum memulainya, perluas disk ke volume yang diinginkan, atau pasang yang diperlukan.
Kami menyalakan mobil, membuka konsol dan menggunakan kredit default terbaik:
- login: admin
- kata sandi: ChangeMe
Kemudian kita mulai sudo nmtui dan mengkonfigurasi antarmuka jaringan - IP / mask, DNS dan gerbang. Dengan mengingat bahwa CentOS minimal tidak memiliki net-tools, kami memeriksa pengaturan melalui ip addr.

Dan karena lautan hanya mengirimkan dengan berani, kami melakukan pembaruan yum, setelah itu reboot. Bahkan, ini cukup aman, karena semua penyebaran dilakukan melalui buku pedoman, dan semua paket buruh pelabuhan penting dikunci pada versi saat ini.
Sekarang saatnya untuk mengedit skrip instalasi. Tidak ada jendela yang indah atau UI semu untuk Anda - semua melalui editor teks favorit Anda. Secara teknis murni, ada dua cara: Anda dapat memulai setiap perintah dengan gagang atau segera memulai konfigurator videploy. Ini hanya akan membuka konfigurasi di vim, dan setelah keluar, jalankan pemeriksaannya. Tapi sengaja menyederhanakan hidup Anda tidak menarik, jadi kami akan melakukan dua tim lagi. Meskipun tidak masuk akal, saya memperingatkan Anda =)
Jadi, kami melakukan vim ECS-CommunityEdition / deploy.xml dan membuat perubahan minimum yang optimal sehingga ECS menyala dan berfungsi. Daftar parameter dapat dipersingkat, tapi saya suka ini:
- berlisensi_accepted: true Anda tidak dapat mengubahnya, maka ketika menggunakan Anda akan secara eksplisit diminta untuk menerimanya dan akan menampilkan frasa yang bagus. Mungkin ini bahkan telur paskah.

- Batalkan komentar pada baris autonames: and custom: Masukkan setidaknya satu nama yang diinginkan untuk node - nama host akan diganti olehnya selama proses instalasi.
- install_node: 192.168.1.1 Tentukan node IP asli. Dalam kasus kami, kami mengindikasikan hal yang sama seperti dalam nmtui
- dns_domain: masukkan domain Anda.
- dns_servers: masukkan dns Anda.
- ntp_servers: Anda dapat menentukan apa saja. Saya mengambil yang pertama dari kolam 0.pool.ntp.org (menjadi 91.216.168.42)
- autonaming: custom Jika Anda tidak menghilangkan tanda komentar, bulan akan disebut Luna.
- ecs_block_devices:
/ dev / sdb
Untuk beberapa alasan yang tidak diketahui, mungkin ada perangkat penyimpanan blok / dev / vda yang tidak ada - storage_pools:
anggota:
192.168.1.1 Di sini sekali lagi kami menunjukkan node IP nyata - ecs_block_devices:
/ dev / sdb Ulangi operasi pemotongan perangkat yang tidak ada.
Secara umum, seluruh file dijelaskan dengan sangat rinci dalam dokumentasi , tetapi siapa yang akan membacanya dalam waktu yang sangat sibuk. Ia juga mengatakan bahwa minimum sudah cukup untuk menentukan IP dan mask, tetapi di lab saya pengaturan ini tidak baik, dan saya harus memperluas ke atas.

Setelah keluar dari editor, jalankan update_deploy /home/admin/ECS-CommunityEdition/deploy.yml, dan jika semuanya dilakukan dengan benar, ini akan dilaporkan secara eksplisit.

Maka Anda masih harus memulai videploy, menunggu lingkungan diperbarui, dan Anda dapat memulai instalasi itu sendiri dengan perintah ova-step1, dan setelah eksekusi berhasil, perintah ova-step2. Penting: jangan berhenti menulis dengan tangan Anda! Beberapa langkah dapat memakan waktu cukup lama, tidak dilakukan pada percobaan pertama, dan sepertinya semuanya rusak. Dalam hal apa pun, Anda harus menunggu naskahnya selesai dengan cara yang wajar. Pada akhirnya Anda akan melihat sesuatu seperti ini.

Sekarang, akhirnya, kita bisa membuka panel kontrol WebUI melalui IP yang kita tahu. Jika Anda tidak mengubah tahap konfigurasi, maka akun default adalah root / ChangeMe. Anda bahkan dapat segera menggunakan penyimpanan kami yang kompatibel dengan S3. Ini tersedia pada port 9020 untuk HTTP, dan 9021 untuk HTTPS. Sekali lagi, jika Anda tidak mengubah apa pun, maka access_key: object_admin1 dan secret_key: ChangeMeChangeMeChangeMeChangeMeChangeMe.
Tapi jangan maju dulu dan mulai teratur.

Pada login pertama, Anda akan diminta secara paksa untuk mengubah kata sandi menjadi yang memadai, yang benar-benar benar. Dasbor utama sangat bisa dimengerti, jadi mari kita lakukan sesuatu yang lebih menarik daripada menjelaskan metrik yang jelas. Misalnya, buat pengguna yang akan kita gunakan untuk mengakses repositori. Di dunia penyedia layanan, mereka disebut tenant. Ini dilakukan di Kelola> Pengguna> Pengguna Objek Baru

Saat membuat pengguna, kami diminta untuk menentukan namespace. Secara teknis, tidak ada yang menghalangi kita untuk mendapatkan mereka sebanyak yang akan ada pengguna. Begitu juga sebaliknya. Ini memungkinkan Anda untuk mengelola sumber daya secara mandiri untuk setiap penyewa.
Oleh karena itu, kami memilih fungsi yang kami butuhkan dan menghasilkan kunci pengguna. S3 / Atmos akan cukup untukku. Dan jangan lupa untuk menyimpan kunci;)

Pengguna telah dibuat, sekarang saatnya baginya untuk memilih ember. Buka Kelola> Bucket dan isi bidang yang wajib diisi. Semuanya sederhana di sini.

Sekarang kami siap untuk sepenuhnya memerangi penggunaan penyimpanan S3 kami.
Kustomisasi Veeam
Jadi, seperti yang kita ingat, salah satu kegunaan utama dari penyimpanan objek adalah penyimpanan informasi jangka panjang yang jarang diakses. Contoh yang ideal adalah kebutuhan untuk menyimpan cadangan di situs jarak jauh. Dalam Veeam Backup & Replication, fitur ini disebut Tingkat Kapasitas.
Mari kita mulai pengaturan dengan menambahkan Dell ECS CE ke antarmuka Veeam. Pada infrastruktur cadangan infrastruktur, luncurkan Wisaya gudang penyimpanan baru dan pilih item penyimpanan objek.

Kami memilih tentang apa itu - Kompatibel dengan S3.

Di jendela yang muncul, tulis nama yang diinginkan dan lanjutkan ke langkah Akun. Di sini Anda perlu menentukan titik Layanan dalam bentuk https: // your_IP: 9021 , Anda dapat meninggalkan kawasan apa adanya, dan menambahkan pengguna yang dibuat. Server gerbang diperlukan jika penyimpanan Anda berada di situs jarak jauh, tetapi ini sudah menjadi topik optimasi infrastruktur dan artikel terpisah, sehingga Anda dapat dengan aman melewati di sini.

Jika semuanya ditentukan dan dikonfigurasi dengan benar, peringatan sertifikat akan keluar dan kemudian sebuah jendela dengan ember tempat Anda dapat membuat folder untuk file kami.

Kami pergi melalui wizard hingga akhir dan menikmati hasilnya.

Pada langkah berikutnya, Anda harus membuat Gudang Pencadangan Scale-out baru, atau menambahkan S3 kami ke yang sudah ada - ini akan digunakan sebagai Tingkat Kapasitas untuk penyimpanan arsip. Fungsi untuk menggunakan repositori yang kompatibel S3 secara langsung, seperti repositori biasa, tidak ada dalam rilis saat ini. Terlalu banyak masalah yang agak tidak jelas harus diselesaikan untuk ini, tetapi semuanya bisa.
Kami masuk ke pengaturan repositori dan mengaktifkan Level Daya. Semuanya transparan di sana, tetapi ada nuansa yang menarik: jika Anda ingin semua data dikirim ke penyimpanan objek sesegera mungkin, cukup atur 0 hari.

Setelah melewati wizard, jika Anda tidak ingin menunggu, Anda dapat menekan ctrl + RMB pada repositori, memaksa pekerjaan Tiering untuk memulai dan menonton grafik merangkak.

Itu saja untuk saat ini. Saya menganggap tugas untuk menunjukkan bahwa penyimpanan blok tidak seseram yang biasa dipikirkan, saya berhasil. Ya, ada solusi dan opsi untuk gerobak dan troli kecil, tetapi Anda tidak dapat membahas semuanya dalam satu artikel. Jadi mari kita berbagi pengalaman di komentar.