系统磁盘开始故障,因此,我跑出去购买一个新的硬盘10分钟前关闭:/这是一个32位的系统磁盘。早在很久以前,我就检查过希捷梭鱼2TB,但是业务员说服我买了一台3 3TB的WD Red硬盘,因为在过去的几个月里,很多客户都返回了带有错误的希捷磁盘。各种颜色的希捷。从2TB到3TB由于成本和我的暗示投入到那个联盟-并迫使自己进入GPT。NAS磁盘应该可以作为OS磁盘运行,例如,对于这个运行在24/7、具有大量编码等活动的盒(例如在低I/O中),没有游戏,有些媒体处理为转换凸轮cordings,呈现(虽然这主要是由集群完成)。
我的主要问题是关于使用各种工具的磁盘大小。
(F)磁盘:
#fdisk -l
#disk -l
Disk /dev/sdc: 801.6 GB, 801569726464 bytes
255 heads, 63 sectors/track, 97451 cylinders, total 1565565872 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
Disk identifier: 0x00000000伊萨克:
#lsblk
sdc 8:32 0 746.5G 0 disklshw:
#lshw -class disk
*-disk
description: SCSI Disk
physical id: 0.0.0
bus info: scsi@2:0.0.0
logical name: /dev/sdc
size: 746GiB (801GB)
configuration: sectorsize=512做了smartctl -t <conveyance|short>,这两种方法都可以。
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 0 -
# 2 Conveyance offline Completed without error 00% 0 -S.M.A.R.T也会产生正确的尺寸(很明显):
# smartctl --info /dev/sdc
smartctl 5.43 2012-06-30 r3573 [i686-linux-3.5.0-51-generic] (local build)
=== START OF INFORMATION SECTION ===
Device Model: WDC WD30EFRX-68EUZN0
Serial Number: WD-XXXXXXXXXXXX
LU WWN Device Id: X XXXXXX XXXXXXXXX
Firmware Version: 82.00A82
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ACS-2 (revision not indicated)
Local Time is: Sat Jan 10 18:40:58 2015 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled相关不大,但1小时使用各种测试等的结果如下:
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 100 253 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 100 253 021 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 1
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 100 253 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 1
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 1
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 0
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 6
194 Temperature_Celsius 0x0022 131 125 000 Old_age Always - 19
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 253 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline - 0如果上面没有问题,那么在磁盘上安装OS之前,还需要做些其他的事情吗?
发布于 2015-01-10 20:15:32
如果您使用的是基于Debian的系统(比如Linux ),那么fdisk (util-linux 2.20.1)就不了解GPT。
您应该尝试parted -l并对驱动器进行分区/格式化吗?使用gparted (如果您正在使用GUI)可能会更容易。
我不太确定lsblk,它说它是从sysfs上读来的。可能驱动器上只有一个小分区,或者是一个奇怪的MBR/GPT。
但是Cristian Ciupitu的评论和来自希捷的链接听起来很有希望,但它似乎是关于Windows驱动程序.
搜索“分离错误: /dev/sdc:未识别的磁盘标签”将显示以下链接,该链接似乎可以执行您想做的事情:如何使用Parted GPT在Linux上为>2TB大小创建分区。我大胆地(接受)了?问题中的错误消息,看起来应该在创建GPT之后消失。(我敢打赌,使用gparted会更类似/更容易。)
使用parted的mklabel命令将磁盘标签设置为GPT,如下所示。
# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) printError: /dev/sdb: unrecognised disk label(parted) mklabel gpt
(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags然后继续创建一个分区,但上面的命令看起来最相关。
使用Partition创建>2TB分区使用Parted的mkpart命令,如下所示,以创建大于2TB的分区。在本例中,我们正在创建一个大小大约为6TB的分区。
# parted /dev/sdb
(parted) mkpart primary 0GB 5909GB
(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 5909GB 5909GB primary如果尝试创建GPT失败,应该有一些好的错误消息可搜索。或者,如果它仍然只报告大小为800 ok,我会开始怀疑磁盘可能出了问题,但是由于SMART认为它是可以的,所以linux驱动程序/内核.
而且你没有使用某种外部USB外壳,对吗?它直接连接到电脑上,就像内部高清一样?
发布于 2015-01-10 23:45:29
您似乎已经构建了自己的内核,而且只有32位。为了使它能够访问>2 TB磁盘,您必须启用配置_LBDAF (对大型(2TB+)块设备和文件的支持),尽管我可以发誓,如果没有它,大小就会被限制到2TB,而不是环绕到32位模数。
发布于 2015-01-11 07:48:24
张贴一个“答案”,这是一个更多的观察,因为问题会变得有点混乱和长期与这些信息在那里。
做了更多的测试。一个简单的C代码使用ioctl()和lseek().
ioctl BLKGETSIZE64 : 801569726464 (Same value as the tools)
ioctl BLKGETSIZE : 1565565872 (Same as sectors reported by fdisk)
lseek Size : 801569726464快速查看lsblk、fdisk和lshw的源代码--它们都使用ioctl()或sysfs来获取大小数据。(以“他们使用”为例,因为我只浏览了一些在线源。)
lsblk使用扇区(/sys/block/sdc/size),左移9。(又名×512,或×2^9)
Sectors: 1565565872 (From printout in Q)
1565565872 << 9 = 801569726464仔细观察报告的大小,把我的大脑换成二进制,而不是十进制,也很快意识到:
3000592982016 = 00101011101010100001010001110110000000000000 (44-bits (48))
801569726464 = 1011101010100001010001110110000000000000 (40-bits)此外:
Size by SMART - Size by tools (in effect kernel)
3000592982016 - 801569726464 = 2199023255552 == 2^32 * 512 or 2^32 << 9fdisk还报告物理扇区大小为512,与SMART的4096相反,这可能表明存在某种控制器问题。
https://unix.stackexchange.com/questions/178495
复制相似问题