香港云服务器明白linux增加inode的方法
在创建文件系统时,可以指定块的大小。如果将来在你的文件系统中是一些比较大的文件的话,使用较大的块大小将得到较好的性能。将ext2文件系统的块大小调整为4096byte而不是缺省的1024byte,可以减少文件碎片,加快fsck扫描的速度和文件删除以及读操作的速度。另外,在ext2的文件系统中,为根目录保留了5%的空间,对一个大的文件系统,除非用作日志文件,5%的比例有些过多。可以使用命令"# mke2fs -b 4096 -m 1 /dev/hda6"将它改为1%并以块大小4096byte创建文件系统。 使用多大的块大小,需要根据你的系统综合考虑,如果系统用作邮件或者新闻服务器,使用较大的块大小,虽然性能有所提高,但会造成磁盘空间较大的浪费。比如文件系统中的文件平均大小为2145byte,如果使用4096byte的块大小,平均每一个文件就会浪费1951byte空间。如果使用 1024byte 的块大小,平均每一个文件会浪费927byte空间。在性能和磁盘的代价上如何平衡,要看具体应用的需要。 第1组命令: mkfs.ext3 -T news /dev/sda5 (指定该分区文件系统的块大小为4096) mkfs.ext3 -b 4096 /dev/sda5 第2组命令: mkfs.ext3 -i 4096 /dev/sda5 (指定每个inode的字节数为4096) mkfs.ext3 /dev/sda5 mkfs.ext3 -b 2046 -m 2 /dev/hda5 格式化并设置数据块为2KB,设置保留块为2% 或者用tune2fs -m 2 /dev/hda4 这种方法不用格式化就可设置 tune2fs -l /dev/hda5 可以查看文件系统的详细信息 tune2fs -j /dev/hda4 可以将ext2转换为ext3而不损坏数据 文件系统的检查工具:fsck e2fsck e2fsck 用时有危险,不能很好的辨识文件系统,特别是ext2,ext3混用时 fsck得用法:fsck -t ext3 /dev/hda5 或 fsck.ext3 /dev/hda5
实践得到的方法:
150G硬盘得到140M inode 命令为: (注意在格式化之前要先umount 分区才能执行下面的命令)
mkfs.ext3 -i 1024 -m 1 /dev/sda5
优化 Ext4 分区格式化后占用空间(通过降低inode数来节省磁盘空间)
有多少个 inode 就能存多少个文件,无论文件有多大,而一个 inode 要 256 字节。
而 inode 数量是由格式化程序(这里就是 mkfs.ext4)根据自动算出来的。默认是 16K 一个 inode也就是说,就算你在这个分区全是 16K 小的文件,都有足够数量的 inode 使用。
但问题是,对于我这种拿来当仓库用的分区,不可能全是 16K 的文件呀,高清电影和光盘映像都是上 G 的东西了。上面说过,一个文件要 inode,就算这个分区都塞满了,肯定还有很多 inode 没被使用,明显是浪费掉了。
扯了这么多还是在个实际例子吧,就拿我这个 2T 新硬盘为例。格式化时会输出一些信息
看到有 122101760 个 inodes 吧,一个 inode 占256字节,那么换算成 M 单位是:(122101760 * 256) / (1024 ** 20 = 29810M,差不多 30G 啊!
警告!警告!严重警告! 上面的命令怎么多了个 -n 参数?-n 参数表示模拟运行,但不格式化,这样可以看不同的格式化参数会有什么效果。如果没有这个参数,那就真的格式化了。所以对有数据的分区测试时千万要记得加上-n 参数!下面我都带上这个参数。
但是运行 mkfs.ext4 需要 root 权限,漏了 -n 太危险,可以用 tune2fs 查看文件系统各种信息。
找 Inode count 一行。
man 一下 mkfs.ext4,发现有两个参数可以制定 inode 数量
-i bytes-per-inode:多少个字节一个 inode
-N number-of-inodes:直接制定 inode 数量
默认 16k 一个 inode 相当于
把这个数字加大了就行了,最好是 1024 的倍数。比如 1M,即 1048576 字节。
其实在 /etc/mke2fs.conf 定义了一些默认值,可以用 -T 来指定类型,比如 largefile 类型就是 1M 一个 inode,上一个命令相当于
还有一个 largefile4,4M 一个 inode。不过比 largefile 才少了 300M,对于 2T 来说小意思了,没必要省,万一小文件过多 inode 不够呢?
于是
还有 1907840 个 inode,可以保存 1907840 个文件,真够了,估计也难用满。(1907840 * 256) / (1024 ** 2) = 465M, 省出 29810 - 465 = 29345M,29G!十来部高清了。
格式化也只需半分钟,占用 700M 左右,因为还有日志其它什么的,过度优化没必要了,控制在 1G 内
一诺网络香港免备案专区,提供「香港增强云服务器」和「香港特惠云服务器」两种类型的高可用弹性计算服务,搭载新一代英特尔®至强®铂金处理器,接入CN2低延时高速回国带宽线路,网络访问顺滑、流畅。机房网络架构采用了BGP协议的解决方案可提供多线路互联融合网络,使得不同网络运营商线路的用户都能通过最佳路由实现快速访问。香港云服务器低至29元/月,购买链接:https://www.enuoidc.com/vps.html?typeid=2