查看未调整前的根目录容量,可以看到默认是分配 50G,但大都数的软件安装都默认在根目录
所以这里将home的容量分给根目录。
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 50G 18G 33G 36% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 200K 16G 1% /dev/shm
tmpfs 16G 106M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/mapper/centos-home 434G 33M 433G 1% /home
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 3.2G 52K 3.2G 1% /run/user/0
tmpfs 3.2G 4.0K 3.2G 1% /run/user/42
/dev/sr0 4.3G 4.3G 0 100% /media
备份home
tar cvf /tmp/home.tar /home
2、拆分
卸载home分区,释放容量
unmount /dev/mapper/home
移除home卷
lvremove /dev/mapper/centos-home
给根目录增加容量
lvextend -L +420gG /dev/mapper/centos-root
3、复原home目录
创建home分区
lvcreate -L 14G -n /dev/mapper/centos-home
新增home卷,并格式化为xfs格式
mkfs.xfs /dev/mapper/centos-home
挂载
mount /dev/centos-home
还原文件
tar -xvf /tmp/home.tar -C /
查看调整后的容量,可以看到根目录容量已经增加了!
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 470G 18G 453G 4% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 200K 16G 1% /dev/shm
tmpfs 16G 106M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 3.2G 52K 3.2G 1% /run/user/0
tmpfs 3.2G 4.0K 3.2G 1% /run/user/42
/dev/sr0 4.3G 4.3G 0 100% /media
楼下提供的是一种变相的方案,将新增空间转变为分区挂载到文件系统中使用。\x0d\x0a另一种方案是用fdisk根据磁盘分区起始和终止柱面号,删除已有分区,重新新建分区。\x0d\x0a具体方案参考以下网络文章(以下原文基本涵盖了主要技术点,如果未涉及其他具体细节,你可参考其他网络同分类文章):\x0d\x0a##################\x0d\x0a在使用linux的过程中,有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.\x0d\x0a\x0d\x0a比如:我在安装系统时给/usr/local分配器了5G的空间,但使用一段过程后发现,/usr/local最多只用到了1G.这样可以将\x0d\x0a/usr/local大小调整为1G.空出4G留作他用.\x0d\x0a\x0d\x0a本文归纳了在不破快文件系统数据的前提下对文件系统大小进行调整的方法.这里采用的是"拆东墙,补西墙"的方法.当然,如果你的\x0d\x0a磁盘中有未分区的空闲空间,你就不用减小某个分区的空间了.这实际上是一个特例.\x0d\x0a\x0d\x0a减小一个分区的大小:\x0d\x0a[partition]\x0d\x0a[partition|freespace]\x0d\x0a\x0d\x0a增加一个分区的大小:\x0d\x0a[partitiona1|partitionb|freespace]\x0d\x0a[partitiona2||partitiona2]\x0d\x0a\x0d\x0a准备工作\x0d\x0a\x0d\x0a(一)备份\x0d\x0a\x0d\x0a首先组好备份要更改的分区中的文件.对磁盘的 *** 作也许会导致数据的丢失.开始工作之前最好将重要的数据保存到别的分区.\x0d\x0a\x0d\x0a(二)获取相关信息.\x0d\x0a\x0d\x0a1,运行$df,查看文件系统信息.记下你想要调整的分区对应的挂载点和设备文件.\x0d\x0a这一步是为了查看/usr/local对应/dev/中的哪个设备文件.本文以/dev/hda7为例.\x0d\x0a\x0d\x0a2,运行#sudofdisk/dev/sda.进入fdisk,按下p,查看磁盘分区信息.记下/dev/sda8的起始柱面号,终止柱面号.设他们分别为start,end.并记下一个"Unit"包含多少字节.\x0d\x0a\x0d\x0a注意,文件系统大小和磁盘分区大小是不能等同的:起码他们的计量单位不同.在文件系统中,一般用KB,MB,GB为单位.但在fdisk中,是以磁盘的"unit"值(即一个柱面中包含的字节数)来计算的.我们运行#fdisk/dev/sda后,fdisk显示如下信息:\x0d\x0a\x0d\x0aDisk/dev/sda:163.9GB,163928604672bytes\x0d\x0a255heads,63sectors/track,19929cylinders\x0d\x0aUnits=cylindersof16065*512=8225280bytes\x0d\x0a\x0d\x0a(三)计算终止柱面号\x0d\x0a\x0d\x0ae.g:原先/usr/local的大小为5000MB,起始柱面号为2550,终止柱面号为3157.那么我现在要将它的大小改为1000MB,应该这样计算终止柱面号([3.2]=4):\x0d\x0a\x0d\x0a终止柱面号=2550+[(1000*1024*1024)/8225280]=2678\x0d\x0a\x0d\x0a使用fdisk删除原来的分区(以前分区的数据不会丢失!).然后新建一个分区,新分区于旧分区唯一的区别就在于分区大小不一样,这表现在他们终止柱面号不同.\x0d\x0a增加分区大小:终止柱面号设置为空闲空间的最后一个柱面号.\x0d\x0a减小分区大小:终止柱面号由计算得出.\x0d\x0a\x0d\x0a开始调整\x0d\x0a在开始调整之前,最好拿一张纸记下要调整的分区的下列信息:\x0d\x0a调整前大小,调整后大小.它挂载在哪个目录,对应于/dev/中的哪个设备.起始,终止柱面.\x0d\x0a\x0d\x0ae.g:调整前:5G,调整后:1G,挂载点:/usr/local,对应于/dev/hda7.起始,终止柱面分别为2550,3157.\x0d\x0a\x0d\x0a1,卸载分区\x0d\x0a最好在runlevel=1的情况下卸载.\x0d\x0a#umount/dev/\x0d\x0a\x0d\x0a2,检查文件系统的一致性\x0d\x0a#fsck-n/dev/\x0d\x0a\x0d\x0a3,如够是ext3系统,还要去除日志\x0d\x0a#tune2fs-O^has_journal/dev/\x0d\x0a\x0d\x0a注意:取出日志后的ext3系统是无法挂载的,使用\x0d\x0a\x0d\x0a#tune2fs-j/dev/重建日志.\x0d\x0a\x0d\x0a4,调整文件系统大小\x0d\x0a#resize_reiserfs-s1000M/dev/hda7\x0d\x0a调整完文件系统的大小以后,再使用以下命令以文件系统进行全面的检查:\x0d\x0a#reiserfsck--check--fix-fixable/dev/hda7\x0d\x0a\x0d\x0a5,进入fdisk,调整分区大小.\x0d\x0a#fdisk/dev/hda\x0d\x0a\x0d\x0a由于内核仍然使用旧的分区表,重启之后再进行后面的步骤.\x0d\x0a\x0d\x0a通过以上步骤,我们已经完成了硬盘分区大小调整的 *** 作,接下来回到重新调整文件系统大小的问题上来。由于硬盘分区是按照柱面来计划的,我们要在resize_reiserfs步骤上就一步到位调整文件系统大小与硬盘分区大小正好相等是比较困难的事情。所以一般是调硬盘分区比文件系统要大一点点,然后再通过以下命令进行同步(当然如果你不在意硬盘分区里面存在部分空间的话也可以忽略以下步骤):\x0d\x0a#umount/home/\x0d\x0a#resize_reiserfs/dev/hda6\x0d\x0a\x0d\x0a这样,就将/usr/local的大小调整为1G,留下了4G的空闲磁盘空间.\x0d\x0a#####################欢迎分享,转载请注明来源:内存溢出
评论列表(0条)