Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631124
  • 博文数量: 244
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-27 09:53
个人简介

记录学习,记录成长

文章分类

全部博文(244)

我的朋友

分类: LINUX

2015-07-13 17:34:29

mkfs.ext3 是最常用的命令之后. 跟他同一效果的命令是 mkfs -t ext3  都将会把指定分区格式化为ext3格式。

执行此命令之后,请确定你要格式化的分区已经没有重要数据,否则不要轻易执行它。

ext3文件系统是linux下最常用的文件系统格式,比ext2多了日志记录功能,牺牲了一点空间利用率,换来了数据的安全.

 

命令使用,比如我们用fdisk /dev/sda 给磁盘先分了一个分区 /dev/sda5 分区完记得执行partprobe将分区信息写入内核.

此时必须把分区格式化之后,才可以挂载到文件系统.

mkfs.ext3 /dev/sda5   格式化完毕之后,就可以正常挂载了  mount /dev/sda5 /data

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 这个命令可是我们进行硬盘优化的最基本命令之一,下面简单介绍一些关于磁盘优化的信息.

 

 

mkfs -t ext3 /dev/sda5
mkfs.vfat /dev/sdb2
mount -t vfat /dev/sdb2 /sdb2
文件系统的优化:
mkfs.ext3 -b 1024 /dev/sda
文件的大小来决定数据块的大小
文件很大,但是数据块很小,影响读取的速度
文件很小,但是数据块很大,浪费数据块
mkfs.ext3 -b 1024 -i 2048 -m 1 /dev/sdb6
tune2fs -l /dev/sdb6
tune2fs -i 2 /dev/sdb5 变成两天
tune2fs -c 3 /dev/sdb5 次数

格式化时创建block。文件系统的存储原理,block size:1k.2k.4k
mkfs.ext3 -b 1024 /dev/sdb1
比较不同的block size对磁盘使用的影响:
[root@rhel /]# mkfs.ext3 -b 1024 /dev/sdb1
[root@rhel /]# mkfs.ext3 -b 4096 /dev/sdb2

[root@rhel /]# mount /dev/sdb1 /mnt/d1
[root@rhel /]# mount /dev/sdb2 /mnt/d2

[root@rhel /]# mkdir /mnt/d1/dir
[root@rhel /]# mkdir /mnt/d2/dir

[root@rhel /]# echo "yliang">/mnt/d1/dir/test
[root@rhel /]# echo "yliang">/mnt/d2/dir/test

[root@rhel /]# ls -lh /mnt/d[12]
/mnt/d1:
总用量 14K
drwxr-xr-x 2 root root 1.0K 4月 4 14:36 dir
drwx------ 2 root root 12K 4月 4 14:20 lost+found
-rw-r--r-- 1 root root    7 4月 4 14:29 test

/mnt/d2:
总用量 24K
drwxr-xr-x 2 root root 4.0K 4月 4 14:36 dir
drwx------ 2 root root 16K 4月 4 14:21 lost+found
-rw-r--r-- 1 root root    7 4月 4 14:29 test
可以观察到两个dir目录文件大小不同,一个是1k另一个是4k,这就是因为两个分区的block size不同。

[root@rhel /]# ls -lh /mnt/d[12]/dir/test
-rw-r--r-- 1 root root 7 4月 4 14:36 /mnt/d1/dir/test
-rw-r--r-- 1 root root 7 4月 4 14:36 /mnt/d2/dir/test
两个test文件都是7字节

[root@rhel /]# du -sh /mnt/d[12]/dir
2.0K    /mnt/d1/dir     一块是1k,test和dir两个文件就是2k
8.0K    /mnt/d2/dir     一块是4k,test和dir两个文件就是8k
统计两个目录的大小是不一样的。

索引节点:
每个节点使用多少个block数据块
mkfs.ext3 -b 4096 -i 8192 /dev/sdb1 每两个block编一个号

[root@rhel ~]# mkfs.ext3 -b 4096 -i 4096 /dev/sdb1
[root@rhel ~]# mkfs -t ext3 -b 4096 -i 8192 /dev/sdb2
[root@rhel ~]# e2label /dev/sdb1
[root@rhel ~]# e2label /dev/sdb2
[root@rhel ~]# mount LABEL=d1 /mnt/d1
[root@rhel ~]# mount LABEL=d2 /mnt/d2
这里表面上是看不出什么的,要使用tune2fs来查看,这个工具是用来查看ext2/ext3文件系统属性的。
[root@rhel ~]# tune2fs -l /dev/sdb1 |more
tune2fs 1.35 (28-Feb-2004)
Filesystem volume name:   d1
Last mounted on:          <not available>
Filesystem UUID:          226763f8-23e4-43ae-8ee8-6268b8b4ca03
Filesystem magic number: 0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal resize_inode filetype needs_recovery spars
e_super large_file
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              25600
Block count:              25596
Reserved block count:     1279
Free blocks:              23754
Free inodes:              25589
First block:              0
Block size:               4096
Fragment size:            4096
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         25600
Inode blocks per group:   800
Filesystem created:       Fri Apr 4 15:20:27 2008
Last mount time         Fri Apr 4 15:26:55 2008
Last write time:          Fri Apr 4 15:26:55 2008
Mount count:              1
Maximum mount count:      33
Last checked:             Fri Apr 4 15:20:27 2008
Check interval:           15552000 (6 months)
Next check after:         Wed Oct 1 15:20:27 2008
Reserved blocks uid     0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               128
Journal inode:            8
Default directory hash:   tea
Directory Hash Seed:      2dffdd47-c0fc-47a1-8af4-e3e906269805
Journal backup:           inode blocks

这两条信息就是
Inode count:              25600
Block count:              25596

保留块:是为管理员保留的磁盘管理空间,为防止磁盘空间剩余太少以致管理员无法编辑配置文件而设置的,默认是总数据块的5%。

用tune2fs -l /dev/sdb1查看保留块信息
[root@rhel ~]# tune2fs -l /dev/sdb1 |grep Reserved
Reserved block count:     5119
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

mkfs.ext3 -b 4096 -i 8192 -m 2 /dev/sdb1
设置保留块的数量占总数的 2%。再用tune2fs查看


调整ext2/ext3文件系统
tune2fs是一个调整ext2/ext3文件系统的工具。
-l <device>      查看文件系统信息
-c <count>       设置强制自检的挂载次数
-i <n day>       设置强制自检的间隔时间
-m <percentage> 保留块的百分比
-j               将ext2文件系统转换为ext3格式

例:-c
没挂载过的分区挂载次数为0,最大34
tune2fs -l /dev/sdb1
Mount count:              0
Maximum mount count:      34
挂载后再查看
mount /dev/sdb1 /mnt/d1
tune2fs -l /dev/sdb1
Mount count:              1
Maximum mount count:      34
挂载过1次了,达到34的时候就会强制自检
-c就是来改变这个最大次数的
[root@rhel ~]# tune2fs -c 2 /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Setting maximal mount count to 2
[root@rhel ~]# tune2fs -l /dev/sdb1 |grep -i "mount count"
Mount count:              1
Maximum mount count:      2
这个值只在系统启动过程中起作用
把最大值设为负值就永远不会自检了
tune2fs -c -1 /dev/sdb1

-i <n day>       设置强制自检的间隔时间
tune2fs -l /dev/sdb1
Check interval:           15552000 (6 months)默认的间隔是6个月
如果不自检可以把-i 设置为0

如果这样:tune2fs -c -1 -i 0 /dev/sdb1挂载次数和时间都不能让它自检了,要想自检只能手工的 fsck


-m <percentage> 保留块的百分比

[root@rhel ~]# tune2fs -m 2 /dev/sdb2
tune2fs 1.35 (28-Feb-2004)
Setting reserved blocks percentage to 2 (532 blocks)


-j               将ext2文件系统转换为ext3格式
[root@rhel ~]# df -T
/dev/sdb2     ext2      103129      1550     96255   2% /mnt/d2
umount /dev/sdb2
tune2fs -j /dev/sdb2
mount /dev/sdb2

ext3不能被转换为ext2的,但是可以把ext3类型的强制挂载为ext2的,这时不会有日志
mount -t ext2 /dev/sdb1

文件系统检查工具
fsck和e2fsck[有点危险,识别ext2和ext3上有误差,尽量不用]

fsck是检查文件系统完整性的工具,并自动修复。
fsck的两种用法:
用法一: fsck -t ext2 /dev/sdb1
用法二: fsck.ext2 /dev/sdb1
这样手动运行时,如果文件系统上有错误,会部修复不修复yes or no,如果想全自动修复
fsck.ext2 -y /dev/sdb1这样就自动回答了yes

开机时会自动运行它就是/etc/fstab 中的最后一个参数

[root@rhel ~]# more /etc/fstab

LABEL=/                 /                       ext3    defaults        1 1

阅读(1971) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~