您的位置:首页 > 运维架构 > Linux

linux基础,磁盘管理,df,du,分区

2017-12-03 00:00 369 查看
df命令

汇报文件系统磁盘空间使用情况

df -h //用常见的格式显示出大小



查看swap空间:free命令



df -i //查看分区的inode数量及使用情况



磁盘报错“”no space left on device“”,但是磁盘空间没满,为什么,因为inode的满了。

inode满了,即使还有磁盘分区空间,也写不进去数据。

访问文件:通过文件---->inode---->blocks

生产环境:block大小如何处理
如果是大文件的业务,block尽量大些。
如果是小文件的业务,block就小一些。

df -m //以兆为单位来显示,磁盘空间使用情况



du命令

查看磁盘空间使用情况

一个文件至少要占用一个inode,和一个block,

block:ext3/ext4(fat32/nfs)文件系统block大小有1k、2k、4k,
centos6 其中引导分区为1k,其他普通分区为4k。

ext3/ext4的文件系统,最大只能4k,所有block直接给4k。

有关block的大小:磁盘读取数据是按block为单位读取的,一个block只能存放一个文件的内容,block并非越大越好,block块越大对单个的小文件较多的(0.5k)的业务,会非常浪费空间,因为不论文件多大都必须占用一个inode和一个block,对于大文件可以提升读取的效率,因为block太小,就要读多个block,这样就消耗磁盘IO,如果block大,则会读较少的block就读完数据,从而较少磁盘IO,读取效率较高,同样block太小则读取效率低。



通过ls -lh我们查看到passwd才1.2k,但是用du -sh查看空间大小竟然为4.k,这就说明不管文件多小他至少会占用到block的空间,

磁盘分区

以列表的形式查看详细的磁盘分区信息:fdisk -l



新增加的硬盘需要重启,才能识别到。

* 进入哪块磁盘:fdisk   /dev/sdb(sda、sdb、sdc等)

* 按m查看帮助文档,按n新建分区,按p查看磁盘分区,按w保存,按q不保存退出,按d删除在按数字,删除分区。

* 按完n后,可以按e选择扩展分区,也可以按p选择主分区(最多只能建4个),输入分区编号(主分区:1-4),后+1024M就是1G

* 按e选择扩展分区后,就不能在建扩展分区,建完扩展分区后可以建逻辑分区。

* 分区完后,按w保存退出,接着就是格式化分区。

格式化磁盘分区为ext3并指定每个数据块大小:mkfs.ext3 -b 1024 /dev/sdb3

mkfs.ext3 == mke2fs -t ext3

预留磁盘分区空间:mke2fs -m 1024 /dev/sdb1

格式化的时候,默认inode和block比例为:1比4



可以用mke2fs -i 8192 -t ext4 /dev/sdb1修改inode对应的比例

4块block大小为:4*4k等于16k,要改成1比2的比例就是:8k就是8192的大小



生产环境:block大小如何处理
如果是大文件的业务,block尽量大些。
如果是小文件的业务,block就小一些。

查看还未挂载的磁盘分区类型:blkid /dev/sdb1

挂载和卸载磁盘分区:

将磁盘挂载在临时挂载目录下:mount /dev/sdb3 /mnt

指定挂载分区格式:mount -t ext3 /dev/sdb3 /mnt

以只读方式挂载分区(用于恢复数据情况):mount –t ext3 –o ro /dev/sdb3 /mnt

卸载磁盘分区:umount /dev/sdb3 或者 umount /mnt(umount挂载的目录)

查看分区挂载点及格式、读写情况:mount 或者用 mount -v

挂载所有分区:mount -a

在挂载目录下是不能卸载挂载目录的,可以使用umount -l(小写的L) 强制卸载

系统默认开机自动挂载配置文件/etc/fstab

/etc/fstab配置文件

第一列:分区
第二列:挂载点
第三列:分区格式
第四列:常用分区选项
第五列:如果是1表示分区需要备份,默认是0
第六列:数字1只能使用在根分区下,其他分区要想启动的时候检测磁盘只能使用2,默认也是0

在配置文件里面的新分区,重启后会自动挂载,每个分区都有一个UUID,也可以用mount UUID="XXX" /mnt挂载分区

UUID是唯一的,就算换了插槽位置,UUID也是不会变,配置文件里头第一列可以是分区也可以写UUID。



当不能用mount挂载硬盘时,可以使用dmesg查看相关错误信息

手动增加swap空间

在生成环境中,如果内存很大,那swap设置为8G就行,如有特殊情况在扩大swap的分区即可。

dd if=/dev/zero of/tmp/newdisk bs=1M count=100

zero为系统的写0程序,会一直写0,newdisk为文件,bs为每块为1M,count为数量。

加载SWAP:swapon /tmp/newdisk
停止SWAP:swapoff /tmp/newdisk



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: