手记

VMware中扩展linux系统硬盘容量

首先使用VMware设置虚拟机的硬盘容量,扩展容量之后进入linux系统设置才能扩展成功。

使用Linux下的fdisk工具进行分区

首先,需要以root身份登录系统。

fdisk 命令: fdisk -l : 打印当前的磁盘分区表,这时我们可以看到磁盘的总量的确增加到16GB 了,但是分区只有以前的那几个原有的分区。

键入命令: fdisk /dev/sda “sda 就是经过扩容的硬盘,为 SCSI 硬盘, IDE 类型硬盘对应为 hda ,是对该硬盘进行操作 ”
键入: m “ 列出 fdisk 的帮助 ”
我们在这里是要添加一个新分区,即将扩容出来的那部分做成一个新分区,这样才能被操作系统挂载识别。
键入: n ” 命令 n 用于添加新分区 "
此时, fdisk 会让你选择添加为逻辑分区呢(编号从 5 开始)还是主分区(编号 1 到 4 )。

选择主分区吧,则键入 p ;选择逻辑分区键入 l 。
我们选择主分区于是:
键入: p " 选择创建主分区 "

此时, fdisk 会让你选择主分区的编号,如果已经有了主分区 sda1 , sda2 ,那么编号就选3 ,即要创建的该分区为 sda3.
键入: 3
此时, fdisk 又会让你选择该分区的开始值这个就是分区的 Start 值( start cylinder );这里最好直接按回车,如果您输入了一个非默认的数字,可能会造成空间浪费;

对于分区的 End 值(end cylinder),同样直接按回车。这时候会显示出你新建分区的柱面范围和空间大小。

此时键入: w 表示" 保存所有并退出,分区划分完毕 "

我们的新建分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的。

[root@CNGI-SIP6-BUPT ~]# fdisk /dev/sda
Command (m for help): m

Command (m for help): n //创建分区
Command action
e extended
p primary partition (1-4)
p //创建主分区
Partition number (1-4): 3 //创建id号为3的分区
First cylinder (2611-5221, default 2611): 2611 //指定开始位置
Last cylinder or +size or +sizeM or +sizeK (2611-5221, default 5221): 5221 //结束位置

Command (m for help): t //改变分区系统id
Partition number (1-4): 3 //指定分区号
Hex code (type L to list codes): 8e //指定要改成的id号,8e代表LVM。
Command (m for help): w

我们现在还不能用这个分区 , 因为我们没格式化。这时要重启系统就能够在 dev 下面看到 sda3 ,如果不重启不能进行下面操作。

重启后,在此查看fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1044 8281507+ 8e Linux LVM
/dev/sda3 1045 2088 8385930 8e Linux LVM

可以看到/dev/sda3已支持LVM。

第三步、格式化该新添加的分区

键入:
mkfs -t ext3 /dev/sda3
或者
mkfs.ext3 /dev/sda3

运行mkfs.ext3 /dev/sdb3报错“Could not stat /dev/sdb3”,但是这个分区肯定是存在的,刚刚 fdisk 加上去的,查了一下资料:

运行

partprobe

再执行mkfs.ext3 /dev/sdb4 ,就可以了

来格式化指定的分区,依次类推,现在的系统大部分都是 ext3 格式,如果你需要其它的,可以查看mkfs 的帮助。

到此为止,我们就新建了一个分区/dev/sda3,此时我们已经可以通过挂载,来使用这个新的空间。但是对于我,这并不能满足我的需求,因为服务器的服务程序是在根目录上的,目前根目录空间已经使用完毕,所以能把新建的分区使用在更目录上,分担根目录的空间,才能解决问题。

下面用到的理论是基于LVM的,如果不知道的话,建议稍微查些资料有助于理解。当然,一步步的跟我做,应该也没有问题。

第四步、扩充根分区

接着,使用vgextend 命令加到lvm组里面去,做如下操作:

[root@CNGI-SIP6-BUPT ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
LogVol00 VolGroup00 -wi-ao 3.97G
LogVol01 VolGroup00 -wi-ao 3.91G
[root@CNGI-SIP6-BUPT ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
[root@CNGI-SIP6-BUPT ~]# vgextend VolGroup00 /dev/sda3 (其中是当前需要扩充的lvm组名,可以通过df -h查看,例如我的是: /dev/mapper/VolGroup00-LogVol00)
Volume group "VolGroup00" successfully extended
You have new mail in /var/spool/mail/root
[root@CNGI-SIP6-BUPT ~]# vgdisplay
--- Volume group ---
VG Name VolGroup00
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 15.84 GB
PE Size 32.00 MB
Total PE 507
Alloc PE / Size 252 / 7.88 GB
Free PE / Size 255 / 7.97 GB
VG UUID 3vSeag-Q74D-Gn1b-OHEq-zyH1-YgSO-ThhBCp

[root@CNGI-SIP6-BUPT ~]#

主要查看Free PE / Size 255 / 7.97 GB,说明我们最多可以有7.97G的扩充空间。

最后,给根分区增加空间注意这里+的容量要比FREE小一点点1M即可

[root@CNGI-SIP6-BUPT ~]# lvextend -L +7.96G /dev/VolGroup00/LogVol00 /dev/sda3
Rounding up size to full physical extent 7.97 GB
Extending logical volume LogVol00 to 11.94 GB
Logical volume LogVol00 successfully resized
[root@CNGI-SIP6-BUPT ~]#

[root@CNGI-SIP6-BUPT ~]# vim /etc/fstab

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
~
逻辑卷现在使用的就是ext3的文件系统最后扩展一下文件系统,此处不需要卸载,就ok了

要先做fsck,检查文件系统:e2fsck -f /dev/VolGroup00/LogVol00

告诉系统,分割区大小有调整了,以下以实际情况为主
[root@CNGI-SIP6-BUPT ~]# resize2fs /dev/VolGroup00/LogVol00
(回车后控制台输出语句)
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 3129344 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 3129344 blocks long.

看到上面的信息 磁盘空间就成功增加

4人推荐
随时随地看视频
慕课网APP