在Linux系统中,扩展VPS硬盘的方法主要有两种:通过磁盘分区和文件系统扩容,以及通过LVM(逻辑卷管理)进行扩容,下面将详细介绍这两种方法的操作步骤和技术原理。
一、通过磁盘分区和文件系统扩容
1. 登录到VPS的命令行界面,可以使用SSH工具,如PuTTY或者Xshell,输入用户名和密码进行登录。
2. 使用`fdisk -l`命令查看当前磁盘分区情况,如果需要扩展的硬盘已经存在,可以看到类似如下的输出:
Disk /dev/vda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000d7a3b Disk /dev/vdb: 1073741824 MB, 1073741824000 bytes 255 heads, 63 sectors/track, 131072 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000d7a3c
3. 如果需要扩展的硬盘还没有分区,可以使用`fdisk /dev/vdb`命令对硬盘进行分区,按照提示操作,可以创建一个新的分区。
4. 使用`mkfs -t ext4 /dev/vdb1`命令为新创建的分区创建一个ext4文件系统,`/dev/vdb1`是新创建的分区设备文件。
5. 使用`mount /dev/vdb1 /mnt`命令将新创建的分区挂载到一个目录,如`/mnt`。
6. 如果需要将新分区的文件系统扩展到整个硬盘,可以使用`resize2fs /dev/vdb1`命令,这将检查并调整文件系统的大小,使其与硬盘大小匹配。
7. 现在可以将原硬盘上的数据迁移到新硬盘上,可以使用`rsync -avz --progress /source_dir /destination_dir`命令进行数据迁移,`/source_dir`是原硬盘上的目录,`/destination_dir`是新硬盘上的目录。
8. 使用`umount /mnt`命令卸载新硬盘,然后使用`partprobe`命令让内核重新读取分区表信息,硬盘扩展完成。
二、通过LVM进行扩容
2. 使用`pvdisplay`命令查看当前PV(物理卷)情况,如果需要扩展的硬盘已经存在,可以看到类似如下的输出:
--- Physical volume --- PV Name /dev/vda2 VG Name ubuntu-vg PV Size <498.00 GiB / not usable 3.00 MiB> Allocatable yes (but full) PE Size 4.00 MiB Total PE 1280039 Free PE 0 Allocated PE 1280039 PV UUID yIZUjT-QKnJM-qRgDh-wWfNk-CJbEo-HsFKnGK
3. 如果需要扩展的硬盘还没有被添加到LVM中,可以使用`pvcreate /dev/vdb`命令将其转换为物理卷,`/dev/vdb`是需要扩展的硬盘设备文件。
4. 使用`vgextend ubuntu-vg /dev/vdb`命令将新创建的物理卷添加到现有的卷组中,`ubuntu-vg`是现有的卷组名称,`/dev/vdb`是新创建的物理卷设备文件。
5. 现在可以使用`lvdisplay`命令查看当前LV(逻辑卷)情况,如果需要扩展的逻辑卷已经存在,可以看到类似如下的输出:
--- Logical volume --- LV Name /dev/ubuntu-vg/root LV UUID yIZUjT-QKnJM-qRgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEo-HsFKnGK-0rAiZO-RgDh-wWfNk-CJbEoHsFKnGK----------------------------------------------------------------------------------------------------------------- brw-rw----T <unknown> BUS NODE TYPE DISC SIZE ROTATION STATUS PHY SIG DEV SIZE PEER DEVICE PRI ORIG_NAME /dev/ubuntu-vg/swap lvm2 [SWAP] 498.00 GiB /dev/ubuntu-vg/swap lvm2 swap swap sw 498.00 GiB (none)
6. 如果需要扩展的逻辑卷已经存在并且有足够的可用空间,可以直接使用`lvextend -l +100%FREE /dev/ubuntu-vg/root`命令进行扩容,`+100%FREE`表示将逻辑卷扩展到所有可用空间,`/dev/ubuntu-vg/root`是需要扩展的逻辑卷设备文件。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/20126.html