LINUX.ORG.RU
ФорумAdmin

Восстановление полуживой системы без физического доступа

 , , , ,


1

3

Столкнулся с тем, что компьютер к которому у меня увы нет физического доступа находится в полуживом состоянии. Я могу получмить на него ssh. Но почти любое приложение что я запуска на нем выдает мне segfault либо IO error.

Я могу сделать ls, cd, pwd, time, ps, grep, но не мнггим более. Даже перезагрузка крешится или запуск другого шела ( у меня zsh)

╰─○ sudo reboot                                                                                                                                                                                     0.007s 
[1]    311201 segmentation fault  sudo reboot
╰─○ bash                                                                                                                                                                                            0.007s 
[1]    311217 bus error (core dumped)  bash

Вообще sudo крешится само по себе, df тоже крешится. Удаление любого файла ругается на RO файловую систему

╭─akutsan at powerpc in /tmp
╰─○ rm snapshot.png                                                                                                                                                                                 0.008s 
rm: cannot remove 'snapshot.png': Read-only file system

Перемонтировать sudo mount -o rw,remount / тоже не могу потому что sudo крешится

Физического доступа к системе у меня совсем нет. Подскажите может у кого есть идеи как реанимировать пациента?


Ответ на: комментарий от symon2014

Есть, но попытка его запустить крешится. Зано не крешится запуск sh! Внезапно. Но из sh все по прежнему крешится. Уверен, что это полетел ssd. Вот такими сообщениями полнится лог

Sep 17 12:19:11 powerpc systemd[1]: session-550.scope: Deactivated successfully.
Sep 17 12:19:11 powerpc systemd[1]: session-550.scope: Consumed 4.783s CPU time.
Sep 17 12:19:14 powerpc systemd[1]: Started Session 557 of User akutsan.
Sep 17 12:20:11 powerpc systemd[1]: Starting system activity accounting tool...
Sep 17 12:20:11 powerpc systemd[1]: sysstat-collect.service: Deactivated successfully.
Sep 17 12:20:11 powerpc systemd[1]: Finished system activity accounting tool.
Sep 17 12:20:30 powerpc kernel: [248685.737871] EXT4-fs error (device nvme0n1p2): __ext4_get_inode_loc_noinmem:4687: inode #1311588: block 5242966: comm zsh: unable to read itable block
Sep 17 12:20:30 powerpc kernel: [248685.741856] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
Sep 17 12:20:30 powerpc kernel: [248685.743712] EXT4-fs (nvme0n1p2): I/O error while writing superblock
Sep 17 12:20:30 powerpc kernel: [248685.745289] EXT4-fs error (device nvme0n1p2): __ext4_get_inode_loc_noinmem:4687: inode #1311588: block 5242966: comm zsh: unable to read itable block
Sep 17 12:20:30 powerpc kernel: [248685.748376] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
Sep 17 12:20:30 powerpc kernel: [248685.750016] EXT4-fs (nvme0n1p2): I/O error while writing superblock
Sep 17 12:20:30 powerpc kernel: [248685.751639] EXT4-fs error (device nvme0n1p2): __ext4_get_inode_loc_noinmem:4687: inode #1311588: block 5242966: comm zsh: unable to read itable block
Sep 17 12:20:30 powerpc kernel: [248685.754917] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
Sep 17 12:20:30 powerpc kernel: [248685.756508] EXT4-fs (nvme0n1p2): I/O error while writing superblock
Sep 17 12:20:30 powerpc kernel: [248685.758606] EXT4-fs error (device nvme0n1p2): __ext4_get_inode_loc_noinmem:4687: inode #1311588: block 5242966: comm zsh: unable to read itable block
Sep 17 12:20:30 powerpc kernel: [248685.761785] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
Sep 17 12:20:30 powerpc kernel: [248685.763350] EXT4-fs (nvme0n1p2): I/O error while writing superblock
Sep 17 12:20:30 powerpc kernel: [248685.765069] EXT4-fs error (device nvme0n1p2): __ext4_get_inode_loc_noinmem:4687: inode #1311588: block 5242966: comm zsh: unable to read itable block
Sep 17 12:20:30 powerpc kernel: [248685.768335] Buffer I/O error on dev nvme0n1p2, logical block 0, lost sync page write
Sep 17 12:20:30 powerpc kernel: [248685.770010] EXT4-fs (nvme0n1p2): I/O error while writing superblock
Sep 17 12:20:45 powerpc tailscaled[1473]: open-conn-track: timeout opening (TCP 100.100.204.38:47002 => 185.125.190.49:80); no associated peer node
Sep 17 12:21:00 powerpc tailscaled[1473]: message repeated 2 times: [ open-conn-track: timeout opening (TCP 100.100.204.38:47002 => 185.125.190.49:80); no associated peer node]
Sep 17 12:25:01 powerpc CRON[313015]: (CRON) error (create tmpfile)
Sep 17 12:25:45 powerpc tailscaled[1473]: open-conn-track: timeout opening (TCP 100.100.204.38:43492 => 185.125.190.48:80); no associated peer node
Sep 17 12:26:00 powerpc tailscaled[1473]: message repeated 2 times: [ open-conn-track: timeout opening (TCP 100.100.204.38:43492 => 185.125.190.48:80); no associated peer node]
Sep 17 12:28:51 powerpc systemd[1]: Started Session 558 of User akutsan.
Sep 17 12:28:52 powerpc systemd[1]: session-558.scope: Deactivated successfully.
Sep 17 12:28:55 powerpc systemd[1]: Started Session 559 of User akutsan.
Sep 17 12:29:01 powerpc systemd[1]: session-559.scope: Deactivated successfully.
vsrmis
() автор топика

Вообщем-то убунту в такой ситуации уже не спасти, это не нормальный полноценный юникс а десктоп для хипстеров. Зато теперь ты тоже знаешь зачем делать разные разделы под /usr /bin /home и так далее.

Единственное решение это посылать падавана с загрузочной флешкой в серверную, где будет какой-то live образ с линуксом, загружаться с него и настраивать ssh, чтобы ты вошел и попробовал починить файловую систему.

alex0x08 ★★★
()
Ответ на: комментарий от symon2014

А баша нет ?

Установка альтернативного шелла (zsh, fish…) не значит удаление баша. Во всяком случае я о таком не слышал.
Т.е. в терминале можно запустить bash, более того, все баш-скрипты продолжают выполняться.

Zsh/fish приносят в первую очередь удобство действий в терминале/консоли, которого не добиться с bash, Какой командной оболочкой вы пользуетесь? (комментарий).

krasnh ★★★
()
Ответ на: комментарий от vsrmis

Интерестно, если ФС в RO, то почему идут попытки записи суперблока?

Если вы считаете, что полетел ssd, то какого совета по удалённому восстановлению системы вы хотите? Иногда ssd уходит в RO, а после цикла по питанию вобще не распознаётся системой.

Вобще, если grep работает, а может и cat работает, то изучите файлы /proc, посмотрите что со свободной памятью. Может какой процесс всю память сожрал, поэтому и сегфолты...

mky ★★★★★
()

А саму историю этого железа можешь рассказать? Это может быть сервер, который ты обслуживаешь удаленно, или может комп знакомых, которые в линуксе «ни в зуб ногой», или еще что.
Это не влияет на решение, просто интересно. )

krasnh ★★★
()
Ответ на: комментарий от alex0x08

Та да хипстерская, но для того, чтоб там нормально работала Nvidia - самое простое решение для установки.

/home, /var, / У меня на разных разелах но на одном физическом SSD который судя по всему приказал долго жить.

mount  | grep -e nvm  -e dev/sd
/dev/nvme0n1p2 on / type ext4 (ro,relatime,errors=remount-ro)
/dev/sda3 on /nix type ext4 (rw,relatime)
/dev/nvme0n1p1 on /boot type ext4 (rw,relatime)
/dev/nvme0n1p4 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/nvme0n1p3 on /home type ext4 (ro,relatime)
/dev/sda1 on /var type ext4 (rw,relatime)
/dev/nvme0n1p2 on /var/snap/firefox/common/host-hunspell type ext4 (ro,noexec,noatime,errors=remount-ro)
/dev/sdc1 on /mnt/24793ce8-c8b9-4ca2-ae4f-675856147ae0 type ext4 (rw,nosuid,nodev,relatime,x-gvfs-show)

Мне кажется есть одна лозейка, но не знаю как бы ее заэксплотировать - /dev/sda3 on /nix type ext4 (rw,relatime) все еще жив, цел орел. И из под nix-shell -p бинарники запускаются (если переопределить TMPDIR). Хотя и компилируют весь мир (судя по всему кеш находился в /home/)

Сейчас пытаюсь получить sudo от nix : nix-shell -p sudo. Не знаю сработает ли. А существующий sudo не запускается судя по всему потому что даже копирование его в раздел в которые еще можно писать приводит к ошибке

[nix-shell:/nix]$ cp /usr/bin/sudo ./
cp: error reading '/usr/bin/sudo': Input/output error

Но даже если это это получится… как возможно на в таком удаленно режиме установить систему к примеру в работающий раздел на /dev/sdc1, перезагрузить, и чтоб оно загрузилось уже на новую систему? Ощущаю, что моей экспертизы тут явно не хватает, много нюансов и подводных камней.

vsrmis
() автор топика
Ответ на: комментарий от krasnh

Это мой обыкновенный компьютер который я изспользую как сервер с GPU. Физического доступа у меня к нему нет, он находится в другой стране в доме родителей. Весь физический доступ это я могу попросить его из розетки вынуть и воткнуть обратно.

vsrmis
() автор топика

Я могу получмить на него ssh

раздел в которые еще можно писать

Подключись по sftp, залей на тот раздел все нужные бинарники (включая новый ssh-сервер), потом запусти этот новый ssh-сервер на каком-нить незанятом порту и пользуйся, до первого пропадания электричества. После чего он уже не включится скорее всего.

Новый ssh-сервер (с конфигом, ведущим на новые бинарники) нужен для того, чтоб не зависеть от файлов на ssd, которые, включая шелл, рано или поздно тоже перестанут работать.

Про рута забудь, для него нужен бинарник в включёным suid-битом, и при этом готовый предоставить тебе шелл, а у тебя его единственный экземпляр умер (и никакими перекомпилированиями ты suid-бит на новый не поставишь). Мог бы использовать su, если б был пароль на руте.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Да фокус с новым sudo не удался :-(

[nix-shell:/nix]$ sudo
sudo: /nix/store/y3hbm9wvcvrfyzm1h96r036k3p36lprz-sudo-1.9.7/bin/sudo must be owned by uid 0 and have the setuid bit set

Рута без рута не получить, иронично. Хорошо бы иметь конечно вторую точку доступа к руту (пароля на руте конечно нет) кроме sudo, но умерший удаленный SSD не такая частая проблема, чтоб так жертвовать безопасностью ради этого.

Новый ssh-сервер решит проблему пока ssd окончательно не умрет и машина не перестанет включаться. А можно как-то заставить ее перезагрузиться в другой раздел и забыть про этот ssd? по идее /boot раздел в режиме rw но в нем конечно все файлы owner root и их не смодифицировать.

vsrmis
() автор топика
Ответ на: комментарий от vsrmis

Без рут прав доступ к любому администрированию закрыт. Можешь только пользоваться юзером.

Новый ssh-сервер решит проблему пока ssd окончательно не умрет и машина не перестанет включаться

Мне кажется он уже умер, а ты пользуешься тем что в кеше в оперативной памяти осталось - до первого ребута. Потому и советую организовать новый ssh, запущеный от имени юзера и использующий шеллом что-то на работающем разделе.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

у меня на малине до покупки хаба с внешним питанием при нагрузке отваливался внешний диск. Mountpoint сохранялся, только при попытке записи/чтения можно было наблюдать нечто подобное. Согласен с комментом выше. Наверняка при длительной работе по ssh система в конце концов зависнет полностью

monkdt
()
Ответ на: комментарий от Irma

Она, разумеется, не включится и останется сломанной, но поскольку ты от нее далеко, наказать тебя не смогут.

Звонить надо с левой симки, а то докажут и накажут. Но даже левая симка может не помочь если на той стороне пишутся разговоры.

anc ★★★★★
()
Ответ на: комментарий от vsrmis

А можно как-то заставить ее перезагрузиться в другой раздел и забыть про этот ssd?

Зависит от того где у вас установлен загрузчик и что прописано в бивисе на тему с какого носителя грузиться.

anc ★★★★★
()
Ответ на: комментарий от t184256

Потому что шанс на то что накроются все разделы разом, с разными ФС на каждом все же меньше чем один раздел и одна ФС.

Ты просто не застал времена когда выдергивание примонтированной флешки давало kernel panic а каждый kernel panic давал сбойные блоки на какой-нибудь UFS при запуске.

Это помимо того что сами диски сыпались как осенняя листва.

alex0x08 ★★★
()
Ответ на: комментарий от firkax

Мне кажется он уже умер, а ты пользуешься тем что в кеше в оперативной памяти осталось - до первого ребута.

По ssh при полностью мертвом харде не зайдешь, знаю точно, на личном опыте проходил :)

anc ★★★★★
()
Ответ на: комментарий от alex0x08

Потому что шанс на то что накроются все разделы разом, с разными ФС на каждом все же меньше чем один раздел и одна ФС.

И, вон, у ТСа помер SSD целиком.

Да и нахрен не надо плодить разделы с мусорными, полностью восстановимыми системными данными.

Ты просто не застал времена

Смелая гипотеза.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

И, вон, у ТСа помер SSD целиком.

Ты вообще представляешь как диск устроен? Что такое bad-блоки? Как происходит сбои и восстановление? Что такое S.M.A.R.T ?

У ТСа произошел сбой из-за которого ФС перешла в read-only после перезагрузки. Если бы у него было несколько разделов то при таком сбое полетел бы только один - тот с которым шла работа на запись. Очевидно что это не системные /usr и /bin.

Так что он смог бы загрузиться, войти рутом и без проблем починить /home , если бы /home был отдельным разделом.

alex0x08 ★★★
()
Ответ на: комментарий от alex0x08

Да, да, да и да. Ты точно представляешь, как сыпятся SSD, как они клали на твою логическую разметку на физическом уровне и как им пофиг на практики от крутящейся ржавчины прошлого тысячелетия?

2023 год. Разделов нужно как дисков + EFI + swap, в случае многодисковых ФС, тем более tiered — и того меньше. Беречь систему от потери данных смысла 0, лучше купить две двухдолларовые флешки, которые тебе и репровизию системы сделаю, и пользовательские данные из бэкапа развернут.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Да, да, да и да.

Нет, нет, нет и нет.

Ты точно представляешь, как сыпятся SSD, как они клали на твою логическую разметку на физическом уровне и как им пофиг на практики от крутящейся ржавчины прошлого тысячелетия?

«Ржавчина прошлого тысячелетия» разбивалась на разделы не по причине физического устройства.

Беречь систему от потери данных смысла 0

Правильно! Все в облака, в облаках же оно точно-точно будет всегда работать... Голос из гугла: «упс, звиняйте...»

лучше купить две двухдолларовые флешки

Или две односолодового

которые тебе и репровизию системы сделаю, и пользовательские данные из бэкапа развернут

Про миньет забыли.

anc ★★★★★
()
Ответ на: комментарий от anc

Для ржавчины прошлого тысячелетия разбивка более-менее соотносилась с физическими областями на диске, ±немногочисленные релокации бэдов, которые и были-то не всегда. Сейчас рекомендовать под не-ценные данные 100500 разделов — такая же тупая клоунада, как и твоё сообщение.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Для ржавчины прошлого тысячелетия разбивка более-менее соотносилась с физическими областями на диске,

На каком бжалд диске? На трех блиновом?

рекомендовать под не-ценные данные

не-ценные или нафиг-не-нужные? это разные люди тащето.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

ЕМНИП на тупых дисках прошлого тысячелетия логическое пространство мапалось на сектора, сектора на цилиндры, цилиндры шли от центра наружу. В случае нескольких блинов они interleav’ились, что логично, потому что так головки будут вместе, что проще. Недоумение твоё понятно примерно никак, так что соберись с силами и сформулируй его чётче.

t184256 ★★★★★
()
Ответ на: комментарий от anc

Они inter… что простите?

Для тех, кто в мокроступах: перемежались. Первая межа на одном блине, следующая на втором, потом на третьем, четвёртая наврат на первом блине, пятая на втором, а еже по способу такому перемежамшись быти до краю самого.

Победили… Но на выдохе: Наружу чего?

Подождём до утра понедельника, может тебя попустит и опять сможешь в дискуссию.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Для тех, кто в мокроступах: перемежались. Первая межа на одном блине, следующая на втором, потом на третьем, четвёртая наврат на первом блине, пятая на втором, а еже по способу такому перемежамшись быти до краю самого.

Вы вроде адекватный раньше были...

Победили… Но на выдохе: Наружу чего?

Подождём до утра понедельника, может тебя попустит и опять сможешь в дискуссию.

Так и запишем: Ответить не смогли.

anc ★★★★★
()
Ответ на: комментарий от anc

На что, на вопрос «наружу чего ты на выдохе победил?». Сходи проспись, тебя без телепатов не понять, а телепаты в отпуске.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 2)
Ответ на: комментарий от t184256

Ты точно представляешь, как сыпятся SSD, к

У ТС ssd не посыпался а просто случился сбой при записи. Я в курсе что SSD фактически расходник и при любом сбое их просто выкидывают и меняют, а единственный вариант ремонта это замена платы.

Но у ТС сам диск работает, он виден в ОС, система даже смогла с него загрузиться - т.е логические разделы целые. Так что это сбой именно при записи, не «посыпался диск» и не полный отказ.

2023 год. Разделов нужно как дисков + EFI + swap, в случае многодисковых ФС, тем более tiered — и того меньше.

Повторяй за мной и медленно: Барнаул, Алтайский край. Раз десять повторишь и полегчает.

У ТС не сервер, не VPS/VDS (где есть доступ к загрузке гостевой ОС) а просто обычный домашний PC.

Причем этот PC стоит не в серверной где есть и охлаждение и нормальное питание а в обычной квартире, которая еще и в другой стране.

Плюс еще и Убунту вместо нормальной серверой ОС, где ключевые бинарники не слинкованы статично а требуют работающие /lib и /usr/lib

При таких вводных использование одного раздела под / со «всем сразу» это как играть в русскую рулетку с полным барабаном.

ТС абсолютно точно надо отделить как минимум том с данными, где он всякие фильмы и прочий порнохабар хранит, в идеале еще и /var , чтобы если произойдет засирание логами то система все равно могла продолжать работать.

alex0x08 ★★★
()
Последнее исправление: alex0x08 (всего исправлений: 1)
Ответ на: комментарий от alex0x08

В Барнауле, Алтайский край

  1. нет бэкапов и флешек?
  2. не довезли с оказией новостей, что свап не надо больше размещать в начале диска, размер логов ограничен journald, а /usr/bin ли или /usr/sbin у тебя помер уже не важно, потому что все равно носитель менять и переставлять все?

Просто был я в Барнауле, Алтайский край, и там уже тогда был, хоть и с запозданием, но 21 век.

t184256 ★★★★★
()
Ответ на: комментарий от alex0x08

Это помимо того что сами диски сыпались как осенняя листва.

В мире x86 это было один раз, в первый год продаж IBM 5170 (PC/AT). https://www.minuszerodegrees.net/5170/cmi_6426_problems/IBM 5170 - 6426 probl... Но что вы туда устанавливали в 1985 году?

У меня одно время в фирме, где я работаю, конструктора придумали, что если нет инета, нужно ребутать комп шлюз в инет, и понятно, что Ctrl+Alt+Del им было сложно нажимать, они ведь только AutoCad знают. Ребутали reset'ом, наверное раз 100 года за три. Там был P-120 и НЖМД на 2 Гбайт. И нифига ext3 + ядро 2.4.24 не стало.

ТС абсолютно точно надо отделить как минимум том с данными, где он всякие фильмы и прочий порнохабар хранит, в идеале еще и /var

Он же уже привёл выхлоп mount, там /home на отдельном разделе, а /var вобше на отделном носителе.

Кстати, у ТС вобще интерестно, судя по mount и / и /home ушли в ro, хотя remount-ro только у корня. Почему?

А уж живучая система — это когда в корень с критическими бинарникам в оперативке (tmpfs)...

mky ★★★★★
()
Ответ на: комментарий от alex0x08

не фанат убунты и не использую её уже много лет, но называть систему, на которой успешно хостятся тысячи продуктов «ненормальным неполноценным юниксом» это ненормально.

зы: и неполноценно.

flant ★★★
()
Ответ на: комментарий от mky

У меня одно время в фирме, где я работаю, конструктора придумали, что если нет инета, нужно ребутать комп шлюз в инет, и понятно, что Ctrl+Alt+Del им было сложно нажимать, они ведь только AutoCad знают. Ребутали reset'ом, наверное раз 100 года за три. Там был P-120 и НЖМД на 2 Гбайт. И нифига ext3 + ядро 2.4.24 не стало.

Конструктора... в одной фирме... Три Ха-Ха. У нас на обьектах (начиналось с кол-ва в 24 обьекта) где только работяги присутствовали спецом был сделан выключатель питалова на ящике в котором системник обитал, ребутать могли как по делу АКА команде так и бывали личности в виде «мне показалось». Сильно больше одного раза бывало что и убивали. Но в среднем по больнице, скорее жива чем мертва.

anc ★★★★★
()
Ответ на: комментарий от vsrmis

Если у тебя на другом диске установлен nix, то смонтируй куда нить его корневой раздел, смонтируй(mount –bind)в него /dev, /proc, /sys и сделай chroot. Дальше у тебя рабочий Linux-шелл, попробуй спасти ценные данные с nvme.

cobold ★★★★★
()

есть специальная команда в sh которая заменяет мертвый ssd на сдоровый ssd и клонирует всю фс. название команды вот подзабыл но вот еще вчера помнил! ты загугли..

antech
()
Последнее исправление: antech (всего исправлений: 1)
Ответ на: комментарий от vsrmis

ИМХО. в данной ситуации его можно только отправить в жесткий ребут

# от рута:
echo b > /proc/sysrq-trigger

Если не загрузится, то видимо ssd помер совсем. Готовь для семьи/знакомых инстукцию, как накатить ОСь, в которую ты сможешь зайти

router ★★★★★
()
Ответ на: комментарий от router

… с последующим практически гарантированным не включением компьютера – корневая ФС повреждена. Компьютер включится, но ОС в штатном режиме вероятно не загрузится. Если ТС угадал с выходом из строя SSD, то скорее всего внести изменения в раздел EFI невозможно.

P.S. рутовые привилегии сейчас ему недоступны

@vsrmis прежде чем «ребутать» проиграй ситуацию – сильно меньше головной боли получишь: как «устроена» загрузка (включен ли SecureBoot,штатный загрузчик?, возможно ли изменить порядок загрузки, возможно ли загрузить компьютер с «флешки» и т.д.)

Загружать/выгружать файлы есть возможность?

master_0K
()
Последнее исправление: master_0K (всего исправлений: 1)
Ответ на: комментарий от mrjaggers

Думаешь у него не x86_64? Я вот не уверен, что powerpc означает именно то, что написано.

Упоминание SecureBoot (даже если он там есть, скорее всего отключен предполагаю я) это просто необходимое напоминание: пока что-то работает всякие детали о его работе (устройстве) стираются из памяти.

master_0K
()
Ответ на: комментарий от master_0K

Тс вообще странным занимается. Или on-site assistance, или пусть ilo запиливает (когда текущие траблы починит).
Так до да, может и могучий писюк. От незнания. Кто знает так не назовёт кмк.))

mrjaggers
()
Последнее исправление: mrjaggers (всего исправлений: 1)