本经验均在CentOSrelease6.7(Final)下操作,如知识有欠缺之处 欢迎批评指正。
linux 的inode及block的相关知识:
1> Linux系统分区格式化文件系统之后,系统会分为Inode及Block两部分:
1)Inode为系统文件的属性信息(ls -l的结果)及指向文件实体的指针,但是没有存放文件名,一般在上级目录里的Block。
2)Block为存放数据的,ext3/ext4一般为1k,2k,4k,一般默认4k
3)一个文件不论多大至少占用一个Inode和一个Block,一个Block只能存放一个文件的内容,block的数量大于Inode的数量,多个文件可以占用同一个 inode(硬链接) 。
4)访问文件, 通过文件-->inode(验证权限)--->blocks.
5)inode 一般情况默认256B,block大小1k,2k,4k,默认4k,注意,引导分区等特殊分区除外。
6)通过df -i 查看inode的数量及使用情况,dumpe2fs /dev/sda1 查看inode及block的大小和数量。
7)一个block只能 被一个文件使用 ,如果一个文件很小block太大,剩余空间浪费,无法继续被其他文件使用。
8)block不是越大越好,根据业务的文件大小进行选择,一般就是默认 4k。
9)可以在格式化的时候改变inode及block的大小,使用mkfs.ext4 -b 2048 -I 1024 /dev/sdb2
2>Linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
1.命令格式:
df [选项] [文件]
2.参数 :
df -i 查看参数多少个
[root@techW ~]# df -iFilesystem Inodes IUsed IFree IUse% Mounted on/dev/mapper/vg_techw-lv_root 1152816 55846 1096970 5% /tmpfs 125596 1 125595 1% /dev/shm/dev/sda1 128016 38 127978 1% /boot
df -h 查看磁盘大小:
[root@techW ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_techw-lv_root 18G 1.5G 15G 9% /tmpfs 491M 0 491M 0% /dev/shm/dev/sda1 477M 36M 416M 8% /boot
查看当前系统分区的Inode及Block的总量及使用量:
[root@techW ~]# dumpe2fs /dev/sda1 | grep -i "block size"dumpe2fs 1.41.12 (17-May-2010)Block size: 1024[root@techW ~]# [root@techW ~]# [root@techW ~]# dumpe2fs /dev/sda1 | grep -i "inode size"dumpe2fs 1.41.12 (17-May-2010)Inode size: 128 ###boot分区为128,常规分区为256[root@techW ~]# [root@techW ~]# [root@techW ~]# dumpe2fs /dev/sda1 | grep -i "inode count"dumpe2fs 1.41.12 (17-May-2010)Inode count: 128016[root@techW ~]# [root@techW ~]# dumpe2fs /dev/sda1 | grep -i "block count"dumpe2fs 1.41.12 (17-May-2010)Block count: 512000Reserved block count: 25600
3>添加一块磁盘,格式化,改变Inode及 Block的大小,挂载查看硬盘的Inode及Block数量:
1)添加一块5G的磁盘,为方便区分设置为/dev/sdb,fdisk分区,然后mkfs.ext4格式化
(虚拟机增加一块5G的硬盘,分区,格式化)
[root@techW ~]# fdisk /dev/sdbDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x2d37eabe.Changes will remain in memory only, until you decide to write them.After that, of course, the previous content won't be recoverable.Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').Command (m for help): n ### add a new partitionCommand action e extended p primary partition (1-4)pPartition number (1-4): 2 ### 为做区分,选择2First cylinder (1-652, default 1): Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): Using default value 652Command (m for help): w ### write table to disk and exitThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.
分区时的参数命令:
a toggle a bootable flagb edit bsd disklabelc toggle the dos compatibility flagd delete a partitionl list known partition typesm print this menun add a new partitiono create a new empty DOS partition tablep print the partition tableq quit without saving changess create a new empty Sun disklabelt change a partition's system idu change display/entry unitsv verify the partition tablew write table to disk and exitx extra functionality (experts only)
[root@techW ~]# mkfs.ext4 /dev/sdb2mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2) ###默认的Block的大小为4096Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks327680 inodes, 1309289 blocks65464 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=134217728040 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 26 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
2)###inode的大小范围为128-2048,block的大小范围为1024-4096####
3)将Block和Inode的大小都改为2048:
[root@techW ~]# mkfs.ext4 -b 2048 -I 2048 /dev/sdb2mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)Stride=0 blocks, Stripe width=0 blocks326400 inodes, 2618578 blocks130928 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=540016640160 block groups16384 blocks per group, 16384 fragments per group2040 inodes per groupSuperblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 30 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
4)使用dumpe2fs命令查询Inode和Block的大小:
[root@techW ~]# dumpe2fs /dev/sdb2 | grep "Inode size"dumpe2fs 1.41.12 (17-May-2010)Inode size: 2048 ###大小更改成功[root@techW ~]# s /dev/sdb2 | grep "Block size"dumpe2fs 1.41.12 (17-May-2010)Block size: 2048 ###大小更改成功
新闻热点
疑难解答
图片精选