1. 程式人生 > >linux格式化大硬盤

linux格式化大硬盤

parted格式化大硬盤

大數據盤的分區和文件系統格式化和小盤都存在差異。大盤必須采用 GPT 分區格式, 不能再采用小盤使用的 MBR 分區格式。
MBR 分區格式:最大支持 2 TB 的磁盤。
GPT 分區格式:最大支持 18 EB。

對於 Linux 系統上的大磁盤,也要采用 GPT 分區格式, 也可以不分區, 把磁盤當成一個整體設備使用。
在 Linux 上一般采用 XFS 或者 EXT4 來做大盤的文件系統。
磁盤的分區管理
在 Linux 上可以采用 parted 來對磁盤進行分區。
1,通過 fdisk -l 可以查看磁盤是否存在, 由於使用的是大磁盤,fdisk 不能用來作為分區工具了,而應該使用 parted。
# fdisk -l

WARNING: GPT (GUID Partition Table) detected on ‘/dev/sdb‘! The util fdisk doesn‘t support GPT. Use GNU Parted.


Disk /dev/sdb: 17679.7 GB, 17679696003072 bytes
256 heads, 63 sectors/track, 2141037 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      266306  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.
2,使用 parted 對 /dev/sdb 進行分區。首先創建分區表, 選擇 GPT 格式的分區表。 parted /dev/vdb
# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help‘ to view a list of commands.
(parted) mklabel
New disk label type? Gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No?
Yes/No? yes
(parted) p
Model: DELL PERC H730 Mini (scsi)
Disk /dev/sdb: 17.7TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

3,創建分區。
(parted) mkpart
Partition name?  []?
File system type?  [ext2]? ext4
Start? 0G
End? 17679G
(parted) p
Model: DELL PERC H730 Mini (scsi)
Disk /dev/sdb: 17.7TB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name  Flags
1      1049kB  17.7TB  17.7TB

(parted) quit
Information: You may need to update /etc/fstab.
EXT4 文件系統格式化
假定 Linux 實例上的大數據盤設備為 /dev/sdb, 可以用如下方式來格式化。以下參數為常用參數, 用戶可以根據自己的需要來調整。
對於 16TB 以上的大盤, 對 ext4 格式化所用的工具包 e2fsprogs 的版本有要求。如果 e2fsprogs 版本太低, 比如:e2fsprogs 1.41.11,會出現如下錯誤信息:
mkfs.ext4: Size of device /dev/md0 too big to be expressed in 32 bits using a blocksize of 4096.

升級:
wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
tar xvzf e2fsprogs-1.42.8.tar.gz
cd e2fsprogs-1.42.8
./configure
make
make install

/sbin/mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sdb1


linux格式化大硬盤