Как всегда, все обнаруживается в пятницу и причем под конец рабочего дня. Вот к примеру, заметил, что мои виртуальные машины на моем физическом сервере ((Supermicro SYS-5019S-M: Debian 10 + Proxmox 6, ZFS разделы, 64Gb оперативной памяти (2 модуля 378A4G43MB1-CTD))
, на нем установлена связка Debian 10 + Proxmox 6.4-13 (running kernel: 5.4.166-1-pve)
стали как-то тормозить. Используемые диски:
HDD 1 (/dev/sda): Samsung SSD 870 EVO 500GB (под систему)
HDD 2 (/dev/sdb): диск на 4Tb в пуле ZFS mirror (для VM)
HDD 3 (/dev/sdc): диск на 4Tb в пуле ZFS mirror (для VM)
HDD 4 (/dev/sdd): диск на 3Tb под бекап /backup
M2 (/dev/nvme0n1) диск под виртуалки
На заметку: опираясь на заметку "Внедряю ZFS для моего сервера Gigabyte C246 WU4"
диски /dev/sdb & /dev/sdc
у меня настроены.
Т.е. три storage
под виртуальные машины.
А тормозить стало все, при действиях внутри виртуальных систем, при создании бекапов.
Решил проанализировать, что это способствует, сперва решил, что может это его пытаются взломать через панель, авторизации которая смотрит в интернет через Nginx + Proxy
(в локальную сеть). Приступил к анализу логов и увидел, что у меня диск /dev/sda
— этот тот самый что Samsung SSD 870 EVO 500Gb
root@srv-proxmox2:~# cat /var/log/daemon.log | more Mar 26 00:19:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], FAILED SMART self-check. BACK UP DATA NOW! Mar 26 00:19:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], Failed SMART usage Attribute: 5 Reallocated_Sector_Ct. Mar 26 00:19:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], Failed SMART usage Attribute: 179 Used_Rsvd_Blk_Cnt_Tot. Mar 26 00:19:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], Failed SMART usage Attribute: 183 Runtime_Bad_Block. Mar 26 00:19:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 70 to 71 Mar 26 00:20:00 srv-proxmox2 systemd[1]: Starting Proxmox VE replication runner... Mar 26 00:20:00 srv-proxmox2 systemd[1]: pvesr.service: Succeeded.
Не знаю верить или нет, но по логам диску стало плохо еще 26.03.2023
, сейчас 31.03.2023
root@srv-proxmox2:~# cat /var/log/daemon.log | grep 'FAILED SMART' | head -n 1 Mar 26 00:19:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], FAILED SMART self-check. BACK UP DATA NOW! root@srv-proxmox2:~#
не факт конечно может лог перезатирается
Если посмотреть по всех заархивированным файлам, то уже от 20.03.2023
начались данные сообщения, до этого возможно логи перезатирались.
root@srv-proxmox2:~# zcat -f /var/log/daemon.log.* | grep 'FAILED SMART' | head -n1 Mar 20 13:49:10 srv-proxmox2 smartd[1984]: Device: /dev/sda [SAT], FAILED SMART self-check. BACK UP DATA NOW! root@srv-proxmox2:~#
Тут я для себя поставил задачу, разобрать как поставить в домашний мониторинг за домашней инфраструктурой. Об этом сделаю заметку чуть позже.
Смотрю информацию по проблемному диску:
root@srv-proxmox2:~# smartctl -i /dev/sda smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.166-1-pve] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: Samsung SSD 870 EVO 500GB Serial Number: S5Y1NF0R403791V LU WWN Device Id: 5 002538 f4140457f Firmware Version: SVT01B6Q User Capacity: 500,107,862,016 bytes [500 GB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device Form Factor: 2.5 inches TRIM Command: Available, deterministic, zeroed Device is: Not in smartctl database [for details use: -P showall] ATA Version is: ACS-4 T13/BSR INCITS 529 revision 5 SATA Version is: SATA 3.3, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Fri Mar 31 15:20:04 2023 MSK SMART support is: Available - device has SMART capability. SMART support is: Enabled root@srv-proxmox2:~# smartctl -A /dev/sda smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.4.166-1-pve] (local build) Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 1 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 5 Reallocated_Sector_Ct 0x0033 002 002 010 Pre-fail Always FAILING_NOW 542 9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 14013 12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 56 177 Wear_Leveling_Count 0x0013 099 099 000 Pre-fail Always - 7 179 Used_Rsvd_Blk_Cnt_Tot 0x0013 002 002 010 Pre-fail Always FAILING_NOW 542 181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0 182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0 183 Runtime_Bad_Block 0x0013 002 002 010 Pre-fail Always FAILING_NOW 542 187 Reported_Uncorrect 0x0032 099 099 000 Old_age Always - 189 190 Airflow_Temperature_Cel 0x0032 071 060 000 Old_age Always - 29 195 Hardware_ECC_Recovered 0x001a 199 199 000 Old_age Always - 189 199 UDMA_CRC_Error_Count 0x003e 099 099 000 Old_age Always - 2 235 Unknown_Attribute 0x0012 099 099 000 Old_age Always - 35 241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 5989240817 root@srv-proxmox2:~#
Посмотрев через Web
-интерфейс и тут также статус SMART
по диску, а вот сюда я как-раз и особо и не заглядываю, а зря:
https://IP&DNS:8006 - user&pass - (Server View) Datacenter - srv-proxmox2 - Disks
Делаю по-быстрому бекапы важных машин на диск в 3Tb, через переход в виртуальную машину, к примеру:
https://IP&DNS:8006 - user&pass - (Server View) Datacenter - srv-proxmox2 - VM: 109 (srv-asterisk) - Backup - Backup now
Storage: backup (это диск тот что на 3Tb)
Mode: Stop
Compression: ZSTD (fast and good)
и нажимаю Backup
, те системы что под Ubuntu
и размеров от 50Gb
до 70Gb
сделались быстро, а вот система на 600Gb
, сжалась до 390Gb
где-то за 4 часа, ну вообщем бекап всех важных VM
где-то 1Tb
Вот, наверное, поэтому у меня бекап виртуальных машин по части write
После принял решение скопировать их на всякий случай на другой сервер (srv-proxmox)
посредством SSH
root@srv-proxmox2:~# scp /backup/dump/vzdump-qemu-206-2023_03_31-16_02_53.vma.zst root@172.33.33.25:/backup/dump The authenticity of host '172.33.33.25 (172.33.33.25)' can't be established. ECDSA key fingerprint is SHA256:dqCxxUDe1xEf50bkOqNQevX1urvh0mvpAnPI7TPKyIE. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '172.33.33.25' (ECDSA) to the list of known hosts. root@172.33.33.25's password: vzdump-qemu-206-2023_03_31-16_02_53.vma.zst 100% 1850MB 24.5MB/s 01:15 root@srv-proxmox2:~#
На заметку: Пропускная способность сети 1G
, что конечно мало. И это тоже был описано в документе по модернизации моей инфраструктуры. Прорабатываю переход на 10G
дома, я уже дорос до этого момента.
Но ничего за ночь все скопировалось.
Выключаю VM
на srv-proxmox2
и через backup
диск сервера srv-proxmox
штатными средствами Proxmox
восстанавливаю VM
, и они начинают работать, только перед этим нужно было проверить что на сетевой порт сервера от Mikrotik
подаются все нужные VLAN.
Это сделано, т.к. я придерживаюсь шаблона настройки, чтобы все сервера дома были по единому стандарту настроены:
- На сетевой порт подаю тегированный трафик нужных
VLAN
HDD 1: под систему
HDD 2: бекапный диск
HDD 3: под виртуальные машины (иногда RAID программный)
Виртуальные машины созданы, как:
Если Ubuntu
система:
Type: Linux
Version: 6.x - 2.6 Kernel
Graphic card: Default
Machine: Default (i440fx)
Bios: Default (SeaBIOS)
SCSI Controller: VirtIO SCSI Single
Qemu Agent: отмечаю галочку после в систему устанавливаю qemu-guest-agent
Bus/Device: VirtIO Block/0
Disk size (GiB): указываю размер
Storage: выбираю где расположить данные виртуальной машины
Cache: Default (No cache)
Async IO: Default (io_uring) Нужно почитать по параметры
Type: Default (kvm64)
Ballooning Device: Отмечаю галочкой
Bridge: vmbr0
Model: VirtIO (paravirtualized)
VLAN Tag: по мере необходимости
и по аналогии для Windows
системы, только изменяю параметр Version
и планы по бекапированию/восстановлению.
Ну а теперь, когда виртуальные машины работают на другом сервере, приступаю к замене диска и замены системы, выключив srv-proxmox2
, вытащив диск HDD 1
, меняю его на свободный: Samsung SSD 870 EVO 250GB
Но в этот раз установку proxmox
произведу не как сперва устанавливаю Debian 10
, а потом устанавливаю пакеты Proxmox
, а попробую развернуть, используя образ: proxmox-ve_7.4-1.iso
, копирую его на Zalman VE500
и произвожу установку, подцепляю диски, которые сейчас в сервере и вижу на диске /backup
резервные копии виртуальных машин, выключаю машины на srv-proxmox1
и восстанавливаю их, и они снова в строю. Данные на виртуальных машинах по части статичны: PXE
-сервер, OwnCloud, iRedMail, Mercurial, Samba, Asterisk
и т.д.
Итого. Действительно вылетел диск.
Сделал бекап всех нужных VM на каталог /backup - это у меня диск 3Tb
После скопировал каждую VM на 172.33.33.25
Восстановить из бекапа каждую VM на 172.33.33.25
Проверил что VM работает - да работает.
После выключил на 172.35.35.102 все VM и переименовал их как VM: IDNoRUN
Выключил хост на 172.35.35.102
Вытащил первый диск тот что на 500Gb, на его место поставил на 250Gb SSD Samsung
подключил Zalman с образом Proxmox 7
произвел установку Proxmox из образа на диск 500Gb
Заменил содержимое /etc/network/interfaces из бекапного файла: tips_debian_10_proxmox_6_4_13_networking_31_03_2023_v1.txt
Выполнил
systemctl restart networking
systemctl restart pveproxy
Погасил VM на 172.33.33.25
Подключил все диски в сервере 172.35.35.102
Восстановил из /backup диска все забекапленные виртуальные машины
и все завелось как ни в чем не бывало.
По сути можно было и не копировать их на другой сервер 172.33.33.25.
Итого вот такое хорошее время пре провождения у меня выдалось с пятницы на субботу, но это было занимательно и главное, что теперь есть что поменять и адаптировать.
На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.