1. 程式人生 > >虛擬機vmware centos7 擴展磁盤空間

虛擬機vmware centos7 擴展磁盤空間

rom success 提示 cati maximum bar ext nod tom

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、對新增加的硬盤格式化

[root@vnode1 ~]# mkfs.ext3 /dev/sda3
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

虛擬機vmware centos7 擴展磁盤空間