1. 程式人生 > >自建NAS如何使用大於2TB的硬盤(從分區開始)

自建NAS如何使用大於2TB的硬盤(從分區開始)

you remove 對齊 ces lsb volume cancel uuid 新的

目錄

  • 自建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

自建NAS如何使用大於2TB的硬盤(從分區開始)