偷拍区清纯另类丝袜美腿,亚洲va久久久噜噜噜久久4399,老司机免费的精品视频 ,国产深夜福利视频在线,青青草国产精品亚洲专区无码,日韩系列无码一中文字暮,久久人妻无码aⅴ毛片a片直播 ,痉挛高潮喷水av无码免费
立即咨詢
2024.09.27 |
硬盤分區顯示不一致:奇怪Bug引發的思考與試錯
今天我們要聊的是我遇到的一個奇怪的bug。

那天下午,陽光透過辦公室的窗戶灑在桌面上,我剛剛處理完一個棘手的bug,正享受著一杯茶的寧靜時光。然而,這份寧靜很快被一陣急促的電話鈴聲打破。

“我們在做虛擬機磁盤擴容,遇到一個奇怪的問題,你能幫忙看看嗎?”電話那頭的聲音透著焦急。

我調整了一下狀態,心中略顯興奮。回復道:“別擔心,我馬上來。”


一、故障描述


在使用不同的磁盤分區工具(如`fdisk`和`parted`)時,發現它們顯示的分區類型不一致。這種情況看似微小,但實際上可能引發一系列嚴重問題,影響數據安全和系統穩定性。


# fdisk  -l /dev/sda
Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x00000000
  Device Boot      Start         End      Blocks   Id  System/dev/sda1               1   104857599    52428799+  ee  GPT# parted  -s /dev/sda unit s printModel: VMware Virtual disk (scsi)Disk /dev/sda: 125829120sSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:
Number  Start     End         Size        File system  Name                  Flags 1      2048s     411647s     409600s     fat16        EFI System Partition  boot 2      411648s   2508799s    2097152s    xfs 3      2508800s  104855551s  102346752s



二、初步排查


為了進一步了解問題,首先檢查了`fdisk`的版本。版本信息顯示,`fdisk`來自`util-linux 2.23.2`。


1.查看fdisk軟件版本

# which fdisk
/usr/sbin/fdisk
# rpm -qf /usr/sbin/fdisk
util-linux-2.23.2-59.el7.x86_64


2.查看版本


# fdisk -v
fdisk from util-linux 2.23.2


3.查看分區表


# fdisk -lu /dev/sda
Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000
 Device Boot Start End Blocks Id System
 /dev/sda1 1 104857599 52428799+ ee GPT
 # fdisk -lu /dev/sda
 Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk label type: dosDisk identifier: 0x00000000 
 Device Boot Start End Blocks Id System
 /dev/sda1 1 104857599 52428799+ ee GPT
 # parted -s /dev/sda unit s print
 Model: VMware Virtual disk (scsi)
 Disk /dev/sda: 125829120s
 Sector size (logical/physical): 512B/512B
 Partition Table: gpt
 Disk Flags:
 Number Start End Size File system Name Flags
  1 2048s 411647s 409600s fat16 EFI System Partition boot 
  2 411648s 2508799s 2097152s xfs 
  3 2508800s 104855551s 102346752s lvm


三、試錯與分析


在初步排查中,發現`fdisk`的版本較舊(`util-linux 2.23.2`)。通常情況下,較新的工具版本會修復舊版本中的一些已知問題。因此,首先想到的是通過升級`util-linux`來解決問題,期望新版本能夠正確處理分區顯示問題。


# rpm -Uvh util-linux-2.23.2-65.el7_9.1.x86_64.rpm --force --nodeps
warning: util-linux-2.23.2-65.el7_9.1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ################################# [100%]
Updating / installing...
 1:util-linux-2.23.2-65.el7_9.1 ################################# [ 50%]
 Cleaning up / removing...
  2:util-linux-2.23.2-59.el7 ################################# [100%]


但是很遺憾,升級后`fdisk`的顯示仍然異常。


# fdisk -l
Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dosDisk identifier: 0x00000000 
Device Boot Start End Blocks Id System
/dev/sda1 1 104857599 52428799+ ee GPT


此時,我開始懷疑分區表本身可能存在問題。


為了進一步驗證這一假設,決定備份MBR扇區,并清空MBR,期望通過重新構建分區表來解決問題。



1.查看扇區


圖片


2.備份mbr


dd if=/dev/sda of=sda_mbr.data bs=512 count=1


3.清空mbr


dd if=/dev/zero of=/dev/sda bs=512 count=1

# dd if=/dev/zero of=/dev/sda bs=512 count=1

1+0 records in

1+0 records out

512 bytes (512 B) copied, 0.000450755 s, 1.1 MB/s


圖片


然而,不幸的是,再次分區表丟失。


# fdisk -l /dev/sda
Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# parted /dev/sda print
Error: /dev/sda: unrecognised disk label
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:


這個也讓我意識到,問題的根源可能比想象中的要復雜。


文章到這里,大家不妨停一下,思考一下。如果是你,接下來你打算分幾步來分析,又需要哪些信息來幫助你找到問題的原因,并且如何解決呢… ...
(思考時間)



四、故障分析


如果你已經有了答案,不妨一起來看看我的分析。


在試錯過程中,發現`fdisk`和`parted`顯示的分區信息不一致。`fdisk`顯示的分區類型與預期不符,而`parted`則顯示正常。這引起了的注意,開始懷疑是否是分區表本身的問題。
進一步分析發現,磁盤在之前被擴展到60GB。GPT分區表包括主分區表和備份分區表,正常情況下,主分區表位于硬盤的LBA1~LBA33,而備份分區表位于硬盤的最后位置。如果磁盤大小被調整后,備份分區表沒有正確更新,就會導致`fdisk`顯示異常。



圖片

圖片


五、故障模擬


為了驗證這一假設,我模擬了在GPT環境下擴展分區的情況,果然復現了相同的故障。


模擬故障在gpt環境下拉大sda分區,可以復現故障。
##擴容sda之前##


圖片


##擴容sda之后##


圖片


六、故障原因


至此,故障原因也就很清晰了。在創建GUID分區表(GPT)時,系統會同時創建一個MBR(msdos)分區表,其中包含一個覆蓋整個磁盤或高達2TB的0xEE(GPT)分區,稱為MBR保護分區。這個分區用于提醒舊命令和實用程序磁盤確實已分區。


GPT分區表包括主分區表和備份分區表。正常情況下,主分區表位于硬盤的LBA1~LBA33,而備份分區表位于硬盤的最后位置。如果磁盤大小被調整后,備份分區表沒有正確更新,就會導致`fdisk`顯示異常。



圖片

正常gpt分區 通過hexdump查看,200是主分區開始,033ffe00 是secondary (backup) 分區。



</pre&gt


相關推薦
助力IT企業信創服務,和企業一起走向成功
立即領取企業福利 預約您的專屬顧問
400-688-6069
主站蜘蛛池模板: 67194成在线观看免费 日韩精品一区二区三区中文不卡 久久久久人妻一区精品 日韩加勒比无码人妻系列 亚洲无av码在线中文字幕 国产成人欧美日韩在线电影 久久无码高潮喷水抽搐 日韩欧美卡一卡二卡新区 久久综合97丁香色香蕉 嫩b人妻精品一区二区三区 天天天天做夜夜夜做 性欧美videofree高清极品 久久久久夜夜夜综合国产 亚洲国产婷婷六月丁香 久久精品日韩av无码 亚洲无人区码suv 成年女人毛片免费观看97 丰满熟妇乱又伦精品 9420免费高清在线观看视频 欧美国产精品日韩在线 人妻熟女一区二区aⅴ图片 国产免费啪嗒啪嗒视频看看 日本欧美大码aⅴ在线播放 中文字幕亚洲综合久久菠萝蜜 精品99日产一卡2卡三卡4 国产av无码精品色午夜 国产区精品福利在线社区 国产片精品av在线观看夜色 乱人伦中文无码视频在线观看 亚洲日产无码中文字幕 精品欧美小视频在线观看| 国产香线蕉手机视频在线观看| 狠狠色狠狠色综合伊人| 五月丁香激激情亚洲综合| 东京热人妻无码一区二区av| 国产亚洲精品a在线无码| 久久成人伊人欧洲精品| 国产v亚洲v天堂无码网站| 无遮高潮国产免费观看| 亚洲精品一区二区三区四区久久| 精品一区二区三区免费播放|