|
|
51CTO旗下网站
|
|
移动端

虚拟机磁盘逻辑卷如何扩容

空间不太够,所以在虚拟机上把分配磁盘空间扩大的20GB。在esx server上扩容磁盘空间的方法很简单,在此不提,下面具体说说如何把该扩容的磁盘空间在虚拟机上应用上去。

作者:gnix来源:博客园|2018-07-31 13:51

在esx server上安装虚拟机时,由于只分配了默认的8GB磁盘空间。空间不太够,所以在虚拟机上把分配磁盘空间扩大的20GB。在esx server上扩容磁盘空间的方法很简单,在此不提,下面具体说说如何把该扩容的磁盘空间在虚拟机上应用上去。

以下是未扩容前的状态:

  1. [root@localhost ~]# fdisk -l 
  2.  
  3. Disk /dev/sda: 21.4 GB, 21474836480 bytes 
  4.  
  5. 255 heads, 63 sectors/track, 2610 cylinders 
  6.  
  7. Units = cylinders of 16065 * 512 = 8225280 bytes 
  8.  
  9.    Device Boot      Start         End      Blocks   Id  System 
  10.  
  11. /dev/sda1   *           1          13      104391   83  Linux 
  12.  
  13. /dev/sda2              14        1044     8281507+  8e  Linux LVM 
  14.  
  15.   
  16.  
  17. [root@localhost ~]# df -h 
  18.  
  19. Filesystem            Size  Used Avail Use% Mounted on 
  20.  
  21. /dev/mapper/VolGroup-LogVol00 
  22.  
  23.                       7.0G  4.8G  1.8G  73% / 
  24.  
  25. /dev/sda1              99M   12M   82M  13% /boot 
  26.  
  27. tmpfs                 187M     0  187M   0% /dev/shm 
  28.  
  29. /dev/hdc              183M  183M     0 100% /media/VMware Tools 

可以看到sda有21.4GB,但是只利用了sda1和sda2;根目录挂载在/dev/mapper/VolGroup-LogVol00,我们要做的是,把sda上剩余的空间扩容到/dev/mapper/VolGroup-LogVol00。

1)首先,通过fdisk /dev/sda命令将sda剩余空间创建一个分区:

  1. [root@localhost ~]# fdisk /dev/sda 
  2.  
  3. The number of cylinders for this disk is set to 2610. 
  4.  
  5. There is nothing wrong with that, but this is larger than 1024, 
  6.  
  7. and could in certain setups cause problems with
  8.  
  9. 1) software that runs at boot time (e.g., old versions of LILO) 
  10.  
  11. 2) booting and partitioning software from other OSs 
  12.  
  13.    (e.g., DOS FDISK, OS/2 FDISK) 
  14.  
  15. Command (m for help): m 
  16.  
  17. Command action 
  18.  
  19.    a   toggle a bootable flag 
  20.  
  21.    b   edit bsd disklabel 
  22.  
  23.    c   toggle the dos compatibility flag 
  24.  
  25.    d   delete a partition 
  26.  
  27.    l   list known partition types 
  28.  
  29.    m   print this menu 
  30.  
  31.    n   add a new partition 
  32.  
  33.    o   create a new empty DOS partition table 
  34.  
  35.    p   print the partition table 
  36.  
  37.    q   quit without saving changes 
  38.  
  39.    s   create a new empty Sun disklabel 
  40.  
  41.    t   change a partition's system id 
  42.  
  43.    u   change display/entry units 
  44.  
  45.    v   verify the partition table 
  46.  
  47.    w   write table to disk and exit 
  48.  
  49.    x   extra functionality (experts only
  50.  
  51. Command (m for help): n 
  52.  
  53. Command action 
  54.  
  55.    e   extended 
  56.  
  57.    p   primary partition (1-4) 
  58.  
  59.  
  60. Partition number (1-4): 3 
  61.  
  62. First cylinder (1045-2610, default 1045): 
  63.  
  64. Using default value 1045 
  65.  
  66. Last cylinder or +size or +sizeM or +sizeK (1045-2610, default 2610): 
  67.  
  68. Using default value 2610 
  69.  
  70. Command (m for help): w 
  71.  
  72. The partition table has been altered! 
  73.  
  74. Calling ioctl() to re-read partition table
  75.  
  76. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. 
  77.  
  78. The kernel still uses the old table
  79.  
  80. The new table will be used at the next reboot. 
  81.  
  82. Syncing disks. 
  83.  
  84. [root@localhost ~]# 

此时可以看到多了一个sda3的分区:

  1. [root@localhost ~]# fdisk -l 
  2.  
  3. Disk /dev/sda: 21.4 GB, 21474836480 bytes 
  4.  
  5. 255 heads, 63 sectors/track, 2610 cylinders 
  6.  
  7. Units = cylinders of 16065 * 512 = 8225280 bytes 
  8.  
  9.    Device Boot      Start         End      Blocks   Id  System 
  10.  
  11. /dev/sda1   *           1          13      104391   83  Linux 
  12.  
  13. /dev/sda2              14        1044     8281507+  8e  Linux LVM 
  14.  
  15. /dev/sda3            1045        2610    12578895   83  Linux 

此时查看了一下/dev下,不知道为何没有/dev/sda3,于是重启了一下虚拟机RHEL,重启完成后,出现了/dev/sda3.

一开始在这个地方折腾了一会,如果不重启,在利用命令pvcreate /dev/sda3创建pv时,总是提示Device /dev/sda3 not found (or ignored by filtering).

重启完成后,进入lvm模式,创建pv:

  1. lvm> pvcreate /dev/sda3 
  2.   Physical volume "/dev/sda3" successfully created 

扩容vg:vgextend vg_gcc /dev/sda3

  1. lvm> vgextend VolGroup /dev/sda3 
  2.   /dev/cdrom: open failed: Read-only file system 
  3.   Attempt to close device '/dev/cdrom' which is not open
  4.   Volume group "VolGroup" successfully extended 

把lv扩容到vg的剩余容量:lvextend /dev/vg_gcc/lv_root /dev/sda3

  1. lvm> lvextend /dev/VolGroup/LogVol00 /dev/sda3 
  2.   Extending logical volume LogVol01 to 12.72 GB 
  3.   Logical volume LogVol01 successfully resized 

最后,通过resize2fs命令令新增的空间在线(on-line)生效:resize2fs /dev/vg_gcc/lv_root

  1. [root@localhost dev]# resize2fs /dev/VolGroup/LogVol00  
  2. resize2fs 1.39 (29-May-2006) 
  3. Filesystem at /dev/VolGroup/LogVol00 is mounted on /; on-line resizing required 
  4. Performing an on-line resize of /dev/VolGroup/LogVol00 to 5005312 (4k) blocks. 
  5. The filesystem on /dev/VolGroup/LogVol00 is now 5005312 blocks long. 

效果如下:

  1. [root@localhost dev]# df -h 
  2. Filesystem            Size  Used Avail Use% Mounted on 
  3. /dev/mapper/VolGroup-LogVol00 
  4.                        19G  4.8G   13G  28% / 
  5. /dev/sda1              99M   12M   82M  13% /boot 
  6. tmpfs                 187M     0  187M   0% /dev/shm 
  7. /dev/hdc              3.4G  3.4G     0 100% /media/RHEL_5.2 x86_64 DVD 

至此,扩容已成功完成。

【编辑推荐】

  1. 如何用C语言实现一个虚拟机?
  2. 深入了解通过访客虚拟机群集实现共享虚拟存储
  3. OpenStack虚拟机如何获取metadata
  4. Java虚拟机,这是值得你去进阶的方向
  5. CyberMiles 发布虚拟机CVM及高级编程语言Lity,为智能合约赋能
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SOA概念、技术与设计

在本书中,Thomas ERL呈现了第一部端对端的教程,提供了从基层开始的面向服务的建模与设计的逐步指导。通过逐步的、清晰生动的、良好的SOA...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊