开源是一种精神,分享是一种美德!

mkfs.ext4

相关命令:mkfs.ext3
mkfs.ext4 参数

-b block-size 块大小(1k,2k,4k)
-c 坏块测试
-l filename从文件读坏块列表
-C cluster-size 簇大小 (大块分配持性)
-D 使用direct I/O
-E 扩展属性
   mmp_update_interval=MMP更新时间间隔,必需小于300s
   stride=条块大小(RAID组中每个条带单元chunk大小)
   stripe_width=条带大小 (单位为block),(在数据定时,块分配器尽可能的防止产生read-modify-write)
   resize=保留在线调整时的空间大小
   lazy_itable_init=0/1 inode表不完全初始化 (挂载时由内核在后台初始化)    // 40TG mount后50M写初始化55分钟 (格式化时:20s,强制初始化时:7min)  (mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 )
   lazy_journal_init=0/1日志inode表不完全清0
   test_fs设置文件系统体验标志
              
-F(force 强制)
-f  fragment-size  指定片段大小
-g blocks-per-group  指定每一个块组内块的数量
-G number-of-groups  指定块组数量(在元数据负载重时可以提高元数据性能)
-i bytes-per-inode  指定 bytes/inode 比率
-I inode-size 指定inode大小
-j 创建一个ext3日志。默认创建合适大小的日志区
-J 创建指定属性的日志。逗号分隔。 (size=1024块 内部日志大小,device= 外部日志设备 )
    size= journal-size  内部日志大小,单位为M,最小为1024个文件系统块,(最大为10240000个文件系统块或文件系统的一半)
    device = external-journal 外部日志块设备(设备名,标签,UUID)
    外部日志必需先创建:mke2fs -b 4096 -O journal_dev  external-journal (/dev/ramhda)
    mkfs.ext4 -J device= external-journal (/dev/ramhda)  -F /dev/mapper/vggxxxxxxx
-L 设置volume 标签,最长为16个byte
-m 指定保留空间百分比,为root用户
-M 设置最后挂载目录
-n 不真正创建文件系统,只是显示创建的信息
-S  只写超级块和块组描述符。(当超级块和备份超级块错误后,可以用来恢复数据。因为它不会touching inode表和bitmap)
-O feature 指定创建文件系统时的持性(/etc/mke2fs.conf)
bigalloc 使能大块分配(cluster-size)
dir_index 使用哈希B树加速目录查找
extents 使用extents替代间接块
filetype在目录项中存储文件类型信息
flex_bg 允许为每一个块组元数据(分配bitmap和inode表)存放在任何位置 
has_journal  创建ext3日志(-j)
journal_dev 在给定的设备上创建外部ext3日志
large_file 支持>2G的文件(现代内核会自动打开) 
quota 创建quota inodes(inode#3为用户配额,inode#4为组配额) ,并在超级块中设置。
               (挂载后自己启用quota)
resize_inode 保留空间以便未来块组描述表增长。用于resize2fs
sparse_super 创建少量的超缓块拷贝
uninit_bg   创建文件系统时不初始化所有的块组,加速创建时间,和e2fsck时间、
-O^has_journal   不启用日志

文件系统属性:
1,/proc/fs/ext4/设备/options  查已挂载文件系统属性
  rw 文件系统挂载时的读写策略
  delalloc 开启延时块分配
  barrier 开启write barrier(提供写顺序)
  user_xattr
  acl
  resuid=0 可以使用保留块的用户ID
  resgid=0 可以使用保留块的组ID
  errors=continue 文件系统出错时动作
  commit=5 文件系统刷cache的时间间隔
  max_batch_time=15000us 最大的等待合并一起提交的时间,默认15ms
  min_batch_time=0us 最小的等待合交一起提交的时间,0us
  stripe=0 多块分配时和对齐的块数,对于raid5/6,大小为数据磁盘数*chunk大小
  data=ordered 文件系统挂载模式
  inode_readahead_blks=32 先行读入缓冲器缓存(buffer cache)的inode表块(table block)数的最大值
  init_itable=10
  max_dir_size_kb=n 目录大小限制


     mb_order2_req=2 对于大于该值(2的幂次方)的块,要求使用Buddy检索
     lifetime_write_kbytes 文件系统生成后写入的数据量(KB)
     mb_stats 指定收集(1)或不收集(0)多块分配的相关统计信息。统计信息在卸载时显示 0(禁用)
     max_writeback_mb_bump 进行下一次inode处理前尝试写入磁盘的数据量的最大值(MB) 128
     mb_stream_req=0 块数小于该值的文件群被集中写入到磁盘上相近的区域
     mb_group_prealloc 未指定挂载选项的stripe参数时,以该值的倍数为单位确保块的分配 512
     session_write_kbytes 挂载后写入文件系统的数据量(KB)
    
2,/sys/fs/ext4/设备/
      mb_stream_req=16 块数小于该值的文件群被集中写入到磁盘上相邻的区域
      inode_readahead_blks=32 控制进行预读的inode表的数量
      inode_goal 下一个要分配的inode编号(调试用) 0(禁用)
      delayed_allocation_blocks 等待延迟分配的块数
      max_writeback_mb_bump=128 进行下一次inode处理前尝试写入磁盘数据量的最大值(MB)
      mb_group_prealloc=512 未指定stripe参数时,以该值的倍数为单位确保块的分配
      mb_max_to_scan=200 分配多块时为找出最佳extent而搜索的最大extent数
      mb_min_to_scan=10 分配多块时为找出最佳extent而搜索的最小extent数
      mb_order2_req=2 对于大于该值的块(2的幂),要用buddy算法。
      mb_stats=0 指定收集1,与不收集0多块分配的相关统计信息,统计信息会在卸载时显示
      reserved_clusters
      lifetime_write_kbytes 只读,记录已经写入文件系统的数据量(kb).
      session_write_kbytes 只读,记录此记挂载以来已写入的数据(kb).

扩大文件系统:ext2/ext3/ext4 resize2fs
   

#将硬盘格式化为ext4文件系统,并添加卷标‘root’,块大小为2048,文件系统预留5%给管理员

# mkfs.ext4 -L 'root' -b 2048 /dev/sdb5 -m 5	 

评论(0)

暂无评论

评论

名字:
验证码:
获取验证码
内容: