LINUX.ORG.RU

Купил 2 новых 4 терабайтника... Одинаковых, но не сразу и в разных конторах. Показывают в SMART разный размер.

 ,


1

5

Первая покупка:

Model Family:     Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
Device Model:     TOSHIBA MG03ACA400
Serial Number:    Z4FEK62FF
LU WWN Device Id: 5 000039 5fbd822f6
Firmware Version: FL1A
User Capacity:    4 000 785 948 160 bytes [4,00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches

Вторая покупка:
Model Family:     Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
Device Model:     TOSHIBA MG03ACA400
Serial Number:    Z494K77TF
LU WWN Device Id: 5 000039 5fb88138a
Firmware Version: FL1A
User Capacity:    4 000 787 030 016 bytes [4,00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches


Почему первый: 4 000 785 948 160 bytes
а второй: 4 000 787 030 016 bytes?
Разница 918144 байта.

Этот вопрос заинтересовал в плане создания zfs рейда на всё устройство, путём создания обычного тома, а затем подключениия зеркального устройства. Ведь оно может потом заявить. «Слишком маленькое устройство».
Думаю всё же придётся создать разделы по 4000000000000 байт, а хвосты сделать отдельными разделами для всякого мусора. Или докинуть туда ещё 750Мб?

P.S. Долго обсуждали, пока Dimez не написал:

Ты написал очень много букв вместо простой проверки HPA.

И тут всё встало на места, я «посыпал голову пеплом», за 33+ года работы с компами я знал аббревиатуру HPA, но НИ РАЗУ не использовал и не знал сути.

#hdparm -N /dev/sda
/dev/sda:
max sectors = 7814035055/7814037168, HPA is enabled

#hdparm -N p7814037168 /dev/sda

# hdparm -N /dev/sda

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

ВСЁ! ВОПРОС ИСЧЕРПАН!
Но появились новые вопросы.
С этим диском сразу случился цирк.
Получил с WB новый винт, в пакетике, не вскрытый.
Вскрыл, этикетка наклеена с пузырями.
Запустил smartctl и он показал размер 3Тб
Я начал делать заявку на возврат, для приложения логов подключил этот винт через SATA<->USB адаптер, запустил smartctl и увидел 4Т.
Возврат отложился.
Разметил, сделал zfs рейд с десктопной 3Т Тошибой, но тоже косяк.
Десктопные винты имеют физический размер сектора 4К, а серверные 512 байт. Пришлось долго уговаривать zfs рейд, иначе он отказывался с совершенно левой диагностикой:
cannot attach /dev/sdc2 to /dev/sda3: can only attach to mirrors and top-level disks

Уговорил, указав ashift=12, но в итоге zpool status пишет:
	NAME        STATE     READ WRITE CKSUM
	zer0-safe   ONLINE       0     0     0
	  mirror-0  ONLINE       0     0     0
	    sda3    ONLINE       0     0     0
	    sdc2    ONLINE       0     0     0  block size: 512B configured, 4096B native

Вернемся к нашим баранам.
Наконец получил второй такой же 4T, из другой конторы, посмотрел SMART и родился этот топик.
Теперь этот топик дал решение: просто отключить HPA у первого винта. Экстрасенсы задержались, а надо было просто мне предложить показать: hdparm -N /dev/sda

Остался простор для исследования почему этот первый винт, достатый из запечатанного пакета от Тошибы, показал сначала размер 3Т, потом неожиданно стал 4Т, но немного меньше чем другой такой же пришедший позже. Куда я его включил и кто менял ему HPA? Но сначала включил в тот же компьютер что и второй, увидел 3Т и началась «истерика» попыток воткнуть его в разные места, загрузки разных систем и запуска разных диагностических средств. В процессе он неожиданно стал 4Т.
Последовательности операций не записывал, а с памятью у меня плохо.
Покупать ещё один такой винт? :)))

★★★

Последнее исправление: n0mad (всего исправлений: 6)

Почему первый: 4 000 785 948 160 bytes
а второй: 4 000 787 030 016 bytes?
Разница 918144 байта.

Наличие/отсутствие хост протектед ареа (HPA) на винте «меньшего» объема проверял? И, сознаваяся, подключал этот меньший винт в «нулевом» состоянии к компу 2005-2010 годов, с сокетами AM3 или 775 - т.е. с бивисом размером 1МБ?

Гипотиза высказанная в обсуждении, что различие в размерах обусловлена технологическими особенностями обработки сбойных секторов, КМК безосновательна. Насколько я знаю, в н.в. адресное пространство содержит часть не только от нуля до максимума (резинового из-за HPA), но и часть с отрицательными секторами, в колторой распологаются модули фирмвари винта, таблицы трансляций (заводская и по итогу эксплуатации), таблицы СМАРТ-а, и прочие «адаптивы» железа конкретного экземпляра винта. И да, резервные сектора на подмену засбоившим. Раньше это бахатство хранилось во флешке, а еще раньше, как тут заметели, на листочке на корпусе, или еще раньше-раньше в бумажном паспорте диска. Резервная область у каждого экземпляра разная, но мы ее и не видим без терминала, а вот видимое адресное пространство у одной модели должно быть одинаковое. Поэтому главный кандидат на звание источника различия размеров - это HPA.

ЗЫЖ разница 1081856 байт (1048576+33280)

anonymous
()
Ответ на: комментарий от n0mad

Блин ну сделай на всех дисках. Выбери наименьший получившийся и повтори. Да эта сука как-то там выравнивает по кратности еще чему-то подобному. Поэтому попробуй сделать партишены не по размеру а по секторам первый-последний. Чтобы «помогайку» эту гребанную которая делает тебе «хорошо» забыв спросить надо ли тебе это вывести из игры.

Qui-Gon ★★★★★
()
Ответ на: комментарий от m0xf

плиз пруфлинк на даташит!

https://support.rm.com/_rmvirtual/media/downloads/1yy312_1yy647_1yy648_manual...

Спасибо!
Интересно, а: «Copyright © 2012 Toshiba corporation. All rights reserved» означает что их выпускают уже более 12 лет?

n0mad ★★★
() автор топика
Ответ на: комментарий от Qui-Gon

Блин ну сделай на всех дисках. Выбери наименьший получившийся и повтори. Да эта сука как-то там выравнивает по кратности еще чему-то подобному. Поэтому попробуй сделать партишены не по размеру а по секторам первый-последний. Чтобы «помогайку» эту гребанную которая делает тебе «хорошо» забыв спросить надо ли тебе это вывести из игры.

Я уже осилил. Создал раздел 7812499999 секторов и получил:

# fdisk -l /dev/sdb
Disk /dev/sdb: 3,64 TiB, 4000787030016 bytes, 7814037168 sectors
Disk model: TOSHIBA MG03ACA4
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: 65E25771-6EDD-DB4A-9A2A-DAEB5B5EE45C

Device          Start        End    Sectors  Size Type
/dev/sdb1        2048       4095       2048    1M BIOS boot
/dev/sdb2        4096 7812504095 7812500000  3,6T Solaris /usr & Apple ZFS
/dev/sdb3  7812505600 7814035455    1529856  747M Solaris /usr & Apple ZFS

n0mad ★★★
() автор топика
Ответ на: комментарий от Qui-Gon

как-то там выравнивает по кратности еще чему-то подобному

По цилиндрам она выравнивает, ЕМНИП. Тем которые первая буква в C/H/S. И даже, во времена 486 и первого пенька, когда произошел переход от физической адресации секторов к логической (так называемой LBA) вроде бы еще оставался какойто смысл в том выравнивании - экономия хвостов цилиндров и какоето быстродействие в перемещении головок. Почти забытое знание.

anonymous
()
Ответ на: комментарий от anonymous

но и часть с отрицательными секторами, в колторой распологаются модули фирмвари винта, таблицы трансляций (заводская и по итогу эксплуатации), таблицы СМАРТ-а, и прочие «адаптивы» железа конкретного экземпляра винта.

нет там «отрицательных секторов». есть физическая адресация в технологическом режиме, в котором собссно и можно достучаться к служебке или сырым данным до трансляции pCHS->LBA, а есть LBA/псевдоCHS для пользовательских данных (псевдоCHS - для совместимости с некрухой типа 40-80МБ винтов, не умеющих в LBA, и некробиосов не умеющих в LBA, а только в CHS адресацию).

Раньше это бахатство хранилось во флешке

никогда таблицы дефектов, транслятор и т.п. не хранились на флэшке. хотя бы потому, что во времена древних и тупых дисков флэша не было, была в лучшем случае EPROM, которая стиралась целиком а не страницами.

NiTr0 ★★★★★
()
Ответ на: комментарий от anonymous

Думаю да.
А 33280 байт сверх мего-о-го-го байта, думаю это прошивальщик. Но это не точно.

А фиг его знает, но оба винта для первичной инициализации включал в один и тот же компьютер.
Да, древний. MB Gigabyte GA-8I915G-MF
Хотя забыл! С первым винтом (который меньше) вообще цирк был.
Приезжает винт, всё как положено, в запечатанном заводском пакете,
зову smartctl чтобы посмотреть Power_On_Hours и [censored]

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
Device Model:     TOSHIBA MG03ACA400
Serial Number:    Z4FEK62FF
LU WWN Device Id: 5 000039 5fbd822f6
Firmware Version: FL1A
User Capacity:    3 000 615 492 608 bytes [3,00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 1.5 Gb/s)
Local Time is:    Tue Mar 12 14:08:23 2024 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)  Offline data collection activity
          was never started.
          Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)  The previous self-test routine completed
          without error or no self-test has ever 
          been run.
Total time to complete Offline 
data collection:     (  120) seconds.
Offline data collection
capabilities:        (0x5b) SMART execute Offline immediate.
          Auto Offline data collection on/off support.
          Suspend Offline collection upon new
          command.
          Offline surface scan supported.
          Self-test supported.
          No Conveyance Self-test supported.
          Selective Self-test supported.
SMART capabilities:            (0x0003)  Saves SMART data before entering
          power-saving mode.
          Supports SMART auto save timer.
Error logging capability:        (0x01)  Error logging supported.
          General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    ( 635) minutes.
SCT capabilities:          (0x003d)  SCT Status supported.
          SCT Error Recovery Control supported.
          SCT Feature Control supported.
          SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   050    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0005   100   100   050    Pre-fail  Offline      -       0
  3 Spin_Up_Time            0x0027   100   100   001    Pre-fail  Always       -       11764
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       2
  5 Reallocated_Sector_Ct   0x0033   100   100   050    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   050    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   100   100   050    Pre-fail  Offline      -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       0
 10 Spin_Retry_Count        0x0033   100   100   030    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       2
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       1
193 Load_Cycle_Count        0x0032   100   100   000    Old_age   Always       -       2
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       28 (Min/Max 24/28)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   253   000    Old_age   Always       -       0
220 Disk_Shift              0x0002   100   100   000    Old_age   Always       -       0
222 Loaded_Hours            0x0032   100   100   000    Old_age   Always       -       0
223 Load_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
224 Load_Friction           0x0022   100   100   000    Old_age   Always       -       0
226 Load-in_Time            0x0026   100   100   000    Old_age   Always       -       107
240 Head_Flying_Hours       0x0001   100   100   001    Pre-fail  Offline      -       0

Этот винт показывал размер 3Т. Я начал оформлять возврат на WB, собирать логи. Не помню уже в какой конфигурации перетыкивал, но нехватающий лог собрал через HDD-USB переходник (на том все интерфейсы есть). Подключил, запустил smartctl, понял что уже ни какого возврата не будет. Этот винт вообще странный, там даже заводская наклейка приклеена с пузырями.
Так что осталось лишь охамить продавца за этот «странный диск».

n0mad ★★★
() автор топика
Ответ на: комментарий от n0mad

А фиг его знает, но оба винта для первичной инициализации включал в один и тот же компьютер. Да, древний. MB Gigabyte GA-8I915G-MF

Ты написал очень много букв вместо простой проверки HPA.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Ты написал очень много букв вместо простой проверки HPA.

Где были все экстрасенсы?
Которые спросили бы: «дай вывод #hdparm -N /dev/sda»
И всё тут же вскрылось бы:
/dev/sda:
max sectors = 7814035055/7814037168, HPA is enabled

Могу только посыпать голову пеплом...
33 года профессионально работаю с компами, а сколько то ещё работал пока учился, и при этом НИ РАЗУ не коснулся HPA. Знал аббревиатуру, перевод, но не знал сути.

Спасибо за акцент, тутжезагуглил и узнал.

Появилось много вопросов...

Винт пришел новый, в заводском пакетике, я его вскрыл и обнаружил первую лажу: В smart винт показывает размер 3Tb

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" MG03ACAxxx(Y) Enterprise HDD
Device Model:     TOSHIBA MG03ACA400
Serial Number:    Z4FEK62FF
LU WWN Device Id: 5 000039 5fbd822f6
Firmware Version: FL1A
User Capacity:    3 000 615 492 608 bytes [3,00 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 1.5 Gb/s)
Local Time is:    Tue Mar 12 14:08:23 2024 MSK
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Я в шоке, винт брал через Wildberries, составляю заявку на возврат, прикладываю требуемые логи, и для извлечения SMART - подключил диск через HDD<->USB адаптер. Вижу 4T, фигею, понимаю что возврат отпал, разбиваю, заливаю.
Почему было 3T? Опять этот HPA? Откуда он на новом винте? Куда ушел? Или почему уменьшился?

Ну да ладно, разобрались. Всё равно уже синкаю всё на новый винт а с этого потом сниму HPA и включу в зеркало ко второму.
Надо ещё не забыть тот кусок HPA - сохранить в файл, посмотреть что внутри.
P.S. Писал письмо долго, сейчас вернулся, тот кусок в HPA был тупо забит нулями. Но теперь fdisk ругается: «The backup GPT table is not on the end of the device». Теоретически надо просто сказать: «w» в fdisk,но пусть орёт, как буду переразбивать так и замолкнет.
P.P.S. Какое счастье что ЛОР позволяет на много часов зависнуть в написании сообщения и ничего не скидывает.

n0mad ★★★
() автор топика

ВСЁ! благодаря финальному пинку Dimez вопрос прояснился, но через поисковик. Дописал резюме как P.S. В стартовом сообщении.Отмечаю тему как решенную. Всем спасибо за обсуждение!

n0mad ★★★
() автор топика

HPA is enabled

А был и такой случай, правда в далеком 2008:

Проблема:
Недавно я приобрёл два SATA HDD размером в 1000Мб (1Тб): Samsung HD103UJ и Western Digital WD10EACS.
Я подключил их оба к материнке и к моему удивлению в BIOS один из них (Samsung) определился как 32Мб.

Причина:
Причина в том, что материнская плата (BIOS) резервировала некоторое место под свои нужды (HPA).
https://www.opennet.ru/tips/1673_bios_disk_hdparm_linux.shtml

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от krasnh

Причина в том, что материнская плата (BIOS) резервировала некоторое место под свои нужды (HPA).
https://www.opennet.ru/tips/1673_bios_disk_hdparm_linux.shtml

Пока не проверил, но подозреваю что HPA вылазит если подключил винт как единственный primary master и поставил на него систему с флешки. Второй винт я сразу поставил вторым как винт для данных, загрузился с SSD и разметил.

n0mad ★★★
() автор топика
Ответ на: комментарий от n0mad

Напомню что производитель тебе гарантирует что на его дисках как минимум 4 000 000 000 000 и ничего свыше он тебе не обещает. А вот ниже скорее всего уже на стенде у него в брак улетит который потом продадут в непонятном подвальчике.

peregrine ★★★★★
()
Ответ на: комментарий от anonymous

А фиг знает какой он рейд варит. Тут на ЛОР-е такая экзотика встречается, что следует предполагать от любого чиха может рухнуть всё. Вон федорой или арчем же пользуются многие тут.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Напомню что производитель тебе гарантирует что на его дисках как минимум 4 000 000 000 000 и ничего свыше он тебе не обещает. А вот ниже скорее всего уже на стенде у него в брак улетит который потом продадут в непонятном подвальчике.

Я не пойму, ты с начала читаешь или с конца? И там и там я отписался же.
Скорее всего, первый винт я поставил как первый и единственный, и мама решила отожрать HPA для своих нужд. Второй я поставил вторым и он оказался нетронутым. Но опять же: «скорее всего», этот момент надо исследовать. Своими предположениями о «браке» и «подвальчиках», тешь себя сам. Это же не более чем предположение.

n0mad ★★★
() автор топика
Ответ на: комментарий от anonymous

А что мешает потом ужать разделы с данными до наименьшего? А вообще с 2020 у всех mergerfs + snapraid без всей этой возни с разделами. К тому же скоро в ядро добавят fuse passthrough и mergerfs будет вполне быстрым

Жуть, типа идём ровно на двух костылях?

n0mad ★★★
() автор топика
Ответ на: комментарий от anonymous

Думаешь, биос бэкап сбросился в HPA?

Думаю да.
А 33280 байт сверх мего-о-го-го байта, думаю это прошивальщик. Но это не точно.

ИНДЕЙСКАЯ НАРОДНАЯ ИЗБА ФИГВАМ!


# hdparm -N /dev/sda

/dev/sda:
 max sectors   = 7814035055/7814037168, HPA is enabled

--- Отключаю
# hdparm -N p7814037168 /dev/sda
/dev/sda:
 setting max visible sectors to 7814037168
 max sectors   = 7814037168/7814037168, HPA is disabled /dev/sda

--- Пытаюсь скопировать HPA
# dd if=/dev/sda of=HPA.dat bs=512 skip=7814035055
0+0 records in
0+0 records out
0 bytes copied, 0,000242196 s, 0,0 kB/s
root@zer0:~# dd if=/dev/sda of=HPA.dat bs=512 skip=7814035055 count=2113
0+0 records in
0+0 records out
0 bytes copied, 0,000875184 s, 0,0 kB/s
--- ФИГВАМ

--- RКувалдой отресканил диски:
for host in /sys/class/scsi_host/host*; do echo "- - -" | sudo tee $host/scan; done


--- Повторил копирование:
#dd if=/dev/sda of=HPA.dat bs=512 skip=7814035055 count=2113
2113+0 records in
2113+0 records out
1081856 bytes (1,1 MB, 1,0 MiB) copied, 0,249506 s, 4,3 MB/s

--- Заглянул в HPA.dat - нули...

n0mad ★★★
() автор топика
Ответ на: комментарий от n0mad

Скорее всего, первый винт я поставил как первый и единственный, и мама решила отожрать HPA для своих нужд.

Это всё проверяется решила или не решила. Никакой магии там нет, отжимает не мама а загрузчик, и его запись как и место под него на диске видны и если ты смотришь размер диска правильно (а должен если про рейды говоришь), то ты смотришь не размер раздела, а размер самого диска. Ну и загрузчик по идее тоже копируется если рейд аппаратный.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Это всё проверяется решила или не решила. Никакой магии там нет, отжимает не мама а загрузчик, и его запись как и место под него на диске видны и если ты смотришь размер диска правильно (а должен если про рейды говоришь), то ты смотришь не размер раздела, а размер самого диска. Ну и загрузчик по идее тоже копируется если рейд аппаратный.

При чём тут загрузчик, рейд и HPA?
Или ты про вендорный загрузчик от производителя компа?
Я первый раз с таким сталкиваюсь и не знал куда смотреть. Сейчас уже не помню последовательность подключений - включившую HPA на новом винте из целёхонького пакетика от Тошибы. Взял Samsung 1T. Оставил одну партицию 1Mb фигурирующую как BIOS boot (Не помню кто её завёл, но оставил на всякий пожарный. Затем поставил единственным на Gigabyte GA-8I915G-MF, загрузился с SYSTEM RESCUE USB и никаких HPA не появилось.
На этом моя фантазия иссякла, я сделал раздел 1000000000000 байт и zfs пул на нём.
Всё что было свыше (192Mb) Сделал gpt разделом с меткой: S1T1Bonus и пусть висит...
Может как нибудь на досуге сделаю boot разделом для того чтобы загрузиться с корня живущего в каком нибудь датасете на zfs.

n0mad ★★★
() автор топика
Ответ на: комментарий от peregrine

отжимает не мама

Отжимает мама, в тех гигабайтах в биосах была по-умолчанию включена странная опция «backup bios to hdd». Делала ровно то, что у ТСа - включала HPA и клала в HPA образ биоса.

Dimez ★★★★★
()
Ответ на: комментарий от Dimez

Вот нафига так делать то? BIOS/UEFI не должны полагаться на винт. Если им бекап надо т.к. железо ненадёжное, пусть себе микруху встраивают, которая только у них внутри и наружу не лезет. Кстати, что за мамка такая чтоб знать что это говно не покупать никогда?

peregrine ★★★★★
()
Ответ на: комментарий от Dimez

Отжимает мама, в тех гигабайтах в биосах была по-умолчанию включена странная опция «backup bios to hdd». Делала ровно то, что у ТСа - включала HPA и клала в HPA образ биоса.

Не знаю я кто отжал. У меня эта мама много лет, и первый раз это наблюдаю.
Погуглил картинки, эта опция должна жить в разделе: «Advanced BIOS Features» - у меня там такой опции нет. Тем более я сдампил HPA - она была забита НУЛЯМИ!

n0mad ★★★
() автор топика