Cent0S7默认启用LVM2(Logical Volume Manager),把机器的一块硬盘分为两个区sda1和sda2,其中分区sda1做为系统盘/boot挂载,少许空间;sda2做为一个物理卷而且彻底做为逻辑卷组VG(Volume Group)centos,在这个逻辑卷组centos中创建三个逻辑卷LV(Logical Volume)root和home还有swap,分别挂载到根目录/和/home以及swap。而两个分区sda1和sda2上都创建了文件系统XFS,文件系统XFS做为RedHat的默认文件系统也有它的考虑,成为继ext3,ext4以后的主流文件系统。centos
几个概念的关系:M个物理硬盘HD或者物理硬盘中的分区一块儿组建为一个逻辑卷组VG及存储池,在卷组VG中建立N个逻辑卷LV,在一个逻辑卷LV中建立文件系统好比xfs。物理硬盘/分区、逻辑卷有最小基本寻址单元,CentOS7默认的大小为4MB,两者一一对应,相似于连接或者变量引用,可是一个两者关系并不是一直不变,由于物理硬盘可能发生变化而逻辑卷自动调整。建立卷组和逻辑卷,会相似于建立分区同样在磁盘开始位置写入卷的信息VGDA(卷组描述符区域,Volume Group Descriptor Area)用于识别。逻辑卷的好处在于屏蔽物理底层支撑,可自由扩展变动,而不用担忧硬盘或者分区的物理空间局限,也就不会存在为了扩展分区大小而去备份/扩展分区从新格式化硬盘等问题。bash
HD/分区--经过pvcreate->PV--经过vgcreate(vgchange)/vgextend-->VG--经过lvcreate/lvextend-->LV--经过mkfs-->FS--经过xfs_growfs等-->df磁盘生效,磁盘生效可是关键点在于,CentOS 7的/home占用太多空间,根目录相较而言就小得多,而OpenStack安装以及存储的东西都在根目录下。上传几个镜像说不定就把你的根目录空间耗尽。不像其余文件系统ext3,ext4或者reiserfs等,有命令(resize2fs,resize_reiserfs)直接支持缩小文件系统的大小,xfs支持扩展增大可是不支持缩小空间!app
因此下面要作的步骤大概为:(最好能root用户登陆系统,本机或者ssh root过去,省得没必要要的麻烦)
1. 备份/home/用户文件,要是没啥内容则忽略这步(为何非要这个/home,删掉直接用root?仍是保留它,它存在也有道理的,再说生产环境仍是不要只用root)
2. umount /home 卸载并lvremove删除这个home逻辑卷,释放它的空间
3. lvcreate新建一个小的卷,并在其上mkfs创建xfs文件系统,分配挂载到/home,拷贝回来以前的内容
(这个时候空余的空间随便你分配,能够再创建别的逻辑卷,或者直接空闲下来之后使用,也能够直奔主题的走下面的第四步)
4. 把以前的home逻辑卷释放并分配新卷home以后剩下的空间,lvextend分配给root卷,并用命令xfs_growfs扩展它的文件系统空间ssh
首先看看当前默认的磁盘使用及挂载状况,home占用的空间真的太大而根目录过小,其中的逻辑卷的挂载格式为/dev/mapper/VolumeGroupName-LogicalVolumeNameide
df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 4.8G 46G 10% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 140K 3.9G 1% /dev/shm tmpfs 3.9G 8.9M 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/mapper/centos-home 873G 12G 862G 2% /home /dev/sda1 494M 133M 362M 27% /boot cat /etc/fstatb /dev/mapper/centos-root / xfs defaults 0 0 UUID=6abe266a-12fe-4361-9417-8d317bc25c8d /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 #当前逻辑卷组和逻辑卷的状况 vgdisplay --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 6 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 931.02 GiB PE Size 4.00 MiB Total PE 238341 Alloc PE / Size 238325 / 930.96 GiB Free PE / Size 16 / 64.00 MiB VG UUID IFQnYm-fCLh-38mD-Duid-nYXQ-qktX-3F1atk lvdisplay --- Logical volume --- LV Path /dev/centos/swap LV Name swap VG Name centos LV UUID FGrPuO-2T02-1OfG-0dcz-oVTy-qcsh-IxEmd4 LV Write Access read/write LV Creation host, time localhost, 2015-11-11 04:46:00 +0800 LV Status available # open 2 LV Size 7.75 GiB Current LE 1984 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Logical volume --- LV Path /dev/centos/home LV Name home VG Name centos LV UUID x7Oh0t-6R1x-ey7G-G5OX-PnBO-VI0C-kcRuvO LV Write Access read/write LV Creation host, time localhost, 2015-11-11 04:46:01 +0800 LV Status available # open 1 LV Size 873.21 GiB Current LE 223541 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID PgscNL-rvyY-21Z1-tVe3-80vC-ONCw-VlvmYs LV Write Access read/write LV Creation host, time localhost, 2015-11-11 04:46:04 +0800 LV Status available # open 1 LV Size 50.00 GiB Current LE 12800 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0
1.备份/home目录数据ui
2.卸载这个/home并删除这个逻辑卷homespa
unmount /home
3.删除/dev/mapper/centos-home这个逻辑卷.net
lvremove /dev/mapper/centos-home Do you really want to remove active logical volume home? [y/n]: y Logical volume "home" successfully removed
4.新建一个卷home,fdisk格式化为8e格式,文件系统仍是搞为xfs,同时分配挂载到homeorm
#L表示大小,默认单位为M;n表示卷名;这里的centos是CentOS7安装系统的时候就默认创建好的卷组名 lvcreate -L 50G -n home centos WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y Wiping xfs signature on /dev/centos/home. Logical volume "home" created. #激活卷组centos,使得这个新建的home逻辑卷生效(用vgchange而不用lvchange) vgchange -ay centos #在新建的逻辑卷home上创建xfs文件系统 mkfs -t xfs /dev/centos/home #把这个新逻辑卷home挂到以前的文件夹/home中去 mount /dev/centos/home /home/
5.最后再把释放出来多余的空间分配给root卷并xfs_growfs扩展文件系统blog
lvextend -L +823G /dev/centos/root #再次激活下卷组centos vgchange -ay centos #扩展这个区 xfs_growfs root
http://blog.csdn.net/evandeng2009/article/details/49814097