您的位置首页百科问答

稳网互联-Linux云主机如何对硬盘进行扩容

稳网互联-Linux云主机如何对硬盘进行扩容

的有关信息介绍如下:

稳网互联-Linux云主机如何对硬盘进行扩容

硬盘有disksize和partitionsize两个概念。通过网站在线购买空间扩容只是扩大了硬盘的物理空间,即disksize。在加载到主机后还需要手动扩大partitionsize。

有很多工具可以做到调整分区大小、而不损坏数据,比如windows上有pqmagic,linux上也有这样的工具,如parted,fdisk,图形界面下可以用gparted,命令行下,得看您的分区是什么文件系统,如果是ext2/ext3/ext4的话,就用resize2fs来扩容。

硬盘有disksize和partitionsize两个概念。通过网站在线购买空间扩容只是扩大了硬盘的物理空间,即disksize。在加载到主机后还需要手动扩大partitionsize。

有很多工具可以做到调整分区大小、而不损坏数据,比如windows上有pqmagic,linux上也有这样的工具,如parted,fdisk,图形界面下可以用gparted,命令行下,得看您的分区是什么文件系统,如果是ext2/ext3/ext4的话,就用resize2fs来扩容。

警告

如果硬盘容量大于1TB,建议使用parted工具进行分区。

下面以centoslinux为例,假设主机上已挂载一块10GB的硬盘,分区为“/dev/sdb1”(有些磁盘的分区可能是/dev/vd*),文件系统格式为“ext3”,挂载位置是“/home”,现在需要扩容到20GB。步骤如下(需要root权限):

先在主机内部卸载硬盘:

umount /home

之后在控制台将硬盘从主机解绑,将硬盘进行扩容后再重新绑定到主机。

下面开始扩大分区:

使用fdisk扩大分区

通过“fdisk-l”查看硬盘分区号,假设还是“/dev/sdb1”,

# fdisk -l ... Disk /dev/sdc: 21.5 GB, 21474836480 bytes 64 heads, 32 sectors/track, 20480 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x56250342 Device Boot Start End Blocks Id System /dev/sdc1 1024 10240 9438208 83 Linux

这时可以看到Disk/dev/sdb的物理容量已是20GB,不过sdb1还是原来的大小,磁柱是从1024到10240。

警告

其中的起始磁柱位置(Start对应的数字,此例中是1024)要牢记,后面重新分区时要用到。

我们开始对sdc1重新分区(不会损失数据):

# fdisk /dev/sdb

输入d删除sdb1分区。之后依次输入n,p,1建立新分区。在输入新分区起始磁柱(Firstcylinder)时,依然选择之前的数字1024,这样可以防止数据丢失。设定好后输入wq使分区表生效。

使用parted扩大分区

通过“parted-l”查看硬盘分区号,假设还是“/dev/sdb1”,

# parted -l ... Model: QEMU QEMU HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name 标志 1 1049kB 10.7GB 10.7GB ext3 primary

这时可以看到Disk/dev/sdb的物理容量已扩大,不过sdb1还是原来的大小,磁柱是从1049k到10.7GB。

警告

其中的起始位置(Start对应的值,此例中是1049k)要牢记,后面重新分区时要用到。

我们开始对sdc1重新分区(不会损失数据):

# parted /dev/sdb

先删除sdb1分区

(parted) rm 1

建立新分区。起始位置(Start)依然选择之前的值:1049k

(parted) mkpart primary 1049k -1 (parted) quit

分区扩大后我们还要通过resize2fs调整sdc1的文件系统大小

e2fsck -f /dev/sdb1 resize2fs /dev/sdb1

最后重新挂载硬盘:

mount -t ext3 -o barrier=1 /dev/sdb1 /home

这时通过“df-h”指令即可查看扩容后的分区大小