亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

關于4K Block Size的Device和 Aligned IO

2024-06-28 13:27:23
字體:
來源:轉載
供稿:網友
關于4K Block Size的Device和 Aligned IO

背景:最近采購了一批新的服務器,底層的存儲設備的默認physical sector size從原有的 512B 改為了 4K。

裝完系統以后,在做數據庫物理備份恢復時xtrabackup報了這么一個錯。但是同樣的備份在512B sector size的老系統上卻可以恢復。

報錯如下:

InnoDB:Error:triedtoread2048bytesatoffset00.InnoDB:Wasonlyabletoread0.14030418:48:12InnoDB:Operatingsystemerrornumber22inafileoperation.InnoDB:Errornumber22means'Invalidargument'.InnoDB:SomeoperatingsystemerrornumbersaredescribedatInnoDB:http://dev.MySQL.com/doc/refman/5.1/en/operating-system-error-codes.htmlInnoDB:Fileoperationcall:'read'.InnoDB:Cannotcontinueoperation.innobackupex-1.5.1:Error:innobackupex-1.5.1:ibbackupfailedat/usr/bin/innobackupex-1.5.1line386.

我們先不討論原因,先看一下解決方案:http://bazaar.launchpad.net/~akopytov/percona-xtrabackup/bug1190779-2.0/revision/561#src/xtrabackup.cc

升級到2.0.7以上的xtrabackup即可。

1. 什么是Block(Sector)

為什么同樣的程序在512B的block size 和在4K的block size上的行為結果不一樣呢?

我們先來看一下什么是device block (sector) size:block(又叫sector) 是一個塊設備的最小讀寫單位。也就是說對于一個512B block size的設備。即使上層調用只需要讀10個Byte的數據,它也會從設備讀取512B的數據,然后再把多余的剔除,返回給上層調用者。

在device block size的上層是filesystem block size:對于filesystem來說一個block也是最小的讀寫單位。也即只有一個字節的文件,在底層device上也會占一個block的大小。

更多對于block size的解釋,見鏈接

2. 什么是Aligned IO

有了block size以后,自然就出現了對齊(align)的概念。所謂對齊就是IO請求的邊界和底層block的邊界重合。也就是說上層IO請求的起始點和偏移量是下層設備block size的整數倍。同樣讀取512B的數據,對齊后的請求只需要下層設備的一次IO,而非對齊的請求就需要下層設備的兩次IO再加上前后數據截斷。也因為如此,aligned IO的性能要比unaligned IO的性能好很多

下面就是從上自下(從DB到Disk)嚴格對齊的一張事例圖

storage-stack.png

然而,linux操作系統和MySQL并不嚴格要求IO對齊。unaligned IO只會造成IO請求性能略低,但并不應該出現訪問報錯。

那是什么樣的原因導致xtrabackup在4K sector size的設備上報錯了呢?

3. O_DIRECT 和 unaligned IO

查閱Linux文檔以后我們發現,文件系統在O_DIRECT模式下打開的文件有IO對齊的限制。而xtrabackup在使用了O_DIRECT方式open file的情況,發起了unaligned IO。這種情況下,文件系統會拒絕IO請求。

具體文檔摘抄如下:

Users must always take care to use PRoperly aligned and sized IO.  Thisis especially important for Direct I/O access.  Direct I/O should bealigned on a 'logical_block_size' boundary and in multiples of the'logical_block_size'.  With native 4K devices (logical_block_size is 4K)it is now critical that applications perform Direct I/O that is amultiple of the device's 'logical_block_size'.  This means thatapplications that do not perform 4K aligned I/O, but 512-byte alignedI/O, will break with native 4K devices.  Applications may consult adevice's "I/O Limits" to ensure they are using properly aligned andsized I/O.  The "I/O Limits" are exposed through both sysfs and blockdevice ioctl interfaces (also see: libblkid).

而查看xtrabackup 2.0.7 對于這個bug的描述,我們也可以發現這個bug的修復實際上就是簡單的把 O_DIRECT的文件打開屬性去除。具體change log摘抄如下:

The problem was in an length-unaligned I/O request issued whilemanipulating xtrabackup_logfile with O_DIRECT enabled.

We don't actually need O_DIRECT in those cases, so the fix was todisable O_DIRECT.. The patch also removes userspace buffer alignmentcode and implements other minor cleanups.

4. 相關文檔

http://www.orczhou.com/index.php/2009/08/innodb_flush_method-file-io/

https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1055547

https://bugs.launchpad.net/percona-xtrabackup/+bug/902567

https://bugs.launchpad.net/percona-server/+bug/1033051

http://www.linuxintro.org/wiki/Blocks,_block_devices_and_block_sizes

http://www.mysqlperformanceblog.com/2011/06/09/aligning-io-on-a-hard-disk-raid-the-theory/

http://people.redhat.com/msnitzer/docs/io-limits.txt


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美床上激情在线观看| 热久久视久久精品18亚洲精品| 综合av色偷偷网| 国产精品美女免费视频| 岛国av午夜精品| 欧美最猛性xxxxx亚洲精品| 国产在线观看精品一区二区三区| 欧美激情视频网站| 中文字幕欧美视频在线| 国产一区二区三区在线观看网站| 成人久久一区二区三区| 俺也去精品视频在线观看| 久久精品国产亚洲7777| 伊人久久男人天堂| 不卡在线观看电视剧完整版| 91大神福利视频在线| 久久久久久久久中文字幕| 国产精品1234| 国产精品国内视频| 国产日韩欧美电影在线观看| 欧美成人精品不卡视频在线观看| 亚洲精品videossex少妇| 国产成人综合av| 视频在线观看一区二区| 欧美精品九九久久| 夜夜嗨av一区二区三区免费区| 久久久午夜视频| 日韩va亚洲va欧洲va国产| 欧美日本在线视频中文字字幕| 美女精品久久久| 日韩激情在线视频| 国产精品久久久久久久app| 国产成人涩涩涩视频在线观看| 日韩中文字幕在线播放| 中文字幕亚洲情99在线| 欧美黑人狂野猛交老妇| 午夜精品久久17c| 91精品视频网站| 91网在线免费观看| 亚洲精品久久久久久久久久久| 久久777国产线看观看精品| 91久久精品一区| 久久成人一区二区| 欧美日韩成人在线播放| 国产99视频精品免视看7| 亚洲色图色老头| 国产精品欧美激情在线播放| 欧美国产日韩一区二区在线观看| 精品久久久久久电影| 国产美女被下药99| 日韩在线免费视频观看| 国产精品 欧美在线| 国产在线拍揄自揄视频不卡99| 国产精品亚洲美女av网站| 国产精品久久精品| 成人自拍性视频| 欧美性高跟鞋xxxxhd| 97碰在线观看| 欧美放荡办公室videos4k| 亚洲欧美自拍一区| 欧美黑人xxxⅹ高潮交| 国产91久久婷婷一区二区| 成人国产精品免费视频| 在线亚洲午夜片av大片| 成人国产在线视频| 在线观看欧美视频| 欧美一级视频免费在线观看| 国产97在线视频| 国内精品视频一区| 欧美精品一二区| 91chinesevideo永久地址| 欧美日韩亚洲天堂| 亚洲欧美激情另类校园| 欧美日韩免费在线观看| 国产一区二区三区在线看| 97国产精品人人爽人人做| 国产91对白在线播放| 久久精品成人动漫| 亚洲成人在线网| 欧美成人三级视频网站| 久久久久久久久久久久av| 亚洲在线免费视频| 91天堂在线观看| 国产欧美一区二区三区视频| 日韩av在线影视| 91av视频在线播放| 97香蕉久久超级碰碰高清版| 国产91精品青草社区| 自拍偷拍亚洲精品| 欧美性猛交xxxx免费看漫画| 国产成人精品视频在线| 国产啪精品视频| 超碰97人人做人人爱少妇| 日韩av免费在线播放| 奇米成人av国产一区二区三区| 日韩中文字幕国产| 精品国产一区二区在线| 中文字幕久精品免费视频| 亚洲一区二区三区成人在线视频精品| 97在线视频免费| 最新国产成人av网站网址麻豆| 亚洲天堂av综合网| 色综合久久88| 欧美高清视频一区二区| 亚洲精品www久久久久久广东| 2019中文字幕免费视频| 日韩中文字幕国产| 97精品国产91久久久久久| 精品欧美一区二区三区| 亚洲sss综合天堂久久| 午夜精品久久久久久久久久久久| 亚洲精品在线不卡| 日日骚久久av| 88xx成人精品| 红桃av永久久久| 97高清免费视频| 中文字幕日韩专区| 国产伦精品一区二区三区精品视频| 欧美日韩激情网| 日本中文字幕不卡免费| 国产亚洲视频在线| 亚洲国产高清福利视频| 亚洲精品国偷自产在线99热| 欧美国产亚洲精品久久久8v| 日韩精品在线观看一区二区| 亚洲人成电影网站色xx| 九九久久久久久久久激情| 欧美与欧洲交xxxx免费观看| 中文字幕日韩精品在线观看| 国产精品成人免费视频| 国产一区二区成人| 国产福利精品视频| 两个人的视频www国产精品| 国产精品久久久久久网站| 欧美丰满老妇厨房牲生活| 一个色综合导航| 精品日韩视频在线观看| 亚洲第一av在线| 国产精品久久视频| 91国产高清在线| 亚洲欧美日韩一区二区三区在线| 91日本视频在线| 久久99精品久久久久久青青91| 国产精品第1页| 国产主播喷水一区二区| 久久久亚洲天堂| 亚洲激情成人网| 一区二区欧美亚洲| 久久综合五月天| 亚洲视频999| 成人黄色生活片| 亚洲精品720p| 久久久久久亚洲精品| 国产精品美女www爽爽爽视频| 日韩精品福利网站| 欧美日韩性生活视频| 国产精品无码专区在线观看| 国产美女搞久久| 中文字幕日韩综合av| 欧亚精品中文字幕| 成人精品aaaa网站| 亚洲精品一区二区在线| 色无极影院亚洲| 日韩中文字幕第一页|