[Eisfair] [e1] Hardwarewechsel leicht gemacht (SCSI Controller)

Thomas Bork tom at eisfair.org
Do Jul 31 22:24:30 CEST 2014


Am 31.07.2014 um 11:55 schrieb Detlef Paschke:

> Das alte Board hat einen LSI 53C1030 und das neue einen Adaptec 7902
> Controller.
> Ich dachte nun an folgendes Vorgehen:
> Ich Baue das neue Board ein und zusätzlich noch eine SCSI-PCI-Karte mit
> LSI 53C1030 die ich hier noch als "Notlösung" habe. Mit diesem System
> starte ich den Eisfair, lade die nötigen Module für den Adaptec 7902 und
> installiere den Kernel noch einmal drüber damit die Module in der initrd
> landen. Danach den Eisfair Herunterfahren den LSI 53C1030 entfernen und
> die Platten an den Adaptec 7902 anschließen.
> Das sollte doch so funktionieren, gibt es einen besseren Weg?

Du könntest alternativ einfach die Module für den 7902 noch auf dem 
alten Board laden, dann das Kernel-Update machen und dann das Board 
tauschen.
Beim Kernel 3.2.x werden die Module geladen, auch wenn es keine Hardware 
dafür gibt. Ergebnis ist eine initrd mit beiden Treibern.

Beispiel:
Ich habe eine Installation mit einem (virtuellen) SCSI-Controller, der 
von mptspi bedient wird:

sata # lsmod | grep mpt
mptspi                  9703  3
mptctl                 20103  0
mptscsih               14233  1 mptspi
mptbase                49488  3 mptspi,mptctl,mptscsih
scsi_transport_spi     13724  1 mptspi
scsi_mod               67014  5 
mptspi,mptctl,mptscsih,scsi_transport_spi,sd_mod
sata # lspci | grep SCSI
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X 
Fusion-MPT Dual Ultra320 SCSI (rev 01)

Ein Kernel-Update übernimmt die geladenen SCSI-/SATA-Module mit in die 
initrd:

[...]
Found loaded SCSI/SATA module(s):
  mptspi
Moving /boot/kernel to /boot/old-kernel ...
Moving /boot/initrd.gz to /boot/old-initrd.gz ...
New complete SCSI/SATA and dependend module(s) for initrd:
  scsi_mod
  sd_mod
  scsi_transport_spi
  mptbase
  mptscsih
  mptctl
  mptspi
[...]

So weit, so gut. Nun möchte ich auf ein neues Board mit aic7xxx umziehen:

sata # lsmod | grep aic
sata # modprobe aic7xxx
sata # lsmod | grep aic
aic7xxx                87998  0
scsi_transport_spi     13724  2 aic7xxx,mptspi
scsi_mod               67006  6 
aic7xxx,mptspi,mptctl,mptscsih,scsi_transport_spi,sd_mod

Und das sieht nach einem Kernel-Update immer noch so aus, auch wenn gar 
kein Adaptec verbaut ist:

[...]
Found loaded SCSI/SATA module(s):
  mptspi
  aic7xxx
Moving /boot/kernel to /boot/old-kernel ...
Moving /boot/initrd.gz to /boot/old-initrd.gz ...
New complete SCSI/SATA and dependend module(s) for initrd:
  scsi_mod
  sd_mod
  scsi_transport_spi
  mptbase
  mptscsih
  mptctl
  mptspi
  aic7xxx
[...]
sata # lspci | grep SCSI
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X 
Fusion-MPT Dual Ultra320 SCSI (rev 01)

> Noch eine Frage, die Module für den LSI 53C1030 (mptbase und co.) werden
> doch wenn der Controller entfernt wurde nicht mehr geladen und  beim
> nächsten Kernelupdate auch nicht mehr in die initrd eingetragen.? Kann
> ich dafür sorgen, dass Sie doch immer in der initrd sind? Hintergrund,
> ich hatte hier schon Ausfälle des SCSI-Controller und die PCI-Karte lag
> hier immer als Notlösung für solche Ausfälle. Solange wie auf dem Board
> und der PCI-Karte die gleichen Chips verbaut waren ist das natürlich
> kein Problem nun müsste aber der Treiber für die LSI-Karte immer in
> Reserve stehen. Geht das, und wie?

Siehe oben.

-- 
der tom
[eisfair-team]


Mehr Informationen über die Mailingliste Eisfair