Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie kann die Partitionskapazität unter Linux erweitert werden, wenn die Partitionskapazität nicht ausreicht?

Wie kann die Partitionskapazität unter Linux erweitert werden, wenn die Partitionskapazität nicht ausreicht?

齐天大圣
齐天大圣Original
2020-11-19 14:28:593331Durchsuche

Bei der täglichen Arbeit stoßen wir häufig auf das Problem der unzureichenden Restkapazität einer bestimmten Partition. Daher müssen wir wissen, wie wir die Partition unter dem Linux-Server erweitern können. Für die Partitionserweiterung gibt es hier zwei Situationen

  • LVM-Partitionserweiterung

  • Nicht-LVM-Partitionserweiterung

LVM-Partitionserweiterung

Im Allgemeinen empfehlen wir die Verwendung von LVM, also Bequeme elastische Erweiterung von Partitionen. Bezüglich der Einführung von LVM werde ich hier nicht näher auf physische Volumes, logische Gruppen, logische Volumes usw. eingehen. Sie können meine beiden anderen Artikel über LVM lesen.

Szenario: Das Verzeichnis /www ist unser Website-bezogenes Verzeichnis. Ursprünglich verfügt dieses Verzeichnis über 1 GB Speicherplatz, der verbleibende Speicherplatz beträgt jedoch weniger als 100 MB. Jetzt muss die Partition erweitert werden.

Vorbereitende Arbeiten zur Umsetzung des Szenarios

# pvcreate /dev/sdb1
# vgcreate vgwww /dev/sdb1
# lvcreate -l 255 vgwww
# mkfs.ext4 /dev/vgwww/lvol0 
# mount /dev/vgwww/lvol0 /www
# dd if=/dev/zero of=/www/bigfile bs=1M count=900
# df -h
……
/dev/mapper/vgwww-lvol0  988M  903M   19M   98% /www

Partitionserweiterung

Zunächst müssen wir prüfen, ob in vgwww noch Platz vorhanden ist. Wenn nicht, müssen Sie zuerst pv zu vgwww hinzufügen.

# vgdisplay vgwww
 ……
  Free  PE / Size       0 / 0   <=== 没哟剩余空间了
  VG UUID               xdw96k-xZNv-tmVf-Pkcx-SX7T-C1tz-ZZq3HG

Anhand der obigen Informationen können Sie erkennen, dass im VG kein Speicherplatz mehr vorhanden ist. Dann müssen Sie pv zu diesem vg hinzufügen. Schauen wir uns nun an, ob es ungenutzte PVs gibt. Wenn nicht, müssen wir zuerst die PVs erstellen.

# pvscan
  PV /dev/sdb1   VG vgwww           lvm2 [1020.00 MiB / 0    free]
  Total: 1 [1020.00 MiB] / in use: 1 [1020.00 MiB] / in no VG: 0 [0   ]

Wie Sie sehen, ist kein PV verfügbar. Erstellen Sie also zuerst das pv

# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created.
# pvscan
  PV /dev/sdb1   VG vgwww           lvm2 [1020.00 MiB / 0    free]
  PV /dev/sdc1                      lvm2 [1023.00 MiB]
  Total: 2 [<2.00 GiB] / in use: 1 [1020.00 MiB] / in no VG: 1 [1023.00 MiB]

pv, das bereits existiert, und fügen Sie dann das neue pv zur logischen Volume-Gruppe vgwww hinzu.

# vgextend vgwww /dev/sdc1
  Volume group "vgwww" successfully extended
# vgdisplay vgwww
 ……
  Free  PE / Size       255 / 1020.00 MiB
  VG UUID               xdw96k-xZNv-tmVf-Pkcx-SX7T-C1tz-ZZq3HG

Jetzt hat vg 255 weitere PEs, die nicht verwendet werden. Der nächste Schritt besteht darin, das LV zu erweitern.

# lvresize -l +255 /dev/vgwww/lvol0 
  Size of logical volume vgwww/lvol0 changed from 1020.00 MiB (255 extents) to 1.99 GiB (510 extents).
  Logical volume vgwww/lvol0 successfully resized.
  
# lvdisplay 
  --- Logical volume ---
  ……
  LV Size                1.99 GiB  <=== lv已经变为了1.99G了
  ……

Obwohl die Größe des LV zugenommen hat, hat sich das Dateisystem /dev/mapper/vgwww-lvol0 nicht vergrößert.

# df -h
文件系统                 容量  已用  可用 已用% 挂载点
……
/dev/mapper/vgwww-lvol0  988M  903M   19M   98% /www

Zu diesem Zeitpunkt benötigen wir auch xfs_growfs (für das xfs-Dateisystem) oder resize2fs (für das ext-Dateisystem), um es zu verarbeiten.

# 该主机使用的是ext4文件系统
# resize2fs /dev/vgwww/lvol0 
# df -h
文件系统                 容量  已用  可用 已用% 挂载点
……
/dev/mapper/vgwww-lvol0  2.0G  904M  982M   48% /www

An diesem Punkt ist die Erweiterung des Dateisystems abgeschlossen.

Erweiterung von Nicht-LVM-Partitionen

Vor Kurzem bin ich auf diese Situation gestoßen. Ich habe einen Freund, dessen Root-Partition des Alibaba Cloud-Servers fast voll ist. Die ursprüngliche 40G-Cloud-Festplatte wurde später zu 20G hinzugefügt. Er kam zu mir und sagte, dass ich bereits 20G hinzugefügt hätte, aber es wurden immer noch 40G angezeigt. Er bat mich, ihm bei der Lösung des Problems zu helfen.

Leider wird lvm nicht in seinem Stammverzeichnis verwendet und ich weiß eine Weile nicht, was ich tun soll. Später suchte ich nach relevanten Informationen und fand eine Lösung. Diese Lösung weist jedoch Einschränkungen auf, d. h. für die zu erweiternde Partition muss diese Partition die letzte Partition der Festplatte sein.

Das Folgende simuliert zunächst das Szenario: Das /bak-Verzeichnis wird zunächst in 500 MB eingeteilt und muss nun erweitert werden.

# df -h
文件系统                 容量  已用  可用 已用% 挂载点
……
/dev/sdd1                497M   26M  472M    6% /bak

Starten Sie den Erweiterungsvorgang. Zeigen Sie die Partition mit dem Befehl lsblk an. Die Partitionsgröße hat zugenommen, aber das Ergebnis von df -h bleibt unverändert. Sie müssen den Befehl xfs_growfs verwenden, um es zu verarbeiten.

# 首先卸载挂载点

# fdisk /dev/sdd
……
命令(输入 m 获取帮助):p
……
   设备 Boot      Start         End      Blocks   Id  System
/dev/sdd1            2048     1026047      512000   83  Linux

#记住开始点,即2048。然后删除该分区,重新建立分区
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-2097151,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
将使用默认值 2097151
分区 1 已设置为 Linux 类型,大小设为 1023 MiB

命令(输入 m 获取帮助):w


# partprobe

Eine weitere Sache, die besondere Aufmerksamkeit erfordert: Sie dürfen nicht in das Dateisystem auf dieser Partition schreiben, sonst gehen die vorherigen Daten verlorenWeitere verwandte technische Artikel finden Sie im

Linux-System-Tutorial Spalte!

Das obige ist der detaillierte Inhalt vonWie kann die Partitionskapazität unter Linux erweitert werden, wenn die Partitionskapazität nicht ausreicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn