我让第三方在我的远程服务器上安装了 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。我正在寻找一种解决方法,但它与迄今为止尝试过的任何方法几乎无关。