摘自 :http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224615172da2fa663f4344959e2d3956b21f0baca36d2c761e26b69fca894adcbe866d72c8713b214bda074f920eafba5153c337e751fede1ff0cdf02592dec5a3af4327b944040a9781894d731fdd1efa034795b19939550807bb9d2765894e7659df7413e01ca5b5256e76c7ac8a4b4cb268832157cce96eed6205b562e24c4b7a13b74cc05c027d6eb71930ff35785fd4b14ae75b2e0063eb08a4b9b0b5ef5f8dacfd30ebedcbde79c224bd94&p=863fc64ad49c0eb419bd9b7e0e159d&newp=c33ec64ad4db11a058ee97264f4a85231610db2151d4da1067&user=baidu&fm=sc&query=centos+%D0%E9%C4%E2%BB%FA%C0%A9%C8%DD+Re%2Dreading+the+partition+table+failed+with+error+16%3A+Device+or+resource+busy%2E&qid=a5323d5b000035f6&p1=1

遇到的情况是一模一样的,留着自己看看吧!

========================================================
背景:开发服务器是虚拟机,原来只规划了2G,后来发现硬盘不够用了,需要进行扩容。
参考文章:《实战Linux下VMware虚拟机根目录空间扩充》
http://blog.sina.com.cn/s/blog_709919050100wap1.html
注:请首先阅读参考文章,本文是在其基础之上,在不同环境中进行的案例。
同时,原文有几处地方没有交代的那么清楚,初学者可能会走弯路,在这里进行了相应补充。
========================================================
看到文章说必须基于LVM,那是不是呢?命令检验一下。据说centos默认安装也是LVM的。
[sss@localhost ~]$lvdisplay
 --- Logical volume ---
  LV Path                /dev/vg_vm/lv_root
  LV Name                lv_root
  VG Name                vg_vm
  LV UUID                bWyLlY-hYra-7hPc-2eU9-tXMH-FJFa-7ZLDoF
  LV Write Access        read/write
  LV Creation host, time vm.sss, 2015-01-05 03:29:55 +0800
  LV Status              available
  # open                 1
  LV Size                6.71 GiB
  Current LE             1718
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
  
  --- Logical volume ---
  LV Path                /dev/vg_vm/lv_swap
  LV Name                lv_swap
  VG Name                vg_vm
  LV UUID                oLj3cQ-USD7-JIGZ-HMJz-NlmA-aQf6-lECYyC
  LV Write Access        read/write
  LV Creation host, time vm.sss, 2015-01-05 03:29:56 +0800
  LV Status              available
  # open                 1
  LV Size                816.00 MiB
  Current LE             204
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
[sss@localhost ~]$sudo fdisk -l
 
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00036057

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1045     7875584   8e  Linux LVM

Disk /dev/mapper/vg_vm-lv_root: 7205 MB, 7205814272 bytes
255 heads, 63 sectors/track, 876 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_vm-lv_swap: 855 MB, 855638016 bytes
255 heads, 63 sectors/track, 104 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

 
然后,在windows虚拟机管理软件上,给虚拟机扩容——前提是关闭虚拟机OS。
来个30G,当然,进去之后,可以看到总容量增加了。到32G了,还是没有发现新的分区,虚拟机软件也已经提醒了。
[sss@localhost ~]$ sudo fdisk /dev/sda
 
 
 
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old tableThe new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

最后一步出现这样的提示。
 
但是我们发现,fdisk -l,这个分区已经出来了。
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1045     7875584   8e  Linux LVM
/dev/sda3            1045        3916    23066662   83  Linux
 
当然,这时候用ls /dev是看不到sd3的。因为还没格式化。
sudo mkfs -t ext3 /dev/sda3 现在也是报错的。
Could not stat /dev/sdb3之类的。
既然上次已经提示了要reboot,那就roboot一下吧。
[sss@localhost ~]$partprobe
还是出现同样的警告。难道还是不行?
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy).  As a result, it may not reflect all of your changes until after reboot.
管他呢,执行一下格式化吧。
[sss@localhost ~]$sudo mkfs -t ext3 /dev/sda3
居然OK了!这不吓唬人吗?
[sss@localhost ~]$ ll /dev/sda3
brw-rw----. 1 root disk 8, 3 Jan  6 10:33 /dev/sda3
嘿嘿,已经有了哦
然而,看看磁盘空间呢?怎么还是这几个分区呢
[sss@localhost ~]$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_vm-lv_root  6.7G  6.5G   83M  99% /
tmpfs                      495M   80K  495M   1% /dev/shm
/dev/sda1                  485M  326M  134M  71% /boot
 
sudo fdisk -l也可以发现,还是只有一个LVM的分区。
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1045     7875584   8e  Linux LVM
/dev/sda3            1045        3916    23066662   83  Linux
 
 
[sss@localhost ~]$ sudo lvs
  LV      VG    Attr       LSize   Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root vg_vm -wi-ao----   6.71g                                            
  lv_swap vg_vm -wi-ao---- 816.00m  
 
 
[sss@localhost ~]$ sudo pvcreate /dev/sda3
  dev_is_mpath: failed to get device for 8:3
  Physical volume "/dev/sda3" successfully created
这里有一个failed,以为出问题了呢,结果下面又success,玩我呢?不管他了。因为一查,都是这样的提示,没有问题。
 
/dev/mapper/vg_vm-lv_root  6.7G  6.5G   83M  99% /
tmpfs                      495M   80K  495M   1% /dev/shm
/dev/sda1                  485M  326M  134M  71% /boot
 
/dev/mapper/vg_vm-lv_root这个应该就是LVM的组名,这里显示的不是sda2.
来扩充这个组吧。
[sss@localhost ~]$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_vm-lv_root  6.7G  6.5G   83M  99% /
tmpfs                      495M   80K  495M   1% /dev/shm
/dev/sda1                  485M  326M  134M  71% /boot
[sss@localhost ~]$ sudo vgextend /dev/mapper/vg_vm-lv_root /dev/sda3
  Volume group name vg_vm/lv_root has invalid characters
[sss@localhost ~]$ sudo vgextend /dev/mapper/vg_vm /dev/sda3       
  Volume group "vg_vm" successfully extended
 
原来这个组名,是-之前的字符串——这要是没有文章看着对比分析,谁知道啊?
 
[sss@localhost ~]$ sudo vgdisplay
  --- Volume group ---
  VG Name               vg_vm
  System ID            
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               29.50 GiB
  PE Size               4.00 MiB
  Total PE              7553
  Alloc PE / Size       1922 / 7.51 GiB
  Free  PE / Size       5631 / 22.00 GiB
  VG UUID               8GwL0o-DTdc-Lmkc-gCCC-RBvv-yOQp-wMgpeq
 
 
[sss@localhost ~]$ sudo lvextend -L +22G /dev/vg_vm/lv_root /dev/sda3
  Extending logical volume lv_root to 28.71 GiB
  Insufficient free space: 5632 extents needed, but only 5631 available
估计是这其中用了一部分。22G没那么准了。那么就21.0G吧
[sss@localhost ~]$ sudo lvextend -L +21.9G /dev/vg_vm/lv_root /dev/sda3
  Rounding size to boundary between physical extents: 21.90 GiB
  Extending logical volume lv_root to 28.61 GiB
  Logical volume lv_root successfully resized
 
文中所说的vim /etc/fstab这一个步骤,没太看明白。
里面的内容是否有改变?因为看到少了一个mapper
我没有管他,并没有对这个文件进行修改,然后继续往下。
 
[sss@localhost ~]$ sudo e2fsck -f /dev/vg_vm/lv_root
e2fsck 1.41.12 (17-May-2010)
/dev/vg_vm/lv_root is mounted.
e2fsck: Cannot continue, aborting.
 
不知为何报错。但是这只是一个检查命令,继续往前吧。
[sss@localhost ~]$ sudo resize2fs  /dev/vg_vm/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_vm/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_vm/lv_root to 7500800 (4k) blocks.
The filesystem on /dev/vg_vm/lv_root is now 7500800 blocks long.

[sss@localhost ~]$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_vm-lv_root   29G  6.5G   22G  24% /
tmpfs                      495M   80K  495M   1% /dev/shm
/dev/sda1                  485M  326M  134M  71% /boot

 
可以看到,这个逻辑卷已经成功的扩容,根目录又可以装更多东西了。yeah!
==========================================================================

centos 6.4 扩容的更多相关文章

  1. 【转载】CentOS LVM磁盘扩容

    转自:http://blog.sina.com.cn/s/blog_8882a6260101cpfs.html EXSI5.1主机有一个linux虚拟机,系统是centos运行httpd服务,因为是多 ...

  2. virt-manager中为centos 7.2 扩容根分区

    1. 打开virt-manager,添加一块磁盘. Add Hardware --> 选中Storage --> Manager (操作参考下图) 点击Manager之后,弹出Choose ...

  3. CentOS 磁盘在线扩容

    场景介绍: 操作系统Centos7.x 系统有一块vdisk,容量为20G,共分为3个区(swap和boot分区为标准分区xfs文件系统,根分区为LVM分区,xfs文件系统) 业务需求:在VM系统不关 ...

  4. centos虚拟机存储扩容

    在vSphere Web Client上面创建的虚拟机,用了一段时间后存储无法满足需求,需要将原来的存储300G扩容到500G 点此编辑即可修改磁盘2的储存大小,但是修改此配置后,虚拟机centos是 ...

  5. centos系统磁盘扩容

    1.查看磁盘空间大小,使用df -h 命令. 2. 增加磁盘空间,例如下图使用VM虚拟机增加的方式.物理机直接安装挂载上去. 3. 使用fdisk /dev/sda, 创建新分区. 4.重启Linux ...

  6. centos /data目录扩容

    /data盘被日志撑死了,必须扩容 有一块现成的100G的/dev/sdb盘,但是mount到了/data/test目录下,而且还有应用程序在上面进行读写操作 1.先查看哪些应用程序 在占用磁盘 #f ...

  7. Win7 + VirtualBox + CentOS(无桌面), 扩容

    http://www.2cto.com/os/201401/269730.html 对于目前的网络开发者来说,比较好的搭档就是Win7+VirtualBox+CentOS的组合,既可以发挥Linux强 ...

  8. Vmware centos 虚拟机 磁盘扩容

    一,lvm ext4 扩容 1,首先关闭虚拟机,在vSphere Client 将硬盘大小增加或者新增一块硬盘 (从原来10G增加到50G) 2,开机 此时,df -hT只显示原来的磁盘大小 使用 f ...

  9. CentOS下面磁盘扩容处理

    1. 给虚拟机增加一块硬盘: 过程不表 2. 增加了硬盘之后需要重启一下 查看磁盘 ls /dev/sd* 3. 使用  gdisk 处理磁盘 注意 这里面fdisk 貌似没法处理成 LVM 必须使用 ...

随机推荐

  1. 使用.netcore部署window服务完成过程(使用nssm,Topshelf)

    一,新建.netcore控制台应用程序.本文使用.netcore2.2版本,结构如下 二,negut引用Topshelf.Log4Net,Topshelf 三,代码如下:1>Program.cs ...

  2. 初识JavaScript对象

    JavaScript对象语法.类型.属性 属性描述符(getOwnPropertyDescriptor().defineProperty()) [[Get]].[[Put]].Getter.Sette ...

  3. 阿里云环境中配置tomcat7可能出现的问题及解决方法

    前提是安装好了tomcat,但是输入ip+端口无法访问,那么情况有一下几种 (1)可能防火墙没有关闭 systemctl stop firewalld.service #停止firewall syst ...

  4. go语言入门(3)运算符及流程控制

    1,运算符 算数运算符:+   -   *   /   %   ++   -- 关系运算符:==    !=    <    >    <=    >== 逻辑运算符:按位与 ...

  5. Delphi DLL文件的动态调用

    樊伟胜

  6. 根文件系统ramdisk.image.gz && uramdisk.image.gz

    1. 根文件系统镜像ramdisk.image.gz和uramdisk.image.gz 通常需要将文件系统输入到Nand Flash当中时,一般可以将根文件系统打包成uramdisk.image.g ...

  7. 《设计模式之美》 <01>为什么需要学习掌握设计模式?

    1. 应对面试中的设计模式相关问 题学习设计模式和算法一样,最功利.最直接的目的,可能就是应对面试了.不管你是前端工程师.后端工程师,还是全栈工程师,在求职面试中,设计模式问题是被问得频率比较高的一类 ...

  8. 树莓派3B+一个外接显示器影响有线网卡无法启动的BUG

    在给一块用了不到一年的树莓派3B+重装官方系统时发现了一件诡异的事情,树莓派的有线网络会在重启后自动停掉,只有无线模块正常.即右上角的网络图标显示一个红叉叉. 在多次重装未果后,发现一个命令可以让有线 ...

  9. python面向编程: 常用模块补充与面向对象

    一.常用模块 1.模块 的用用法 模块的相互导入 绝对导入 从sys.path (项目根目录)开始的完整路径 相对导入 是指相对于当前正在执行的文件开始的路径 只能用于包内模块相互间导入 不能超过顶层 ...

  10. elk快速入门-Logstash

    Logstash1.功能:数据输入,数据筛选,数据输出2.特性:数据来源中立性,支持众多数据源:如文件log file,指标,网站服务日志,关系型数据库,redis,mq等产生的数据3.beats:分 ...