/ var verwendet 91,4% von 3,99 GB in einem neuen dedizierten Ubuntu-Server von 1 und 1

7

Gestern habe ich ein dediziertes Serverpaket von 1and1 gekauft. Ich habe Rails, Mongo und Nginx installiert. Wenn ich mich heute angemeldet habe, wird folgende Meldung angezeigt:

Willkommen bei Ubuntu 12.04 LTS (GNU / Linux 3.2.0-24-generic x86_64)

  • Dokumentation: https://help.ubuntu.com/

    Systeminformationen per Mi 23. Mai 21:45:00 EDT 2012

    Systemlast: 0,82 Prozesse: 114 Nutzung von / home: 6,1% von 3,99 GB Angemeldete Benutzer: 1 Speichernutzung: 4%
    IP-Adresse für eth0: xx.xx.xxx.xxx Swap-Nutzung: 0%

    => / var verwendet 91,4% von 3,99 GB

    Stellen Sie diese Daten grafisch dar und verwalten Sie dieses System unter https://landscape.canonical.com/

21 Pakete können aktualisiert werden. 6 Updates sind Sicherheitsupdates.

Ich spreche nicht zu fließend Linux oder die Befehlszeile, aber sind nicht 4 GB Erdnüsse für ein Verzeichnis?

Wenn ich mache du -a /var | sort -n -r | head -n 10

3565292 /var
3299164 /var/lib
3145752 /var/lib/mongodb
3145744 /var/lib/mongodb/journal
1048580 /var/lib/mongodb/journal/prealloc.2
1048580 /var/lib/mongodb/journal/prealloc.1
1048580 /var/lib/mongodb/journal/j._0
237272  /var/cache
147260  /var/cache/apt
114844  /var/lib/apt

und wenn ich es tue df -h

Filesystem             Size  Used Avail Use% Mounted on
/dev/sda1              3.7G  736M  3.0G  20% /
udev                   3.9G  4.0K  3.9G   1% /dev
tmpfs                  1.6G  260K  1.6G   1% /run
none                   5.0M     0  5.0M   0% /run/lock
none                   3.9G     0  3.9G   0% /run/shm
/dev/mapper/vg00-usr   4.0G 1007M  2.9G  26% /usr
/dev/mapper/vg00-var   4.0G  3.7G  146M  97% /var
/dev/mapper/vg00-home  4.0G  251M  3.6G   7% /home

Wenn ich mache fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204402688 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953524224 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: 0x6c80de21

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63     7823654     3911796   83  Linux
/dev/sda2         7823655    11743514     1959930   82  Linux swap / Solaris
/dev/sda3        11743515  1953520064   970888275   8e  Linux LVM

Disk /dev/mapper/vg00-usr: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 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: 0x00000000

Disk /dev/mapper/vg00-usr doesn't contain a valid partition table

Disk /dev/mapper/vg00-var: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 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: 0x00000000

Disk /dev/mapper/vg00-var doesn't contain a valid partition table

Disk /dev/mapper/vg00-home: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 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: 0x00000000

Disk /dev/mapper/vg00-home doesn't contain a valid partition table

und mount

/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
/dev/mapper/vg00-usr on /usr type ext4 (rw,errors=remount-ro)
/dev/mapper/vg00-var on /var type ext4 (rw,errors=remount-ro)
/dev/mapper/vg00-home on /home type ext4 (rw,errors=remount-ro)

vgdisplay::

  --- Volume group ---
  VG Name               vg00
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               925.91 GiB
  PE Size               4.00 MiB
  Total PE              237033
  Alloc PE / Size       3072 / 12.00 GiB
  Free  PE / Size       233961 / 913.91 GiB
  VG UUID               eI2V0B-oVzj-HiIh-enIh-FnrO-NJKi-KpZb0i

Meine Frage: Gibt es eine Möglichkeit, diese Grenze zu überwinden?

Methode der Aktion
quelle
Können Sie bitte die Ausgabe der folgenden Befehle separat bereitstellen: fdisk -lund mountdamit wir sehen können, welche anderen Festplatten und / oder Partitionen vorhanden sind und ob sie bereitgestellt sind.
Richard Keller
Aktualisiert mit Ihrem Vorschlag @RichardKeller
Methodofaction
@ Duopixel Ok, es wird LVM verwendet. Wie wäre es vgdisplay?
Shane Madden
@ RichardKeller vgdisplay enthalten
Methode der Aktion

Antworten:

9

Es stellte sich heraus, dass mein System die Erweiterung eines logischen Volumes online unterstützt. So lösen Sie es:

# df -h

Partitionen und logische Volumes werden aufgelistet:

Filesystem             Size  Used Avail Use% Mounted on
/dev/sda1              3.7G  736M  3.0G  20% /
udev                   3.9G  4.0K  3.9G   1% /dev
tmpfs                  1.6G  260K  1.6G   1% /run
none                   5.0M     0  5.0M   0% /run/lock
none                   3.9G     0  3.9G   0% /run/shm
/dev/mapper/vg00-usr   4.0G 1007M  2.9G  26% /usr
/dev/mapper/vg00-var   4.0G  3.7G  145M  97% /var
/dev/mapper/vg00-home  4.0G  251M  3.6G   7% /home

Wählen Sie die Partition aus, die Sie erweitern möchten, und führen Sie sie über lvextend aus

# lvextend -L +46G /dev/mapper/vg00-var

Wo +46Gist die Zahl ist GB, die Sie hinzufügen möchten, in meinem Fall 46 + 4 = 50.

Danach müssen Sie das Dateisystem so erweitern, dass es dem des logischen Volumes entspricht. Verwenden Sie dazu:

# resize2fs /dev/mapper/vg00-var

Und Sie werden eine größere Partition haben:

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/mapper/vg00-var is mounted on /var; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
Performing an on-line resize of /dev/mapper/vg00-var to 13107200 (4k) blocks.
The filesystem on /dev/mapper/vg00-var is now 13107200 blocks long.

Die neue df -hAusgabe:

Filesystem             Size  Used Avail Use% Mounted on
/dev/sda1              3.7G  737M  3.0G  20% /
udev                   3.9G  4.0K  3.9G   1% /dev
tmpfs                  1.6G  260K  1.6G   1% /run
none                   5.0M     0  5.0M   0% /run/lock
none                   3.9G     0  3.9G   0% /run/shm
/dev/mapper/vg00-usr   4.0G 1008M  2.9G  26% /usr
/dev/mapper/vg00-var    49G  3.7G   43G   8% /var
/dev/mapper/vg00-home  4.0G  251M  3.6G   7% /home
Methode der Aktion
quelle
1
Mit dem Oversized / Var sind Sie in guter Verfassung. Es ist relativ üblich, Spezialfallspeicher (wie Datenbanken, die möglicherweise endlos wachsen) auf dedizierte Volumes aufzuteilen. Viele Dinge brechen zusammen, wenn / var gefüllt wird. Wie der Mailer, mit dem Sie möglicherweise selbst Warnungen auf dem Speicherplatz senden.
rjewell
Beachten Sie, dass Sie dieses Problem überhaupt nicht hätten, wenn sie Ihre Partitionen nicht so doof eingerichtet hätten. Insbesondere / var und / usr in einem eigenen Dateisystem und / oder auf einer einfachen Partition außerhalb von LVM. Wenn Sie Ihre / -Partition ausfüllen, können Sie sie nicht einfach erweitern. Jetzt, da 50 GB Speicherplatz für / var reserviert sind, können Sie sie nicht mehr anderweitig verwenden.
Psusi
Vielen Dank für die Veröffentlichung. Mein aktueller Server von ihnen wird auf diese Weise konfiguriert. Am Ende habe ich einfach alle meine Sachen in ein / home / var verschoben und damit gelebt. Jetzt weiß ich, wie ich / var für das nächste Mal erweitern kann.
Brian Neal
4

Basierend auf Ihrer Ausgabe fdisk -lscheint es, dass Ihre /dev/sdaFestplatte tatsächlich ein 1-TB-Laufwerk ist. Das Volume, auf dem sich Ihr /varVerzeichnis befindet, ist jedoch nur ein 4-GB-Volume, das viel zu klein ist, um langfristig verwendet werden zu können.

Es ist möglich, ein logisches Volume zu erweitern, jedoch nicht, während es bereitgestellt wird. Dies wird einige Schwierigkeiten bereiten, insbesondere wenn der Server kolokalisiert ist und Sie keinen physischen Zugriff darauf haben. Das Hosting-Unternehmen kann Ihnen möglicherweise ein IPKVM-Gerät zur Verfügung stellen, mit dem Sie eine Wiederherstellungsdiskette remote starten und die Volume-Größe anpassen können. Da Sie jedoch bereits gesagt haben, dass Sie die Konsole oder Linux im Allgemeinen nicht zu fließend beherrschen, empfehle ich dringend, diese Route zu vermeiden. Ich schlage vielmehr eine der folgenden Möglichkeiten vor:

  • Wenden Sie sich an das Hosting-Unternehmen, um herauszufinden, ob einer der Mitarbeiter des technischen Supports die Größe des Volumes, auf dem das /varVerzeichnis bereitgestellt wird, auf einen vernünftigeren Wert einstellen kann, mindestens auf etwa 50 GB, da Sie über ein 1-TB-Laufwerk verfügen. Der Server wird während dieser Änderung offline geschaltet, da das /varVerzeichnis während des Vorgangs nicht bereitgestellt werden muss .
  • Alternativ können Sie eine Neuinstallation des gesamten Betriebssystems anfordern und diese auffordern, die Volume-Größe auf mindestens 50 GB einzustellen . Dies kann billiger sein, als wenn sie diese Anpassung auf dem Live-System vornehmen, da es weniger technisch ist. Da Sie nicht viel technisches Wissen mit Linux haben, wäre eine noch bessere Lösung, sie anzuweisen, das Betriebssystem neu zu installieren, ohne spezielle Einhängepunkte für /usr /varund hinzuzufügen/homeund stattdessen lieber einfach alles auf dem Root-Volume mounten. Der einzige Vorteil der Erstellung spezieller Einhängepunkte auf separaten Volumes (wie Sie es derzeit einrichten) besteht darin, dass ein volles Volume nicht das gesamte System herunterfährt, wenn es voll ist. Das Einstellen einer Volume-Größe auf 4 GB wie in Ihrem Fall erscheint jedoch sehr albern, insbesondere angesichts der Größe Ihrer Festplatte.
Richard Keller
quelle
Vielen Dank für Ihre Hilfe, Richard. Ihre Antwort hat mir geholfen, ein Tutorial von meinem Anbieter mit Anweisungen zu finden, wie dies erreicht werden kann. Ich werde die Frage mit einer Selbstantwort aktualisieren.
Methodofaction
1
Großartig. Anstatt Ihre ursprüngliche Frage mit der Antwort zu aktualisieren, fügen Sie stattdessen eine tatsächliche Antwort hinzu, sodass die Frage als beantwortet markiert werden kann.
Richard Keller
3

Über welche Einschränkung sprechen Sie? Die /varPartition ist nur 4 GB groß und Sie nutzen den größten Teil ihrer Kapazität. Sie müssen entweder nicht benötigte Dateien (z. B. einige Protokolle) entfernen oder mehr Speicherplatz von Ihrem Host erwerben (z. B. Hinzufügen eines weiteren HD-Laufwerks). Sie können die /varPartitionsgröße jedoch nur ohne Format dynamisch ändern, wenn Sie LVM (Logical Volume Manager) verwenden.

Khaled
quelle
Entschuldigung, ich bin ein absoluter Neuling in der Serververwaltung. Ich habe die Frage aktualisiert, die Festplatte hat 750 GB. Soll ich alles in ein anderes Verzeichnis verschieben?
Methodofaction
1
"Sie können die Partitionsgröße / var jedoch nicht dynamisch ohne Format ändern." Ich würde vorsichtig sein, solche Dinge zu schreiben, ohne anzugeben, dass es völlig falsch ist und tatsächlich von vielen Faktoren abhängt. Sie können die Größe einiger Dateisysteme dynamisch ändern.
Eltern
@gparent richtig, ich konnte es erhöhen, ohne es offline zu schalten serverfault.com/questions/392102/…
methodofaction
@gparent: Sie können die Größe Ihrer Partitionen dynamisch ändern, wenn Sie LVM verwenden. Ich habe weder erwartet, dass das OP LVM verwendet, noch wurde dies in der Frage angegeben. Meine Antwort war die erste, bevor ich weitere Informationen wie den FS-Typ erhielt.
Khaled
1
Genau deshalb sollten Sie Dinge erst annehmen, wenn Sie es wissen. Es ist irreführend. Er könnte Ihren Rat lesen, nicht wissen, dass Sie falsch liegen, und dann etwas anderes tun als das, was er getan hat, um das Problem zu beheben, was den Prozess erschwert.
Eltern
2

4 GB ist nicht peanuts für ein Dateisystem. Es hängt alles davon ab, was Sie eingeben (z. B. werden Ihre Basisbetriebssysteminstallationen unter 2 GB ausgeführt).

In Ihrem Fall haben Sie dort eine Datenbank, sodass die Wahrscheinlichkeit groß ist, dass Sie mehr Speicherplatz benötigen. Sie sollten wahrscheinlich mit Ihrem Hosting-Anbieter sprechen und herausfinden, was es kostet, zusätzlichen Speicherplatz zu erhalten, und dann entweder das /varDateisystem erweitern oder ein dediziertes Volume für erstellen /var/lib/mongodb.

Larsks
quelle
Der Server soll 750 GB Speicher haben, ich habe meine Frage mit aktualisiert fdisk -lund gemountet.
Methodofaction
1

Löschen Sie zunächst den aptCache mit apt-get clean. Untersuchen Sie dann die anderen großen Benutzer von Speicherplatz auf /var. Alles, was groß ist, kann an einen anderen Ort verschoben werden.

David Schwartz
quelle
Ich habe die 10 /varGB erreicht und die Bereinigung ergab 1,4 GB in einer Sekunde, was für den Moment schön ist, bis ich die Größe später ändere!
Mahdi
0

Ihre Mongo-Installation weist dem Journal vorab Speicherplatz zu, der Speicherplatz beanspruchen kann. Sie können diesen verschieben, um Speicherplatz freizugeben.

Mike
quelle