自建NAS如何使用大于2TB的硬盘(从分区开始)

自建NAS如何使用大于2TB的硬盘(从分区开始)


需求说明:
自建NAS,自备了两块3T的硬盘,如何操作才能正常的使用?
思路说明:

  • 按照自己的需求对两块3T硬盘分区;
  • 对分区进行格式化;
  • 挂载到某一目录(需设置开机自动挂载)
  • 上传文件测试;

硬盘分区

最常见的分区如下所示:

#系统
kyeup@kyeup-nas:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.4 (stretch)
Release:	9.4
Codename:	stretch
kyeup@kyeup-nas:~$ sudo fdisk -l
[sudo] kyeup 的密码:
Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 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
Disklabel type: gpt
Disk identifier: E57E46D1-111A-4C41-BAFD-62AA237015D1

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1050623   1048576  512M EFI System
/dev/sda2    1050624 148615167 147564544 70.4G Linux filesystem
/dev/sda3  148615168 156301311   7686144  3.7G Linux swap


Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
kyeup@kyeup-nas:~$ sudo fdisk /dev/sdb

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
The size of this disk is 2.7 TiB (3000592982016 bytes). DOS partition table format can not be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).

Created a new DOS disklabel with disk identifier 0x4d35f874.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-4294967295, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-4294967294, default 4294967294):   

Created a new partition 1 of type 'Linux' and of size 2 TiB.

Command (m for help): p
Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x4d35f874

Device     Boot Start        End    Sectors Size Id Type
/dev/sdb1        2048 4294967294 4294965247   2T 83 Linux

Command (m for help): q

根据上面的提示:

The size of this disk is 2.7 TiB (3000592982016 bytes). DOS partition table format can not be used on drives for volumes larger than 2199023255040 bytes for 512-byte sectors. Use GUID partition table format (GPT).
Device     Boot Start        End    Sectors Size Id Type
/dev/sdb1        2048 4294967294 4294965247   2T 83 Linux

MBR 分区表类型最大支持2T,对于大于2T的硬盘需要使用GPT分区。另外,fdisk只对mbr分区有效,故而使用parted分区

MBR(Master Boot Record)

  主引导记录,是传统的分区机制,应用于绝大多数使用BIOS的PC设备

  MBR支持32位和64位系统。

  MBR支持分区数量有限。

  MBR只支持不超过2T的硬盘,超过2T的硬盘将只能用2T空间(有第三方解决方法)。
GPT(GUID Partition Table)

  全局唯一标识分区表,是一个较新的分区机制,解决了MBR很多缺点。

  支持超过2T的磁盘(64位寻址空间)。fdisk最大只能建立2TB大小的分区,创建一个大于2TB的分区使用parted。

  向后兼容MBR。

  必须在支持uEFI的硬件上才能使用(Intel提出,用于取代BIOS)。

  必须使用64位系统。

  Mac、Linux系统都能支持GPT分区格式。

  Windows 7/8 64bit、Windows Server 2008 64bit支持GPT。

  以上就是Linux系统MBR和GPT分区的区别,总得来说GPT比MBR更先进,但是MBR的兼容性比GPT要好。

kyeup@kyeup-nas:/sys/block$ sudo parted /dev/sdb
GNU Parted 3.2
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: ATA WD30EZRZ-64D85Y0 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart                                                           
Partition name?  []? fun1
File system type?  [ext2]? ext4
Start? 0%
End? 1T
(parted) p                                                                
Model: ATA WD30EZRZ-64D85Y0 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  ext4         fun1

(parted) mkpart                                                           
Partition name?  []? fun2                                                 
File system type?  [ext2]? ext4
Start? 1T                                                                 
End? 100%                                                                 
(parted) p                                                                
Model: ATA WD30EZRZ-64D85Y0 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  ext4         fun1
 2      1000GB  3001GB  2001GB  ext4         fun2

(parted) quit
Information: You may need to update /etc/fstab.

kyeup@kyeup-nas:~$ sudo parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Model: ATA WD30EFRX-68EUZN0 (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  Flags

(parted) mkpart                                                           
Partition name?  []? work1                                                
File system type?  [ext2]? ext4
Start? 0%                                                                 
End? 1T                                                                   
(parted) mkpart                                                           
Partition name?  []? work2
File system type?  [ext2]? ext4                                           
Start? 1T                                                                 
End? 100%                                                                 
(parted) p                                                                
Model: ATA WD30EFRX-68EUZN0 (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      1049kB  1000GB  1000GB  ext4         work1
 2      1000GB  3001GB  2001GB  ext4         work2

(parted) quit                                                             
Information: You may need to update /etc/fstab.

kyeup@kyeup-nas:~$ sudo fdisk -l
Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 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
Disklabel type: gpt
Disk identifier: E57E46D1-111A-4C41-BAFD-62AA237015D1

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1050623   1048576  512M EFI System
/dev/sda2    1050624 148615167 147564544 70.4G Linux filesystem
/dev/sda3  148615168 156301311   7686144  3.7G Linux swap


Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 16CD8258-758E-4FE4-B198-DF40ABE49BE3

Device          Start        End    Sectors   Size Type
/dev/sdc1        2048 1953124351 1953122304 931.3G Linux filesystem
/dev/sdc2  1953124352 5860532223 3907407872   1.8T Linux filesystem


Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: BD41449F-41EB-43DB-B797-185363963AE1

Device          Start        End    Sectors   Size Type
/dev/sdb1        2048 1953124351 1953122304 931.3G Linux filesystem
/dev/sdb2  1953124352 5860532223 3907407872   1.8T Linux filesystem

Start? 0%
End? 1T
(parted) mkpart
Partition name? []? work2
File system type? [ext2]? ext4
Start? 1T
End? 100%
注意此处是0% 100%

对分区进行格式化

kyeup@kyeup-nas:~$ sudo fdisk -l
Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 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
Disklabel type: gpt
Disk identifier: E57E46D1-111A-4C41-BAFD-62AA237015D1

Device         Start       End   Sectors  Size Type
/dev/sda1       2048   1050623   1048576  512M EFI System
/dev/sda2    1050624 148615167 147564544 70.4G Linux filesystem
/dev/sda3  148615168 156301311   7686144  3.7G Linux swap


Disk /dev/sdc: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 16CD8258-758E-4FE4-B198-DF40ABE49BE3

Device          Start        End    Sectors   Size Type
/dev/sdc1        2048 1953124351 1953122304 931.3G Linux filesystem
/dev/sdc2  1953124352 5860532223 3907407872   1.8T Linux filesystem


Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: BD41449F-41EB-43DB-B797-185363963AE1

Device          Start        End    Sectors   Size Type
/dev/sdb1        2048 1953124351 1953122304 931.3G Linux filesystem
/dev/sdb2  1953124352 5860532223 3907407872   1.8T Linux filesystem
kyeup@kyeup-nas:~$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.43.4 (31-Jan-2017)
创建含有 244140288 个块(每块 4k)和 61038592 个inode的文件系统
文件系统UUID:a5fc03f1-255b-4561-b3b2-9c17c324d935
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(262144 个块)完成
写入超级块和文件系统账户统计信息: 已完成   

kyeup@kyeup-nas:~$ sudo mkfs.ext4 /dev/sdb2
mke2fs 1.43.4 (31-Jan-2017)
创建含有 488425984 个块(每块 4k)和 122109952 个inode的文件系统
文件系统UUID:b4e66cc9-f7c0-489b-beda-8e5a481c61e0
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(262144 个块)完成
写入超级块和文件系统账户统计信息: 已完成     

kyeup@kyeup-nas:~$ sudo mkfs.ext4 /dev/sdc1
mke2fs 1.43.4 (31-Jan-2017)
创建含有 244140288 个块(每块 4k)和 61038592 个inode的文件系统
文件系统UUID:b568092d-ccba-47ca-ba38-af90db375983
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(262144 个块)完成
写入超级块和文件系统账户统计信息: 已完成   

kyeup@kyeup-nas:~$ sudo mkfs.ext4 /dev/sdc2
mke2fs 1.43.4 (31-Jan-2017)
创建含有 488425984 个块(每块 4k)和 122109952 个inode的文件系统
文件系统UUID:837dfafb-3cff-4c15-9bea-33cc18abc3bb
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(262144 个块)完成
写入超级块和文件系统账户统计信息: 已完成    

挂载到某一目录(需设置开机自动挂载)

kyeup@kyeup-nas:~$ sudo blkid
/dev/sda1: UUID="8982-B086" TYPE="vfat" PARTUUID="b5461768-be0f-4ff2-bccb-44ebc7f84a5d"
/dev/sda2: UUID="17dbffb4-ff98-4ba4-b0c0-270d0ac12f07" TYPE="ext4" PARTUUID="4be18a0f-4d18-47a5-8c94-580251b97803"
/dev/sda3: UUID="effcd1ac-b4ed-4c62-894c-66aca5fc61f2" TYPE="swap" PARTUUID="4a1dfc34-9c37-4345-8516-7e5d868eaef6"
/dev/sdc1: UUID="b568092d-ccba-47ca-ba38-af90db375983" TYPE="ext4" PARTLABEL="work1" PARTUUID="e57513c5-a3d4-4b5d-a4a7-0ab1980f153b"
/dev/sdc2: UUID="837dfafb-3cff-4c15-9bea-33cc18abc3bb" TYPE="ext4" PARTLABEL="work2" PARTUUID="0a993b35-34b6-49fc-80e3-aac086304ff0"
/dev/sdb1: UUID="a5fc03f1-255b-4561-b3b2-9c17c324d935" TYPE="ext4" PARTLABEL="fun1" PARTUUID="00edb0eb-153a-41bd-9aa8-99749c1dac4a"
/dev/sdb2: UUID="b4e66cc9-f7c0-489b-beda-8e5a481c61e0" TYPE="ext4" PARTLABEL="fun2" PARTUUID="dc10cdd3-4d52-47f7-be6d-85e04f7c1acd"
#新建挂载的目录 
kyeup@kyeup-nas:~$ sudo mkdir /fun1 /fun2 /work1 /work2
#编辑 /etc/fstab
kyeup@kyeup-nas:~$ sudo cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=17dbffb4-ff98-4ba4-b0c0-270d0ac12f07 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=8982-B086  /boot/efi       vfat    umask=0077      0       1
# swap was on /dev/sda3 during installation
UUID=effcd1ac-b4ed-4c62-894c-66aca5fc61f2 none            swap    sw              0       0

UUID=a5fc03f1-255b-4561-b3b2-9c17c324d935		/fun1	ext4	defaults	0      0

UUID=b4e66cc9-f7c0-489b-beda-8e5a481c61e0		/fun2	ext4	defaults	0      0

UUID=b568092d-ccba-47ca-ba38-af90db375983		/work1	ext4	defaults	0      0

UUID=837dfafb-3cff-4c15-9bea-33cc18abc3bb		/work2	ext4	defaults	0      0
kyeup@kyeup-nas:~$ sudo mount -a
kyeup@kyeup-nas:~$ df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            1.8G     0  1.8G    0% /dev
tmpfs           362M  5.5M  356M    2% /run
/dev/sda2        69G  3.5G   62G    6% /
tmpfs           1.8G     0  1.8G    0% /dev/shm
tmpfs           5.0M  4.0K  5.0M    1% /run/lock
tmpfs           1.8G     0  1.8G    0% /sys/fs/cgroup
/dev/sda1       511M  132K  511M    1% /boot/efi
tmpfs           362M     0  362M    0% /run/user/1000
/dev/sdb1       916G   77M  870G    1% /fun1
/dev/sdb2       1.8T   77M  1.7T    1% /fun2
/dev/sdc1       916G   77M  870G    1% /work1
/dev/sdc2       1.8T   77M  1.7T    1% /work2

上传文件测试;

kyeup@kyeup-nas:/fun2$ ls /fun[12] /work[12]
/fun1:
lost+found

/fun2:
lost+found

/work1:
lost+found

/work2:
lost+found
kyeup@kyeup-nas:/fun1$ sudo mkdir movie
kyeup@kyeup-nas:/fun1$ ls
lost+found  movie
kyeup@kyeup-nas:~$ sudo chown kyeup:kyeup /fun1/movie/
kyeup@kyeup-nas:/fun1/movie$ mkdir study

补充

在分区的时候一定格外注意:

kyeup@kyeup-nas:~$ sudo parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mktable                                                          
New disk label type? work1
parted: invalid token: work1
New disk label type? gpt                                                  
(parted) mkpart
Partition name?  []? work1                                                
File system type?  [ext2]? ext4                                           
Start? 0                                                                  
End? 1T                                                                   
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i                                                          
(parted) mkpart
Partition name?  []? work2                                                
File system type?  [ext2]? ext4                                           
Start? 1T                                                                 
End? 100%                                                                 
(parted) p                                                                
Model: ATA WD30EFRX-68EUZN0 (scsi)
Disk /dev/sdc: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name   Flags
 1      17.4kB  1000GB  1000GB  ext4         work1
 2      1000GB  3001GB  2001GB  ext4         work2

在start的时候,不能输入 0 或者 1,在网上大多采用这种方法,但是在后面的格式化中出现:

kyeup@kyeup-nas:~$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.43.4 (31-Jan-2017)
/dev/sdb1 未对齐,偏移了 3072 个字节。
这可能导致性能下降,建议重新进行分区。
创建含有 244140620 个块(每块 4k)和 61038592 个inode的文件系统
文件系统UUID:d16b9bfe-8485-4795-a4ef-aeb6bf2d914e
超级块的备份存储于下列块: 
  32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
  4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
  102400000, 214990848

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(262144 个块)完成
写入超级块和文件系统账户统计信息: 已完成   

所以出现了“4K对齐”的问题,网上有解决办法,但是试过不行之有效,所以最好的办法是使用百分比(%)的方式划分。

希望大家遇到此类问题能很快的解决!o(∩_∩)o

原文地址:https://www.cnblogs.com/kyeup/p/9286712.html