Memahami model penyimpanan awan

Siapa sangka bahawa menyimpan bit boleh menjadi sangat rumit? Penyimpanan selalu mengandungi sejumlah besar protokol, dari Fiber Channel hingga iSCSI hingga SMB dalam semua variasinya, tetapi kedatangan kilat dan pertumbuhan virtualisasi yang berterusan telah menjadikan topik yang sudah padat menjadi hutan yang kusut dengan akronim, protokol, dan abstraksi.

Virtualisasi pusat data telah mendorong gelombang virtualisasi dalam penyimpanan juga, secara beransur-ansur menarik penyimpanan dari protokol fizikal dan menuju model penyimpanan yang logik dan abstrak seperti penyimpanan contoh dan penyimpanan volume. Dengan memberikan abstraksi, pusat data telah memisahkan mesin maya dari protokol penyimpanan.

Kebangkitan pusat data awan juga melahirkan kelas penyimpanan baru yang disebut penyimpanan objek, yang mengorbankan konsistensi kuat protokol penyimpanan tradisional untuk menyediakan ruang nama tunggal pada skala global.

Dalam artikel ini saya akan memberikan sedikit kejelasan dengan meletakkan contoh, volume, dan penyimpanan objek ke dalam evolusi pusat data, dan menunjukkan bagaimana abstraksi baru ini sesuai dengan protokol penyimpanan yang ada, atau di samping itu.

Kisah penyimpanan awan dalam banyak cara adalah kisah virtualisasi. Saya akan bermula dengan persekitaran fizikal, beralih ke virtualisasi, di mana model maya dan fizikal mula menyimpang, dan selesai dengan awan, di mana fizikal hampir sepenuhnya disarikan oleh model maya.

Penyimpanan fizikal

Di akar semua storan terdapat beberapa set protokol penyimpanan fizikal, jadi saya akan mulakan dengan ringkasan penyimpanan fizikal yang cepat. Tiga kelas utama model penyimpanan fizikal digunakan hari ini: penyimpanan terpasang langsung (DAS), rangkaian kawasan penyimpanan (SAN), dan storan terpasang rangkaian (NAS).

DAS.  Storan terpasang langsung adalah model simpanan paling mudah. Kita semua biasa dengan DAS; ini adalah model yang digunakan oleh kebanyakan komputer riba, telefon, dan komputer desktop. Unit asas dalam DAS adalah komputer itu sendiri; penyimpanan untuk pelayan tidak dapat dipisahkan dari pelayan itu sendiri. Dalam kes telefon, secara fizikal mustahil untuk mengeluarkan storan dari komputer, tetapi walaupun dalam kes pelayan, secara teorinya mungkin untuk menarik pemacu cakera, setelah pemacu dipisahkan dari pelayan, biasanya dihapuskan sebelum ini. menggunakan semula. SCSI dan SATA adalah contoh protokol DAS.

SAN.  Akhirnya industri penyimpanan menyedari kegunaan memisahkan penyimpanan dari komputer. Daripada melampirkan cakera ke setiap komputer, kami meletakkan semua disk pada satu kumpulan pelayan dan mengakses cakera melalui rangkaian. Ini mempermudah tugas pengurusan storan seperti pembaikan sandaran dan kegagalan. Pembahagian storan dan komputasi ini sering disebut storan bersama , kerana banyak komputer akan menggunakan satu kumpulan simpanan.

Paling mudah untuk berkomunikasi antara klien dan pelayan melalui rangkaian menggunakan blok protokol yang sama (atau sangat serupa) yang digunakan untuk berkomunikasi dengan pemacu cakera yang dilampirkan secara tempatan. Penyimpanan yang terdedah dengan cara ini disebut rangkaian kawasan simpanan. Fiber Channel dan iSCSI adalah contoh protokol SAN.

Dalam SAN pentadbir akan mengumpulkan sekumpulan cakera (atau sebahagian daripada satu set cakera) ke dalam LUN (unit logik), yang kemudian berkelakuan seperti pemacu cakera tunggal ke komputer luar. LUN adalah unit asas yang digunakan untuk menguruskan penyimpanan SAN.

NAS.  Walaupun SAN memungkinkan kita memindahkan LUN antara satu komputer dan komputer lain, protokol blok yang mereka gunakan tidak dirancang untuk bersama-sama berkongsi data dalam LUN yang sama antara komputer. Untuk membolehkan perkongsian seperti ini, kami memerlukan jenis storan baru yang dibina untuk akses serentak. Dalam jenis penyimpanan baru ini, kami berkomunikasi dengan penyimpanan menggunakan protokol sistem fail, yang sangat mirip dengan sistem fail yang dijalankan pada komputer tempatan. Storan jenis ini dikenali sebagai storan terpasang di rangkaian. NFS dan SMB adalah contoh protokol NAS.

Pengabstrakan sistem fail membolehkan beberapa pelayan mengakses data yang sama pada masa yang sama. Pelbagai pelayan dapat membaca fail yang sama pada masa yang sama, dan beberapa pelayan dapat meletakkan fail baru ke dalam sistem fail pada masa yang sama. Oleh itu, NAS adalah model yang sangat sesuai untuk data pengguna atau aplikasi yang dikongsi.

Storan NAS membolehkan pentadbir memperuntukkan bahagian penyimpanan ke dalam sistem fail individu. Setiap sistem fail adalah ruang nama tunggal, dan sistem fail adalah unit utama yang digunakan untuk menguruskan NAS.

Storan maya

Virtualisasi mengubah landskap pusat data moden untuk penyimpanan seperti yang dilakukan untuk komputer. Sama seperti mesin fizikal diabstrak ke dalam mesin maya, penyimpanan fizikal diabstrak ke dalam cakera maya.

Dalam virtualisasi, hypervisor menyediakan persekitaran perkakasan yang ditiru untuk setiap mesin maya, termasuk komputer, memori, dan penyimpanan. VMware, hypervisor moden awal, memilih untuk meniru pemacu cakera fizikal tempatan sebagai cara untuk menyediakan penyimpanan untuk setiap VM. Dengan kata lain, VMware memilih model pemacu cakera tempatan (DAS) sebagai cara untuk mendedahkan penyimpanan kepada mesin maya.

Sama seperti unit asas penyimpanan di DAS adalah mesin fizikal, unit asas dalam penyimpanan cakera maya adalah VM. Cakera maya tidak didedahkan sebagai objek bebas, tetapi sebagai bahagian dari mesin maya tertentu, sama seperti cakera tempatan secara konseptual merupakan sebahagian daripada komputer fizikal. Seperti DAS, cakera maya hidup dan mati dengan VM itu sendiri; jika VM dihapuskan, maka cakera maya juga akan dihapuskan.

Sebilangan besar platform virtualisasi konvensional menggunakan model penyimpanan cakera maya. Sebagai contoh, penyimpanan di persekitaran VMware vSphere, Microsoft Hyper-V, Virtual Hat Enterprise Virtualization, dan Xen semuanya diurus dan dilampirkan dengan cara yang serupa.

Melaksanakan cakera maya

Kerana VMware ingin terus memberikan kelebihan penyimpanan bersama ke mesin maya, ia tidak boleh bergantung pada protokol DAS untuk melaksanakan cakera maya. Pilihan seterusnya yang jelas adalah menggunakan SAN, kerana SAN LUN menyerupai pemacu cakera tempatan.

Walau bagaimanapun, LUN fizikal mempunyai had yang sesuai untuk cakera maya yang mencabar. Persekitaran maya menggabungkan sebilangan komputer logik ke pelayan fizikal tunggal, yang bermaksud jumlah cakera maya pada hos tertentu akan jauh lebih besar daripada bilangan LUN fizikal untuk hos dalam persekitaran fizikal. Bilangan maksimum LUN yang dapat dilampirkan ke pelayan fizikal tertentu terlalu rendah untuk menyokong bilangan cakera maya yang diperlukan.

Mungkin lebih penting lagi, cakera maya, seperti CPU maya, mestilah objek logik yang dapat dibuat, dihancurkan, dan dipindahkan secara terprogram, dan ini bukan operasi yang dirancang untuk dilakukan oleh penyimpanan SAN. Sebagai contoh, VMware perlu memindahkan VM secara dinamik antara host fizikal, yang memerlukan akses storan bersama semasa migrasi.

Atas sebab-sebab ini, VMware memilih untuk menerapkan disk maya sebagai fail dalam sistem fail (NFS) atau dalam sistem fail diedarkan (VMFS) pada SAN, dan bukan sebagai LUN mentah.

Dari protokol penyimpanan hingga model penyimpanan

VMware yang memilih untuk menerapkan cakera maya, model penyimpanan blok gaya DAS, di atas NAS atau SAN, menggambarkan salah satu ciri menarik dari pusat data pusat moden. Kerana IO dari mesin maya diserahkan kepada perisian di hypervisor, dan bukannya ke perkakasan pada bus peranti, protokol yang digunakan oleh VM untuk berkomunikasi dengan hypervisor tidak perlu sepadan dengan protokol yang digunakan hypervisor untuk berkomunikasi dengan simpanan itu sendiri.

Ini membawa kepada pemisahan antara model penyimpanan yang terdedah ke atas ke VM dan pentadbir, dan protokol penyimpanan yang digunakan oleh penyelia untuk benar-benar menyimpan data. Dalam kes cakera maya, VMware merancangnya mengikut model penyimpanan DAS, kemudian menggunakan protokol penyimpanan NAS untuk menerapkannya.

Ini adalah lapisan tidak langsung yang kuat; ini memberi kita fleksibiliti untuk mencampur dan mencocokkan model penyimpanan dan protokol penyimpanan, dan bahkan secara dinamis mengubah protokol penyimpanan tanpa mempengaruhi mesin maya. Sebagai contoh, cakera maya dilaksanakan menggunakan fail di NFS, fail dalam VMFS yang disimpan di Fiber Channel LUN, atau bahkan (dalam VVols, atau Volume Maya) secara langsung sebagai iSCSI LUNs. Pilihan pelaksanaan sepenuhnya telus untuk aplikasi, kerana akhirnya semua protokol ini akan kelihatan sama dengan VM dan pentadbir; mereka akan kelihatan seperti pemacu cakera fizikal tempatan yang dilekatkan pada VM.

Oleh itu, pembangun aplikasi di kebanyakan infrastruktur awan awam tidak dapat mengetahui apa protokol penyimpanan yang digunakan; sebenarnya, protokol bahkan boleh berubah secara dinamik. Kami tidak tahu apa protokol storan yang digunakan Amazon untuk Elastic Block Storage, dan juga tidak penting untuk kami ketahui.

Kerana pemisahan antara model penyimpanan dan protokol penyimpanan, protokol penyimpanan menjadi masalah yang dihadapi infrastruktur, terutama penting untuk kos dan prestasi, dan bukannya keputusan menghadap aplikasi yang menentukan fungsi.

Penyimpanan awan

Lanskap pusat data berubah lagi ketika persekitaran maya berubah menjadi persekitaran awan. Lingkungan awan merangkumi model cakera maya yang dipelopori dalam virtualisasi, dan mereka menyediakan model tambahan untuk membolehkan timbunan storan sepenuhnya maya. Persekitaran awan berusaha untuk memvisualisasikan keseluruhan timbunan storan sehingga mereka dapat menyediakan layan diri dan pemisahan yang bersih antara infrastruktur dan aplikasi.

Persekitaran awan terdapat dalam pelbagai bentuk. Mereka dapat diimplementasikan oleh perusahaan sebagai cloud pribadi menggunakan lingkungan seperti OpenStack, CloudStack, dan suite VMware vRealize. Mereka juga dapat dilaksanakan oleh penyedia perkhidmatan sebagai awan publik seperti Amazon Web Services, Microsoft Azure, dan Rackspace.

Menariknya, model penyimpanan yang digunakan dalam lingkungan awan mencerminkan model penyimpanan yang digunakan dalam lingkungan fizikal. Namun, seperti pada cakera maya, mereka adalah model penyimpanan yang disingkirkan dari banyak protokol penyimpanan yang dapat digunakan untuk menerapkannya.

Storan contoh: Cakera maya di awan

Model penyimpanan cakera maya adalah model utama (atau hanya) untuk penyimpanan dalam persekitaran maya konvensional. Namun, dalam persekitaran awan, model ini adalah salah satu dari tiga. Oleh itu, model ini diberi nama khusus dalam lingkungan awan: penyimpanan contoh, yang bermaksud penyimpanan yang digunakan seperti cakera maya konvensional.

Penting untuk diperhatikan bahawa penyimpanan contoh adalah model penyimpanan, bukan protokol penyimpanan, dan dapat dilaksanakan dengan pelbagai cara. Sebagai contoh, penyimpanan contoh kadang-kadang dilaksanakan menggunakan DAS pada node pengkomputeran itu sendiri. Dilaksanakan dengan cara ini, ia sering disebut penyimpanan sementara kerana penyimpanan biasanya tidak boleh dipercayai.

Instance storage juga dapat diimplementasikan sebagai storage yang dapat diandalkan menggunakan NAS atau volume storage, model penyimpanan kedua yang dijelaskan selanjutnya. Sebagai contoh, OpenStack membolehkan pengguna melaksanakan penyimpanan instance sebagai penyimpanan sementara pada host, sebagai fail pada titik pemasangan NFS, atau sebagai volume Cinder menggunakan boot-from-volume.

Penyimpanan isipadu: SAN tidak fizikal

Walau bagaimanapun, penyimpanan sekatan mempunyai hadnya. Pembangun aplikasi asli cloud sering secara eksplisit membezakan data konfigurasi, seperti data OS dan aplikasi, dari data pengguna, seperti jadual pangkalan data atau fail data. Dengan memisahkan kedua-duanya, pemaju kemudian dapat membuat konfigurasi sementara dan dapat dibina semula sambil tetap mengekalkan kebolehpercayaan yang kuat untuk data pengguna.

Perbezaan ini, pada gilirannya, membawa kepada jenis storan lain: penyimpanan isi padu, hibrida penyimpanan contoh dan SAN. Isipadu adalah unit utama penyimpanan kelantangan dan bukan VM. Isipadu dapat dilepaskan dari satu VM dan dipasang ke yang lain. Walau bagaimanapun, seperti cakera maya, volume lebih menyerupai fail daripada LUN dalam skala dan abstraksi. Berbeza dengan penyimpanan contoh, penyimpanan volume biasanya dianggap sangat dipercayai dan sering digunakan untuk data pengguna.

OpenStack's Cinder adalah contoh sebuah kedai volum, seperti juga pengurangan volume bebas Docker. Perhatikan sekali lagi bahawa penyimpanan volume adalah model penyimpanan, bukan protokol penyimpanan. Penyimpanan kelantangan dapat dilaksanakan di atas protokol fail seperti NFS atau blok protokol seperti iSCSI secara telus ke aplikasi.

Penyimpanan objek: NAS skala Web

Aplikasi asli Cloud juga memerlukan tempat untuk data yang dikongsi antara VM, tetapi mereka sering memerlukan ruang nama yang dapat ditingkatkan ke beberapa pusat data di seluruh wilayah geografi. Penyimpanan objek menyediakan simpanan seperti ini. Sebagai contoh, Amazon S3 menyediakan ruang nama logik tunggal di seluruh wilayah dan, boleh dibilang, di seluruh dunia. Untuk mencapai skala ini, S3 perlu mengorbankan konsistensi yang kuat dan kemas kini NAS konvensional.

Penyimpanan objek menyediakan abstraksi seperti fail yang disebut objek, tetapi memberikan konsistensi akhirnya. Ini bermaksud bahawa walaupun semua pelanggan akhirnya akan mendapat jawapan yang sama untuk permintaan mereka, mereka mungkin akan mendapat jawapan yang berbeza untuk sementara waktu. Konsistensi ini serupa dengan konsistensi yang disediakan oleh Dropbox antara dua komputer; pelanggan sementara mungkin tidak segerak, tetapi akhirnya semuanya akan berkumpul.

Penyimpanan objek tradisional juga menyediakan sekumpulan operasi data yang disederhanakan untuk digunakan melalui sambungan WAN latensi tinggi: menyenaraikan objek dalam "baldi", membaca objek secara keseluruhan, dan mengganti data dalam objek dengan data yang sama sekali baru. Model ini menyediakan sekumpulan operasi yang lebih asas daripada NAS, yang membolehkan aplikasi membaca dan menulis blok kecil dalam fail, memotong fail ke ukuran baru, memindahkan fail antara direktori, dan sebagainya.