Назад | Перейти на главную страницу

Восстановил сервер из бэкапа, теперь мне не хватает многих модулей

Мне пришлось восстанавливать поврежденную файловую систему из резервной копии, теперь она не загружает много модулей

lsmod до:

Module                  Size  Used by
ses                     6715  0
enclosure               8649  1 ses
xt_multiport            2794  1
iptable_filter          2791  1
ip_tables              18390  1 iptable_filter
x_tables               22461  2 xt_multiport,ip_tables
nls_iso8859_1           4633  0
nls_cp437               6351  0
vfat                   10866  0
fat                    55350  1 vfat
usb_storage            50633  1
act_police              4620  1
sch_ingress             2098  1
cls_u32                 6698  5
sch_sfq                 5863  3
sch_cbq                17140  1
snd_hda_codec_realtek   279072  1
snd_hda_intel          25805  0
ppdev                   6375  0
snd_hda_codec          85759  2 snd_hda_codec_realtek,snd_hda_intel
fbcon                  39270  71
tileblit                2487  1 fbcon
font                    8053  1 fbcon
bitblit                 5811  1 fbcon
softcursor              1565  1 bitblit
parport_pc             29958  1
snd_hwdep               6924  1 snd_hda_codec
serio_raw               4918  0
snd_pcm                87946  2 snd_hda_intel,snd_hda_codec
snd_timer              23681  1 snd_pcm
vga16fb                12757  1
lp                      9336  0
vgastate                9857  1 vga16fb
parport                37160  3 ppdev,parport_pc,lp
snd                    71283  6 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore               8052  1 snd
snd_page_alloc          8500  2 snd_hda_intel,snd_pcm
raid10                 21450  0
raid456                54752  0
async_pq                3891  1 raid456
async_xor               3111  2 raid456,async_pq
xor                     4685  1 async_xor
async_memcpy            1537  1 raid456
async_raid6_recov       1816  1 raid456
raid6_pq               80147  2 async_pq,async_raid6_recov
async_tx                2545  5 raid456,async_pq,async_xor,async_memcpy,async_raid6_recov
raid1                  22610  1
raid0                   6778  0
multipath               7181  0
linear                  4126  0
r8169                  39714  0
mii                     5237  1 r8169
ahci                   38350  4

lsmod после:

Module                  Size  Used by
raid456                54720  0
async_pq                3891  1 raid456
async_xor               3111  2 raid456,async_pq
xor                     4685  1 async_xor
async_memcpy            1537  1 raid456
async_raid6_recov       1816  1 raid456
8139too                22245  0
raid10                 21450  1
usbhid                 41116  0
hid                    83888  1 usbhid
8139cp                 19541  0
e1000                 109015  0
raid6_pq               80147  2 async_pq,async_raid6_recov
async_tx                2545  5 raid456,async_pq,async_xor,async_memcpy,async_raid6_recov
r8169                  39714  0
mii                     5237  3 8139too,8139cp,r8169
raid1                  22610  1
raid0                   6778  0
multipath               7181  0
linear                  4126  0

Это был другой сервер, с которого я делаю резервную копию, и у него была другая настройка рейда, поэтому мне пришлось выполнить update-initramfs и grub-update, чтобы это могло иметь какое-то отношение к этому

Сервер, с которого я сделал резервную копию, все еще работает

Как мне восстановить эти модули? Желательно без перезагрузки.

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

Быстрый способ синхронизации установленных пакетов - это составить экспортированный список всех пакетов со старой машины, например, так;

$ dpkg --get-selections | cut -f1 > /tmp/package-list

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

Что касается различий в списках модулей; например я вижу модуль soundcore в одном списке, но не в другом, поэтому попробуйте запросить информацию о модуле на восстановленном сервере, чтобы проверить, что доступно, когда это необходимо, например;

# modinfo soundcore
filename:       /lib/modules/3.3.1-5.fc16.x86_64/kernel/sound/soundcore.ko
alias:          char-major-14-*
license:        GPL
author:         Alan Cox
description:    Core sound module
depends:        
intree:         Y
vermagic:       3.3.1-5.fc16.x86_64 SMP mod_unload 
parm:           preclaim_oss:int

Если у вас есть имя файла модуля, из приведенных выше деталей вы можете увидеть, какой пакет необходимо установить для его предоставления, например, модуль fbcon;

$ modinfo fbcon
filename:       /lib/modules/2.6.32-38-generic/kernel/drivers/video/console/fbcon.ko
license:        GPL
srcversion:     65B645FD36D989F537E4715
depends:        bitblit,font,tileblit
vermagic:       2.6.32-38-generic SMP mod_unload modversions

обеспечивается linux-image пакет;

$ dpkg -S /lib/modules/2.6.32-37-generic/kernel/drivers/video/console/fbcon.ko
linux-image-2.6.32-37-generic: /lib/modules/2.6.32-37-generic/kernel/drivers/video/console/fbcon.ko