寫(xiě)緩存內(nèi)存鏡像
SP緩存用于讀取和寫(xiě)入緩存數(shù)據(jù)。讀緩存(Read cache)是用于保存預(yù)計(jì)將來(lái)有請(qǐng)求讀I/O的數(shù)據(jù)至內(nèi)存。寫(xiě)緩存(Write cache)用于存儲(chǔ)等待被寫(xiě)入驅(qū)動(dòng)器的數(shù)據(jù)請(qǐng)求。
此外,一個(gè)SP擁有讀緩存和寫(xiě)緩存,并且緩存中包含一個(gè)對(duì)端SP的寫(xiě)緩存的復(fù)制鏡像。這是一個(gè)重要的可用性功能。大部分的緩存分配給寫(xiě)緩存,剩余的分配給讀緩存。這是因?yàn)樽x操作的I/O往往已經(jīng)在緩存中,除非讀操作執(zhí)行的是順序讀取I/O。
寫(xiě)緩存:
VNXe的寫(xiě)緩存是鏡像的回寫(xiě)緩存(Write-back cache)。對(duì)于每一個(gè)寫(xiě)操作,數(shù)據(jù)將存儲(chǔ)在緩存中并復(fù)制到對(duì)端SP。然后,此請(qǐng)求至主機(jī)確認(rèn)。在這個(gè)過(guò)程中,寫(xiě)緩存是VNXe系統(tǒng)的SP之間的完全鏡像,并通過(guò)冗余以確保數(shù)據(jù)被保護(hù)。此外,請(qǐng)求被確認(rèn)后數(shù)據(jù)被寫(xiě)入磁盤。
當(dāng)VNXe系統(tǒng)正常關(guān)機(jī),SP緩存將刷新至后端驅(qū)動(dòng)器并且禁用。如果SP發(fā)生故障后重啟,通過(guò)所有的系統(tǒng)復(fù)位,緩存將保持不變。
如果有電源故障,每個(gè)SP使用電池電源將其緩存副本寫(xiě)入其SSD(一個(gè)基于Flash的硬盤驅(qū)動(dòng)器),而不需要任何電源來(lái)保留數(shù)據(jù)。
系統(tǒng)重新啟動(dòng)后,SP緩存的內(nèi)容將恢復(fù)至兩個(gè)SP上。然后,兩個(gè)SP將確認(rèn)內(nèi)容的有效性。通常情況下,這兩個(gè)副本是有效的。如果一個(gè)SP擁有較新版本的緩存內(nèi)容(或其中一個(gè)是無(wú)效的),那么在重新啟用緩存并允許訪問(wèn)存儲(chǔ)資源之前,擁有最新有效副本的SP將同步其內(nèi)容到對(duì)端SP。
單SP的VNXe3100/3150系統(tǒng)的緩存保護(hù)模塊:
雖然本系列文章的重點(diǎn)在雙SP的VNXe系統(tǒng)上,重要的是要注意單SP的VNXe3100/3150系統(tǒng)在對(duì)端SP槽中擁有緩存保護(hù)模塊。此組件具有第二個(gè)活動(dòng)緩存。它包含與單SP的緩存中的相同的數(shù)據(jù)(就像雙SP的VNXe系統(tǒng)上使用了鏡像配置)。當(dāng)更換出現(xiàn)故障的SP后,在緩存保護(hù)模塊中的數(shù)據(jù)將復(fù)制到SP的緩存后再寫(xiě)入到磁盤。