自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

原來Advanced Format HDD已經(jīng)普及了

數(shù)據(jù)庫 Oracle
硬件發(fā)展雖然沒有我們想象的那么快,只不過DBA的硬件知識更新的太慢了。以至于現(xiàn)代硬件數(shù)年前就已經(jīng)研究的很清楚的問題,我們今天才去關注。如果不是那個Oracle的BUG,我可能還停留在HDD 512扇區(qū)的慣性里。這種知識的學習,什么時候是個頭啊,選擇DBA這個職業(yè),真的得保持一顆學習的心。

?DBA對現(xiàn)代硬件的了解總是不足夠的,雖然說有時候不了解這些東西,也不影響我們搞數(shù)據(jù)庫運維。不過多了解一些這方面的知識總是好的。7、8年前我們剛剛開始使用SSD的時候遇到過4K扇區(qū)的問題,SSD盤分區(qū)的時候沒有對齊性能會有影響。甚至弄得不好,存儲在SSD盤上的Oracle Redo Log還會給你弄出點性能問題。

在一個朋友提出了一個Oracle 問題之前,我一直沒有關注過目前普通機械盤是否也存在4K扇區(qū)的問題。直到前幾天,一個朋友發(fā)了一個補丁,問512e是個啥意思。

圖片

這是一個Oracle 19C的BUG,在運行于RHEL/CENTOS 8的19.3的Oracle上,如果使用了ASMLIB,并且ASM磁盤組的磁盤包含512e的磁盤,則查詢v$asm_disk的時候會出現(xiàn)CORE DUMP。而如果往這個磁盤組中添加磁盤的時候,甚至會導致整個磁盤組損壞。問題夠嚇人。

512e這個概念在數(shù)年前搞SSD盤的時候就大致了解過,學名叫512字節(jié)扇區(qū)仿真訪問模式。在一些不支持原生態(tài)4K扇區(qū)的場景下,通過512字節(jié)的邏輯扇區(qū)來訪問4K物理扇區(qū)的SSD設備也是以前經(jīng)常用的方法。而這個BUG出現(xiàn)在HDD上,難道現(xiàn)在HDD也開始使用4K扇區(qū)了嗎?于是我馬上谷歌了一下,發(fā)現(xiàn)一種稱為Advanced Format Hard Disk的磁盤技術在十多年前就已經(jīng)開始出現(xiàn)了,而2014年后,大部分的硬盤企業(yè)都推出了企業(yè)級的AF硬盤。

圖片

關于4K扇區(qū)磁盤的好處,我在這里簡單的講一下,首先磁盤越來越大,4K盤可以在使用相同的尋址空間上獲得更大的存儲空間,另外一點,因為元數(shù)據(jù)的減少,也提高了磁盤容量的實際使用率,從硬盤廠商發(fā)布的數(shù)據(jù)看,使用4K扇區(qū)后,磁盤空間可用量多了7%以上。而從他們發(fā)布的性能數(shù)據(jù)上看,對于順序讀,順序?qū)懙男阅?,采?K扇區(qū)后都是有所提升的,隨機讀的性能略高(不知道這種略高是不是磁盤技術帶來的,從轉(zhuǎn)速和讀取的性能上實際上是沒有什么提升的),隨機寫的性能略有下降,不過幾乎可以忽略。磁盤場廠商的數(shù)據(jù)告訴你,方向使用4K HDD吧,性能是沒問題的。我咨詢了一些國內(nèi)的一些這方面的朋友,他們告訴我性能差異可以接受如果對齊邊界,看不出明顯的差別。不過不同的場景下,這些指標可能會有不同。只不過無論我們接受不接受,今后4K扇區(qū)的Advanced Format HDD肯定是標配了。

圖片

上面這個磁盤上面的紅框中的LOGO就是4KN磁盤的標識。如果我們仔細查看一下自己手頭的硬盤,應該可以發(fā)現(xiàn)存在這樣的標識:

圖片

我們可以看到上面有兩種LOGO,一種是512e的,另外一種是4Kn的,這是兩種新的磁盤扇區(qū)訪問的模式。AF是指本磁盤是4K一個扇區(qū)的,不過支持512邏輯扇區(qū)訪問模式,操作系統(tǒng)可以把我當成512字節(jié)扇區(qū)的磁盤來訪問。4Kn是指磁盤本身是4K扇區(qū)的,并且支持OS以4K本地訪問的模式來訪問這個磁盤。再加上原來的物理扇區(qū)就是512字節(jié)的磁盤,其訪問模式稱為512n,這三種磁盤訪問模式就是我們?nèi)粘D軌蛴龅降腍DD的訪問模式。

于是我們的HDD世界中存在兩種扇區(qū)規(guī)格,512和4K。為了向前兼容,4K扇區(qū)的磁盤也搞了一個512e的仿真訪問模式,使原來的應用可以不做修改就能夠訪問4K扇區(qū)的磁盤。于是磁盤訪問模式出現(xiàn)了3種:1)512n,其物理扇區(qū)和邏輯扇區(qū)都是512字節(jié)的,這是以前的傳統(tǒng)訪問模式;2)512e,其磁盤的物理扇區(qū)是4K的,不過為了兼容原有的系統(tǒng),在分區(qū)的時候選擇了512邏輯扇區(qū)大??;3)4Kn,其物理扇區(qū)與邏輯扇區(qū)都是4K的,系統(tǒng)采用原生4K的方式去訪問這些磁盤。

圖片

Linux從RHEL/CENTOS 6開始支持原生的4Kn,之前都是通過512e的硬盤格式仿真訪問。如果你采用4Kn的硬盤格式,那么是不需要考慮任何分區(qū)對齊之類的問題的。而如果你使用512e的方式,那么就必須認真考慮對齊的問題了。因為如果分區(qū)不做4K對齊,那么原本一個IO可以搞定的問題,就可能因為邊界問題而要使用2個IO了,IO數(shù)量翻了一倍,對磁盤的壓力也大了,IO延時也會增加。這對于數(shù)據(jù)庫系統(tǒng)來說是十分不好的事情。

對于數(shù)據(jù)庫來說,理解這些差異也是有用的。MySQL、PostgreSQL等數(shù)據(jù)庫都是把數(shù)據(jù)放在文件系統(tǒng)上,IO也都是向Linux的文件系統(tǒng)發(fā)起,這些磁盤格式之間的差異被文件系統(tǒng)給屏蔽了,因此我們平時也不需要太關注這些。而如果你使用Oracle則有些不同了。

Oracle從11.2.0.3開始全面支持4K扇區(qū)磁盤,支持4Kn。Oracle的ASM是自己對IO進行優(yōu)化的,為了達到極致,Oracle在Linux內(nèi)核中增加了一個ASMLIB模塊,用于和裸設備打交道。在普通情況下,Oracle通過512e的發(fā)格式訪問磁盤扇區(qū)的數(shù)據(jù),而在使用了ASMLIB的方式下,可以使用4Kn的模式訪問磁盤,從而獲得最佳的性能。

在創(chuàng)建磁盤組的時候,Oracle ASM的接口會自動獲得邏輯扇區(qū)/物理扇區(qū)的大小,如果發(fā)現(xiàn)某個磁盤組內(nèi)有不同的邏輯磁盤/物理磁盤大小的時候,就會報錯。如果運氣不好,遇到了本文開頭提到的那個BUG,這時候還可能會引起DISKGROUP的故障(一般情況下不會,如果ASM實例設置了不理會邏輯扇區(qū)大小的參數(shù)_disk_sector_size_override,則大概率會出現(xiàn)此問題)。

在Oracle中使用4K扇區(qū)的磁盤,一定要注意幾個方面:1)表空間的BLOCKSIZE不要低于4K,否則會面臨性能問題,還好我們的絕大多數(shù)數(shù)據(jù)庫都是用默認的8K BLOCKSZIE,不過某些超高并發(fā),存在嚴重熱塊爭用的系統(tǒng)往往會使用較小的BLOCKSIZE,也有一些客戶為了避免熱塊沖突,把索引存放在2K BLOCKSIZE的表空間中;2)REDO LOG盡可能使用4Kn的磁盤格式,并且將REDO BLOCK大小設置為4K,而不是使用默認的512;3)創(chuàng)建磁盤組或者向磁盤組中加入新盤的時候,一定要檢查物理扇區(qū)和邏輯扇區(qū)的大小,從而避免不兼容問題的出現(xiàn)。

圖片

最后要說的是,針對4Kn還是512e/512n模式,這是一個全鏈路問題。從磁盤到操作系統(tǒng)的任何一個環(huán)節(jié)上出現(xiàn)不一致的配置,或者不兼容的硬件,都會影響到我們最終獲得的設備的屬性。我在網(wǎng)上看到過一個案例。在同一臺存儲上分配的兩個LUN,在操作系統(tǒng)層面看到的山區(qū)格式不同。

圖片

這種情況會導致創(chuàng)建ASM DISKGROUP的時候報錯,在操作系統(tǒng)上檢查了很久也沒有發(fā)現(xiàn)問題,最終在存儲上找到了原因。

圖片

在創(chuàng)建LUN的時候,同一個管理員在兩個不同時間里創(chuàng)建的兩個LUN使用了不同的BLOCK SIZE。存儲管理員是不管這些的,他們也不知道這個參數(shù)還會引發(fā)Oracle的問題。

硬件發(fā)展雖然沒有我們想象的那么快,只不過DBA的硬件知識更新的太慢了。以至于現(xiàn)代硬件數(shù)年前就已經(jīng)研究的很清楚的問題,我們今天才去關注。如果不是那個Oracle的BUG,我可能還停留在HDD 512扇區(qū)的慣性里。這種知識的學習,什么時候是個頭啊,選擇DBA這個職業(yè),真的得保持一顆學習的心。

責任編輯:武曉燕 來源: 白鱔的洞穴
相關推薦

2016-12-20 19:59:08

科技WIFI手機

2017-11-12 21:12:34

HPC

2014-03-11 10:03:25

設計模式

2009-09-04 05:34:57

KVM性能紅帽KVM

2021-05-25 14:10:34

AI 數(shù)據(jù)人工智能

2019-05-05 09:24:09

KafkaTopicPartition

2021-11-30 08:04:32

AIIT運維

2012-05-08 16:07:38

Android

2020-04-08 17:26:19

QLCSSDHDD

2022-12-18 22:11:46

2020-09-28 18:04:37

SessionToken服務端

2023-12-11 13:57:00

RFM模型激勵機制

2021-02-11 09:14:36

內(nèi)存虛擬機數(shù)據(jù)

2015-08-12 16:32:34

華為/物聯(lián)網(wǎng)

2025-02-17 09:22:16

MySQLSQL語句

2021-02-02 09:13:11

索引SQL數(shù)據(jù)庫

2018-07-12 16:02:01

SQLMySQLMongoDB

2012-11-21 11:14:06

Windows 1.0

2020-01-07 11:04:02

JavaJSP前端

2018-06-27 08:30:51

HDD密度存儲
點贊
收藏

51CTO技術棧公眾號