如何让 GPT 扩展到磁盘的全部 3TB?

如何让 GPT 扩展到磁盘的全部 3TB?

我让第三方在我的远程服务器上安装了 Linux,但出现了问题。它里面有一个 3TB 的磁盘:

# hdparm -I /dev/sda | grep size
Logical  Sector size:                   512 bytes
Physical Sector size:                  4096 bytes
device size with M = 1024*1024:     2861588 MBytes
device size with M = 1000*1000:     3000592 MBytes (3000 GB)
cache/buffer size  = unknown

但是,gpt 似乎只能识别 2TB:

# fdisk -l /dev/sda

Disk /dev/sda: 2 TiB, 2199023254528 bytes, 4294967294 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: FA1FA25D-68B0-4288-9B4B-7D870C76C3AB

Device         Start        End    Sectors  Size Type
/dev/sda1       2048     999423     997376  487M EFI System
/dev/sda2     999424  196311039  195311616 93.1G Linux RAID
/dev/sda3  196311040 4294967260 4098656221  1.9T Linux filesy

与 parted 相同:

# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA WDC WD30EFRX-68E (scsi)
Disk /dev/sda: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  512MB   511MB   fat32              boot, esp
 2      512MB   101GB   100GB                      raid
 3      101GB   2199GB  2099GB

我怎样才能让 gpt 扩展到完整的 3TB?机器上还没有数据,而且它不是唯一的磁盘(也就是说,系统会在丢失磁盘上的所有数据后继续运行),但我希望能够远程修复此问题。

编辑:请求的附加命令:

# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0     2T  0 disk
├─sda1    8:1    0   487M  0 part  /boot/efi
└─sda2    8:2    0  93.1G  0 part
  └─md0   9:0    0  93.1G  0 raid1 /


# blockdev --getsz /dev/sda
4294967294

# hdparm -N /dev/sda

/dev/sda:
 max sectors   = 5860533168/5860533168, HPA is disabled

编辑:我已删除该设备

echo 1 > /sys/block/sda/device/delete

并重新扫描

echo "0 0 0" >  /sys/class/scsi_host/host0/scan

但实际上内核认为它是 2TB

[1163699.012539] scsi 0:0:0:0: Direct-Access     ATA      WDC WD30EFRX-68E 0A80 PQ: 0 ANSI: 5
[1163699.016198] sd 0:0:0:0: Attached scsi generic sg0 type 0
[1163699.016582] sd 0:0:0:0: [sde] 4294967294 512-byte logical blocks: (2.19 TB/1.99 TiB)
[1163699.021485] sd 0:0:0:0: [sde] Write Protect is off
[1163699.021490] sd 0:0:0:0: [sde] Mode Sense: 73 00 00 08
[1163699.022765] sd 0:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA

我想知道 Debian Jessie 中的内核是否太旧而无法看到 3TB。

编辑:不,在内核版本 4.7.8 下我仍然只得到 2TiB。

答案1

不幸的是,这是机器的问题,而不是软件堆栈的问题。它使用 LSISAS1068E 控制器,这显然将驱动器限制为 2.2TB。我正在寻找一种解决方法,但它与迄今为止尝试过的任何方法几乎无关。

相关内容