Western Digital ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π€Π‘ Zonefs для Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Western Digital ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ» Π² спискС рассылки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ядра Linux Π½ΠΎΠ²ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Zonefs, Π½Π°Ρ†Π΅Π»Π΅Π½Π½ΡƒΡŽ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ устройствами хранСния. Zonefs связываСт ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π·ΠΎΠ½Ρƒ Π² Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² raw-Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· манипуляции Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сСкторов ΠΈ Π±Π»ΠΎΠΊΠΎΠ².

Zonefs Π½Π΅ являСтся POSIX-совмСстимой Π€Π‘ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° достаточно ΡƒΠ·ΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ примСнСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ прилоТСниям ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ API вмСсто прямого обращСния ΠΊ Π±Π»ΠΎΡ‡Π½ΠΎΠΌΡƒ устройству ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ioctl. БвязанныС с Π·ΠΎΠ½Π°ΠΌΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ записи, начиная с ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° (запись Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ дополнСния).

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡ‹Π΅ Π² Zonefs Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для размСщСния ΠΏΠΎΠ²Π΅Ρ€Ρ… Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ Π‘Π”, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ структуры хранСния Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π»ΠΎΠ³Π° LSM (log-structured merge), ΠΎΡ‚Ρ‚Π°Π»ΠΊΠΈΠ²Π°ΡΡΡŒ ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» — ΠΎΠ΄Π½Π° Π·ΠΎΠ½Π° хранСния. НапримСр, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ структуры ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² Π‘Π” RocksDB ΠΈ LevelDB. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ рассчитанного Π½Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡŽ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π° Π½Π΅ Π±Π»ΠΎΡ‡Π½Ρ‹ΠΌΠΈ устройствами, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ накопитСлями ΠΈΠ· ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° языках программирования ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Π‘ΠΈ.

Под Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ накопитСлями ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ΡΡ устройства Π½Π° Тёстких ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Ρ… дисках ΠΈΠ»ΠΈ NVMe SSD, пространство для хранСния Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°Π·Π±ΠΈΡ‚ΠΎ Π½Π° Π·ΠΎΠ½Ρ‹, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ сСкторов, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ допускаСтся лишь ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ всСй Π³Ρ€ΡƒΠΏΠΏΡ‹ Π±Π»ΠΎΠΊΠΎΠ².

НапримСр, Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ записи примСняСтся Π² устройствах c Ρ‡Π΅Ρ€Π΅ΠΏΠΈΡ‡Π½ΠΎΠΉ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΉ записью (Shingled Magnetic Recording, SMR), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡˆΠΈΡ€ΠΈΠ½Π° Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ мСньшС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΠΈ запись производится с частичным ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ сосСднСй Π΄ΠΎΡ€ΠΎΠΆΠΊΠΈ, Ρ‚.Π΅. любая ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСобходимости пСрСзаписи всСй Π³Ρ€ΡƒΠΏΠΏΡ‹ Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ. Π§Ρ‚ΠΎ касаСтся SSD-Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ, Ρ‚ΠΎ Π² Π½ΠΈΡ… ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ имССтся привязка ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ опСрациям записи с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ очисткой Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ прослойки FTL (Flash Translation Layer). Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ΄Π°Ρ… Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ организация NVMe стандартизировала интСрфСйс ZNS (Zoned Namespaces), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π·ΠΎΠ½Π°ΠΌ Π² ΠΎΠ±Ρ…ΠΎΠ΄ прослойки FTL.

Western Digital ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π€Π‘ Zonefs для Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ

Π’ Linux для Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Тёстких дисков начиная с ядра 4.10 ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ Π±Π»ΠΎΡ‡Π½Ρ‹Π΅ устройства ZBC (SCSI) ΠΈ ZAC (ATA), Π° начиная с выпуска 4.13 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ dm-zoned, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство, скрывая примСняСмыС Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ограничСния записи. На ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° зонирования ΡƒΠΆΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² Π€Π‘ F2FS, Π° Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ находится Π½Π°Π±ΠΎΡ€ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ для Π€Π‘ Btrfs, Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ для Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ CoW (copy-on-write).
Π Π°Π±ΠΎΡ‚Ρƒ Ext4 ΠΈ XFS ΠΏΠΎΠ²Π΅Ρ€Ρ… Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ dm-zoned. Для упрощСния ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ интСрфСйс ZBD, Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ случайной записи Π² Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ записи.

Western Digital ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π€Π‘ Zonefs для Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ