0、思路
創建一個新的邏輯分區,將新的邏輯分區格式化ext3(或其他類型)的文件系統,mount到磁盤空間不夠的文件系統,就跟原來的分區/文件系統一樣的使用
1、准備
1.1 注意使用VMware自帶的Expand功能不能有Snapshot存在,所以在expand之前先把所有的Snapshot刪掉了
1.2 為了以防萬一,把VMware虛擬機copy了一份備用。
2、查看掛載點
-
[ root@vnode1 ~]# df -h
-
文件系統 容量 已用 可用 已用 % 掛載點
-
/ dev/mapper/centos-root 36G 5.4G 31G 15% /
-
devtmpfs 3.9G 0 3.9G 0% /dev
-
tmpfs 3.9G 0 3.9G 0% /dev/shm
-
tmpfs 3.9G 8.5M 3.9G 1% /run
-
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
-
/ dev/sda1 497M 125M 373M 26% /boot
-
tmpfs 781M 0 781M 0% /run/user/0
3、擴展VMWare硬盤空間
3.1 關閉Vmware 的 Linux系統
3.2 在VMWare菜單中設置:
VM -> Settings… -> Hardware -> Hard Disk -> Utilities -> Expand
輸入你想要擴展到多少G,假設新增加了 40G
4、對新增加的硬盤進行分區
執行步驟:
- 執行“fdisk /dev/sda”,進入到fdisk
- 輸入p指令,查看已分區數量(有兩個 /dev/sda1 /dev/sda2)
- 輸入 n {new partition}指令,新增加一個分區
- 輸入p {primary partition},分區類型選擇為主分區
- 輸入分區號 3 {partition number} ,分區號選3(上面顯示我已經有2個分區了)
- 回車 默認(起始扇區)
- 回車 默認(結束扇區)
- 輸入t {change partition id}指令,修改分區類型
- 按提示輸入剛才的分區號3
- 輸入分區類型 8e {Linux LVM partition}
- 輸入w指令,將以上改動寫入分區表
- 最后完成,退出fdisk命令
-
[root@vnode1 ~]# fdisk /dev/sda
-
歡迎使用 fdisk (util-linux 2.23.2)。
-
-
更改將停留在內存中,直到您決定將更改寫入磁盤。
-
使用寫入命令前請三思。
-
-
命令(輸入 m 獲取幫助):p
-
....
-
設備 Boot Start End Blocks Id System
-
/dev/sda1 * 2048 1026047 512000 83 Linux
-
/dev/sda2 1026048 83886079 41430016 8e Linux LVM
-
-
命令(輸入 m 獲取幫助):n
-
Partition type:
-
p primary (2 primary, 0 extended, 2 free)
-
e extended
-
Select (default p): p
-
分區號 (3,4,默認 3):3
-
起始 扇區 (83886080-167772159,默認為 83886080):
-
將使用默認值 83886080
-
Last 扇區, +扇區 or +size{K,M,G} (83886080-167772159,默認為 167772159):
-
將使用默認值 167772159
-
分區 3 已設置為 Linux 類型,大小設為 40 GiB
-
-
命令(輸入 m 獲取幫助):t
-
分區號 (1-3,默認 3):3
-
Hex 代碼(輸入 L 列出所有代碼):8e
-
已將分區“Linux”的類型更改為“Linux LVM”
-
-
命令(輸入 m 獲取幫助):w
-
The partition table has been altered!
-
-
Calling ioctl() to re-read partition table.
-
-
WARNING: Re-reading the partition table failed with error 16: 設備或資源忙.
-
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)
-
正在同步磁盤。
重啟系統:
[root@vnode1 ~]# shutdown -r now (很重要)
4、對新增加的硬盤格式化
-
[
-
mke2fs 1.42.9 (28-Dec-2013)
-
文件系統標簽=
-
OS type: Linux
-
塊大小= 4096 (log=2)
-
分塊大小= 4096 (log=2)
-
Stride= 0 blocks, Stripe width=0 blocks
-
2621440 inodes, 10485760 blocks
-
524288 blocks (5.00%) reserved for the super user
-
第一個數據塊= 0
-
Maximum filesystem blocks= 4294967296
-
320 block groups
-
32768 blocks per group, 32768 fragments per group
-
8192 inodes per group
-
Superblock backups stored on blocks:
-
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
-
4096000, 7962624
-
-
Allocating group tables: 完成
-
正在寫入inode表: 完成
-
Creating journal (32768 blocks): 完成
-
Writing superblocks and filesystem accounting information: 完成
5、添加新LVM到已有的LVM組,實現擴容
-
[root@vnode1 ~] # lvm
-
lvm> pvcreate /dev/sda3
-
WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y
-
Wiping ext3 signature on /dev/sda3.
-
Physical volume "/dev/sda3" successfully created
-
lvm> vgextend centos /dev/sda3
-
Volume group "centos" successfully extended
-
lvm> lvextend -L + 39.9G /dev/mapper/centos-root
-
Rounding size to boundary between physical extents: 39.90 GiB
-
Size of logical volume centos/root changed from 35.47 GiB (9080 extents) to 75.37 GiB (19295 extents).
-
Logical volume root successfully resized.
-
lvm> pvdisplay
-
--- Physical volume ---
-
PV Name /dev/sda2
-
VG Name centos
-
PV Size 39.51 GiB / not usable 3.00 MiB
-
Allocatable yes ( but full)
-
PE Size 4.00 MiB
-
Total PE 10114
-
Free PE 0
-
Allocated PE 10114
-
PV UUID vtNvX3-b1yw-ePoh-YGHQ-tDhL-x0ru-mfts3k
-
-
--- Physical volume ---
-
PV Name /dev/sda3
-
VG Name centos
-
PV Size 40.00 GiB / not usable 4.00 MiB
-
Allocatable yes
-
PE Size 4.00 MiB
-
Total PE 10239
-
Free PE 34
-
Allocated PE 10205
-
PV UUID jWqvcF-R53u-ZeAy-zO2L-PbtI- 51VP-yHNZ1g
-
-
lvm> quit
-
Exiting.
-
[root@vnode1 ~] #
備注:
-
lvm 進入lvm管理
-
lvm > pvcreate /dev/sda3 這是初始化剛才的分區,必須的
-
lvm >vgextend centos /dev/sda3 將初始化過的分區加入到虛擬卷組vg_dc01
-
lvm >lvextend -L +39.9G /dev/mapper/centos-root 擴展已有卷的容量(注意容量大小)
-
lvm >pvdisplay 查看卷容量,這時你會看到一個很大的卷了
-
lvm >quit 退出
以上只是卷擴容了,下面是文件系統的真正擴容,輸入以下命令:
-
[root @vnode1 ~]# resize2fs /dev/mapper/centos-root
-
resize2fs 1.42.9 (28-Dec-2013)
-
resize2fs: Bad magic number in super-block 當嘗試打開 /dev/mapper/centos-root 時
-
找不到有效的文件系統超級塊.
報錯:當嘗試打開 /dev/mapper/centos-root 時 找不到有效的文件系統超級塊
因為我的centos7的某些分區用的是xfs的文件系統(使用df -T查看即可知道)
-
[ root@vnode1 ~]# df -T
-
文件系統 類型 1K-塊 已用 可用 已用% 掛載點
-
/ dev/mapper/centos-root xfs 37173520 5574340 31599180 15% /
-
devtmpfs devtmpfs 3987400 0 3987400 0% /dev
-
tmpfs tmpfs 3997856 0 3997856 0% /dev/shm
-
tmpfs tmpfs 3997856 8628 3989228 1% /run
-
tmpfs tmpfs 3997856 0 3997856 0% /sys/fs/cgroup
-
/ dev/sda1 xfs 508588 127152 381436 26% /boot
-
tmpfs tmpfs 799572 0 799572 0% run/user/0
-
[ root@vnode1 ~]#
將resize2fs替換為xfs_growfs,重新執行一遍即可,如下:
-
[ root@vnode1 ~]# xfs_growfs /dev/mapper/centos-root
-
meta- data=/dev/mapper/centos-root isize=256 agcount=4, agsize=2324480 blks
-
= sectsz=512 attr=2, projid32bit=1
-
= crc=0 finobt=0
-
data = bsize=4096 blocks=9297920, imaxpct=25
-
= sunit=0 swidth=0 blks
-
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
-
log = internal bsize=4096 blocks=4540, version=2
-
= sectsz=512 sunit=0 blks, lazy-count=1
-
realtime =none extsz= 4096 blocks=0, rtextents=0
-
data blocks changed from 9297920 to 19758080
最后再運行下:df -h
即可看到擴容后的磁盤空間
-
[ root@vnode1 ~]# df -h
-
文件系統 容量 已用 可用 已用 % 掛載點
-
/ dev/mapper/centos-root 76G 5.4G 71G 8% /
-
devtmpfs 3.9G 0 3.9G 0% /dev
-
tmpfs 3.9G 0 3.9G 0% /dev/shm
-
tmpfs 3.9G 8.5M 3.9G 1% /run
-
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
-
/ dev/sda1 497M 125M 373M 26% /boot
-
tmpfs 781M 0 781M 0% /run/user/0
ps:修復 unknown 區 vgreduce --removemissing centos
--- Physical volume ---
PV Name [unknown]
VG Name centos
PV Size 10.00 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 2559
Free PE 2559
Allocated PE 0
PV UUID VCwaaP-hhX8-YcSg-Cqji-ctob-AAod-wRnOLO