Dans le travail quotidien, nous rencontrons souvent le problème de la capacité restante insuffisante d'une certaine partition, nous devons donc savoir comment étendre la partition sous le serveur Linux. Pour l'extension de partition, il existe deux situations :
Extension de partition LVM
Extension de partition non LVM
Extension de partition LVM
De manière générale, nous recommandons d'utiliser LVM, qui facilite l'expansion élastique des partitions. Concernant l'introduction de LVM, je n'entrerai pas ici dans les détails sur les volumes physiques, les groupes logiques, les volumes logiques, etc. Vous pouvez lire mes deux autres articles sur LVM.
Scénario : Le répertoire /www est notre répertoire lié au site Web. La partition montée dans ce répertoire utilise LVM À l'origine, ce répertoire dispose de 1 Go d'espace, mais pendant le fonctionnement du système, l'espace restant est uniquement le téléchargement. est inférieur à 100M. La partition doit maintenant être étendue.
Préparation et mise en œuvre du scénario
# 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
Extension de la partition
Tout d'abord, il faut voir s'il y a tout espace restant dans vgwww. Sinon, vous devez d'abord ajouter pv à vgwww.
# vgdisplay vgwww …… Free PE / Size 0 / 0 <=== 没哟剩余空间了 VG UUID xdw96k-xZNv-tmVf-Pkcx-SX7T-C1tz-ZZq3HG
D'après les informations ci-dessus, nous pouvons savoir que le vg n'a plus d'espace restant. Ensuite, vous devez ajouter pv à ce vg. Voyons maintenant s'il y a des pvs inutilisés. Sinon, nous devons d'abord créer les pvs.
# 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 ]
Comme vous pouvez le constater, il n'y a pas de pv disponible. Ensuite, créez d'abord 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 existe déjà, puis ajoutez le nouveau pv au groupe de volumes logiques vgwww.
# 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
Maintenant, vg a 255 PE supplémentaires qui ne sont pas utilisés. L'étape suivante consiste à étendre le LV
# 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了 ……
À l'heure actuelle, bien que la taille du LV ait augmenté, le système de fichiers /dev/mapper/vgwww-lvol0 n'a pas augmenté.
# df -h 文件系统 容量 已用 可用 已用% 挂载点 …… /dev/mapper/vgwww-lvol0 988M 903M 19M 98% /www
À ce stade, nous avons également besoin de xfs_growfs (pour le système de fichiers xfs) ou de resize2fs (pour le système de fichiers ext) pour le traiter.
# 该主机使用的是ext4文件系统 # resize2fs /dev/vgwww/lvol0 # df -h 文件系统 容量 已用 可用 已用% 挂载点 …… /dev/mapper/vgwww-lvol0 2.0G 904M 982M 48% /www
À ce stade, l'expansion du système de fichiers est terminée.
Extension de partitions non LVM
Récemment, j'ai rencontré cette situation. J'ai un ami dont la partition racine du serveur Alibaba Cloud est presque pleine. Le disque cloud d'origine 40G a ensuite été ajouté à 20G. Il est venu vers moi et m'a dit que j'avais déjà ajouté 20G, mais qu'il affichait toujours 40G. Il m'a demandé de l'aider à résoudre le problème.
Malheureusement, lvm n'est pas utilisé dans son répertoire racine, et je ne sais pas quoi faire pendant un moment. Plus tard, j'ai recherché des informations pertinentes et trouvé une solution. Cependant, cette solution a des limites, c'est-à-dire que pour la partition qui doit être étendue, cette partition doit être la dernière partition du disque.
Ce qui suit simule d'abord le scénario : le répertoire /bak est monté dans une partition séparée. La partition a été initialement divisée en 500 Mo, et maintenant elle doit être étendue
# df -h 文件系统 容量 已用 可用 已用% 挂载点 …… /dev/sdd1 497M 26M 472M 6% /bak
Démarrez l'opération d'expansion.
# 首先卸载挂载点 # 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
À ce stade, vous pouvez vérifier que la taille de la partition est devenue plus grande via la commande lsblk, mais le résultat de df -h n'a pas changé. Vous devez utiliser la commande xfs_growfs pour la traiter.
# xfs_growfs /dev/sdd1 # df -h 文件系统 容量 已用 可用 已用% 挂载点 …… /dev/sdd1 1020M 26M 995M 3% /bak
Autre point qui mérite une attention particulière : le système de fichiers ne doit pas être écrit sur la partition, sinon les données précédentes seront perdues
Pour plus d'articles techniques connexes, veuillez visiter la colonne Tutoriel du système Linux !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!