A. Linux(Ubuntu12.04)下4k對齊的問題
你的硬碟sda3是擴展分區。它實際上是一個邏輯上的分區,不提供給你使用的真實的扇區的。你平常操作也不會訪問到這個分區。只會訪問sda5,sda6。而sda5和sda6起始地址是8的倍數。
B. Linux下怎樣用fdisk命令分區
body{
line-height:200%;
}
Linux下怎樣用fdisk命令分區
1、添加新硬碟
因為在現有的硬碟當中,所有的空間以及被分配完了;這個時候就需要拿一塊新的硬碟,然後在新硬碟進行分區。
虛擬機的好處是:只要你的真實機硬體空間足夠,那你想添加多少塊硬碟都可以;但是虛擬機必須先關閉,否則是不能添加新硬碟的
2、查看新硬碟
[root@localhost~]#
fdisk
-l
查詢新添加的硬碟是否被識別。
3、使用fdisk命令分區
[root@localhost~]#
fdisk
/dev/sbd
fdisk交互指令說明
a:設置可引導標記
b:編輯bsd磁碟標簽
c:設置DOS操作系統兼容標記
d:刪除一個分區
l:顯示已知的文件系統類型,82為Linux
swqp分區,83為Linux分區
m:顯示幫助帶單
n:新建分區
o:建立空白DOS分區表
p:顯示分區列表
q:不保存退出
t:改變一個分區的系統ID
w:保存退出
4、重新讀取分區表信息
[root@localhost~]#
partprobe
5、格式化分區
[root@localhost~]#
mkfs
-t
ext4
/dev/sdb1
6、建立掛載點並掛載
[root@localhost~]#
mkdir
/disk1
[root@localhost~]#
mount
/dev/sdb1/disk1/
C. 如何使用parted對齊分區以得到最優性能
在Linux系統上的大型存儲陣列上創建分區(譯者註:實際上是對從陣列上劃分給系統的LUN分區,系統將每個LUN識別為一個磁碟),會遇到兩大常見問題。第一個問題很容易,使用fdisk命令得到的錯誤信息已經提示了解決問題的辦法:
WARNING: The size of this disk is 8.0 TB (7970004230144 bytes).
DOS partition table format can not be used on drives for volumes
larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID
partition table format (GPT).
譯者註:磁碟大小是8TB。DOS分區表格式不能在超過2TB(512個位元組的扇區)的卷上使用。請使用parted命令和GUID分區表格式(GPT)
答案是:使用parted命令。如果你的系統上沒有parted,請安裝它吧!
第二個問題是來自parted的警告:
(parted) mklabel gpt
(parted) mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel?
譯者註:生成的分區沒有正確地對齊以實現最佳性能。忽略/取消?
不論你使用怎樣的數字組合,這條錯誤信息都不斷地出現。你嘗試選擇了忽略,但錯誤根本沒被忽略。
網上有一些討論這個問題的帖子,惠普官方幫助論壇上的一個帖子真正戳中了問題的核心。(譯者註:文中提到的惠普論壇帖子現已無法訪問)
下面是正確對齊分區的快速分步指南。它是那個惠普帖子的提煉總結,希望大家能快速上手。這個方法對大多數陣列行之有效(實際上它適用於我所見過的所有陣列);在惠普的帖子中還提到了更多可行的配置選項,我在這里只列出最常用的配置。
1.獲得你陣列的alignment參數(記得要將sdb替換為系統內核看到的設備名稱)
# cat /sys/block/sdb/queue/optimal_io_size
1048576
# cat /sys/block/sdb/queue/minimum_io_size
262144
# cat /sys/block/sdb/alignment_offset
0
# cat /sys/block/sdb/queue/physical_block_size
512
2.把optimal_io_size的值與alignment_offset的值相加,之後除以physical_block_size的值。在我的例子中是:(1048576 + 0) / 512 = 2048。
3.這個數值是分區起始的扇區。新的parted命令應該寫成類似下面這樣
mkpart primary 2048s 100%
2048s中的字母s是很有意義的:它告訴parted,你的輸入是2048扇區,而不是2048位元組,也不是2048兆位元組。
4.如果一切順利,分區將會被成功創建並沒有任何警告信息。然後你就可以檢查分區是否對齊了(如有必要,請將下面命令中的1替換為合適的分區號)。
(parted) align-check optimal 1
1 aligned