ich möchte versuchen auf einem bestehenden Debian System eine zweite (größere Festplatte) zu installieren, diese für den Gebrauch mit LVM zu partitionieren, und anschließend meine gesamten Daten aus der ersten (kleineren) Platte auf die neue größere Platte zu verschieben. Ich möchte das aus Lernzwecken machen, da ich bisher keine großartigen Erfahrungen mit manuellem Partitionieren und Rumgefrickel an Systemeinstellungen (swapon, chroot, debootstrap, usw...) sammeln konnte.
(1) Wenn das System als Server fungieren soll ohne Desktopumgebung, brauche ich dann überhaupt eine SWAP-Partition? Ich werde zu 100% keinen Hibernate/Suspend-Modus benutzen, da es ja ein Server ist und 24h läuft. Oder würde es bei manchen Applikationen,Serverdiensten oder sonstigen Programmen zwangsweise zu Problemen und Fehlern führen, weil diese unbedingt eine Swap-Möglichkeit erwarten? Ubuntuusers-Dokumentation meint dazu folgendes:
Das erschreckt natürlich etwas und würde mich jetzt instinktiv dazu verleiten, auf jeden Fall swap zu verwenden. Wie seht ihr das?Nutzt ein System den Swap intensiv, so wird das System durch die häufigen Plattenzugriffe deutlich langsamer und fühlt sich „zäh“ an. Hat man allerdings keinen Swap und das RAM läuft voll, so beendet der Linux-Kernel nach eigenem Ermessen Programme, um RAM frei zu machen. Dies hat in der Regel Datenverlust zur Folge. Um genau dies zu verhindern, legt Ubuntu (so wie alle anderen Distributionen) bei der Installation standardmäßig eine Swap-Partition an.
-1a Wenn man doch swap verwenden möchte, wo sollte diese Partition liegen? Was muss man bei der Partitionierung unter Punkt 2 beachten? Ich habe gelesen, die sollte an einer bestimmten Position auf dem Festplattenbereich liegen, damit schnelle Zugriffe gewährleistet werden. Ich habs nicht mehr genau in Erinnerung, war das möglichst innen oder außen an der Festplattenspindel? Wo beginnt Block 1 bei einer Festplatte, innen ?? Also wären die Blöcke ganz am Ende die schnellsten, oder grad andersrum?
(2) /boot sollte ja niemals im LVM liegen, und der Debian-Installer hält sich ja auch dran wie ich bisher immer gesehen habe. Demnach würde ich jetzt so vorgehen: ich rufe fdisk /dev/sdb auf, um meine zweite (große, neue) Festplatte zu partionieren. Als erstes erstelle ich eine primäre Partition am vorgeschlagenen Sektor (Enter-Taste für Default), und wähle als Länge/Größe +100M aus. Das würde mir eine Partition ganz am Anfang der Platte mit einer Größe von 100Megabyte erstellen. Ist das zu sehr übertrieben für die /boot Partition und ich könnte auch getrost 50MB wählen? oder sogar mehr als 100MB? Diese Partition markier ich übrigens mit dem fdisk-Befehl 'a' "Boot-Flag", damit davon gebootet werden kann, richtig? Als ID gebe ich ihr die 83 Linux. Anschließend formatiere ich diese Partition mit mkfs.ext2 /dev/sdb1 damit sie als ext2 (ohne Journaling) arbeitet. Ist das korrekt?
(3) Jetzt kommen wir zur LVM-Installation. Das Debian- Paket "lvm2" aus der repo wird installiert. Es ruft während der Installation auch update-initramfs auf, wenn ich mich recht erinnere. Notfalls spätestens mit einem "dpkg-reconfigure lvm2" sollte das passieren. Wenn ich manuell dpkg-reconfigure lvm2 ausführe kriege ich diese Antwort...
Der Befehl hat das aber in der jetzigen (noch alten) /boot Partition auf meiner alten kleinen Platte abgelegt. Das heißt, ich müßte das doch irgendwie ausführen, damit die initramfs auf meine neue Platte und der frisch erstellten /boot Partition landet. Wie??update-initramfs: deferring update (trigger activated)
Trigger für initramfs-tools werden verarbeitet ...
update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64
(4) Ich muss nun meine zweite große Platte weiter partitionieren, und zwar so dass dort LVM betrieben werden kann. Also editiere ich mit fdisk /dev/xvdb wieder meine zweite Platte. Angenommen aus dem weiter oben erwähnten Punkt 1b würde resultieren, dass ich überhaupt keine swap Partition benötige, dann erstelle ich also in fdisk eine neue primäre Partition mit dem restlichen verfügbaren Speicherplatz der Platte und weise dieser die ID 8e Linux LVM zu. Speichern und fertig. Jetzt ist doch meine Platte eigentlich soweit bereit, oder? Wie müsste ich die swap-Partition erstellen, falls diese aus Punkt 1b doch benötigt werden sollte? Soll ich diese an Stelle 3 beim Partitionieren setzen, so daß sie ganz außen liegt? Also die erste Partition wäre ja meine boot-Partition, die zweite und größte Partition wäre für LVM gedacht, und die dritte dann für swap.
Wenn ich mir mit "fdisk -l" verschiedene Partitionierungsschemata meiner Hosts anschaue die durch die Installer automatisch angelegt wurde, dann sehe ich dass die zweite Partition nie direkt nach dem Ende der ersten anfängt. Wieso???
Beispiel, die erste Partition endet bei Sector 15988735 und die zweite fängt erst bei Sector 15990782 wieder an. Was ist mit den restlichen Sektoren dazwischen, werden die verschenkt?
Und wie ist der Bezug zwischen Sectors und Blocks? Wie kommt man auf die Blocks, die hier angezeigt werden?Device Boot Start End Blocks Id System
/dev/xvda1 * 2048 15988735 7993344 83 Linux
/dev/xvda2 15990782 16775167 392193 5 Extended
/dev/xvda5 15990784 16775167 392192 82 Linux swap / Solaris
Ich hoffe ihr könnt mir erst mal bis hierher weiterhelfen, bevor ich zu den nächten Fragen gehe (zwecks LVM einrichten, Daten kopieren, fstab anpassen, usw...).
EDIT:
Ich hab mir mehrere meiner Debian-Hosts angeschaut und mich daran orientiert, was die Installer automatisch für Partitionsierungsgrößen und Werte nehmen. Meine Test-HD habe ich also manuell wie folgt partitioniert:
Die xvdb1 ist eine primäre Partition, ich hab als Endsektor 499711 angegeben und anschließend die ID auf 83=Linux geändert und dann noch "a"ktiv gesetzt damit davon gebootet werden kann. Die xvdb2 ist eine extended Partition, bei der Abfrage habe ich einfach Enter gedrückt, damit der volle freie Speicherplatz zugewiesen werden kann. Und anschließend habe ich die letzte und dritte Partition xvdb5 erstellt, indem ich eine logische Partition gewählt habe, ebenfalls wieder alles mit Enter bestätigen. Die logische Partition xvdb5 habe ich anschließend auf die ID 8e=LinuxLVM gesetzt.Disk /dev/xvdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8d3c4252
Device Boot Start End Blocks Id System
/dev/xvdb1 * 2048 499711 248832 83 Linux
/dev/xvdb2 499712 20971519 10235904 5 Extended
/dev/xvdb5 501760 20971519 10234880 8e Linux LVM
Man sieht hier, es wird für die xvdb1 Partition bei Sektor 2048 begonnen, und endet bei 499711. Das entspricht wie von fdisk angegeben 248832 Blöcke. Hier eine Umrechnungstabelle von Sektoren zu Speichergrößen:
Code: Alles auswählen
1 KB = 1024 Byte = 2 Sektoren
1 MB = 1024 KB = 1048576 Byte = 2048 Sektoren
1 GB = 1024 MB = 1048576 KB = 2097152 Sektoren
1 TB = 1024 GB = 1048576 MB = 1073741824 KB = 2147483648 Sektoren
Und was ich auch nicht so ganz verstehe: wieso legen die Installer die LVM-Partition als logische Partition innerhalb einer extended Partition an? Was ist der Unterschied, wenn man einfach eine "primäre" Partition erstellt und ihr einfach 8e=LinuxLVM zuweist. Klärt mich mal jemand bitte auf.
Wie man sieht, habe ich keine swap-Partition hier erstellt. Der Grund hierfür liegt darin, dass ich diese innerhalb meines LVMs aufbauen werde. So kann ich die dann auch in Zukunft komfortabel ändern (vergrößern oder verkleinern).