Вопрос или проблема
Я запускаю Solaris 10 в виртуальной машине Qemu на хосте Linux. Все работает хорошо (sata, usb и т.д.). Я использовал IDE, потому что на старой версии libvirt/qemu Solaris 10 вызывал много ошибок (тайм-аут ioapic и подобное), если был установлен на SATA-диск. Теперь эти ошибки наконец исчезли. Для “миграции” Solaris с IDE на SATA я просто обновил конфигурацию libvirt (удалил IDE-диск, добавил SATA-диск, используя старый IDE-диск). Работает хорошо, но…
Откуда vold берет информацию? В /etc/ строка c2t0d0s7 содержится только в файле /etc/lvm/md.conf.
Решение найдено.
Поиск старых файлов контроллеров в файловой системе
gfind / -name c2t0d0 |grep vol
возвращает /vol/dev/dsk/c2t0d0/
удалите его
grm -fr /vol/dev/dsk/c2t0d0/
Перезапуск vold или перезагрузка ОС устраняет ошибку.
Ответ или решение
Как устранить проблему с "призрачным диском" в Solaris 10 после перехода с IDE на SATA в QEMU
Ваша ситуация с Solaris 10 в виртуальной машине QEMU на Linux-хосте очень распространена среди пользователей, которые недавно обновили свои аппаратные настройки. Переход с контроля IDE на SATA, безусловно, может обеспечить более высокую производительность и устранение старых ошибок, но часто возникают неожиданные проблемы, такие как "призрачные диски". В данной статье мы рассмотрим, как устранить конкретную проблему, упомянутую вами, и предоставить детальное руководство для поддержки IT-специалистов.
1. Причина появления "призрачного диска"
После переноса системы с IDE на SATA, Solaris 10 может продолжать ссылаться на старую конфигурацию устройств. Ваша проблема с появлением "призрачного диска", отмеченного как c2t0d0
, вероятно, вызвана тем, что Solaris все еще хранит метаданные о старом транспортном контроллере. Эти метаданные могут быть считаны процессом, ответственным за управление тому (Volume Manager), который считывает информацию из файловой системы, а не из конфигурации устройств.
2. Поиск и удаление устаревших файлов
Для исправления проблемы необходимо выполнить поиск по файловой системе на наличие ссылок на старый контроллер. Как вы уже заметили, выполненная вами команда:
gfind / -name c2t0d0 | grep vol
позволила вам выявить старые записи в файловой системе. В вашем случае, это была запись:
/vol/dev/dsk/c2t0d0/
Содержимое этого каталога может указывать на то, что система все еще пытается обращаться к устаревшей конфигурации.
3. Процесс удаления
Для удаления устаревших метаданных, которые вызывают проблему с "призрачным диском", выполните команду:
grm -fr /vol/dev/dsk/c2t0d0/
Данная команда удалит старую запись и освободит систему от ненужной ссылки на предыдущий диск.
4. Перезапуск служб и операционной системы
После удаления старых ссылок рекомендуется либо перезапустить службу Volume Manager с помощью команды:
svcadm restart vold
либо просто перезагрузить операционную систему. Оба варианта приведут к обновлению состояния устройств, и "призрачный диск" больше не будет отображаться.
5. Итог
Переход на SATA в Solaris 10 может открывать новые возможности, но также требует тщательной очистки устаревшей конфигурации. Ваша проблема с "призрачным диском" была успешно решена путем удаления старых файловых ссылок и перезапуска системных служб. В случае возникновения других вопросов, связанных с управлением устройствами или производительностью, настоятельно рекомендую проводить регулярные проверки конфигураций и обновленный аудит ваших систем.
Эти рекомендации позволят вам не только устранить текущие проблемы, но и значительно улучшить стабильность и производительность вашей виртуальной машины.