三、 如何有效降低遷移過(guò)程中的沖突?
分級(jí)存儲(chǔ)另一個(gè)特點(diǎn),就是會(huì)根據(jù)數(shù)據(jù)的訪問(wèn)級(jí)別,在不同設(shè)備之間進(jìn)行數(shù)據(jù)的遷移。如剛開始一些數(shù)據(jù)是存儲(chǔ)在硬盤或者磁盤陣列中的。后來(lái)分級(jí)存儲(chǔ)系統(tǒng)發(fā)現(xiàn)其已經(jīng)有近半年沒(méi)有被訪問(wèn)了,此時(shí)就會(huì)將數(shù)據(jù)從硬盤或者磁盤陣列中遷移到磁帶中。這種遷移也叫做降級(jí)遷移(將數(shù)據(jù)從性能高的設(shè)備中遷移到性能低的設(shè)備中)。相反,當(dāng)用戶在一段時(shí)間內(nèi)突然頻繁訪問(wèn)存放在磁帶中的數(shù)據(jù),此時(shí)分級(jí)存儲(chǔ)系統(tǒng)就會(huì)將數(shù)據(jù)從磁帶中遷移到硬盤或者磁盤陣列中,這就叫做升級(jí)遷移(數(shù)據(jù)有慢速存儲(chǔ)設(shè)備和低一級(jí)存儲(chǔ)設(shè)備往快速存儲(chǔ)設(shè)備或者高一級(jí)存儲(chǔ)設(shè)備遷移)。
這里需要注意,在遷移的過(guò)程中可能會(huì)發(fā)生沖突。根據(jù)筆者的經(jīng)驗(yàn),一般來(lái)說(shuō)在降級(jí)遷移中設(shè)備的輸入輸出沖突并不是很嚴(yán)重。但是在升級(jí)遷移中,則必須要考慮數(shù)據(jù)遷移帶來(lái)的I/Q沖突。因?yàn)楦鶕?jù)測(cè)試發(fā)現(xiàn),數(shù)據(jù)遷移發(fā)生的時(shí)候,基本上是對(duì)應(yīng)設(shè)備I/Q最密集的時(shí)候。為此在分級(jí)系統(tǒng)設(shè)計(jì)的時(shí)候,必須要考慮到,如何才能夠最大程度的降低數(shù)據(jù)遷移過(guò)程中的I/Q沖突,降低對(duì)其他用戶數(shù)居訪問(wèn)的不利影響?,F(xiàn)在常用的一種手段是盡量保證只在磁帶與磁盤陣列之間進(jìn)行數(shù)據(jù)的升級(jí)遷移。因?yàn)橄鄬?duì)來(lái)說(shuō),可以通過(guò)增加硬盤的數(shù)量來(lái)增加數(shù)據(jù)輸入輸出的吞吐量,從而降低I/Q沖突。而減少在磁帶與單塊硬盤之間的數(shù)據(jù)遷移操作。根據(jù)筆者的測(cè)試發(fā)現(xiàn),及時(shí)性能最高的硬盤,在發(fā)生數(shù)據(jù)升級(jí)遷移的過(guò)程中,不可避免的會(huì)遇到I/O沖突的情況。
在數(shù)據(jù)遷移的過(guò)程中,除了要考慮數(shù)據(jù)沖突之外,還需要注意數(shù)據(jù)的一致性。根據(jù)現(xiàn)在的技術(shù),最常用的手段是通過(guò)讀寫鎖來(lái)確保數(shù)據(jù)的一致性。系統(tǒng)的遷移進(jìn)程會(huì)為當(dāng)前的數(shù)據(jù)塊申請(qǐng)讀寫鎖,以保證遷移進(jìn)程與寫操作進(jìn)程之間的數(shù)據(jù)一致性。通常情況下,則也是選擇分級(jí)存儲(chǔ)產(chǎn)品中必須要考慮一個(gè)指標(biāo)。
以上提到的這三個(gè)內(nèi)容,不僅僅是大家在部署的時(shí)候需要注意的問(wèn)題,而且在選購(gòu)產(chǎn)品的時(shí)候,也可以以這些標(biāo)準(zhǔn)來(lái)進(jìn)行評(píng)估。