[HP Microserver Gen8] Booten von den ODD Port

HP_GEN8Da ich nun einen HP Microserver Gen8 mein eigen nennen darf,
stand ich vor der Herausforderung statt einen DVD-Laufwerk
eine SSD für das Betriebssystem einzusetzen.

Das Problem an der Sache ist, dass der Server immer die erste Platte
an den SATA Ports als Systemplatte annimmt.
Dem hat zu Folge, wenn nur die SSD am ODD Port (SATA Port 5) angeschlossen ist läuft alles wie gewollt,
aber wenn nun mehrere Festplatten angeschlossen sind bootet er nicht mehr von der SSD am Port 5….

Die Lösung war da doch recht schnell gefunden, ein Chainloader in meinen Fall der GRUB Chainloader.
Der  Chainloader wird dann auf eine SD-Karte eingerichtet, von der dann das System booten soll
und auf die SSD an Port 5 verweist.
An dieser Stelle übernimmt dann der Bootloader des Betriebssystems.


Dies ist mein fertiges Image (für 5 HDDs) zum Downloaden:


Oder hier nun die Anleitung um selbst eine SD-Card zu ertsellen:

Man braucht als erstes ein Linux System, wenn man keins hat nimmt man einfach eine Live CD / USB-Stick.

So, als erstes muss man die SD-Karte Partitionieren:

Jetzt gehen wir folgt vor:

nun das Dateisystem erstellen:

SD-Karte mounten:

Ordner für GRUB erstellen:

GRUB installieren:

GRUB Konfiguration erstellen:

und mit den Inhalt füllen:

Hier noch einer Variante von IWillTry für OMV3 (2 Platte in Bay 1 und 2, daher hd3)


————————————————————————————————————————
Anmerkung:
Die hd5 ist natürlich nur dann das richtige Device für die SSD,
wenn tatsächlich alle 4 Festplatteneinschübe des Microservers bestückt sind.
Ansonsten reduziert sich die Device-Nummer um jeweils 1 für jeden unbestückten Platten-Einschub!

————————————————————————————————————————

Dann mal viel Spaß mit den Server 🙂

40 thoughts on “[HP Microserver Gen8] Booten von den ODD Port

  1. Ich habe die ganze Sache noch einfacher gelöst. Der Bootloader auf dem Stick/der SD-Karte soll ja nichts weiter machen als dem Server zu sagen das er mal bitteschön von der hd05 boten soll (wenn alle 4 Bays belegt sind + ODD). Dies habe ich einfach mit folgenden Befehl erledigt:

    configfile (hd5,msdos1)/boot/grub/grub.cfg

    So bootet das System sauber von der SSD am ODD/SATA-Port. Man braucht ja eigentlich kein weiteres Menü, da danach eh noch der originale Bootloader von der OS-Platte kommt.

    Noch zur Ergänzung, ich habe die aktuelle OpenMediaVault v3.x Version drauf, welches auf einer SSD die am ODD-Port hängt, installiert wurde. Es müssen vor der Installation auch keine Platten entfernt werden.

  2. Hallo miteinander,

    leider klappt das alles nicht so, wie ich es will… Das wird jetzt eine längere Geschichte:

    Ich hab zuerst alles über Windows probiert: Das Image runtergeladen, zunächst auf einem USB-Stick installiert, im Server (1SSD im DVD-Schacht, 4 HDDs im Bay) die Bootreihenfolge auf USB gestellt – klappt leider nicht, er findet nichts zum Booten und versucht es nach 5 Sekunden erneut – es entsteht eine Bootschleife.

    Das gleiche mit einer 4GB-SD-Karte gemacht, da stellt sich schon mal die erste Frage:
    Um von der SD zu booten, bleibt die Bootreihenfolge des Servers auf USB? Für die SD-Karte finde ich keinen extra Eintrag?
    Auch das klappt nicht.

    Jetzt im Moment versuche ich das händisch auf dem Server mit einem Livesystem, wie oben beschrieben, hinzukriegen. Ich habe dazu GParted gestartet (müsste ja genauso gehen).
    Ich gehe also ins Terminal (die SD-Karte ist in meinem Fall /dev/sdf) und gebe

    fdisk /dev/sdf

    ein. Schon das klappt nicht, es kommt die Meldung „fdisk: cannot open /dev/sdf: Permission denied“.
    Dazu muss ich sagen, ich bin ein ziemlich Linuxanfänger. Was aber Computer im allgemeinen angeht kein Nerd, aber auch kein Depp.

    Ich komme insgesamt mit den oben beschriebenen Schritten nicht zurecht (agesehen davon, dass ich allein schon mittels fdisk nicht auf meine SD-Karte zugreifen kann…). Was ist z.B. mit dem 2. Kasten oben (mit den 8 Codezeilen) gemeint? Gebe ich dann im Terminal (wenn das mit fdisk zunächst geklappt hat) einfach „n“ für neue Partition erstellen ein, dann „p“ für auf Primary setzen etc. ?
    Danach die Anleitung scheint mir klar.

    Ich hoffe, ihr könnt mir helfen (und habt die Lust dazu), ich will den Server endlich wie gewünscht zum Laufen bringen.

    Welche Info muss ich euch noch geben? Ich denke, beim Server habe ich alles soweit richtig eingestellt (bin mir aber nicht 100% sicher).

    Vielen Dank schon mal

  3. Hallo!

    Ich finde es nicht schön, keinerlei Antwort auf meinen Post zu erhalten. Nur aufgrund solcher Anleitungen wie deiner habe ich mich überhaupt entschlossen einen Microserver zu kaufen und es mit der SSD zu versuchen. Man denkt: Irgendwie soll auch ich das wohl hinbekommen. Nur leider: Keine einzige Anleitung funktioniert, immer ist irgendwas. Die Gründe dafür bleiben einem Linux-Neuling natürlich völlig verborgen. Aber immer wird so getan, als wäre alles ganz einfach. Und wenn man dann nachfragt, gibt es keine Antwort und man bleibt allein mit seinem Problem – schade.

    Gruß,

    Frank Ewald

    1. Also erstens: Ist das hier alles auf freiwilliger Basis. Zweitens: Wenn du dich nicht mächtig genug für Linux fühlst dann nimm doch eine (ebenso gute) Lösung von QNAP oder Synology, da brauchst du nichts selbst machen, kostet dafür allerdings seinen Preis.

      Welches Image hast du auf die SD Karte gepackt ? Das vom Ersteller des Artikels ? Das wird nicht funzen bei dir, weil das für den Fall gedacht ist, dass alle 4 HDD Einschübe benutzt werden. Bei dir les ich nur raus 2 HDDs + SSD, also passt deine Konfig nicht. Am besten mal posten statt rumzustänkern, niemand ist verpflichtet dir zu helfen.

      1. Ich habe die Datei mehrfach umkonfiguriert, auch mehrere Menueinträge erzeugt – aber wie gesagt, ich bekomme ja nie ein Bootmenü angezeigt.

          1. Hallo,

            die Config ist ja gar nicht das Problem, sondern die Tatsache, dass ich kein grub-Menü zu sehen bekomme. Dennoch, hier ist sie:

            set default=’0′
            set timeout=’30‘

            menuentry ‚SSD Boot mit 2 Platten‘ {
            set root=(hd3)
            chainloader +1
            }

            Den timeout in der config habe ich hochgestellt, damit ich auch sicher was sehe.

            Das Problem ist also, dass ich das System am ODD-Port booten und auch auf die SD-Karte zugreifen kann, solange keine Festplatten drinstecken. Stecke ich die beiden rein so landet der Bootvorgang wie beschrieben im Nirvana, ohne dass ich je ein grub-Menü gesehen hätte. Meine Bios-Einstellungen habe ich ja schon gepostet, ich vermute den Fehler eher hier.

            Danke,

            Frank

            1. Setz mal bitte dein BIOS auf Defaults zurück (ich habe da imho nichts einstellen müssen).

              Die Config bitte so abändern:

              set default=’0′
              set timeout=’0′ #oder eben 30 wenn du Grub sehen willst

              menuentry ‚Debian Jessie‘ {
              set root=(hd3)
              drivemap -s (hd0) ${root}
              chainloader +1
              }

              Ich weiß nicht ob Grub sich auch schwer mit mit deinen Anführungszeichen vor „SSD“ und nach „Platten“, aber meine Erfahrung sagt mir dass das ein Problem sein kann 😉

              Als Alternative probier mal eine andere SD Karte, das Problem hatte ich anfangs, hab sie dann getauscht und es ging problemlos.

            2. Hi Frank,

              Ich denke dein Problem liegt darin, dass du dem Bootloader noch sagen musst, dass der Startpunkt sich verändert hat, also nicht hd0, sondern hd3 genutzt werden soll.
              Das swapping übernimmt drivemap für dich, hier ein Beispiel :

              set default=’0′
              set timeout=’0′

              menuentry ‚OpenMediaVault3‘
              {
              set root=(hd3)
              drivemap -s (hd0) ${root}
              chainloader +1
              }

              Für OMV3 auf der SSD im ODD und 2 Platte in Bay 1 und 2 (daher hd3).

            3. Soooo!

              Vielen Dank für die Antworten via pm. Ich habe allerdings eine Lösung ohne grub-bootloader gefunden. Sie ist billig (5€) und simpel: Ein Adapter namens:

              Dual USB SATA 7+15 Pin Konverter Kabel für 2.5“ Festplatten und SSD.

              So kann man eine SSD an den internen USB-Port anschließen. Die Datenrate ist gefühlt gut.

              Vorher *nur* eine leere SSD in Port 1 stecken – geht mit etwas Geschick – und z.B. Ubuntu vom internen USB-Port aus installieren. Wenn alles läuft die SSD abziehen und über den USB-Adapter anschließen. Im Bios noch die Bootreihenfolge auf 1. USB-Boot verändern / AHCI-Mode wählen und los gehts – ohne Bootloader.

              Ein Hinweis noch: Bei mir funktionieren zwei WD RED 8TB Festplatten nur in Port 3 und 4, nicht aber in 1 und 2. Sie werden hier vom AHCI-Check des Bios nicht erkannt. Eine weitere, kleinere Festplatte in Port 1 aber sofort.

              Gruß,

              Frank

              1. Naja, das ist zwar nicht die optimale Lösung (die hier erwiesenermaßen bei allen funzt), aber eben auch eine. Der USB Port wird aber früher oder später dein Flaschenhals sein wenn du auf der Kiste noch andere Dinge erledigen willst, bzw generell die Arbeitsgeschwindigkeit des ganzen Systems ist nicht so gut. Aber musst du ja wissen ;). Viel Spaß damit.

  4. Hallo!

    Ich versuche nun seit so einigen Stunden mit deiner Anleitung den Server zum Laufen zu bekommen. Mein System mit einer SSD und zwei Festplatten läuft, wenn ich die SSD in Port1 und zwei Festplatten in Port 3 und 4 stecke. Aber besser wäre es ja, den Port 1 frei zu bekommen.

    Die SD-Karte wurde also mit dem Image bespielt und steckt im Microserver. Solange ich keine Platten drinstecken habe bootet dieser Ubuntu von der SSD auch von Port 5 und ich kann die SD-Karte auch mounten und drauf zugreifen. Stecke ich nun aber meine beiden Festplatten ein, so kommt nie ein Grub-Auswahlmenü hoch. Der Bootloader scheint nicht ausgeführt zu werden.

    Der Server erkennt beim Hochfahren komischerweise auch nur eine der beiden Festplatten, nie die in Port1. Beide sind in Ordnung, und beim Wechseln der Platten in den Slots sagt er immer exakt dasselbe:

    „HP AHCI SATA Controller

    Port 2: S.M.A.R.T. Capable Hard Disk – WDC WD80EFZX-68UW8n0
    Port 5: S.M.A.R.T. Capable Hard Disk – Samsung SSD 840 PRO“

    und der Bootvorgang endet irgendwann auf schwarzem Hintergrund:

    „Attempting to boot from USB DriveKey (C:)
    Attempting to boot from Hard Drive (C:)
    Attempting to boot from Nic

    Broadcom […]
    Client Mach ADDR: xx xx xx […] GUID: xxxxxxx-[…]
    DHCP…./“

    und der Slash dreht sich immer weiter.

    Im Bios habe ich folgendes gewählt:

    System Options -> USB Control -> USB enabled
    System Options -> USB Boot Support -> Enabled
    System Options -> Removeable Flash Media Boot Sequence -> Internal SD Card First
    System Options -> SATA Controller Options ->Embedded SATA Configurations -> Enable SATA AHCI Support

    Standard Boot Order (IPL) -> IPL:1 USB DriveKey (C:) […] IPL:4 Hard Drive C:

    Vielleicht hast Du ja eine Idee, was ich falsch mache.

    Danke,

    Frank

  5. Sorry aber verstehe den ganzen aufriss hier nicht? wenn ich im Bios angehebe boote von SATA 2 (ein Punkt nach der Boot reihenfolge) dann bootet er auch von dem ODD Laufwerk ergo SSD… ?
    (ich habe noch das Original Bios drauf)

      1. Das geht nur im SATA Legacy mode nicht im SATA AHCI mode… aber wer kein AHCI braucht muss wirklich nur die boot Reihenfolge im BIOS umstellen.

  6. Coole Anleitung, ich hatte zu erst ebenfalls das GRUB Problem (embedding blub bla), hab es auf 3 verschiedenen Linuxsystemen probiert ging aber nicht. Hab am Ende einfach eine andere SD Karte genommen (Kingston statt Sandisk), ging sofort und seitdem bootet der Würfel brav in sein Debian über die SSD 🙂

  7. Hallo,

    ich mache alles wie beschrieben, bekomme aber folgende Fehlermeldung, wenn ich GRUB installieren möchte:
    warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklistst are UNRELIABLE und error: will not proceed with blocklists.
    vorher meckert er noch das ext2 nicht ok wäre.

    Kannst du mir bitte weiterhelfen, bzw mir einen Tipp geben?

  8. Hi, vielen Dank für Anleitung. Ich habe alles befolgt und in meinem Fall *hd3 eingestellt. Der HP fährt hoch und es erscheint Grub. OMV startet aber nicht. Was mache ich falsch?

    Verbaut sind aktuell zwei Festplatten und die SSD hängt am ODD.

    Würde mich sehr über eine Antwort freuen.

    Viele Grüße

          1. Habe es gerade geändert. Das startverhalten bleibt leider unverändert. Es erscheint nur GNU GRUB und ab da an geht es leider nicht weiter.

            1. So schaut die Config aktuell aus:

              set default=’0′
              set timeout=’0′

              menuentry ‚Windows Server 2012 R2‘
              {
              set root=(hd3,1)
              chainloader +1
              }

              1. Hi,
                vielleicht ist es jetzt etwas spät für diese Antwort, aber ich habe bis gerade auch ne ganze Weile nach einer Antwort gesucht…
                Mein Bootloader grub.cfg funktioniert wie folgt:

                set default=’0′
                set timeout=’0′

                menuentry ‚OpenMediaVault3‘
                {
                set root=(hd3)
                drivemap -s (hd0) ${root}
                chainloader +1
                }

                Für OMV3 auf der SSD im ODD und 2 Platte in Bay 1 und 2 (daher hd3).

                1. ich bekomme leider mit genau Deiner Konfig die Fehlermeldung
                  Error: hd3 cannot get c/h/s values

                  Hast Du vielleicht ne Idee, woran das liegen könnte?

                  Gruß
                  Felix

                  1. Hi Felix,

                    Hast du auf der SSD nur OMV3 installiert und funktioniert dort der GRUB Bootloader richtig und wird die SSD korrekt erkannt im BIOS/beim Liveboot von einem Stick?
                    Und hast du auf der internen SD-Karte auch nur den Bootloader drauf und im BIOS richtig eingestellt?
                    Ich bin mittlerweile auf 4 Festplatten + SSD umgestiegen, habe nur die Zahl erhöht auf hd5 und es klappt weiterhin.
                    Hier mal mein ganzer Text ausm GRUB auf der SD-Karte (Hatte mal noch eine Variante, die auch funktioniert hat):
                    set default=’0′
                    set timeout=’0′

                    menuentry ‚OpenMediaVault3′ {
                    echo ’starting option 1‘
                    set root=(hd5)
                    set prefix=(hd5,msdos1)/boot/grub
                    chainloader +1
                    echo ‚option 1 end‘
                    }

                    menuentry ‚omv‘ {
                    echo ’starting option 2′
                    set root=(hd5)
                    drivemap -s (hd0) ${root}
                    chainloader +1
                    echo ‚option 2 end‘
                    }

                    Die Datei grub.cfg liegt auf der SD Karte hier: /boot/grub/grub.cfg

                    Vielleicht hilft dir das irgendwie weiter…

                    1. P.S.: Wenn das System fehlerfrei installiert wurde und die SD-Karte dieselbe Verzeichnisstruktur hat und auch die grub.cfg denselben Inhalt hat und auch das BIOS richtig eingestellt ist, dann kann ich mir fast nur noch einen Hardwarefehler vorstellen, da die c/h/s values ja soweit ich weiß „Wegweiser“ für Festplattensektoren sein sollen…
                      Aber da kann dir wer anders bestimmt noch besser weiterhelfen

                    2. Hallo iwilltry,

                      Danke für Deine Antwort, das Problem ist schon der Eintrag von hd5 bzw. bei mir hd3. Er kennt keine anderen hds ausser hd0.
                      Ich habe in der Grub Shell jetzt schon so einiges ausprobiert. es ist als ob dieser Server die Festplatte nicht erkennen kann. Wenn ich allerdings ein Rettungssystem boote, dann werden wieder beide Geräte (SD Karte oder USB Stick und Interne Festplatte an dem Sata Anschluß) erkannt. Ich kann dann auch ohne weiteres den Grub wieder installieren. Alles ohne Fehlermeldung. Nur wenn ich dann von SD Karte oder auch vom USB Stick boote und dann wird hd3 wieder nicht erkannt. Es ist zum verrückt werden.
                      Hardware defekt schließe ich aus, da die Festplatte funktioniert. Zur Zeit habe ich sie über einen SATA Adapter an den internen USB Anschluß direkt angeschlossen und das system läuft jetzt. Allerdings kann das ja keine dauerhafte Lösung sein.

                    3. Hi Felix,
                      Da kann ich dir so leider auch nicht weiterhelfen, ohne selber dran rumzubasteln…
                      Aber als Alternative besteht auch die Möglichkeit OMV3 direkt auf einem USB-Stick oder einer SD-Karte zu installieren, die du dann intern anschließen kannst.
                      OMV3 bietet dazu sogar ein Plugin, welches das System zum Laufen auf Flashspeichern optimiert.
                      OMV braucht auch nicht viel Platz… Bei mir belegt es (auf aktuellem Stand, mit neuestem Kernel, Updates und 9 Plugins) gerade mal 2GB.
                      Vielleicht wäre das ja eine Idee als dauerhafte Lösung für dich.

                    4. Hi iwilltry,

                      vielen Dank für Deine Mühe, ich habe den Fehler gefunden.
                      Warum auch immer habe ich damals seit der Installation nie was bei der SATA Konfiguration geändert, aber das war der Fehler. Man muss da den Raid Controller deaktivieren. Ich habe jetzt die reine SATA AHCI Umgestellt und nun läuft es, ist eigentlich klar und jetzt auch einleuchtend, bin aber nie drauf gekommen im Setup nach zu schauen, da es ja eine ganze Zeit lang lief.

                      http://www.felix-seine.de/hpmirco-ahci-support.jpg

                      Danke vielmals für Deine hilfe.

                      Gruß
                      Felix

                    5. Freut mich, dass du es lösen konntest. 😀
                      Zumindest wissen wir jetzt, dass der Rest doch funktioniert 🙂

  9. Darf ich auf einen Fehler in Deiner grub.cfg hinweisen und eine Ergänzung anfügen?

    In der Anweisung set root=(hd5,msdos1) darf KEIN Leerzeichen nach dem Komma stehen!

    Außerdem lohnt sich der Hinweis, dass hd5 natürlich nur dann das richtige Device für die SSD am SATA-Port 5 ist, wenn tatsächlich alle 4 Festplatteneinschübe des Microservers bestückt sind. Ansonsten reduziert sich die Device-Nummer um jeweils 1 für jeden unbestückten Platten-Einschub!

  10. hi,

    ja cool! das bedeutet, ich kann von der SSD am fünften SATA- / ODD-Port booten und die 3,5″-Schächte sonstwie nutzen? …ich hatte bisher nur Einträge bzgl. irgendwelchen Raid-Gefrickels gefunden. Was ist mit der SD, ist die intern oder hast Du die an einem Kartengelesegerät?

    Danke + Gruß

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.