A. CentOS7 扩展磁盘容量(虚拟机及物理机同理)
服务器是搭建在ESXI之上,安装LAMP环境到MySQL安装时突然报错,查看日志发现文件写入失败磁盘已满。
  
 查看了下磁盘容量,果真已无多少剩余空间了,这次选择给磁盘空间作下扩充。
  
 显示如下:
  
 可见可用只剩260K,使用已经100%。
  
 首先需要关闭操作系统,然后在设置中将磁盘调整到需要的容量。
   如果选项是灰色的,说明虚拟机有快照,将其快照删除再操作。
   VMware在虚拟机设置的硬盘里面有“扩展”按钮可以进行设置。
   其他虚拟机也差不多的操作,可以网络查看。
   物理机直接增加硬盘(接入新硬盘)即可。
  
 显示信息:
  
 说明增加了空间的磁盘是/dev/sda
  
 分别键入以下参数:
  
 使用partprobe重读分区表,或者reboot重启机器。
  
 格式化/dev/sda3分区
  
 进入lvm管理
  
 LVM基础知识: http://blog.csdn.net/wuweilong/article/details/7565530 
  
 (1)初始化刚才的分区
  
 (2)查看卷和卷组
  
 要记下”VG Name”,例如这里是centos;再记下”Free PE/Size”的大小,例如这里是2048
  
 (3)将初始化过的分区加入到VG卷组
  
 刚才记下的”VG Name”就在这里使用。但是执行到这一步时报错了:
  
 网络了下,因为磁盘剩余空间实在太小了,无法执行,删除一些数据就可以了。 我删除了/home目录和~目录下的文件。
  
 (4)扩展已有卷的容量
  
 lvextend指令用于在线扩展逻辑卷的空间大小,不中断应用程序对逻辑卷的访问。其后有两个选项
  
 其余两个参数:2048是上边通过vgdisplay查看的Free PE/Size的大小,后边的目录参数/dev/mapper/centos-root可以通过df -h命令查看。
  
 (5)查看卷容量并退出
  
 上面的步骤只是卷扩容了,文件系统还没实现真正扩容
   CentOS 7: 由于使用的是 XFS
  
 CentOS 6:
  
 注:本文参考felcon的“Esxi中CentOS7 扩展磁盘容量”文章进行操作和记录。
B. Centos7 给根目录磁盘扩容
参考教程链接:https://www.cnblogs.com/Axianba/p/13049615.html
  
 大坑预警:由于算数据所需软件均安装在/opt路径下,实验室服务器根目录爆满,在我删除了一些日志文件后空间仍然少的可怜,因此给根目录磁盘扩容是解决这个问题最好的办法。正好服务器安装了新硬盘,我以为硬盘挂载好之后会更方便我处理这个问题,我就等着硬盘安装后来扩容根目录,但是发现挂载好的硬盘是无法格式化的,需要卸载后再格式化进行后续操作。
  
 执行该教程的前两步没有任何问题,在格式化硬盘时报错:
  
  mkfs.xfs: cannot open /dev/sdc1: 设备或资源忙 
  
 Google之后使用命令: dmsetup ls 
  
 也没有找到占用该磁盘的进程,因此方法不适合解决我的问题。
  
 解决办法:
  
  umount -l /dev/sdc  强行解除挂载的硬盘后,顺利完成根目录扩容。
  
 思考:这个方法既然可以给根目录扩容,是否也可以给/home目录扩容?把这个软件运行上就去试试。
C. centos系统在不关机情况下,扩展硬盘容量的方法
不关机的情况下扩展系统硬盘空间
  
   1、选择需要被扩展的虚拟机,然后右击,选择“编辑设置”,然后点击“添加”:
                                          
 2、选择要添加的硬件“硬盘”,然后点击“下一步”:
                                          
 3、选择默认,然后点击“下一步”:
                                          
 4、选择要扩展的硬盘的容量,然后点击“下一步”:
                                          
 5、选择默认,然后点击“下一步”:
                                          
 6、然后点击“完成”:
                                          
 7、新的硬盘正在添加,然后点击“下一步”:
                                          
 8、进入虚拟机系统,查看系统硬盘容量:
                                          
 没有加载时,重新扫描SCSI总线来添加设备
  
 (1)确定主机总线号
  
 ls /sys/class/scsi_host/
                                          
 (2)重扫
  
 echo "- - -">/sys/class/scsi_host/host0/scan
  
 echo "- - -">/sys/class/scsi_host/host1/scan
  
 echo "- - -">/sys/class/scsi_host/host2/scan
  
 再次查看,可以看到磁盘已经新增上来了,盘符为/dev/sdb
  
 fdisk -l
  
 9、通过partprobe重载分区表,避免重启系统:
  
         partprobe /dev/sdb
  
  注意:出现错误,则需要重启系统。 
  
 10、pvcreate 命令用于将物理硬盘分区初始化为物理卷,以便LVM使用。
  
         pvcreate /dev/sdb
11、pvdisplay 命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。
  
         pvdisplay
                                          
 12 、vgextend centos /dev/sdb:扩展卷分组,"centos"是vgdisplay命令查到的卷分组名:
  
         vgextend centos /dev/sdb   (上图中的VG name,可以看卷分组名)
  
 13、lvextend命令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。
  
       lvextend -L +100G /dev/mapper/centos-home
  
 14、xfs_growfs:作为目标XFS文件系统来扩展,你可以指定挂载点、磁盘分区或者逻辑卷(在使用LVM时),使用数据块数量来指定新的XFS文件系统的大小
  
        xfs_growfs /dev/mapper/centos-home
  
 15、查看系统硬盘空间:
  
         df -h
以上步骤描述了centos系统在不关机情况下,扩展硬盘容量的方法。
D. centos7进行添加新硬盘对根目录扩容
操作思路:先确定要扩展目录的格式,df -hT,添加新硬盘,进行分区后,创建pv,然后将空间加入到vg中,然后vg中的空间加入到要扩展的目录中,然后重新读取空间。
  
 命令:
  
 插入新硬盘,不重启识别如下命令:
   fdisk -l #没查看到相关的磁盘,进行如下操作:
  
 识别磁盘后,进行磁盘格式化:
  
 n #新建分区 p #主分区 1 #分区号 按回车 #起始扇区选择默认
   也是回车默认 #为了不浪费空间 p #查看创建出来的分区 w #保存
  
 重新让系统读取分区,输入两次:
  
 识别到如下磁盘。
   ···
   root@Repository:/# lsblk
   sdc                         8:32   0   500G  0 disk
   └─sdc1                      8:33   0   500G  0 part
   └─Repository--vg-root   252:0    0   1.1T  0 lvm  /
   sr0                        11:0    1  1024M  0 rom
   ···
  
 接下来创建pv、vg,在进行扩容。
  
 查看vg名称,并将空间加入到vg中,然后进行扩容。
  
 将空间加入到vg中
  
 扩容:
   多出来的500G加入到扩展分区中:
  
 重新读取空间:
