我們在使用linux虛擬機時會經常出現空間不夠用的情況,下面主要分享下如何增加VMWare虛擬機(Linux)的根目錄磁盤空間:
1. 假設本虛擬機的大小為40GB,在VMWare上將待擴容的虛擬機關機,增加其磁盤空間至50GB。



2. 啟用該虛擬機,使用Linux的fdisk分區工具給磁盤分區


根據提示可以看到此系統的磁盤接口為scsi,對應‘sda',下面進行分區:


更可以根據提示輸入m查看幫助信息,再輸入n(表示增加分區),回車后輸入p(創建主分區),回車后partition number輸入3(因為上面已經有兩個分區sda1和sda2),回車會提示輸入分區的start值(通過fdisk -l 可以看出sda2的end值為40960),我們可以指定start值為40961,end值為默認即可(即當前最大值),回車后輸入W進行保存,分區划分完畢。


可以看到/dev/sda3的Id號為83,我們要將其改成8e(LVM卷文件系統的Id),具體方法同上,如下圖所示:


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
重啟系統,格式化新添加的分區。


3. 擴展文件系統
將該分區創建為文件系統:


創建PV:
pvdisplay當前的物理卷


pvcreate指令用於將物理硬盤分區初始化為物理卷,以便被LVM使用。要創建物理卷必須首先對硬盤進行分區,並且將硬盤分區的類型設置為“8e”后,才能使用pvcreat指令將分區初始化為物理卷。




擴展VG:
當前需要擴充的lvm組名,可以通過vgdisplay查看:


vgextend指令用於動態的擴展卷組,它通過向卷組中添加物理卷來增加卷組的容量。




可以看出可擴展的空間為10GB,接下來進行LV擴展,擴展空間要小於VG 的Free PE的大小,即小於10GB。
lvextend命令用於擴展空間,如下面將root分區擴展9.98GB。
[
root@rac1 ~]# lvextend -L+9.98G /dev/vg_rac1/lv_root /dev/sda3
最后一步 使用resize2fs命令,用於擴大或者縮小未掛載的ext2,ext3或者是ext4文件系統。
resize2fs -p /dev/mapper/VolGroup-lv_root 400G


文件系統空間已經擴展成功,如果resize2fs 之后文件系統空間沒增加可以嘗試重啟虛擬機。