Baza wiedzy

Ulepsz plan z jak najmniejszym przestojem

Rdzenie, pamięć i dysk mogą rosnąć podczas pracy instancji; zmiana rodziny nie może. Co gość musi zrobić, zanim zauważy nowy sprzęt.

Co można zrobić na gorąco

  • Rdzenie: dodawane na żywo, pod warunkiem, że docelowy rozmiar mieści się na bieżącym hoście. Zwykle się mieści.
  • Pamięć: dodawana na żywo, ten sam warunek.
  • Dodatkowy NVMe: dodawany na żywo, zawsze.
  • Dysk główny: powiększany na żywo, z systemem plików rozszerzanym pod Tobą.

Czego nie można: zmniejszać niczego, ani przenosić między rodzinami. Ryzen na EPYC to inna maszyna, więc to jest przeniesienie, a nie upgrade — taka sama procedura jak zmiana lokalizacji, minus zmiana miasta.

Jak to zrobić

curl -s -X POST https://paragonvps.com/api/v1/instances/<instance-id>/resize -H "Authorization: Bearer $Paragon_TOKEN" -H "Content-Type: application/json" -d '{"plan":"r-12","mode":"hot"}'

"mode":"hot" odmawia zmiany zamiast restartować, gdy nie można tego zrobić na żywo. Użyj tego. Domyślna tryb permisywny sprawia, że instancje restartują się o jedenastej w piątek.

Jak sprawić, aby gość zauważył

Nowe rdzenie pojawiają się offline na niektórych jądrach:

lscpu | head
grep . /sys/devices/system/cpu/cpu*/online
echo 1 > /sys/devices/system/cpu/cpu8/online

Zrób to automatycznie, aby kolejny upgrade nie wymagał od Ciebie niczego:

cat > /etc/udev/rules.d/80-cpu-hotplug.rules <<EOF
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"
EOF
udevadm control --reload

Bloki pamięci mówią tę samą historię:

free -h
echo online > /sys/devices/system/memory/auto_online_blocks

To ustawienie nie przetrwa restartu. Dodaj memhp_default_state=online do linii poleceń jądra, aby je zachować.

Powiększanie głównego systemu plików

Urządzenie blokowe staje się większe. Partycja i system plików nie podążają za tym same:

lsblk
growpart /dev/vda 1
resize2fs /dev/vda1

Na XFS ostatnim krokiem jest xfs_growfs /. Oba obrazy już zawierają growpart. Odstęp między powiększeniem partycji a zmianą rozmiaru systemu plików to ta jedna sekunda, w której przerwa w zasilaniu byłaby nieodpowiednia.

Aplikacje również nie zauważają

Większość demonów czyta liczbę rdzeni raz, przy starcie. Serwer WWW, który wybrał cztery procesy robocze na instancji z czterema rdzeniami, nadal uruchamia cztery procesy robocze na nowej instancji z dwunastoma rdzeniami. Zrestartuj usługi lub ustaw jawne liczby procesów roboczych zamiast pozostawiać je na auto:

nproc
systemctl restart nginx

Wszystko, co trzyma pulę pamięci, wymaga tej samej uwagi. Podwojenie pamięci RAM nic nie daje bazie danych, która nadal ma używać czterech gigabajtów bufora.

Ile to kosztuje

Rozliczane proporcjonalnie do sekundy. Różnica między starą a nową taryfą za pozostałą część cyklu jest pobierana z salda konta, jeśli jest, a w przeciwnym razie fakturowana. Zmniejszenie taryfy zasila saldo, a nie wypłaca na łańcuch, ponieważ zwrócenie małej ilości monet kosztuje więcej w opłatach sieciowych niż jest warte.

Data odnowienia nie przesuwa się. Upgrade dwudziestego odnawia się dwudziestego, tak jak wcześniej. Aktualne stawki są na stronie z cenami.

Kiedy to się nie udaje

Jeśli host nie może przyjąć nowego rozmiaru, API mówi o tym i nic się nie zmienia. Od tego momentu staje się to przeniesieniem: ten sam dysk, inna maszyna, kilka minut przestoju, a zmiana taryfy zastosowana na drugim końcu. Tę część robimy my; otrzymujesz e-mail z oknem czasowym.

Gotowi, gdy jesteś

Wybierz miasto. Wybierz rozmiar. Płać kryptowalutą.

Bez formularzy o tym, kim jesteś, bez czekania na akceptację człowieka, bez telefonu w celu weryfikacji. Faktura zostaje uregulowana, a dane logowania trafiają do Twojej skrzynki.