在使用Linux的过程中, 有时会出现因为安装系统时分区不当导致有的分区空间不足,而有的分区空间过剩的情况.下面本文将讲述解决linux系统CentOS下调整home和根分区大小的方法,需要的朋友可以参考下
owncloud的xxx/data/路径修改之后,没有web服务器写入权限,于是把多余的home分区的容量调整到了root文件夹下面,于是,解决了相关问题。下一个问题,解决外挂硬盘的问题。
目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root
1、首先查看磁盘使用情况
[root@jb51.NET~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 154G 7.9G 139G 6% /
tmpfs 1.9G 100K 1.9G 1% /dev/shm
/dev/sda1 485M 69M 391M 15% /boot
/dev/mapper/VolGroup-lv_home 299G 984M 283G 1% /home目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root
2、卸载/home
[root@jb51.Net~]# umount /home
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程:
[root@jb51.net~]# fuser -mu /home
可以找到占用分区的进程ID,用kill -9删除对应的进程
3、调整分区大小
[root@jb51.net~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
如果提示运行“e2fsck -f /dev/mapper/VolGroup-lv_home”,则执行相关命令:
[root@jb51.net~]# e2fsck -f /dev/mapper/VolGroup-lv_home 然后重新执行命令:
[root@jb51.net~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G注:resize2fs 为重新设定磁盘大小,只是重新指定一下大小,并不对结果有影响,需要下面lvreduce的配合
4、挂载上/home,查看磁盘使用情况
[root@jb51.net~]# mount /home
[root@jb51.net~]# df -h
5、设置空闲空间
使用lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。记得输入 “y”
[root@jb51.net~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home注:lvreduce -L 20G的意思为设置当前文件系统为20G,如果lvreduce -l 20G是指从当前文件系统上减少20G
使用lvreduce减小逻辑卷的大小。
注意:减小后的大小不能小于文件的大小,否则会丢失数据。
可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
[root@jb51.net~]# vgdisplay注:vgdisplay为显示LVM卷组的元数据信息
6、把闲置空间挂在到根目录下
[root@jb51.net~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root
注:lvextend -L +283G为在文件系统上增加283G
[root@jb51.net~]# resize2fs -p /dev/mapper/VolGroup-lv_root7、最后检查调整结果
[root@jb51.net~]# df -h
centos Linux 统计某个文件夹占用空间大小
1、查看当前文件夹下面各个文件的大小
ll -lh
2、查看某文件夹占用总的空间大小
du -h --max-depth=1 /usr/local/
8.0K /usr/local/etc
8.0K /usr/local/include
275M /usr/local/
参数--max-depth用来指定深入目录的层数,为1就指定1层
使用"*",可以得到文件的使用空间大小.
du -h --max-depth=1 /usr/Java/jdk1.6.0_25/*
7.9M /usr/java/jdk1.6.0_25/sample
19M /usr/java/jdk1.6.0_25/src.zip
4.0K /usr/java/jdk1.6.0_25/THIRDPARTYLICENSEREADME.txt
3、查年磁盘空间的使用空间
df -h
值得注意的是,看见一个针对du和df命令异同的文章:《du df 差异导致文件系统误报解决》。
du 统计文件大小相加
df 统计数据块使用情况
如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。
如此一来在定期删除 /var/spool/clientmqueue下面的文件时,如果没有杀掉其进程,那么空间一直没有释放。
使用下面的命令杀掉进程之后,系统恢复。
fuser -u /var/spool/clientmqueue
http://www.yayu.org/look.php?id=162
查看linux文件目录的大小和文件夹包含的文件数
统计总数大小
du -sh xmldb/
du -sm * | sort -n //统计当前目录大小 并安大小 排序
du -sk * | sort -n
du -sk * | grep guojf //看一个人的大小
du -m | cut -d "/" -f 2 //看第二个/ 字符前的文字
查看此文件夹有多少文件 /*/*/* 有多少文件
du xmldb/
du xmldb/*/*/* |wc -l
40752
解释:
wc [-lmw]
参数说明:
-l :多少行
-m:多少字符
-w:多少字
http://linux.chinaitlab.com/command/734706.html
Linux:ls以K、M、G为单位查看文件大小
#man ls
……
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
……
# ls
cuss.war nohup.out
# ls -l
total 30372
-rw-r--r-- 1 root root 31051909 May 24 10:07 cuss.war
-rw------- 1 root root 0 Mar 20 13:52 nohup.out
# ls -lh
total 30M
-rw-r--r-- 1 root root 30M May 24 10:07 cuss.war
-rw------- 1 root root 0 Mar 20 13:52 nohup.out