- 問題描述
最近因爲工作需要,需把申請的Linux服務器大容量磁盤分區並掛載,在實施的過程中遇到了這樣一個問題:使用parted命令分區完畢後,使用fdisk –l 命令查看磁盤分區情況,發現有一條警告信息(Partition 1 does not start on physical sector boundary.)大致意思是:分區1不是從物理扇區的邊界開始的。如圖所示:
查了好多資料都說問題可以忽略,不影響使用。但是,總感覺這可能是顆雷,萬一出問題了,追悔莫及,而且,這些服務器都是用來存儲重要數據的。不甘心繼續尋找解決問題的辦法。
2. 定位問題
通過網上的一片博客發現了類似的問題,可能存在因果關係,就試着嘗試了一下。
首先執行命令:
cat /sys/block/sdb/queue/optimal_io_size 結果是:262144
然後執行:cat /sys/block/sdb/alignment_offset 結果是:0
通過公式計算:(262144+0)/512=512
最後得出512,然後重新使用parted分區。
3. 重新分區
首先將原有分區全部刪掉。
執行命令:
parted /dev/sdb
rm 1
rm n
如圖所示:
開始分區
執行命令:mkpart primary ext4 512s 10240G #創建第一個分區 512s 中的512是上面公式計算的結果,s代表的是扇區而不是字節。(其他分區大小可根據自己的業務需求自行劃分)
4. 查看結果並掛載
退出parted後,執行命令:fdisk –l
已經發現警告信息已經不存在了,這下踏實了,可以睡個好覺了。開始掛載…
首先格式化分區,執行命令:mkfs.ext4 /dev/sdb1
然後執行:mount /dev/sdb1 /data (data是提前建好的目錄)
使用:df –h 查看已經掛載成功,如圖所示:
設置開機自動掛載
執行命令:blkid 查看自己所要啓動掛載分區的UUID,copy一下。
然後執行:vi /etc/fstab 把需要掛載的分區輸入保存退出。
執行:reboot 查看結果就可以了。
到此爲止已經把問題解決了,網上說使用parted對齊分區可以得到最優的io性能,希望我的努力沒有白費,也希望能夠幫到正在努力的你。