當磁盤分區發現不夠用時,能想道的第一個做法就是增加分區大小。但是一般Linux如果沒有采用邏輯卷管理,則動態增加分區大小很困難,一個能想道的辦法就是,備份分區文件系統數據,刪除分區,然後再重新創建分區,恢復備份的文件系統,這個做法比較玄,可能刪除分區後導致系統無法啓動。
第二個做法就是,創建一個新的邏輯分區(當然必須有未使用的磁盤空間能分配),將文件系統從老分區拷貝到新分區,然後修改fstab,使用新分區/文件系統替換老的分區/文件系統
第三種做法是,創建一個新的邏輯分區,將新的邏輯分區格式化ext3(或其他類型)的文件系統,mount到磁盤空間不夠的文件系統,就跟原來的分區/文件系統一樣的使用。
這裏採用的是第三種方式:
#查看掛載點:
df -h
#顯示:
文件系統 容量 已用 可用 已用%% 掛載點
[root@localhost zoubf]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 18G 15G 2.9G 84% /
devtmpfs 485M 0 485M 0% /dev
tmpfs 494M 84K 494M 1% /dev/shm
tmpfs 494M 7.1M 487M 2% /run
tmpfs 494M 0 494M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
/dev/sr0 3.9G 3.9G 0 100% /run/media/zoubf/CentOS
一、擴展VMWare硬盤空間
關閉Vmware 的 Linux系統,這樣,才能在VMWare菜單中設置:
VM -> Settings... -> Hardware -> Hard Disk -> Utilities -> Expand
輸入你想要擴展到多少G。本文假設你新增加了 30G
二、對新增加的硬盤進行分區、格式化
增加了空間的硬盤是 /dev/sda。 分區:
fdisk /dev/sda 操作 /dev/sda 的分區表
p 查看已分區數量(我看到有兩個 /dev/sda1 /dev/sda2)
n 新增加一個分區
p 分區類型我們選擇爲主分區
分區號選3(因爲1,2已經用過了,見上)
回車 默認(起始扇區)
回車 默認(結束扇區)
t 修改分區類型
選分區3
8e 修改爲LVM(8e就是LVM)
w 寫分區表
q 完成,退出fdisk命令
系統提示重啓。
開機後,格式化:
mkfs.ext3 /dev/sda3
三、添加新LVM到已有的LVM組,實現擴容
lvm 進入lvm管理
lvm> pvcreate /dev/sda3 這是初始化剛纔的分區,必須的
lvm>vgextend centos /dev/sda3 將初始化過的分區加入到虛擬卷組vg_dc01
lvm>lvextend -L +29.9G /dev/mapper/centos-root 擴展已有卷的容量(29.9G這個數字在後面解釋)
lvm>pvdisplay 查看卷容量,這時你會看到一個很大的捲了
lvm>quit 退出
上面那個 29.9G 怎麼來的呢?因爲你在VMWare新增加了30G,但這些空間不能全被LVM用了,你可以在上面的lvextend操作中一個一個的試探,比如 29.9G, 29.8G ... 直到不報錯爲止,這樣你就可以充分使用新增加的硬盤空間了,當然這是因爲我不懂才用的笨辦法,高手笑笑就過了吧。(我更不懂啊,原作者,我直接上了29.9G,結果就OK了)
以上只是卷擴容了,下面是文件系統的真正擴容,輸入以下命令:
resize2fs /dev/mapper/centos-root(我是這裏報錯)
(resize2fs: Bad magic number in super-block while)
然後使用這個命令
xfs_growfs /dev/mapper/centos-root
現在,屌絲們,再運行下:df -h
查看下我們機器性感的硬盤吧。