Каков максимальный размер SCSI LUN?

1467
nudzo

Каков максимальный размер одного (i) SCSI LUN с точки зрения протокола SCSI, каков предел?

2

2 ответа на вопрос

2
a CVn

The answer would appear to be heavily dependent on the generation of the SCSI protocol, as it has gone through a handful of revisions through its days of glory.

First, 512 bytes = 2^9 bytes.

The earliest SCSI protocols used 21-bit LBA. Using 512-byte blocks, this gives 2^21 * 2^9 bytes or 1 GiB addressable space. (2^21 * 2^9 = 2^30.) (source)

Newer SCSI variants allow for 32-bit LBA addresses, which gives you 2^41 bytes (2 TiB) addressable. (source) But also see below.

Current in ATA is LBA48, or 48-bit LBA, although I cannot find any definitive statement on whether any current variant of SCSI uses 48-bit LBA. (It makes sense, though, and some Googling provides some fairly strong indications that such is the case. If anyone has a definitive source either way, please comment.) This gives you 2^57 bytes (128 PiB) addressable over the protocol itself, assuming 512 byte blocks. If we are allowed to raise this to 4096 (2^12) byte blocks, that becomes 2^60 bytes = 1 EiB.

According to a comment left by JdeBP, in SCSI, 64-bit LBA support has been mandatory since the turn of the century. With 512 byte sectors and 64-bit addresses, that gives us 2^73 bytes addressable, or 8 ZiB. A ZiB is 1024^3 TiB.

So the realistic answer with current generation hardware is probably either 8 ZiB or 128 PiB maximum LUN size addressable over (i)SCSI, with the former being more likely.

While a total storage capacity of 128 PiB is possible to approach in really large setups, 8 ZiB seems to me to be well out of pretty much anyone's reach for now. Using these newfangled 8 TB drives, that would require approximately 1000^3 = 10^9 drives, for a power requirement for just keeping them spinning of approaching 10 MW.

48 бит для игрушек. 16 16-байтовые CDB SCSI используют ** 64-битные ** адреса логических блоков. Это имело место с 1990-х годов, и реализация команд `read (16)` и `write (16)` была обязательной для целей DASD с начала века. [Как я писал десять лет назад] (http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/os2-disc-and-volume-size-limits.html) это устанавливает максимальный размер, поддерживаемый протоколом SCSI. в ЗиБ. JdeBP 9 лет назад 0
@JdeBP Я обновил ответ. Теперь тебе не хочется говорить об игрушках? (Обратите внимание, что это Super User, а не Server Fault ...) a CVn 9 лет назад 0
Спасибо за ответ. @JdeBP Я разместил этот вопрос здесь, потому что ничего значащего я не выбрал из Google (по крайней мере, на 1-й странице результатов) и даже не здесь. nudzo 9 лет назад 0
Намного легче найти, если кто-то знает ответ заранее и ищет "8.0ZiB". ☺ «8ZB» получает одну Microsoft по этому вопросу. Однако правильный подход к этому - не случайное совпадение фраз в Google Web. Я узнал об этом, купив книги по SCSI - фактически несколько (я для начала прочитал и Шмидта, и Саверта по этому вопросу) - затем прочитал фактические документы по стандартам SCSI (включая документы SBC), в которых были изложены новые форматы и команда CDB. наборы, которые датируют книги, а затем пишут драйвер устройства класса SCSI DASD. JdeBP 9 лет назад 0
-2
0x0000001E

This is depended on vendor, EMC2 has a limit of 1.999TB in their VNXe3300. It will be a mixture of vendor presenting the LUN, the application layer using the LUN and any OS layer mounting the LUN.

ОП специально спросил о самом протоколе SCSI. a CVn 9 лет назад 0
Да, так что нет предела. Вы можете использовать любой размер LUN, который может представить устройство. Нет никаких ограничений на протокол вообще. Единственным ограничивающим фактором является поставщик. 0x0000001E 9 лет назад 0
«Нет предела вообще» вводит в заблуждение, даже если предел очень велик. Где-то всегда есть предел. Он может быть настолько большим, что * это не имеет значения на практике *, но это не означает, что нет предела, это лишь означает, что предел не имеет значения на практике. a CVn 9 лет назад 0