看Ceph如何實現原生的ISCSI

2021-09-04 02:09:21 字數 315 閱讀 5313

今天我們來體驗下ceph原生的iscsi,可能會有人說哪來的原生iscsi啊,相信細心的童鞋在ceph l版本發布的時候官網手冊裡面就出現了乙個iscsi的字樣。是的,沒錯,這就是原聲版的iscsi雛形,有好訊息就有壞訊息,不幸的是,截至到目前為止還不能使用rpm安裝,因為紅帽沒有把rpm釋放出來,只能通過git原始碼或別人分享的rpm包進行安裝。

簡單來說下iscsi的前生今世,分為兩種一種是tgt實現方式,一種是lio實現方式,那麼在ceph原生裡面使用的是lio方式,在原生的lio方式出來之前大家普遍採用的是tgt方式來進行ceph的iscsi實現。

什麼是tgt?

bind 的原生實現

bind 方法建立並返回乙個新的函式,當被呼叫時,將其this設為bind 的第乙個引數。自己實現乙個bind 1.因為bind方法不會立即執行函式,需要返回乙個待執行的函式 這裡用到閉包,可以返回乙個函式 return function this.value 2 var foo var bar f...

看glib是如何實現歸併排序的

我們知道在比較排序演算法中,歸併排序可以實現o n logn 的時間複雜度。對於陣列來說,他不是原地排序,需要申請額外的空間。不過glib是用鍊錶來表示乙個glist的,所以在glist當中,只需要修改鍊錶的前後指標即可。歸併排序的一般演算法為 void mergesort node l,int m...

原生JS 12 如何實現陣列去重

1.hash 利用物件的屬性不能相同的特點進行去重 缺點 因為 js 裡物件的屬性名只能是字串,所以 true 和 true 會被認為是同乙個。function unique arr for let i 0 i arr.length i return arrry var arr 1 1,true t...