中文字幕亚洲第一精品|精品国产免费一区二区|久久婷婷五月六月综合版|中文字幕熟妇久久久人妻|久久综合精品国产一区无码|国产成人精品永久免费视频|午夜亚洲国产精品理论片a级|久久精品一区二区三区无码护土

 訪問手機版  

招聘|合作 登陸|注冊

網(wǎng)絡工程師培訓

當前位置:網(wǎng)絡工程師 > 技術課程 > 存儲 > 熱點關注 > 存儲新聞

存儲的相關原理,你了解多少?

時間:2018-05-11 10:39:29


      其實我覺得存儲相關的基本概念、知識,包括但不限于以下幾點:

  1. 塊設備:block、chunk、partition等概念,操作系統(tǒng)如何管理塊設備、如何與物理世界的實體對應起來,比如硬盤、U盤等。

  2. 文件系統(tǒng):文件系統(tǒng)如何組織保存文件,inode、superblock、posix接口、Sparse文件等知識,一些常見的文件系統(tǒng),比如Ext4、XFS、Btrfs等。注意文件系統(tǒng)存儲和塊存儲的區(qū)別。

  3.傳統(tǒng)企業(yè)級存儲,RAID技術、NAS、NFS、CIFS等。

  4.Linux設備、文件相關操作,比如mount、lsblk、lsof、lspci、fdisk等。

  5. IO性能測試,IO性能的常用指標,比如IOPS、IO延遲等,使用fio進行性能測試。

  6. 校驗、糾刪碼。

  7. Cache、Buffer。

  8. iSCSI、FC、SRP、SATA。

  分布式:

  1. 分塊思想。分布式的基本思想就是分而治之,幾乎所有的分布式存儲系統(tǒng)都會對一個文件切成一個一個的塊(block)。

  2. 數(shù)據(jù)分布算法。分布式存儲系統(tǒng)需要把所有分割的塊對象存儲到不同的機器中,這些塊應該如何分布使得既能保證數(shù)據(jù)均勻,又能使節(jié)點增加或者減少時盡量減少數(shù)據(jù)遷移,即數(shù)據(jù)分布算法,比如crush算法、一致性hash算法等。以前遇到一個面試題大概意思是說有N個文件需要保存到M臺機器中,存儲策略是什么?最簡單的算法就是對文件求hash取模,這樣既能保證數(shù)據(jù)均衡分布,又能高效索引(再去求hash取模就找到了文件存儲位置),萬一我增加個存儲節(jié)點該怎么辦呢?

  3. 冗余副本。一個文件被分割成了若干塊后被分布在不同的機器上,萬一網(wǎng)絡故障或者某臺機器掛了,文件就訪問不了了,為了保證可用性和可靠性,通常都是通過冗余副本來實現(xiàn),即一個塊會復制成多個相同的塊副本(通常3副本),并分布在不同的機器上,這樣即使某個塊所在的機器訪問不了了,也能通過其它塊讀取。這些副本同樣需要考慮如何分布的問題,盡量不要在同一個故障域中。

  4. 糾刪碼。采用以上副本的方式保護數(shù)據(jù),缺點是需要占用多倍的存儲空間來提供冗余,成本太高,你也可以考慮使用糾刪碼的數(shù)據(jù)保護方法,能夠使用較少的冗余存儲空間提供一樣的可靠性等級,當然讀寫性能要下降些,典型時間換空間的例子。

  5. 數(shù)據(jù)同步和一致性。每個塊都被分割成了多個副本,這些副本如何保證一致性,讀寫效率和一致性之間如何權衡,了解CAP理論和NWR策略,各種一致性模型,比如最終一致性、強一致性等。

  6.數(shù)據(jù)索引。一個文件被分割成塊并分布在不同的機器,如何重新找到這些塊組裝成原來的文件。你可以用一個專門的服務來維護和存儲文件和塊之間的映射關系(HDFS namenode),也可以通過計算的方法找到這些映射關系(Ceph crushmap)。

  7.其它。比如網(wǎng)絡通信、RPC、序列化等。

  8.塊存儲、文件系統(tǒng)存儲、對象存儲區(qū)別,一些主流的分布式存儲系統(tǒng):

  塊存儲:Ceph RBD、EBS、Openstack Cinder等。

  分布式文件系統(tǒng)存儲:HDFS、CephFS、GFS、Alluxio(內(nèi)存分布式系統(tǒng))等。

  對象存儲:Openstack Swift、Ceph RGW、S3、百度云等。

  以上是云存儲相關的基本原理,掌握以上知識就能夠?qū)υ拼鎯τ袀大致的感性認識了。不過要想更深入地理解分布式存儲,必然離不開親自動手,建議手動部署分布式存儲系統(tǒng)并使用之,實踐出真知,閱讀開源分布式存儲系統(tǒng)源碼,跟蹤IO路徑等。