вторник, 23 апреля 2013 г.

Kernel panic: Unable to mount root fs

Из далекого-далекого подразделения принесли старый-старый сервер с Red Hat 7.2…
Не грузится система с ошибкой:

Kernel panic: Unable to mount root fs

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

Загружаю первый образ установочного диска системы, благо есть еще на трекерах, записываю на CD-RW, гружусь с нее в linux rescue, смотрю fdisk /dev/hda — необходимый раздел /dev/hda2, тип ФС ext2, запускаю проверку:

# fsck /dev/hda2

Получаю приблизительно следующую ошибку:

Couldn't find ext2 superblock, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/hda6

Пробую последовательно суперблоки 8193, 16384, 32768…

# e2fsck -b 32768 /dev/hda2

зацепилось, прерываю, перезапускаю с ключом -y и понеслась…

вторник, 9 апреля 2013 г.

Oracle Linux Server: удалил файл, но место не освободилось

Пожаловался админ Оракла, что удалил файл, а место-то и не добавилось!

«Ты, — говорит, — сисадмин, ты и разбирайся».

Пришлось опять объяснять, что перед тем как удалить файл надо же проверить, не занят ли он каким-либо процессом, и если занят, то сначала освободить…

# fuser /path/filename

Что же теперь делать, когда открытый файл уже удален?

В # man lsof написано как найти такой файл:

‘‘+aL1 <file_system>’’ will select unlinked open files on the specified file system.

# lsof +aL1 /oracle/oradata
COMMAND   PID   USER   FD   TYPE DEVICE        SIZE NLINK     NODE NAME
oracle  11047 oracle  266u   REG  253,7 15032393728     0 17465353 /oracle/oradata/IMUX/temp.dbf (deleted)

Получается, что файл разлинкован, но открыт, и его держит процесс:

# ps -f -p 11047
UID        PID  PPID  C STIME TTY          TIME CMD
oracle   11047     1  0 Jan16 ?        00:00:01 oracleIMUX (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))