Много свободной RAM, NVMe Intel P4500 ΠΈ всС Π»ΡŽΡ‚ΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ β€” история ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу ΠΎ ситуации, которая Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· сСрвСров нашСго ΠΎΠ±Π»Π°ΠΊΠ° VPS, поставив мСня Π² Ρ‚ΡƒΠΏΠΈΠΊ Π½Π° нСсколько часов. Π― ΠΎΠΊΠΎΠ»ΠΎ 15 Π»Π΅Ρ‚ занимаюсь ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Ρ‚Ρ€Π°Π±Π»ΡˆΡƒΡ‚ΠΈΠ½Π³ΠΎΠΌ сСрвСров Linux, Π½ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ случай ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ укладываСтся Π² мою ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒ β€” я сдСлал нСсколько Π»ΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ слСгка отчаялся Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ смог ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Π΅.

ΠŸΡ€Π΅Π°ΠΌΠ±ΡƒΠ»Π°

ΠœΡ‹ эксплуатируСм ΠΎΠ±Π»Π°ΠΊΠΎ срСдних Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ строим Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… сСрвСрах ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³Π° β€” 32 ядра, 256 GB RAM ΠΈ NVMe Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ PCI-E Intel P4500 Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 4TB. Нам ΠΎΡ‡Π΅Π½ΡŒ нравится эта конфигурация, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° позволяСт Π½Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ нСдостаткС IO, обСспСчив ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ‚ΠΈΠΏΠΎΠ² инстансов (экзСмпляров) VM. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ NVMe Intel P4500 ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΠ΅ прСдоставлСниС IOPS машинам, Ρ‚Π°ΠΊ ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° сСрвСр Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ IOWAIT.

ΠœΡ‹ относимся ΠΊ Ρ‚Π΅ΠΌ самым старовСрам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π³ΠΈΠΏΠ΅Ρ€ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ‚Π½Ρ‹Π΅ SDN ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΡΡ‚ΠΈΠ»ΡŒΠ½Ρ‹Π΅, ΠΌΠΎΠ΄Π½Ρ‹Π΅, ΠΌΠΎΠ»ΠΎΠ΄Π΅ΠΆΠ½Ρ‹Π΅ ΡˆΡ‚ΡƒΠΊΠΈ для хранСния Ρ‚ΠΎΠΌΠΎΠ² VM, считая, Ρ‡Ρ‚ΠΎ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ систСма, Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ Π΅Π΅ Ρ‚Ρ€Π°Π±Π»ΡˆΡƒΡ‚ΠΈΡ‚ΡŒ Π² условиях "Π³Π»Π°Π²Π½Ρ‹ΠΉ Π³ΡƒΡ€Ρƒ ΡƒΠ΅Ρ…Π°Π» Π² Π³ΠΎΡ€Ρ‹". Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΡ‹ Ρ…Ρ€Π°Π½ΠΈΠΌ Ρ‚ΠΎΠΌΠ° VM Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ QCOW2 Π² XFS ΠΈΠ»ΠΈ EXT4, которая Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Π° ΠΏΠΎΠ²Π΅Ρ€Ρ… LVM2.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ QCOW2 нас Π²Ρ‹Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для оркСстрации β€” Apache CloudStack.

Для выполнСния Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΌΡ‹ снимаСм ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Ρ‚ΠΎΠΌΠ°, ΠΊΠ°ΠΊ снимок LVM2 (Π΄Π°, ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ снимки LVM2 Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π½Ρ‹Π΅, Π½ΠΎ Intel P4500 нас Π²Ρ‹Ρ€ΡƒΡ‡Π°Π΅Ρ‚ ΠΈ здСсь). ΠœΡ‹ Π΄Π΅Π»Π°Π΅ΠΌ lvmcreate -s .. ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ dd отправляСм Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ ZFS. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ всС ΠΆΠ΅ слСгка прогрСссивныС β€” всС ΠΆΠ΅ ZFS ΡƒΠΌΠ΅Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² сТатом Π²ΠΈΠ΄Π΅, Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ… быстро Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DD ΠΈΠ»ΠΈ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΎΠΌΠ° VM с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ mount -o loop ....

МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Ρ‚ΠΎΠΌΠ° LVM2, Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ RO ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сами ΠΎΠ±Ρ€Π°Π·Ρ‹ QCOW2, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΌΡ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ XFS ΠΎΡ‚ этого ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΎΡΡŒ ΠΏΠ»ΠΎΡ…ΠΎ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π΅ сразу, Π° Π½Π΅ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎ. ΠœΡ‹ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ любим, ΠΊΠΎΠ³Π΄Π° хосты-Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρ‹ "Π·Π°Π»ΠΈΠΏΠ°ΡŽΡ‚" Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π² Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅, Π½ΠΎΡ‡ΡŒΡŽ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π·Π΄Π½ΠΈΠΊΠΈ ΠΈΠ·-Π·Π° ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпонятно ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄ΡƒΡ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для XFS ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ снимков Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ RO для извлСчСния Ρ‚ΠΎΠΌΠΎΠ², Π° просто ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ вСсь Ρ‚ΠΎΠΌ LVM2.

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования Π½Π° сСрвСр Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ опрСдСляСтся Π² нашСм случаС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ сСрвСра бэкапа, которая составляСт ΠΎΠΊΠΎΠ»ΠΎ 600-800 MB/s для нСсТимаСмых Π΄Π°Π½Π½Ρ‹Ρ…, дальнСйший ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒ β€” ΠΊΠ°Π½Π°Π» 10Gbit/s, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ сСрвСр Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΊ кластСру.

ΠŸΡ€ΠΈ этом Π½Π° ΠΎΠ΄ΠΈΠ½ сСрвСр Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π»ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ 8 сСрвСров Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, дисковая ΠΈ сСтСвая подсистСмы сСрвСра Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ, являясь Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌΠΈ, Π½Π΅ Π΄Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ дисковыС подсистСмы хостов-Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ просто Π½Π΅ Π² состоянии ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, скаТСм, 8 GB/сСк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΏΡ€ΠΈΠ½ΡƒΠΆΠ΄Π΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π΄Π°Ρ‚ΡŒ хосты-Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρ‹.

Π’Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ процСсс копирования ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½ для дальнСйшСго повСствования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΈ Π΄Π΅Ρ‚Π°Π»ΠΈ β€” использованиС быстрого накопитСля Intel P4500, использованиС NFS ΠΈ, вСроятно, использованиС ZFS.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ

На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡƒΠ·Π»Π΅-Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π΅ Ρƒ нас Π΅ΡΡ‚ΡŒ нСбольшой Ρ€Π°Π·Π΄Π΅Π» SWAP Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 8 GB, Π° сам ΡƒΠ·Π΅Π»-Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ΠΌΡ‹ "раскатываСм" с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DD ΠΈΠ· эталонного ΠΎΠ±Ρ€Π°Π·Π°. Для систСмного Ρ‚ΠΎΠΌΠ° Π½Π° сСрвСрах ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ 2xSATA SSD RAID1 ΠΈΠ»ΠΈ 2xSAS HDD RAID1 Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ LSI ΠΈΠ»ΠΈ HP. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Π½Π°ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π±Π΅Π· Ρ€Π°Π·Π½ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ систСмный Ρ‚ΠΎΠΌ Ρƒ нас Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "ΠΏΠΎΡ‡Ρ‚ΠΈ readonly", ΠΊΡ€ΠΎΠΌΠ΅ SWAP-Π°. А ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ нас ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ RAM Π½Π° сСрвСрС ΠΈ ΠΎΠ½Π° Π½Π° 30-40% свободна, Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎ SWAP Π½Π΅ Π΄ΡƒΠΌΠ°Π΅ΠΌ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ. Выглядит эта Π·Π°Π΄Π°Ρ‡Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

#!/bin/bash

mkdir -p /mnt/backups/volumes

DIR=/mnt/images-snap
VOL=images/volume
DATE=$(date "+%d")
HOSTNAME=$(hostname)

lvcreate -s -n $VOL-snap -l100%FREE $VOL
ionice -c3 dd iflag=direct if=/dev/$VOL-snap bs=1M of=/mnt/backups/volumes/$HOSTNAME-$DATE.raw
lvremove -f $VOL-snap

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ionice -c3, ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ эта ΡˆΡ‚ΡƒΠΊΠ° для NVMe устройств ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бСсполСзна, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ IO для Π½ΠΈΡ… установлСн ΠΊΠ°ΠΊ:

cat /sys/block/nvme0n1/queue/scheduler
[none] 

Однако, Ρƒ нас Π΅ΡΡ‚ΡŒ ряд legacy-ΡƒΠ·Π»ΠΎΠ² с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ SSD RAID-Π°ΠΌΠΈ, для Π½ΠΈΡ… это Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π²ΠΎΡ‚ ΠΈ ΠΏΠ΅Ρ€Π΅Π΅Π·ΠΆΠ°Π΅Ρ‚ AS IS. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, это просто интСрСсный кусочСк ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Ρ‚Ρ‰Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ ionice Π² случаС Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ„Π»Π°Π³ iflag=direct для DD. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ direct IO ΠΌΠΈΠΌΠΎ Π±ΡƒΡ„Π΅Ρ€Π½ΠΎΠ³ΠΎ кэша, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ Π±ΡƒΡ„Π΅Ρ€ΠΎΠ² IO ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ. Однако, oflag=direct ΠΌΡ‹ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ встрСчали ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ZFS ΠΏΡ€ΠΈ Π΅Π³ΠΎ использовании.

Π­Ρ‚Π° схСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΌΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π»Π΅Ρ‚ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

И Ρ‚ΡƒΡ‚ Π½Π°Ρ‡Π°Π»ΠΎΡΡŒβ€¦ ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡƒΠ·Π»ΠΎΠ² пСрСстало Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡŒ с Ρ‡ΡƒΠ΄ΠΎΠ²ΠΈΡ‰Π½Ρ‹ΠΌ IOWAIT ΠΏΠΎΠ΄ 50%. ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ происходит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Ρ„Π΅Π½ΠΎΠΌΠ΅Π½ΠΎΠΌ:

Volume group "images" not found

Начали Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎ "ΠΊΠΎΠ½Π΅Ρ† ΠΏΡ€ΠΈΡˆΠ΅Π» Intel P4500", ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сСрвСр для Π·Π°ΠΌΠ΅Π½Ρ‹ накопитСля, Π±Ρ‹Π»ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ всС ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠΎΡ‡ΠΈΠ½ΠΈΠ»ΠΈ LVM2 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ восстановлСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· бэкапа LVM2:

vgcfgrestore images

Запустили Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ маслом:
Много свободной RAM, NVMe Intel P4500 ΠΈ всС Π»ΡŽΡ‚ΠΎ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ — история ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ

ΠžΠΏΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ сильно загрустили β€” Π±Ρ‹Π»ΠΎ понятно, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠΈΡ‚ΡŒ нСльзя, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС VPS-ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‚Ρ€Π°Π΄Π°Ρ‚ΡŒ ΠΈ ΠΌΡ‹. Π§Ρ‚ΠΎ происходило, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСпонятно β€” iostat ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π» ΠΆΠ°Π»ΠΊΠΈΠ΅ IOPS-Ρ‹ ΠΈ Π²Ρ‹ΡΠΎΡ‡Π°ΠΉΡˆΠΈΠΉ IOWAIT. ИдСй, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ "Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ NVMe" Π½Π΅ Π±Ρ‹Π»ΠΎ, Π½ΠΎ воврСмя ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΎΠ·Π°Ρ€Π΅Π½ΠΈΠ΅.

Π Π°Π·Π±ΠΎΡ€ ситуации ΠΏΠΎ шагам

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΆΡƒΡ€Π½Π°Π». НСсколько Π΄Π½Π΅ΠΉ Ρ€Π°Π½Π΅Π΅ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ сСрвСрС ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ VPS-ΠΊΡƒ со 128 GB RAM. ΠŸΠ°ΠΌΡΡ‚ΠΈ Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ, Π½ΠΎ для подстраховки Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ Π΅Ρ‰Π΅ 32 GB для Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ. VPS Π±Ρ‹Π»Π° создана, ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΠ»Π° свою Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ ΠΈΠ½Ρ†ΠΈΠ΄Π΅Π½Ρ‚ Π·Π°Π±Ρ‹Ρ‚, Π° SWAP-Ρ€Π°Π·Π΄Π΅Π» остался.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Для всСх сСрвСров ΠΎΠ±Π»Π°ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ vm.swappiness Π±Ρ‹Π» установлСн Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 60. А SWAP Π±Ρ‹Π» создан Π½Π° SAS HDD RAID1.

Π§Ρ‚ΠΎ происходило (ΠΏΠΎ мнСнию Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ). ΠŸΡ€ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ DD Π²Ρ‹Π΄Π°Π²Π°Π» ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… для записи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π»ΠΈΡΡŒ Π² Π±ΡƒΡ„Π΅Ρ€Ρ‹ RAM ΠΏΠ΅Ρ€Π΅Π΄ записью Π² NFS. Π―Π΄Ρ€ΠΎ систСмы, Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ swappiness, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ страниц памяти VPS Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ, которая Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌ Ρ‚ΠΎΠΌΠ΅ HDD RAID1. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ IOWAIT ΠΎΡ‡Π΅Π½ΡŒ сильно рос, Π½ΠΎ Π½Π΅ Π·Π° счСт IO NVMe, Π° Π·Π° счСт IO HDD RAID1.

Как ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π°. Π‘Ρ‹Π» ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π°Π·Π΄Π΅Π» ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ 32GB. Π­Ρ‚ΠΎ заняло 16 часов, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ‚Π°ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ SWAP ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π‘Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ swappiness Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎΠ΅ 5 Π²ΠΎ всСм ΠΎΠ±Π»Π°ΠΊΠ΅.

Как Π±Ρ‹ этого ΠΌΠΎΠ³Π»ΠΎ Π½Π΅ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ссли Π±Ρ‹ SWAP Π±Ρ‹Π» Π½Π° SSD RAID ΠΈΠ»ΠΈ NVMe устройствС, Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ссли Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ NVMe-устройства, Π° Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹ Π½Π΅ Π²Ρ‹Π΄Π°Π²Π°Π»ΠΎ Ρ‚Π°ΠΊΠΎΠΉ объСм Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΏΠΎ ΠΈΡ€ΠΎΠ½ΠΈΠΈ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ NVMe слишком быстрый.

ПослС этого всС стало Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ β€” с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ IOWAIT.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com