主頁 >  其他 > 華為云計算IE面試筆記-簡述Fusion Storage主要模塊MDC,OSD,VBS,FSA及FSM的功能定位及互動關系

華為云計算IE面試筆記-簡述Fusion Storage主要模塊MDC,OSD,VBS,FSA及FSM的功能定位及互動關系

2021-09-26 08:13:05 其他

定位: Fusion Storage有兩個管理系統組件:一個是FSM、一個是FSA; FSA包含:MDC、OSD、VBS三個行程(存盤系統)

FSM(FusionStorage Manager): FusionStorage管理模塊,提供告警、監控、日志、配置等功能,一般情況下主備節點部署,

FSA(FusionStorage Agent): 代理模塊,部署在各節點上,實作各節點與FSM通信,

        FSA上的三個行程根據系統不同配置要求,分別在不同的節點上啟用不同的行程組合來完成特定的功能,

  MDC(MetaData Controller):FusionStorage的元資料控制組件,是業務控制行程,實作對分布式集群的狀態控制,以及控制資料分布式規則,資料重建規則,默認最少部署在3個節點上,一般部署在3個、5個或者7個節點上,形成MDC集群,

OSD(Object Storage Device):是FusionStorage的物件存盤設備,是業務IO行程,執行具體的IO操作,在每個服務器上部署多個OSD行程,默認一塊磁盤部署一個OSD行程,

VBS(Virtual Block System):是FusionStorage的虛擬塊存盤管理(將底層的物件存盤偽裝成塊存盤對外提供服務),是業務IO行程,負責卷、元資料的管理,提供分布式集群接入點服務,使計算資源能夠通過VBS訪問分布式存盤資源,每個服務器上部署一個VBS行程,形成VBS集群, 

 

互動:

1. MDC

1)MDC會與OSD、VBS進行訊息之間的互動,通過心跳監測機制對OSD、VBS進行狀態的監控,

2)MDC一般是主備管理,

3)MDC模塊啟動后,MDC向ZK注冊選主,先注冊的為主MDC,ZK記錄MDC的主備資訊并與MDC進行互動,ZK通過心跳監控MDC的健康狀態,如果主MDC掛了,那么進行MDC的重新選主,

4)主 MDC 和其他 MDC 維持心跳關系,由主 MDC 指定其他 MDC 是否為歸屬 MDC,并告知歸屬 MDC 管理哪些存盤池,主 MDC 決定歸屬 MDC 故障后的接替者,

2. OSD:

OSD 啟動時,向 主MDC 查詢歸屬 MDC,向歸屬 MDC 匯報自己的狀態 歸屬 MDC 把狀態發送給 VBS,OSD 與歸屬 MDC 維持心跳關系,默認每秒向MDC匯報OSD的狀態,若是5秒內沒有收到OSD的心跳,MDC會認為OSD故障,MDC將該OSD踢出存盤池,更新 OSD View 到每個 OSD,更新 IO View 給 VBS, 在 5min 未收到心跳則進行資料重建,

3. VBS:

VBS啟動時會查詢主MDC,向主 MDC 注冊(主 MDC 維持了一個活動的 VBS 串列,并同步給其他 MDC, 以便其他 MDC 能將 OSD 的狀態變化發送給 VBS),向主 MDC 確定自己是否為 Leader VBS ,主VBS從主 MDC 獲取 IO view,主VBS向OSD要元資料,其他 VBS 找主 VBS 獲取元資料,一套FS只有一個主VBS,如果主VBS故障,其他VBS會重新向主MDC確認一個主VBS出來,

 

 

 

*FusionStorage組件、各組件間訊息互動流程:

 

 

 

組件:

1) FusionStorage Manager:管理組件,提供 FusionStorage 告警,監控,日志,配置等操作的

2) FusionStorage Agent:FusionStorage agent 代理行程程式,部署在各個節點,實作與 FusionStorage Manager 通信,

3) MDC(MetaData Controller):元資料控制,分布式集群的狀態控制,資料分布規則創建,資料重建規則創建,

4) VBS(Virtual Block System):虛擬塊存盤管理組件,卷和快照元資料的管理,IO 的接入和處理,

5) OSD(Object Storage Device):物件存盤設備服務,磁盤管理,IO 復制,IO 資料的cache 處理,

6) zookeeper:作為一個開源的分布式應用協調系統,用來完成統一命名服務、狀態同步服務、集群管理、分布式應用配置項的管理等作業, 

組件互動流程:

系統啟動時,MDC 與 ZK 進行互動,選舉出主 MDC,其他 MDC 掛掉,主 MDC 指定 MDC 接替此MDC 作業,主 MDC 掛掉,其他 MDC 與 ZK 互動,再次選舉出主 MDC,

ZK 數量: 3/5/7,奇數原因: 因為 zookeeper 選舉 leader 機制,n+1>n 總節點數: 2n+1控制集群創建完成后,數量不可更改, 

MDC 數量(3~96 個): 默認 MDC 數量為 3 個(創建 MDC 集群時與 ZK 數量一致),MDC 數量會隨著存盤池的數量上升而自動擴展,MDC 數量=ZK 數量+存盤池數量,MDC 會管理存盤池,一個 MDC 最多管理 2 個, 

OSD 啟動時,向主 MDC 查詢歸屬 MDC,并且向歸屬 MDC 反饋狀態,歸屬 MDC 將 OSD 狀態同步給 VBS,當歸屬 MDC down掉,主 MDC 指定一 MDC 接管,一個MDC 最多管理 2 個存盤池,同時最多處理 2000 個 OSD 請求,

VBS 啟動時,向主 MDC 注冊(主 MDC 維護活動的多 VBS 串列資訊,主 MDC 將 VBS 串列資訊同步給歸屬 MDC,歸屬 MDC 將 OSD 狀態資訊同步給 VBS),VBS 向主 MDC 確定是否為主 VBS, VBS 向 MDC 查詢 IO 視圖,主 VBS 向 OSD 查詢元資料資訊,其他 VBS 向主 VBS 獲取元資料,

 

 

 

<提示: 歸屬MDC運行在存盤系統的存盤節點上,注意,存盤節點同時也可以是控制節點,所以當無獨立的存盤節點時,控制MDC同時擔任歸屬MDC,

VBS運行在存盤系統的計算節點上 >

*FusionStorage有哪些網路平面?并說明作用

1) 管理平面(External_OM): 用于FusionStorageManager與FusionStorageAgent之間的通信 

2) 存盤平面(Storage_Data): 用于MDC、VBS、OSD之間通信 

3) 業務平面(External_OM): 用于OS與VBS之間通信 

<補充: 嚴謹來說,上述更應該稱為通信平面,因OS與VBS之間通信的業務平面,有可能承載 SCSI、可有可能承載 iSCSI,顯示,當承載 SCSI 時,其并非網路,而是本地呼叫,> 

 

*什么是無狀態機頭?

VBS就是無狀態機頭,元資料就是它的狀態,不保存連接關系和位置資訊,機頭不保存 LUN 的元資料(通過 DHT 演算法計算),LUN 不歸屬于某個機頭,不易出現性能瓶頸;

*FusionStorage 整體 IO 流程

OS ---SCSI/iSCSI--->VBS---"key-value"--->OSD---SCSI--->disk ?

VBS-->OSD:(判斷是讀 IO 還是寫 IO,如果是讀 IO,直接到本地讀,如果本地受損,會到備的 OSD 中讀,如果是寫 IO,觸發同步寫機制,OSD 拿到 key-value,通過 DHT 找到備 OSD,完成寫動作,)

1. 根據偏移量分片,(VBS 中的 VBP 模塊對IO進行分片)

2. 形成 Key-value

3. 對 Key 值進行 hash,得到 32bit 值

4. Hash值進行 mod 運算,得到 partitionID

5. 查詢 IOview,找到主 OSD,寫資料

OSD-->disk:

1. 寫請求:進行一次 DHT 演算法找到備 OSD,同步寫

2. 讀請求:也需要進行 DHT 運算(通過 key 找到 partition,根據OSD的元資料表,找到 partition,定位到 partition 之后再小范圍找到 key),讀失敗,還需要進行 DHT 演算法,找出備 OSD,從備 OSD 中讀出資料,回傳結果給 VBS,進行修復,

 

DHT是 把IO以1m大小分片,把SCSI四元組中資訊(讀寫的資料內容)+偏移量(LBA ID)和長度(LUN ID)轉成key,對key 進行hash,然后對hash后的結果取模,分成3600份,得到partition id,

**FusionStorage 有哪些視圖?存放在哪里?分別有什么作用?(考到)

主要有 OSD view、IO view、Partition view,

這些視圖作為元資料被 MDC 所管理,存放在兩個位置:

1,由ZK管理的ZK空間中

2.  MDC管理的記憶體中 

<發散思維:VBS及OSD也保存它們需要的部分元資料,例如VBS需要的IO View,OSD需要的Partition view >

 

 

 

OSD view是描述OSD的狀態

IO view是Partition和OSD節點上的映射
Partition view是Partition和主備OSD對應關系,IO view是Partition view的子集,

*FusionStorage 讀IO流程

 

 

 

1. APP下發讀IO請求到OS,OS轉發該IO請求到本服務器的VBS模塊;VBS根據讀IO資訊中的LUN和LBA資訊,通過資料路由機制確定資料所在的Primary OSD;如果此時Primary OSD故障,VBS會選擇secondary OSD讀取所需資料

2. Primary OSD接收到讀IO請求后,按照Cache機制中的“Read cache機制”獲取到讀IO所需資料,并回傳讀IO成功給VBS

*FusionStorage 寫IO流程(考到)

 

 

 

1. APP下發寫IO請求到OS,OS轉發該IO請求到本服務器的VBS模塊;VBS根據寫IO資訊中的LUN和LBA資訊,通過資料路由機制確定資料所在的Primary OSD

2. Primary OSD接收到寫IO請求后,同時以同步方式寫入到本服務器SSD cache以及資料副本所在其他服務器的secondary OSD,secondary OSD也會同步寫入本服務器SSD cache,Primary OSD接收到兩個都寫成功后,回傳寫IO成功給VBS;同時,SSD cache中的資料會異步刷入到硬碟

3. VBS回傳寫IO成功,如果是3副本場景,primary OSD會同時同步寫IO操作到secondary OSD和third OSD

 

存盤池映射成2^32的哈希環,上層的OS/APP下發IO后,IO由VBS里的SCSI模塊引入SCSI流量操作,然后再由VBS里的VBP模塊對IO流量進行分片,分片后轉換成key-value格式交給client模塊,client將key-value進行hash取模(取模原因:因為hash后是2^32的值,每次IO后都要算這個值,時間就太長了),取模成3600份,算出了partition id,通過查看IO View(記錄的有partition id和主OSD狀態),就可以讓這個資料找到自己該去讀寫在哪個OSD上,找到這個主OSD后,(IO流程)將這個資料發送給主OSD后,再由這個主OSD通過它的RSM模塊進行同步寫備OSD操作,主OSD會將IO寫入至它的SSD cache,若這個IO流大小大于256kb會直接落盤(因為SSD快取空間有限;SSD在寫大塊IO的性能提升不明顯),寫cache后,cache落盤(水位值:cache中資料達到一定大小后會落盤,刷盤周期:資料在cache中存放時間達到設定周期后會自動進行落盤),

*歸屬MDC的作用?

控制存盤池 一個mdc最多可以控制兩個存盤池 默認1個

*壞塊修復

某個節點故障,FusionStorage 會做什么事情?

資料重建,FusionStorage Manager 不參與資料重建程序;

系統會自動檢測故障,當檢測到故障發生時(如OSD與MDC心跳中斷,MDC會主動發現)則認為 OSD 例外,將其踢出,并修改 OSD View、IO View、Partition View 進行引流,5 分鐘內未收到心跳,則自動進行資料重構;

壞塊:當VBS把讀IO發給OSD的時候,如果需要讀的資料正好在壞塊中,那么讀IO的動作是會失敗的,那么這個時候OSD會根據DHT演算法找到備OSD并讀取相關資料,備用OSD會將資料回傳給主OSD,主OSD將資料回傳給VBS,接著主OSD會將資料寫入一個新的空間對資料進行修復,最后修改磁盤頭部的元資料指標指向新的空間,

出現故障時,通常壞一塊盤(OSD),一個 OSD 對應多個 partition,針對硬碟(OSD)做副本,修復程序是 1:1 的,不會進行并發修復,針對 partition 做副本,基于 OSD:partition=1:n 的,所以一個 OSD 包含多個 partition,partition 分散在不同的 OSD,所以修復時可以實作并發修復,

修復機制:1.按照安全級別進行修復,(安全級別:服務器級,機柜級,機房級)

自動修復

并發的修復

**MDC 發現 OSD 故障后 IO 流程(考到)

系統會自動檢測故障,當檢測到故障發生時(如 osd 與 mdc 心跳中斷,mdc 會主動發現)則認為 OSD 例外,將踢出,并修改 OSD View、IO View、Partition View 進行引流,5 分鐘內未收到心跳,則自動進行資料重構;

出現故障時,通常壞一塊盤(OSD),一個 OSD 對應多個 partition,針對硬碟(OSD)做副本,修復程序是 1:1 的,不會進行并發修復,針對 partition 做副本,基于 OSD:partition=1:n 的,所以一個 OSD 包含多個 partition,partition 分散在不同的 OSD,所以修復時可以實作并發修復,

修復機制:1.按照安全級別進行修復,(安全級別:服務器級,機柜級,機房級)

 ?         自動修復 ?

并發的修復

*歸屬MDC部署在哪里?

歸屬MDC部署在存盤節點上的系統盤

*VBS間是否需要形成集群?為什么?

VBS間需要形成集群,它們要統一作業,分配任務,同步元資料

 

需要,VBS在提供塊存盤服務時,需要模擬出塊設備(volume),而具體模擬出怎么樣的塊設備,例如容量、WWN 號等,及在接收到SCSI請求時,將IO切片形成key-value,key組成所需要的treeid、branchid、snapid資訊都保存在卷的元資料卷中,每當一個新卷的創建、快照、洗掉動作都需要對卷的元資料卷進行寫動作,對卷的IO是由VBS完成的,如果所有的VBS都可以對此卷進行寫動作的話,那么就有可能引起元資料卷受損問題,故需要選擇出單獨的VBS,即主VBS來避免該問題,一套FusionStorage系統中只存在一個主VBS; VBS的主備角色由MDC行程確定,所有VBS通過和MDC間的心跳機制保證系統中不會出現雙主的情況,

只有主VBS能夠操作元資料,所以備VBS收到的卷和快照管理類命令需要轉發到主VBS 處理,對于掛載、卸載等流程,主VBS完成元資料的操作后,還需要將命令轉到目標VBS實作卷的掛載、卸載等操作,

FusionStorage 由 MDC、OSD 形成存盤引擎層,它們組成存盤池為 VBS 提供物件服務,VBS 使用存盤池空間進行提供塊服務,所以塊服務是只需由 VBS 獨立維持的,VBS 將塊服務重要的資訊存放在卷元資料卷中,該卷事實上與用戶創建的卷無異,

*Zookeeper的作用

Zookeeper作為一個開源的分布式應用協調系統,用來完成統一命名服務、狀態同步服務、集群管理、分布式應用配置項的管理等作業,

 

是集群協調軟體,統一命名服務、集群狀態控制、選主MDC

*為什么要多個ZK,MDC?

提高可靠性(穩定性)

*FusionStorage 組件間心跳問題

1) ZK 與 MDC 的心跳間隔為 1 秒,ZK 在 10 秒內未收到心跳則認為 MDC 例外 

2) MDC 與 VBS 的心跳間隔為 1 秒 

3) MDC 與 OSD 的心跳間隔為 1 秒,MDC 在 5 秒內未收到心跳,則認為 OSD 例外,將 踢出,并修改 OSD View、IO View、Partition View 進行引流,5 分鐘內收到心跳,則自動進行資料重構,

*MDC 可以壞多少個?

MDC 可以壞的數量=MDC 總資料-1,即最終系統只有一個 MDC 仍可保持正常,可以壞到只剩一個,

*DHT 全稱是什么? 

DHT:Distributed Hash Table,分布式哈希表(環),FusionStorage 中指資料路由演算法, 

*DHT的原理是什么?

1. 系統初始化時,FusionStorage將哈希空間(0~2^32)劃分為N等份,每1等份是1個磁區(Partition),這N等份按照硬碟數量進行均分,例如:二副本場景下,系統N默認為3600,假設當前系統有36塊硬碟,則每塊硬碟承載100個磁區,上述“磁區-硬碟”的映射關系在系統初始化時會分配好,后續會隨著系統中硬碟數量的變化會進行調整,該映射表所需要的空間很小,FusionStorage系統中的節點會在記憶體中保存該映射關系,用于進行快速路由,

2. FusionStorage會對每個LUN在邏輯上按照1MB大小進行切片,例如1GB的LUN則會被切成1024*1MB分片,當應用側訪問FusionStorage時候,在SCSI命令中會帶上LUN ID和LBA ID以及讀寫的資料內容,OS轉發該訊息到本節點VBS模塊,VBS根據LUN ID和LBA ID組成一個key,該key會包含LBA ID對1MB的取整計算資訊,通過DHT Hash計算出一個整數(范圍在 0~2^32 內),并落在指定Partition中;根據記憶體中記錄的“磁區-硬碟”映射關系確定具體硬碟,VBS將IO操作轉發到該硬碟所屬的OSD模塊, 

3. 每個OSD會管理一個硬碟,系統初始化時,OSD會按照1MB為單位對硬碟進行分片管理,并在硬碟的元資料管理區域記錄每個1MB分片的分配資訊,OSD接收到VBS發送的IO操作后,根據key查找該資料在硬碟上的具體分片資訊,獲取資料后回傳給VBS,從而完成整個資料路由程序, 

*FusionStorage中,DHT路由演算法流程(VBS如何找到OSD)

VBS 收到 SCSI 指令流--->VBS 會轉換成為 key-value 形式--->VBS 對 LUN ID+LBA ID 進行 hash,得到 hash 值--->VBS 對 hash 值進行取模運算得到 partition 號--->VBS 將 partition 號檢索 IO view,得到 OSD,

*FusionStorage的讀寫快取機制

讀快取機制

 

 

 

Step 1:從記憶體的“讀cache”中查找是否存在所需 IO 資料,存在則直接回傳,并調整該 IO 資料到“讀cache”LRU(熱點因子機制)隊首,否則執行 Step 2

Step 2:從SSD的“讀cache”中查找是否存在所需 IO 資料,存在則直接回傳,并增加該 IO 資料的熱點訪問因子,否則執行 Step 3

Step 3:從SSD的“寫cache”中查找是否存在所需 IO 資料,存在則直接回傳,并增加該 IO 資料的熱點訪問因子;如果熱點訪問因子達到閾值,則會被快取在 SSD 的“讀 cache”中,如果不存在,執行 Step 4

Step 4:從硬碟中查找到所需 IO 資料并回傳,同時增加該 IO 資料的熱點訪問因子,如果熱點訪問因子達到閾值,則會被快取在 SSD 的“讀 cache”中,

寫快取機制

 

 

 

1. OSD在收到VBS發送的寫 IO 操作時,會將寫 IO 快取在 SSD cache 后完成本節點寫操作

2. OSD 會周期將快取在 SSD cache 中的寫 IO 資料批量寫入到硬碟,寫 Cache 有一個水位值,未到刷盤周期超過設定水位值也會將 Cache 中資料寫入到硬碟中 ?

3. FusionStorage 支持大塊直通,按預設配置大于256KB的塊直接落盤不寫 Cache,這個配置可以修改

*FusionStorage最多允許壞幾塊硬碟?

需要考慮安全級別+副本數,理論上可以最多壞(副本數-1)*安全級別內硬碟的數量,如果安全級別為服務器級,有3臺服務器,每臺服務器有4塊硬碟,副本數為2,則可以壞(2-1)*4=4,但這個值是短時間內壞的數量(資料未自動修復完成),

如果考慮到資料能及時修復,可以允許已用空間所對應的最小硬碟數,以上面例子為例,假設每塊硬碟大小為1TB,已用空間為1.8TB,則極端情況下,可以壞3*4-2=10塊硬碟,

*FusionStorage 資料重建規則,壞一塊硬碟時如何處理?擴容會如何處理?

當 FusionStorage 檢測到硬碟或者節點硬體發生故障時,自動在后臺啟動資料修復,由于磁區的副本被分散到多個不同的存盤節點上,資料修復時,將會在不同的節點上同時啟動資料重建,每個節點上只需重建一小部分資料,多個節點并行作業,有效避免單個節點重建大量資料所產生的性能瓶頸,對上層業務的影響做到最小化,

壞一塊硬碟,并更換新硬碟時:

1、假如硬碟掛掉之后,沒有超過 5 分鐘,換盤,在新盤上恢復資料,多點到單點的修復

2、假如硬碟掛掉之后,超過 5 分鐘,先進行資料修復,再換的盤,如果資料修復完成,相當于擴容

3、假如硬碟掛掉之后,超過 5 分鐘,先進行資料修復,再換的盤,如果資料修復沒完成,待修復完成后,又變成了擴容,

某個扇區出現問題,此種情況只會影響某個、某幾個partition,當讀到該partition時,無法回傳資料,就會到另外的副本所在的磁盤讀取資料,然后利用讀到的資料,修復原副本資料,

修復機制:自動并發修復,遵循安全級別(服務器、機柜、機房),

擴容機制:在遵從安全級別的情況下,平均使用率最小的 partition 給新增的硬碟,(較小資料的并發遷移)所有的硬碟大小都是一致的,如果不一致已空間最小的為準,

*FusionStorage能提供 FC-SAN嗎?

不能,FusionStorage Manager 到 FusionStorage Agent 走的 IP,點對點,業務主機到 VBS也是通過 IP 來做標記的,SERVER-SAN 的設計初衷也是考慮使用普通的物理硬體來替代專門的存盤設備,FC 交換機全球也就那么幾家在做,如果還是使用 FC-SAN,那在傳輸介質上還是被廠商鎖定了,不符合 server-san 的設計理念,而且,現在以太網的發展越來越快,從開始的百兆,千兆,到現在的萬兆,在傳輸速率上,以太網不見得比 FC 要差,

*FusionStorage 怎么擴容,相比傳統存盤擴容性能有提升嗎?

增加硬碟,或者增加物理主機,相比傳統存盤擴容性能有提升,因為相比較于傳統存盤擴容整個節點的時候,是擴容機頭,可以增大 IOPS,而傳統存盤擴容硬碟框只是增大了容量,并不會增加 IOPS,

*現在 FusionStorage 支持提供什么樣的存盤型別?

新版本的 FusionStorage(V1R6)支持塊存盤,檔案存盤,物件存盤,但是目前商用交付最多的還是塊存盤

*塊存盤、檔案存盤、物件存盤的區別?

塊存盤是以塊為基本存盤單位提供存盤空間,因其是最原始的存盤使用方式,過去以硬體的形態設計(如硬碟),設計簡單,未考慮鎖機制,在多個客戶端(行程、應用)使用同一塊設備的情況下,存在資料受損風險,因此不適合(不代表不能)給多個客戶端(行程、應用)使用,  特點:不易共享、性能好 

檔案存盤是以檔案為基本單位提供存盤空間,其通常是在塊存盤上,以軟體的形態作業,因此其可輕易的設計出一些機制,例如塊存盤沒有的鎖機制,從而保障了多個客戶端(行程、應用)可以使用同一檔案存盤,(易共享、性能較差) 

物件存盤是以物件為基本單位提供存盤空間,其核心思想在于元資料與資料分離,利用分布式技術,以軟體為形態,通常在塊存盤或檔案存盤之上以物件的方式提供存盤空間,相對塊存盤、檔案存盤,最主要的特點是線性擴展能力、基于網路的使用方式(體現在多主機可以共享物件存盤空間),某些運行在 x86 上的物件存盤系統甚至具體兼價的特點,物件存盤的缺點是需要考慮時延問題,或設計機制降低時延,或要求應用自身對時延不敏感,(易共享、性能優)

*一臺物理主機可不可以把FusionStorage當做存盤?為什么?

可以,兩種方式:

1. 通過在物理主機作業系統部署VBS,使用 scsi 呼叫FusionStorage

2. 通過 iscsi 走 IP SAN,呼叫 FusionStorage

*FusionCompute怎樣通過IPSAN的方式使用FusionStorage?

1. 在 FusionStorage 中,需要開啟 iSCSI 功能的服務器,開啟 iSCSI 開關,并進行 iSCSI 埠配置(存盤平面 IP) 

2. 在 FusionCompute 中以 IPSAN 的方式,將 FusionStorage 添加為存盤資源,并關聯 CNA 主機,獲取 WWN (iqn)號 

3. 在 FusionStorage 中,創建啟動器添加 CNA 主機的 iqn 號 

4. 創建主機并關聯啟動器 

5. 創建卷,選擇 iSCSI 協議,并映射給創建的主機 

6. 在 FusionCompute 上,掃描存盤設備并添加為資料存盤

*FusionStorage Manager與VBS如何通信?

FusionStorage Manager 通過管理平面與 VBS 所在節點的 FusionStorage Agent 通信,FusionStorage Agent 與 VBS 中的 VBM 模塊通信完成具體動作,

*MDC 與 VBS 功能是否可以合在一起?

理論上是可以的,但這不并符合模塊化設計,事實上,當前 FusionStorage 由 MDC、OSD 形成底層引擎層,通過增添 VBS 對外提供塊服務,增添 MDS、CA 對外提供檔案服務、增添物件存盤模塊對外提供物件服務,故將 MDC、VBS 在功能上分開,更能增加架構的靈活性, 

*FusionStorage 限制

1. 每個服務器上有 3 個~36 個硬碟可供 FusionStorage 使用(包含獨立部署的元資料盤), 

2. 兩副本時,每個服務器上提供給每個存盤池使用的硬碟數量為 2 個~12 個, 

3. 三副本時,每個服務器上提供給每個存盤池使用的硬碟數量為 2 個~36 個, 

4. 每個存盤池中的硬碟數量不能少于 12 個,

5. 不支持FC網路,因為FS通過IP通信,(FC是存盤設備才能用的,而FS是用服務器組成的) 

6. 同一個資源池中的存盤節點上硬碟數量之差不能大于 2 塊,(此處所指的硬碟為加入該存盤池的硬碟,而不是服務器上所能提供的硬碟總數,) 

7. 同一個資源池中的存盤節點上硬碟數量之差,不能大于硬碟數量最多的服務器上的硬碟數的 30%, 例如一個服務器上有 3 個硬碟,硬碟最多的服務器上有 5 個硬碟,這種場景就不符合 FusionStorage 的硬碟要求,(此處所指的硬碟為加入該存盤池的硬碟,而不是服務器上所能提供的硬碟總數,) 

8. 同一個資源池中的硬碟型別必須一致, 

9. 建議硬碟大小一致,如果硬碟大小不一致,系統會按照最小盤的容量作為各盤的裸容量使用, 

10. 每個服務器上有 0 個~12 個快取供FusionStorage使用 

11. 每個服務器上提供給每個存盤池使用的快取數量為 0 個~4 個 

12. 同一個資源池中的存盤節點上快取的數量必須一致

13. 同一個資源池中的存盤節點上快取的型別必須一致

*FusionStorage 支持的主存型別有哪些?

SATA、SAS、SSD 卡(華為 ES3000 V1/V2)、SSD 盤

*FusionStorage 支持的快取有哪些?

NVDIMM(Agiga 4G)、SSD 盤、SSD 卡(華為 ES3000 V1/V2)、Memory(僅支持讀)

*FusionStorage 的資料重構會影響主機性能嗎?

不會,不影響的,因為只是資料的占用,而且資源占用也不大,重建發生在OSD之間(追問就回答一下資料重建 io 流程)

*EC 和多副本有什么區別?

相同容錯能力下,EC 比多副本模式的空間利用率高,多副本比 EC 的系統性能好,用戶可根據實際情況選擇存盤池的資料保護方式

*FusisonStorage 的多副本的利用率是怎樣的?

 

 

 

*FusionStorage是否一定要布署在CNA上?

不是,FusionStorage 是一套存盤軟體,可以布署在任何兼容的Linux作業系統上,目前官方提供的兼容性串列中,包括:

CentOS 6.4-7.3

RedHat 6.4-7.3

Oracle Linux 6.2-7.0

SUSE 11.1-11.4

*FusionStorage的部署方式有哪些?

融合部署:

1. 指的是將 VBS和OSD 部署在同一臺服務器中

2. 虛擬化應用推薦采用融合部署的方式部署

分離部署:

1. 指的是將 VBS和OSD 分別部署在不同的服務器中

2. 高性能資料庫應用則推薦采用分離部署的方式

關鍵點:

融合及分離部署重點看 VBS和OSD是否部署在一起,因部署OSD的節點會成為存盤節點,需要消耗所在節點的計算資源用于對外提供存盤業務,所以像高性能資料庫這種對計算敏感的節點不宜部署OSD,即融合部署, 

融合布署與分離部署是 VBS和OSD之間的事情,不要和SCSI、iSCSI混為一談,后者取決于OS 與VBS是否在一起,

*FusionSphere 支持哪種部署方式?

支持融合部署、分離部署

 

 

 

*VBS的內部架構

 

 

 

IO在VBS行程中需要經過三個模塊的處理,分別為SCSI,VBP,CLIENT:

1. SCSI模塊負責從內核(VSC.KO)中將IO引入VBS行程,SCSI模塊接收到的IO是標準SCSI協議格式的IO請求,通過SCSI四元組(host_id/channel_id/target_id/lun_id)和該IO在塊設備上的offset,讀寫的資料長度len唯一標識一個IO,SCSI模塊將收到的IO資訊交給VBP(Virtual Block Process)模塊

2. VBP內部將通過塊格式的IO轉換為FusionStorage內部Key-Value格式的IO下發給client,其中KEY的組成為:tree_id(4Byte)+ block_no(4Byte)+ branch_id(2Byte)+ snap_id(2Byte),tree_id/ branch_id /snap_id是FusionStorage內部對卷、快照的唯一標識;block_no是將卷按照1M的塊劃分,本次IO落在那一個1M塊上的編號

3. IO請求到達client模塊后,client根據KEY中的tree_id/ branch_id進行hash計算,確定本次IO發給哪一個OSD行程處理確定后將IO發送給對應的OSD處理

另外,VBM模塊負責完成卷和快照的管理功能:創建卷、掛載卷、卸載卷、查詢卷、洗掉卷、創建快照、洗掉快照、基于快照創建卷等,

  Heart-beat模塊負責維持與MDC的心跳,

*什么時候創建的歸屬MDC?(考到)

通常創建一個存盤池會創建對應的歸屬MDC

什么叫 FusionStorage?

FusionStorage Block 是一種分布式塊存盤軟體,將通用 X86 服務器的本地 HDD、SSD 等介質通過分布式技術組織成一個大規模存盤資源池,對上層的應用和虛機提供工業界標準的 SCSI 和 iSCSI 介面, 開放的API

FusionStorage 主存最大支持多大空間?

iSCSI 卷最大擴容容量 256TB,具體的存盤池需要手動計算

最新版本的FusionStorage已支持分布式塊存盤服務、分布式檔案存盤服務、分布式物件存盤服務

為什么還要有多個歸屬 MDC?

有大量的磁盤,對應大量的 OSD,每個 OSD 都要與 MDC 進行互動,如果都交給主 MDC 去做,主 MDC 會成為性能瓶頸點,總結:多個歸屬 MDC 產生,避免主 MDC 產生瓶頸,避免存盤性能瓶頸,

Fusionstorage強一制性是什么?如何實作?

強一制性:任何時候進行讀都能訪問到最新的資料,

實作:OSD 接收到寫請求后,會通過自己的RSM 模塊完成多副本同步寫,

 

 

 

<引伸:OSD收到寫請求后,也會通過DHT演算法,將 key進行hash 運算,得到hash 值,再將 hash 值進行取模運算,得到partition號,查看PartitionView 找到相應的備OSD進行同步寫,>

FusionStorage為什么要配置大塊直通,大于256K直接下盤,不寫cache?

FusionStorage 針對高 IOPS 的場景,IO 數量密集,很快就會把 cache 空間占完,所以大 IO 使用 cache 提升速度不明顯,cache 對于隨機小 IO 不用尋道,比 HDD 要尋道處理速度快,

FusionStorage 的資料重建程序 

 

 

 

FusionStorage中的每個硬碟都保存了多個DHT磁區(Partition),這些磁區的副本按照策略分散在系統中的其他節點,當FusionStorage檢測到硬碟或者節點硬體發生故障時,自動在后臺啟動資料修復,

由于磁區的副本被分散到多個不同的存盤節點上,資料修復時,將會在不同的節點上同時啟動資料重建,每個節點上只需重建一小部分資料,多個節點并行作業,有效避免單個節點重建大量資料所產生的性能瓶頸,對上層業務的影響做到最小化,

<關鍵點:故障自動檢測 、資料自動重建、多節點并行恢復 >

scsi 是什么組件提供服務?

VBS

為什么我在 FusionStorage Manager 界面把 Agent 的包安裝了之后就能看到磁盤的資訊了?

因為 FusionStorage Agent 記憶體常見服務器的 raid 卡驅動識別的程式,raid 卡可以管理硬碟資訊,所以安裝 agent 后就能看到磁盤資訊,

FusionStorage 如何實作資料高可靠性?

FusionStorage 支持多副本和 Erasure Code(中文叫糾刪碼,簡稱 EC)兩種資料保護方式,即當物理設備出現故障時,資料仍可被正常訪問,并自動恢復故障設備上的資料,用戶可根據需求靈活選擇資料保護方式,實作資料可靠性和存盤空間利用率的最佳配比,傳統的硬碟級 RAID 模式將資料存放于單節點內的不同硬碟,當整節點發生故障時,無法有效恢復資料,FusionStorage 將資料在節點間進行冗余保護或副本構建,有效避免資料丟失,

 

Erasure Code 的保護等級有哪些?

保護級別以 N+M 模式或 N+M:B 表達,其中,N 表示 ODC(Original Data Count);M表示 RDC(Redundant Data Count)

 

目前支持配置的范圍是:3+1、2+2、3+2、4+2、8+2、12+3、3+2:1、4+2:1、8+2:1和 12+3:1 九種配置

利用率等于 N/(N+M)

如 4 個節點,3+1 則計算為 3/(3+1)=75%

備注:

 

OSD如何找到歸屬MDC?

OSD啟動時向MDC查詢歸屬MDC,向歸屬 MDC報告狀態,歸屬MDC把狀態變化發送給 VBS,當歸屬MDC故障,主MDC指定一個MDC接管,最多兩個池歸屬同一個 MDC

補充:OSD行程在啟動時會加載相應組態檔,檔案中,包含所有 MDC的IP及埠號,所以OSD可以向這些 MDC確定歸屬MDC

VBS與MDC的互動

VBS啟動時查詢主 MDC,向主MDC注冊(主 MDC 維護了一個活動 VBS的串列,主MDC同 步VBS串列到其它 MDC,以便MDC能將OSD的狀態變化通知到VBS),向 MDC確認自己是 否為leader;VBS 從主MDC獲取IO View,主VBS 向OSD獲取元資料,其它 VBS向主VBS獲取元資料

補充:

VBS行程在啟動時會加載相應組態檔,檔案中,包含所有 MDC的 IP及埠號,所以VBS可以向這些MDC查詢主 MDC,

VBS形成集群并選擇主VBS,原因在于解決多VBS對同一卷元資料的一致性操作上,主 VBS從 OSD中讀取元資料卷獲得卷的元資料,

只有主VBS能夠操作元資料,所以備VBS收到的卷和快照管理類命令需要轉發到主VBS處理,對于掛載、卸載等流程,主VBS完成元資料的操作后,還需要將命令轉到目標 VBS實作卷的掛載、卸載等操作,

考官追問:

拔掉一個硬碟后,會發生什么?

進行資料重建,

有幾種view?分別是什么?作用是什么?

三種,

IO View、OSD View、Partition View,

IO View記錄著partition和DISK的關系,

OSD View記錄著OSD ID和OSD Status,

Partition View記錄著Partition ID、主OSD ID和OSD Status,

MDC數量多少個?可以故障多少個?

MDC數量3~96個

可以故障N-1個

DHT是什么?

Distributed Hash Table分布式哈希表(環),資料路由機制

*VMware如何使用FusionStorage?

 

 

 

Vmware主機使用FusionStorage資源,把VBS以虛擬機的方式部署在Vmware主機上,以ISCSI方式進行掛載,此時Vmware虛擬化層可以通過VBS虛擬機使用到FusionStorage資源,Vmware虛擬化層再以SCSI的方式掛載給Vmware虛擬機即可,

Vmware特殊場景,VBS使用FS是走的ISCSI,

 

1. 通過在物理主機作業系統部署VBS,使用 scsi 呼叫FusionStorage

2. 通過 iscsi 走 IP SAN,呼叫 FusionStorage

什么情況下是SCSI什么情況下是ISCSI?

scsi是主機內部通信的協議

iscsi是主機外部通過IP網路進行通信

答到OSD的時候考官突然說SSD盤只是需要考慮硬碟大小?

需要考慮SSD盤的硬碟大小、性能、成本

SATA盤3副本需要使用SSD?

需要使用,SSD在這時候用來做快取用,

FS最少需要多少塊硬碟?

FS最少需要12塊硬碟,

最小3節點部署,每個節點4塊盤,3塊做主存,1塊做快取,

歸屬MDC什么時候創建的,怎么創建?

創建一個存盤池的時候

剛開始沒答fsm fsa 忘了,后面說我這答漏了兩個重要的組件,我后面補充了,然后問我,有什么部署方式?

我答融合部署和分離部署,這不是他想要的,然后我繼續答,說按客戶需求進行部署,如管理節點 計算節點 存盤節點部署,考官聽到后沒表示,下一題,

 

根據客戶需求來部署符合用戶要求的,如管理節點 計算節點 存盤節點部署

資料重建和資料恢復的原理,作業程序?

自動資料重建

并發修復

安全級別修復:服務器級、機柜級、機房級

 

多節點并行修復,一個節點只需要修復一小部分資料

 

系統自動發現磁盤故障

若故障5分鐘內,管理員換了新盤,進行資料重建,

故障超過5分鐘,已修復完成,再換了新盤相當于擴容

故障超過5分鐘,未修復完成,再換了新盤,隨后再修復完成,相當于擴容

這塊硬碟故障之后再重新插入一塊新硬碟會做什么操作, 之前那塊故障的硬碟的資料會到新硬碟上面去嗎?

若故障5分鐘內,管理員換了新盤,進行資料重建,

故障超過5分鐘,已修復完成,再換了新盤相當于擴容

故障超過5分鐘,未修復完成,再換了新盤,隨后再修復完成,相當于擴容

分情況,若在修復完成后再插入的新硬碟,之前那塊故障的硬碟的資料不會到新硬碟上面去,

 

5分鐘內硬碟恢復了或者重新插了一塊硬碟就會恢復之前的樣子,

若5分鐘后硬碟還未恢復,那么就會將硬碟踢出存盤池,然后進行資料重建,

MDC狀態是怎么保存的?

保存在ZK盤里,

元資料有哪些?保存在哪里?

Io view    partition view    osd view    組件的狀態

ZK的ZK空間中

MDC的記憶體空間中

可靠性怎么實作?怎么實作多副本機制?

1. 資料可靠性是多副本機制或EC機制實作

2. 組件的可靠性是組件都是主備或多活部署

3. 掉電保護機制

 

多副本機制靠Partition View中的OSD的主備狀態來決定是幾副本,

寫IO流程

OS下發寫IO到VBS,VBS對寫IO做成key-value形式再進行DHT運算,先對key-value進行hash計算,再將HASH值進行取模得到partition id,找到對應的主OSD,將寫IO下發給主OSD,主OSD進行同步雙寫,將寫IO發給本服務器的ssd cache和該io資料所屬副本服務器的備OSD,備OSD同步寫入本服務器ssd cache,當主備都寫完成后主OSD回傳寫成功給VBS,而后它們的cache再異步寫入服務器的硬碟,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/302936.html

標籤:其他

上一篇:代碼審計之xhcms環境搭建

下一篇:華為云計算IE面試筆記-fusionstorage相對于傳統集中式存盤的優勢?

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more