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/onlineZró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 --reloadBloki pamięci mówią tę samą historię:
free -h
echo online > /sys/devices/system/memory/auto_online_blocksTo 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/vda1Na 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 nginxWszystko, 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.